<%
|
acc1=request("page")
|
if acc1=empty then acc1=clng(1)
|
QuantityInt = 365
|
acc2=0
|
acc3=0
|
|
'查看各分公司报表权限
|
if isDepartment("070109")=1 Or OrdClassInt>1 then
|
|
If UnitNameID<>"" And UnitNameID<>"0" Then
|
OrdClassListSql=""
|
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()
|
ElseIf isDepartment("070109")=1 Then
|
OrdClassListSql=""
|
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 searchTXT<>"" Then
|
searchSql=" and (HospName like '%"&searchTXT&"%') "
|
else
|
searchSql=""
|
end If
|
|
'合作单位
|
If CoopUnitID<>"" And CoopUnitID<>"0" Then
|
If Left(CoopUnitID,2)="0," Then CoopUnitID=Mid(CoopUnitID,3)
|
CoopUnitSql=" And (ServiceOrdUnitID in ("&CoopUnitID&")"
|
sql="select HospID,HospIntroducerDate from HospData,IntroducerData where HospIntroducerID=IntroducerID and IntroducerUnitID in ("&CoopUnitID&") GROUP BY HospID,HospIntroducerDate order by HospIntroducerDate"
|
rs.open sql,objConn,1,1
|
If not rs.Eof Then
|
UnitHospDateOld=""
|
do while not rs.Eof
|
If UnitHospDateOld<>rs(1) then
|
UnitHospDate=UnitHospDate&"|"&rs(1)
|
UnitHospID=UnitHospID&"|"
|
UnitHospDateOld=rs(1)
|
End If
|
UnitHospID=UnitHospID&","&rs(0)
|
rs.movenext
|
Loop
|
UnitHospDateSP = SPLIT(UnitHospDate,"|")
|
UnitHospIDSP = SPLIT(UnitHospID,"|")
|
for i=1 to ubound(UnitHospDateSP)
|
CoopUnitSql=CoopUnitSql&" or (ServiceOrdPtOutHospID in ("&Mid(UnitHospIDSP(i),2)&") and ServiceOrd_CC_Time>='"&UnitHospDateSP(i)&"')"
|
Next
|
End If
|
rs.close()
|
CoopUnitSql=CoopUnitSql&")"
|
Else
|
CoopUnitSql=""
|
End If
|
|
If InStr(orderby," desc")>1 Then
|
orderbydesc=""
|
descTXT="↓"
|
Else
|
orderbydesc=" desc"
|
descTXT="↑"
|
End If
|
'sql="select * from (select vID,HospName,OutHosp=(select count(ServiceOrdPtOutHosp) from ServiceOrder where ServiceOrdPtOutHosp=vID and ServiceOrd_CC_Time "&SqlOrdDateType&"),InHosp=(select count(ServiceOrdPtInHosp) from ServiceOrder where ServiceOrdPtInHosp=vID and ServiceOrd_CC_Time "&SqlOrdDateType&") from HospData,dictionary where vtitle='HospName' and HospState=1 and vtext=HospName GROUP BY vID,HospName) as aa order by OutHosp+OutHosp desc"
|
If orderby="" Then
|
orderby="OutHosp|InHosp desc,OutHospPrice|InHospPrice desc"
|
descTXT="↓"
|
End If
|
|
if searchTXT<>"" Then
|
searchSql=""
|
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=" 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=" DispatchOrdID="&Right(searchTXT,10)&" "
|
Else
|
searchSql=" (ServiceOrdCoName like '%"&searchTXT&"%' or ServiceOrdCoPhone like '%"&searchTXT&"%' or ServiceOrdPtName like '%"&searchTXT&"%' or ServiceOrdTraStreet like '%"&searchTXT&"%' or ServiceOrdTraEnd like '%"&searchTXT&"%') "
|
End if
|
else
|
'按实际返回时间统计
|
'searchSql=" DispatchOrdReturnDate "&SqlOrdDateType&" "
|
'按订单生成时间统计
|
searchSql=" DispatchOrd_NS_Time "&SqlOrdDateType&" "
|
If OrdState="0" Then
|
searchSql=searchSql&""
|
ElseIf OrdState="1" Then
|
searchSql=searchSql&" and DispatchOrdState in (0) "
|
ElseIf OrdState="2" Then
|
searchSql=searchSql&" and DispatchOrdState in (1,2) "
|
ElseIf OrdState="4" Then
|
searchSql=" DispatchOrdState in (4,5,6,7) "
|
ElseIf OrdState="8_0" Then
|
searchSql=" DispatchOrdState in (8) and DispatchOrdMileage=0 "
|
ElseIf OrdState="8_1" Then
|
searchSql=" DispatchOrdState in (8) and DispatchOrdMileage>0 "
|
Else
|
searchSql=searchSql&" and DispatchOrdState in ("&OrdState&") "
|
End If
|
If OrdClassList<>"0" Then
|
searchSql=searchSql&" and ServiceOrdClass='"&OrdClassList&"' "
|
End if
|
end If
|
|
'时间列Y
|
sql=Replace(Replace(searchSql,"DispatchOrd_NS_Time between","select ")," and ",",")
|
rs.open sql,objConn,1,1
|
DateA=rs(0)
|
DateB=rs(1)
|
rs.close()
|
ArrayY=DateDiff("d",DateA,DateB)+1
|
|
'Response.Write DateB&"<br>"
|
'Response.end
|
|
|
sql="select DispatchOrd_Date,Sum_OrdInt=SUM(Sum_OrdInt),Sum_TraTxnPrice=SUM(Sum_TraTxnPrice),vType from (select DispatchOrd_Date=CONVERT(VARCHAR(24),DispatchOrd_NS_Time,111),Sum_OrdInt=count(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice ,vType from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID,dictionary where vtitle='ServiceOrderType' and vID=ServiceOrdType and DispatchOrd_NS_Time "&SqlOrdDateType&CoopUnitSql&" and DispatchOrdState not in (10) and ServiceOrdType not in (13) and DispatchOrdClass in ('"&OrdClassListSql&"') GROUP BY DispatchOrdPerfomance,ServiceOrdID,CONVERT(VARCHAR(24),DispatchOrd_NS_Time,111),vType) as aa GROUP BY DispatchOrd_Date,vType order by DispatchOrd_Date,vType"
|
|
sql="select DispatchOrd_Date,Sum_OrdInt=SUM(Sum_OrdInt),Sum_TraTxnPrice=SUM(Sum_TraTxnPrice),TransferModeID from (select DispatchOrd_Date=CONVERT(VARCHAR(24),DispatchOrd_NS_Time,111),Sum_OrdInt=count(DispatchOrdID),case when isnull(SUM(ServiceOrdTraTxnPrice+StretcherMoney),0)=0 or DispatchOrdPerfomance=0 then 0 else SUM(ServiceOrdTraTxnPrice+StretcherMoney)/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance) END as Sum_TraTxnPrice ,isnull(TransferModeID,0) TransferModeID from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID LEFT JOIN ServiceOrd_TransferMode on ServiceOrdTMID=ServiceOrdID and TransferModeID=7 where DispatchOrd_NS_Time "&SqlOrdDateType&CoopUnitSql&" and DispatchOrdState not in (10) and ServiceOrdType not in (13) and DispatchOrdClass in ('"&OrdClassListSql&"') GROUP BY DispatchOrdPerfomance,ServiceOrdID,CONVERT(VARCHAR(24),DispatchOrd_NS_Time,111),TransferModeID) as aa GROUP BY DispatchOrd_Date,TransferModeID order by DispatchOrd_Date,TransferModeID"
|
'Response.Write sql
|
'Response.end
|
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
|
If SystemMessageType<>"2" then
|
Dim FormArray()
|
ArrayX=50
|
If acc3<QuantityInt Or (is_CSV=1 And acc3>QuantityInt) Then
|
ArrayY=acc3
|
Else
|
ArrayY=QuantityInt
|
End If
|
'表头
|
FormFields="日期,数量,营业总额,正常,营业额,占比,承包,营业额,占比"
|
FormFields=split(FormFields,",")
|
ArrayX=ubound(FormFields)+1
|
REDIM FormArray(ArrayX,ArrayY+1)
|
for i=0 to ubound(FormFields)
|
FormArray((i+1),0)=FormFields(i)
|
next
|
Y=1
|
DateTXT=""
|
do while not rs.Eof and Y<=ArrayY
|
DateTXT = rs(0)
|
If DateTXT<>old_DateTXT then
|
Y=Y+1
|
'FormArray(1,Y)=DatePart("m",DateTXT)&"/"&DatePart("d",DateTXT)
|
FormArray(1,Y)=DateTXT
|
old_DateTXT=DateTXT
|
End If
|
DateInt = rs(1)
|
DateMoney = rs(2)
|
TransferModeID= rs(3)
|
|
If TransferModeID=7 Then
|
'承包任务
|
FormArray(2,Y)=FormArray(2,Y)+DateInt '订单数量
|
FormArray(3,Y)=FormArray(3,Y)+DateMoney '营业总额
|
FormArray(7,Y)=DateInt '承包任务数量
|
FormArray(8,Y)=DateMoney '承包任务营业额
|
If FormArray(4,Y)=0 Then
|
FormArray(4,Y)=0 '正常任务数量
|
FormArray(5,Y)=0 '正常任务营业额
|
End If
|
Else
|
'正常任务
|
FormArray(2,Y)=FormArray(2,Y)+DateInt '订单数量
|
FormArray(3,Y)=FormArray(3,Y)+DateMoney '营业总额
|
FormArray(4,Y)=DateInt '正常任务数量
|
FormArray(5,Y)=DateMoney '正常任务营业额
|
If FormArray(7,Y)=0 Then
|
FormArray(7,Y)=0 '承包任务数量
|
FormArray(8,Y)=0 '承包任务营业额
|
End If
|
End If
|
If FormArray(5,Y)>0 Then
|
FormArray(6,Y)=Formatpercent(FormArray(5,Y)/FormArray(3,Y),0) '正常任务占比
|
Else
|
FormArray(6,Y)="--"
|
End If
|
If FormArray(8,Y)>0 Then
|
FormArray(9,Y)=Formatpercent(FormArray(8,Y)/FormArray(3,Y),0) '特殊任务占比
|
Else
|
FormArray(9,Y)="--"
|
End If
|
|
|
rs.movenext
|
Loop
|
'REDIM FormArray(ArrayX,Y)
|
End If
|
rs.close()
|
%>
|