<%@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="结算"
|
ElseIf OrdType="2" Then
|
OrdTypeName="收款单(特殊单)"
|
PaidMoneyTitle="结算"
|
ElseIf OrdType="3" Then
|
OrdTypeName="退款单"
|
PaidMoneyTitle="退款"
|
ElseIf OrdType="4" Then
|
OrdTypeName="作废单"
|
PaidMoneyTitle="作废"
|
Else
|
OrdTypeName="全部"
|
PaidMoneyTitle="全部"
|
End If
|
OrdTypes = "5,全部|1,收款单(正常单)|2,收款单(特殊单)|3,退款单|4,作废单|"
|
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 = OrdTypeName&"查询"
|
End If
|
|
'分公司名称列表
|
sql="select ServiceBranch,case when UnitShort='微信小程序' then '广州' else UnitShort END as UnitShort from IntroducerUnitData where ServiceBranch<>'' and UnitID<>32"
|
rs.open Sql,objConn,1,1
|
do while not rs.Eof
|
UnitNameList = UnitNameList & rs("ServiceBranch") &","& rs("UnitShort") & "|"
|
rs.movenext
|
Loop
|
rs.close()
|
UnitNameList = left(UnitNameList,len(UnitNameList)-1)
|
UnitNameListPS = SPLIT(UnitNameList,"|")
|
|
'==============================
|
'功能描述: 用正则除去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 PaidMoneyTime "&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 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=" 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=" 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=" and (ServiceOrdCoName like '%"&searchTXT&"%' or ServiceOrdCoPhone like '%"&searchTXT&"%' or ServiceOrdPtName like '%"&searchTXT&"%' or PaidMoneyMono like '%"&searchTXT&"%') "
|
End If
|
rs.close()
|
End if
|
else
|
searchSql=" and PaidMoneyTime "&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 and vType>=1 and ServiceOrdType in (select vID from dictionary where (vType=1 and vID<>7) and vtitle='ServiceOrderType') "
|
ElseIf OrdType="2" Then
|
searchSql=searchSql&" and PaidMoney>0 and vType>=1 and ServiceOrdType in (select vID from dictionary where (vType=2 or vID=7) and vtitle='ServiceOrderType') "
|
ElseIf OrdType="3" Then
|
searchSql=searchSql&" and PaidMoney<0 "
|
ElseIf OrdType="4" Then
|
searchSql=searchSql&" and PaidMoney_AP_Check=-1 "
|
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 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 PaidMoneyTime desc"
|
'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
|
do while not rs.Eof
|
PaidMoneyID = rs("id") '费用单号
|
PaidMoneyClass = rs("PaidMoneyClass") '单据类型
|
ServiceOrdID = rs("ServiceOrdID") '对应服务单号
|
ServiceOrdClass = rs("ServiceOrdClass") '对应服务单类型
|
DispatchOrdIDDt = rs("DispatchOrdIDDt") '对应调度单号
|
DispatchOrdClass = rs("DispatchOrdClass") '对应调度单类型
|
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") '出车人员
|
|
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=""
|
|
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
|
|
If not isnull(PaidMoney_AP_Time) And PaidMoney_AP_Time<>"" Then PaidMoney_AP_Time=FORMATDATETIME(PaidMoney_AP_Time,vbShortDate)
|
i=i+1
|
|
response.write PaidMoneyClass&PaidMoneyID&","
|
response.write FORMATDATETIME(PaidMoneyTime,vbShortDate)&","
|
response.write ServiceOrdNo&","
|
response.write DispatchOrdNo&","
|
If DispatchOrd_OAName<>"" Then
|
Response.Write Replace(DispatchOrd_OAName,","," ")&","
|
Else
|
Response.Write ","
|
End If
|
for z = 0 to UBOUND(UnitNameListPS)
|
UnitNameListPS1=SPLIT(UnitNameListPS(z),",")
|
vID=UnitNameListPS1(0)
|
vtext=UnitNameListPS1(1)
|
If UnitNameListPS1(0)=ServiceOrdClass Then
|
Response.Write UnitNameListPS1(1)&","
|
End If
|
next
|
'for j = 1 to UBOUND(EntourageIDPS)
|
' EntourageID = EntourageIDPS(j)
|
' EntourageName = EntourageNamePS(j)
|
' EntourageOAName=EntourageOANameA(EntourageID,DispatchOrdIDDt,"UserNameList")
|
' If EntourageOAName<>"" Then Response.Write Remove_HTML(Replace(EntourageOAName,"EntourageName","("&EntourageName&")")&"<br>")
|
'Next
|
'If EntourageName_aid1<>"" Then Response.Write EntourageName_aid1&"(外援人员)<br>"
|
'If EntourageName_aid2<>"" Then Response.Write EntourageName_aid2&"(外援人员)<br>"
|
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 ServiceOrdPtOutHospTXT&","
|
response.write ServiceOrdPtInHospTXT&","
|
response.write(vbcrlf)
|
|
rs.movenext
|
loop
|
rs.close()
|
%>
|