<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
|
<%Session.CodePage=65001%>
|
<!--#include virtual="/inc/chkadmin.gds"-->
|
<!--#include virtual="/inc/function.gds"-->
|
<%
|
if isDepartment("0302")=0 then
|
Response.Redirect "/"
|
Response.End()
|
end If
|
|
searchTXT=SafeRequest(trim(Request("searchTXT")))
|
OrdState=SafeRequest(Request("OrdState"))
|
OrdClassList=SafeRequest(Request("OrdClassList"))
|
OrdDateType=SafeRequest(Request("OrdDateType"))
|
OrdDateStart=SafeRequest(Request("OrdDateStart"))
|
OrdDateEnd=SafeRequest(Request("OrdDateEnd"))
|
PaidMoneyID=SafeRequest(Request("PaidMoneyID"))
|
OrdType=SafeRequest(Request("OrdType"))
|
UnitNameID=SafeRequest(Request("UnitNameID"))
|
|
Set rs = Server.CreateObject("ADODB.Recordset")
|
Set rsDt = Server.CreateObject("ADODB.Recordset")
|
'默认显示字段
|
If OrdState="" Then OrdState=0
|
If OrdClassList="" Then OrdClassList="0"
|
If OrdClassList="0" Then
|
OrdClassName="未审核"
|
ElseIf OrdClassList="1" Then
|
OrdClassName="已审核"
|
Else
|
OrdClassName="全部"
|
End If
|
If OrdType="" Then OrdType=1
|
If OrdDateType="" Then OrdDateType=4
|
If OrdDateType="0" then
|
If OrdDateStart="" And OrdDateEnd="" Then
|
OrdDateStart=Date()
|
OrdDateEnd=Date()&" 00:00"
|
ElseIf OrdDateStart<>"" And OrdDateEnd="" Then
|
OrdDateEnd=OrdDateStart
|
ElseIf OrdDateStart="" And OrdDateEnd<>"" Then
|
OrdDateStart=OrdDateEnd
|
End If
|
If Cdate(OrdDateStart)>Cdate(OrdDateEnd) Then
|
OrdDateStart1=OrdDateStart
|
OrdDateStart=OrdDateEnd
|
OrdDateEnd=OrdDateStart1
|
End if
|
If OrdDateStart=OrdDateEnd Then
|
OrdDateStart=FORMATDATETIME(OrdDateStart,vbShortDate)
|
OrdDateTypeName=OrdDateStart
|
OrdDateTypeName1=OrdDateTypeName
|
OrdDateEnd=FORMATDATETIME(OrdDateEnd,vbShortDate)&" 23:59:59"
|
Else
|
OrdDateTypeName=OrdDateStart&" 至 "&OrdDateEnd
|
OrdDateTypeName1="时间段"
|
End If
|
SqlOrdDateType="between '"&OrdDateStart&"' and '"&OrdDateEnd&"'"
|
|
Else
|
sql="select vID,vtext,vOrder2 from dictionary where vType>=1 and vtitle='OrdDateType' and vID="&OrdDateType
|
rs.open Sql,objConn,1,1
|
If not rs.Eof Then
|
OrdDateTypeName = rs("vtext")
|
OrdDateTypeName1=OrdDateTypeName
|
SqlOrdDateType = rs("vOrder2")
|
Else
|
OrdDateType=4
|
OrdDateTypeName="本月"
|
OrdDateTypeName1=OrdDateTypeName
|
SqlOrdDateType="between DATEADD(mm,DATEDIFF(mm,0,getdate()),0) and dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))"
|
End If
|
rs.close()
|
End if
|
|
'各种返回信息
|
SystemMessageType=trim(Request("SystemMessageType"))
|
SMT=trim(Request("SMT"))
|
if SystemMessageType<>"" then
|
if SMT="1" then
|
SystemMessageTXT="请选择需要操作的单据"
|
elseif SMT="2" then
|
SystemMessageTXT="单据状态错误或重复提交"
|
elseif SMT="23" then
|
SystemMessageTXT="费用单审核完成!!"
|
elseif SMT="24" then
|
SystemMessageTXT="费用单反审核完成!!"
|
elseif SMT="25" then
|
SystemMessageTXT="费用单作废完成!!"
|
elseif SMT="6" then
|
SystemMessageTXT="受理单号/结算方式/结算金额不可为空!!"
|
elseif SMT="7" then
|
SystemMessageTXT="新建费用单完成!!"
|
end if
|
end if
|
|
|
'时间段列表
|
sql="select vID,vtext from dictionary where vType>=1 and vtitle='OrdDateType' order by vOrder"
|
rs.open Sql,objConn,1,1
|
do while not rs.Eof
|
OrdDateTypes = OrdDateTypes & rs("vID") &","& rs("vtext") & "|"
|
rs.movenext
|
Loop
|
rs.close()
|
OrdDateTypes = left(OrdDateTypes,len(OrdDateTypes)-1)
|
OrdDateTypesPS = SPLIT(OrdDateTypes,"|")
|
|
'查看各分公司报表权限
|
if isDepartment("070109")=1 And UnitNameID<>"" then
|
OrdClassListSql=""
|
If UnitNameID<>"" And UnitNameID<>"0" Then
|
sql="select vOrder2 from dictionary where vtitle='UnitName' and vID="&UnitNameID
|
rs.open sql,objConn,1,1
|
If not rs.Eof Then
|
UnitTypeID=rs(0)
|
rs.close()
|
sql="select vID,vtext,vOrder2 from dictionary where vID in ("&UnitTypeID&") and vtitle='OrderClass' order by vOrder"
|
rs.open sql,objConn,1,1
|
do while not rs.Eof
|
OrderClassID = rs("vOrder2")
|
OrdClassListSql = OrdClassListSql&","&OrderClassID
|
rs.movenext
|
Loop
|
OrdClassListSql=Mid(OrdClassListSql,2)
|
OrdClassListSql=Replace(OrdClassListSql,",","','")
|
End If
|
rs.close()
|
Else
|
sql="select vID,vtext,vOrder2 from dictionary where vType in (1,2) and vtitle='OrderClass' order by vOrder"
|
rs.open sql,objConn,1,1
|
do while not rs.Eof
|
OrderClassID = rs("vOrder2")
|
OrdClassListSql = OrdClassListSql&","&OrderClassID
|
rs.movenext
|
loop
|
rs.close()
|
OrdClassListSql=Mid(OrdClassListSql,2)
|
OrdClassListSql=Replace(OrdClassListSql,",","','")
|
End If
|
end If
|
|
'单据类型表列
|
If OrdType="1" Then
|
OrdTypeName="收款单"
|
PaidMoneyTitle="结算"
|
Else
|
OrdTypeName="退款单"
|
PaidMoneyTitle="退款"
|
End If
|
OrdTypes = "1,收款单|2,退款单|"
|
OrdTypes = left(OrdTypes,len(OrdTypes)-1)
|
OrdTypesPS = SPLIT(OrdTypes,"|")
|
|
'单据状态表列
|
OrdClassTypes = "2,全部|0,未审核|1,已审核|"
|
OrdClassTypes = left(OrdClassTypes,len(OrdClassTypes)-1)
|
OrdClassTypesPS = SPLIT(OrdClassTypes,"|")
|
|
'结算方式表列
|
If PaidMoneyID="" Or PaidMoneyID="0" Then
|
PaidMoneyName="全部"
|
PaidMoneyID=0
|
End If
|
PaidMoneyTypes = "0,全部|"
|
sql="select vID,vtext,vType from dictionary where vtitle='PaidMoneyType' and vType>0 order by vOrder"
|
rs.open Sql,objConn,1,1
|
do while not rs.Eof
|
ClassName=rs("vtext")
|
vType=rs("vType")
|
If vType>1 Then
|
vTypeTXT=""
|
For I = 2 to vType
|
vTypeTXT=vTypeTXT&"--"
|
Next
|
ClassName=vTypeTXT&ClassName
|
End If
|
If CInt(PaidMoneyID)=rs("vID") Then PaidMoneyName = ClassName
|
PaidMoneyTypes = PaidMoneyTypes & rs("vID") &","& ClassName & "|"
|
rs.movenext
|
Loop
|
rs.close()
|
PaidMoneyTypes = left(PaidMoneyTypes,len(PaidMoneyTypes)-1)
|
PaidMoneyTypesPS = SPLIT(PaidMoneyTypes,"|")
|
|
If OrdState<>"0" then
|
OrdListName = ServiceOrdStateA(OrdState)&"查询"
|
Else
|
OrdListName = "费用单审核"
|
End If
|
|
'==============================
|
'功能描述: 用正则除去HTML标记
|
'不能保留<b><strong>等以及用户自定义的<和>
|
'==============================
|
|
Function RemoveHTMLTag(fString)
|
Dim re
|
Set re = New RegExp
|
re.IgnoreCase = True
|
re.Pattern = "<(.[^>]*)>"
|
fString = re.Replace(fString, "")
|
Set re = Nothing
|
RemoveHTMLTag = fString
|
End Function
|
|
'==============================
|
'功能描述: 除去HTML标记
|
'不能保留<b><strong>等以及用户自定义的<和>
|
'==============================
|
|
Function Remove_HTML(Str1)
|
Do While InStr(1, Str1, "<", 1) >0
|
ilen1 = InStr(1, Str1, "<", 1)
|
ilen2 = InStr(1, Str1, ">", 1)
|
Str1 = Left(Str1, ilen1 -1) & Mid(Str1, ilen2 + 1)
|
Loop
|
If Str1<>"" And Not isnull(Str1) Then
|
Str1 = replace(Str1," "," ")
|
Str1 = replace(Str1,"↓","")
|
Str1 = replace(Str1,"↑","")
|
End If
|
Remove_HTML = Str1
|
End Function
|
|
TitleTXT=OrdListName
|
response.buffer = true
|
response.addheader "content-disposition","attachment;filename="&TitleTXT&"导出"&DTimeID()&".csv;"
|
response.contenttype = "application/octet-stream"
|
Response.BinaryWrite ChrB(&HEF) & ChrB(&HBB) & ChrB(&HBF)
|
|
acc1=request("page")
|
if acc1=empty then acc1=clng(1)
|
QuantityInt = 20
|
acc2=0
|
acc3=0
|
|
if searchTXT<>"" Then
|
searchSql=" and ServiceOrd_CC_Time "&SqlOrdDateType&" "
|
If OrdClassList="0" Then
|
searchSql=searchSql&" and PaidMoney_AP_Check=0 "
|
ElseIf OrdClassList="1" Then
|
searchSql=searchSql&" and PaidMoney_AP_Check=1 "
|
End If
|
If OrdType="1" Then
|
searchSql=searchSql&" and PaidMoney>0 "
|
Else
|
searchSql=searchSql&" and PaidMoney<0 "
|
End If
|
|
If Len(searchTXT)=14 And Not IsNumeric(Left(searchTXT,2)) And IsNumeric(Mid(searchTXT,3,8)) And IsNumeric(Right(searchTXT,3)) And Mid(searchTXT,11,1)="-" Then
|
searchSql=" and (ServiceOrdID in (select ServiceOrdID from ServiceOrder where ServiceOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),ServiceOrd_CC_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),ServiceOrdNo),3)='"&Right(searchTXT,3)&"') or DispatchOrdIDDt in (select DispatchOrdID from DispatchOrd where DispatchOrdClass='"&Left(searchTXT,2)&"' and CONVERT(VARCHAR(10),DispatchOrd_NS_Time,120)=CONVERT(VARCHAR(10),'"&Mid(searchTXT,3,4)&"-"&Mid(searchTXT,7,2)&"-"&Mid(searchTXT,9,2)&"',120) and Right('00'+convert(varchar(3),DispatchOrdNo),3)='"&Right(searchTXT,3)&"'))"
|
ElseIf Len(searchTXT)=10 And IsNumeric(searchTXT) Then
|
searchSql=searchSql&" and (ServiceOrdID="&Right(searchTXT,10)&" or DispatchOrdIDDt="&Right(searchTXT,10)&") "
|
ElseIf (Len(searchTXT)=8 And Not IsNumeric(Left(searchTXT,2)) And IsNumeric(Right(searchTXT,6))) Or (Len(searchTXT)=6 And IsNumeric(Right(searchTXT,6))) Then
|
searchSql=searchSql&" and PaidMoney.id="&Right(searchTXT,6)&" "
|
Else
|
sql="select OA_User_ID from OA_User where OA_Name='"&searchTXT&"'"
|
rs.open sql,objConn,1,1
|
if not rs.eof Then
|
searchSql=searchSql&" and PaidMoneyOaID="&rs(0)
|
Else
|
searchSql=searchSql&" and (ServiceOrdCoName like '%"&searchTXT&"%' or ServiceOrdCoPhone like '%"&searchTXT&"%' or ServiceOrdPtName like '%"&searchTXT&"%') "
|
End If
|
rs.close()
|
End if
|
else
|
searchSql=" and ServiceOrd_CC_Time "&SqlOrdDateType&" "
|
If OrdClassList="0" Then
|
searchSql=searchSql&" and PaidMoney_AP_Check=0 "
|
ElseIf OrdClassList="1" Then
|
searchSql=searchSql&" and PaidMoney_AP_Check=1 "
|
End If
|
If OrdType="1" Then
|
searchSql=searchSql&" and PaidMoney>0 "
|
Else
|
searchSql=searchSql&" and PaidMoney<0 "
|
End If
|
If PaidMoneyID<>"" And PaidMoneyID<>"0" Then
|
searchSql=searchSql&" and PaidMoneyType="&PaidMoneyID&" "
|
End If
|
end If
|
|
'人员列表
|
sql="select vID,vtext from dictionary where vType=1 and vtitle='DispatchOrdEntourage' order by vOrder"
|
rs.open sql,objConn,1,1
|
i=0
|
EntourageIDs=""
|
do while not rs.Eof
|
EntourageID = rs("vID")
|
EntourageName= rs("vtext")
|
EntourageNames=EntourageNames&","&EntourageName
|
EntourageIDs=EntourageIDs&","&EntourageID
|
i=i+1
|
rs.movenext
|
loop
|
rs.close()
|
EntourageNamePS = SPLIT(EntourageNames,",")
|
EntourageIDPS = SPLIT(EntourageIDs,",")
|
|
sql="select PaidMoney.*,vtext,ServiceOrdPtName,ServiceOrdClass,ServiceOrdID,ServiceOrd_CC_Time,ServiceOrdNo,ServiceOrdPtOutHosp,ServiceOrdPtInHosp,DispatchOrdClass,DispatchOrd_NS_Time,DispatchOrdNo,DispatchOrd_OAName,ServiceOrdTraTxnPrice,StretcherMoney=isnull(StretcherMoney,0) from dictionary,PaidMoney LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID LEFT JOIN DispatchOrd on DispatchOrdIDDt=DispatchOrdID where vtitle='PaidMoneyType' and vType>=1 and vID=PaidMoneyType "&searchSql&" and ServiceOrdClass in ('"&OrdClassListSql&"') order by ServiceOrdID desc,PaidMoneyTime"
|
'Response.Write sql
|
rs.open sql,objConn,1,1
|
if not rs.eof then
|
'rs.pagesize=QuantityInt
|
'rs.absolutepage=acc1
|
'acc2=rs.pagecount
|
'acc3=rs.recordcount
|
else
|
SystemMessageType=2
|
SystemMessageTXT="数据库中相关无数据!"
|
end If
|
|
response.write "服务单号,服务单时间,相关调度单,成交价,出车人员,转出医院,转入医院,收款单号,收款时间,金额,"&PaidMoneyTitle&"方式,"&PaidMoneyTitle&"备注,开单人,审核,审核人,审核时间"
|
response.write(vbcrlf)
|
i=1
|
old_ServiceOrdID=""
|
do while not rs.Eof
|
PaidMoneyID = rs("id") '费用单号
|
PaidMoneyClass = rs("PaidMoneyClass") '单据类型
|
ServiceOrdID = rs("ServiceOrdID") '对应服务单号
|
ServiceOrdClass = rs("ServiceOrdClass") '对应服务单类型
|
DispatchOrdIDDt = rs("DispatchOrdIDDt") '对应调度单号
|
DispatchOrdClass = rs("DispatchOrdClass") '对应调度单类型
|
ServiceOrd_CC_Time= rs("ServiceOrd_CC_Time")
|
ServiceOrdPtName = rs("ServiceOrdPtName") '患者姓名
|
PaidMoney = rs("PaidMoney") '金额
|
PaidMoneyType = rs("PaidMoneyType") '结算方式ID
|
PaidMoneyTypeName = rs("vtext") '结算方式
|
PaidMoneyMono = rs("PaidMoneyMono") '收款备注(收款类型和结算账号等)
|
PaidMoneyTime = rs("PaidMoneyTime") '开单/收款时间
|
PaidMoneyOaID = rs("PaidMoneyOaID") '开单人/收款人ID
|
|
PaidMoney_AP_Check= rs("PaidMoney_AP_Check") '审核状态(0未审核,1已审核)
|
PaidMoney_AP_ID = rs("PaidMoney_AP_ID") '审核人员ID
|
PaidMoney_AP_Time = rs("PaidMoney_AP_Time") '审核时间
|
|
DispatchOrd_OAName= rs("DispatchOrd_OAName") '出车人员
|
OrdPrice = rs("ServiceOrdTraTxnPrice")
|
StretcherMoney = rs("StretcherMoney")
|
|
ServiceOrdPtOutHosp=rs("ServiceOrdPtOutHosp") '转出医院
|
If IsNumeric(ServiceOrdPtOutHosp) And ServiceOrdPtOutHosp<>"" And Len(ServiceOrdPtOutHosp)<10 then
|
sql="select vtext from dictionary where vType=1 and vtitle='HospName' and vID="&ServiceOrdPtOutHosp
|
rsDt.open sql,objConn,1,1
|
If not rsDt.Eof Then
|
ServiceOrdPtOutHospTXT=rsDt("vtext")
|
Else
|
ServiceOrdPtOutHospTXT=ServiceOrdPtOutHosp
|
End If
|
rsDt.close()
|
Else
|
ServiceOrdPtOutHospTXT=ServiceOrdPtOutHosp
|
End If
|
If ServiceOrdPtOutHospTXT="0" Then ServiceOrdPtOutHospTXT=""
|
|
If old_ServiceOrdID<>Clng(ServiceOrdID) Then
|
old_ServiceOrdID=Clng(ServiceOrdID)
|
isOldOrd=0
|
ServiceOrdPtInHosp= rs("ServiceOrdPtInHosp") '转入医院ID
|
If IsNumeric(ServiceOrdPtInHosp) And ServiceOrdPtInHosp<>"" And Len(ServiceOrdPtInHosp)<10 then
|
sql="select vtext from dictionary where vType=1 and vtitle='HospName' and vID="&ServiceOrdPtInHosp
|
rsDt.open sql,objConn,1,1
|
If not rsDt.Eof Then
|
ServiceOrdPtInHospTXT=rsDt("vtext")
|
Else
|
ServiceOrdPtInHospTXT=ServiceOrdPtInHosp
|
End If
|
rsDt.close()
|
Else
|
ServiceOrdPtInHospTXT=ServiceOrdPtInHosp
|
End If
|
If ServiceOrdPtInHospTXT="0" Then ServiceOrdPtInHospTXT=""
|
|
|
ServiceOrdNo = ServiceOrdClass& year(rs("ServiceOrd_CC_Time"))&Right("0"&month(rs("ServiceOrd_CC_Time")),2)&Right("0"&day(rs("ServiceOrd_CC_Time")),2) & "-"&Right("00"&rs("ServiceOrdNo"),3) '服务单编号
|
If DispatchOrdIDDt<>"0" Then
|
DispatchOrdNo = DispatchOrdClass& year(rs("DispatchOrd_NS_Time"))&Right("0"&month(rs("DispatchOrd_NS_Time")),2)&Right("0"&day(rs("DispatchOrd_NS_Time")),2) & "-"&Right("00"&rs("DispatchOrdNo"),3) '调度单编号
|
DispatchOrdURL = "DispatchOrder.gds?DispatchOrdID="&DispatchOrdIDDt&"&OrdDateType="&OrdDateType&"&OrdClassList="&OrdClassList&"&h_menu1_1=1"
|
Else
|
DispatchOrdNo = "--"
|
DispatchOrdURL = "#"
|
End If
|
|
OrdPriceTXT=OrdPrice+StretcherMoney
|
If StretcherMoney>0 Then OrdPriceTXT=OrdPriceTXT&" ("&OrdPrice&"+"&StretcherMoney&")"
|
Else
|
isOldOrd=1
|
End If
|
|
If not isnull(PaidMoney_AP_Time) And PaidMoney_AP_Time<>"" Then PaidMoney_AP_Time=PaidMoney_AP_Time
|
i=i+1
|
|
If isOldOrd=0 Then
|
response.write ServiceOrdNo&","
|
response.write ServiceOrd_CC_Time&","
|
response.write DispatchOrdNo&","
|
response.write OrdPriceTXT&","
|
If DispatchOrd_OAName<>"" Then
|
Response.Write Replace(DispatchOrd_OAName,","," ")&","
|
Else
|
Response.Write ","
|
End If
|
response.write ServiceOrdPtOutHospTXT&","
|
response.write ServiceOrdPtInHospTXT&","
|
Else
|
response.write ",,,,,,,"
|
End If
|
|
response.write PaidMoneyClass&PaidMoneyID&","
|
response.write PaidMoneyTime&","
|
response.write PaidMoney&","
|
response.write PaidMoneyTypeName&","
|
response.write PaidMoneyMono&","
|
response.write OAUser(PaidMoneyOaID,"UserName")&","
|
response.write AP_Check_A(PaidMoney_AP_Check)&","
|
response.write OAUser(PaidMoney_AP_ID,"UserName")&","
|
response.write PaidMoney_AP_Time&","
|
response.write(vbcrlf)
|
|
rs.movenext
|
loop
|
rs.close()
|
%>
|