<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
|
<%Session.CodePage=65001%>
|
<% Response.charset = "utf-8" %>
|
<!--#include virtual="/inc/chkadmin.gds"-->
|
<!--#include virtual="/inc/function.gds"-->
|
<script language="JScript" runat="Server">
|
function toObject(json) {
|
eval("var o=" + json);
|
return o;
|
}
|
function toArray(s){
|
var dic = Server.CreateObject("Scripting.Dictionary")
|
eval("var a=" + json);
|
for(var i=0;i<a.length;i++){
|
var obj = Server.CreateObject("Scripting.Dictionary")
|
for(x in a[i]) obj.Add(x,a[i][x])
|
dic.Add(i, obj);
|
}
|
return dic
|
}
|
</script>
|
|
<script language="jscript" runat="server">
|
Array.prototype.get = function(i)
|
{
|
return this[i];
|
};
|
function getjson(str){
|
try{
|
eval("var jsonStr = (" + str + ")");
|
}catch(ex){
|
var jsonStr = null;
|
}
|
return jsonStr;
|
}
|
</script>
|
<%
|
response.write("<ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>")
|
|
Set rs = Server.CreateObject("ADODB.Recordset")
|
NC_OAID=session("adminID")
|
acc1=clng(request("page"))
|
if acc1=empty then acc1=clng(1)
|
QuantityInt = 40
|
acc2=0
|
acc3=0
|
z=1
|
for acc1 = 1 to 3
|
'类别列表
|
If acc1=1 Then '准备出车
|
FontColor = "#ff0000"
|
StateTXT="[准备出车]"
|
StateSql=" DispatchOrd_NS_Time between DATEADD(wk,DATEDIFF(wk,0,getdate())-1,0)-1 and DATEADD(ss,-1,DATEADD(wk,DATEDIFF(wk,0,getdate()),0)+6) and DispatchOrdState in (0,1,2,3) order by DispatchOrdStartDate desc"
|
TopSql=""
|
'StateSql=" DispatchOrd_NS_Time between DATEADD(wk,DATEDIFF(wk,0,getdate())-1,0)-1 and DATEADD(ss,-1,DATEADD(wk,DATEDIFF(wk,0,getdate()),0)+6) and DispatchOrdState in (8,9) order by DispatchOrdReturnDate desc"
|
'QuantityInt = 20
|
ElseIf acc1=2 Then '正在出车
|
FontColor = "#ffff00"
|
StateTXT="[正在出车]"
|
StateSql=" DispatchOrdState in (4,5,6,7) order by DispatchOrdActualDate desc"
|
TopSql=""
|
Else '近期已返回TOP 5
|
FontColor = "#00ff00"
|
StateTXT="[最近返回 3 单]"
|
StateSql=" DispatchOrd_NS_Time between DATEADD(wk,DATEDIFF(wk,0,getdate())-1,0)-1 and DATEADD(ss,-1,DATEADD(wk,DATEDIFF(wk,0,getdate()),0)+6) and DispatchOrdState in (8,9) order by DispatchOrdReturnDate desc"
|
TopSql = " top 3 "
|
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 "&TopSql&" TransferModeID=(select ','+CONVERT(varchar(2),TransferModeID) from ServiceOrd_TransferMode where ServiceOrdTMID=ServiceOrdID for xml path(''))+',',case when isnull(ServiceOrdTraTxnPrice,0)=0 or DispatchOrdPerfomance=0 then 0 else round(ServiceOrdTraTxnPrice/((select SUM(DispatchOrdPerfomance) from DispatchOrd where ServiceOrdIDDt=ServiceOrdID and DispatchOrdState not in (10))/DispatchOrdPerfomance),2,1) END as DispatchOrdTraTxnPrice,* from DispatchOrd LEFT JOIN ServiceOrder on ServiceOrdIDDt=ServiceOrdID where "&StateSql
|
'Response.write sql &"<BR>"
|
rs.open sql,objConn,1,1
|
if not rs.eof then
|
rs.pagesize=QuantityInt
|
'rs.absolutepage=acc1
|
rs.absolutepage=1
|
acc2=rs.pagecount
|
acc3=rs.recordcount
|
else
|
SystemMessageType=2
|
SystemMessageTXT="数据库中相关无数据!"
|
end if
|
|
do while not rs.Eof and z<=QuantityInt
|
DispatchOrdID = rs("DispatchOrdID") '调度单号
|
DispatchOrdClass = rs("DispatchOrdClass") '调度单单据类型
|
ServiceOrdID = rs("ServiceOrdID") '受理单号
|
ServiceOrdClass = rs("ServiceOrdClass") '受理单单据类型
|
DispatchOrdState = rs("DispatchOrdState") '服务单状态
|
DispatchOrd_NS_Time = rs("DispatchOrd_NS_Time") '开单日期
|
DispatchOrdCarID = rs("DispatchOrdCarID") '调度车辆ID
|
ServiceOrdApptDate = rs("ServiceOrdApptDate") '预约日期
|
DispatchOrdCoName = rs("DispatchOrdCoName") '联系人姓名
|
DispatchOrdCoPhone = rs("DispatchOrdCoPhone") '联系人电话
|
ServiceOrdTraProvince = rs("ServiceOrdTraProvince") '出发地省份
|
ServiceOrdTraCity = rs("ServiceOrdTraCity") '出发地城市
|
DispatchOrdTraStreet = rs("DispatchOrdTraStreet") '出发地
|
ServiceOrdTraVia = rs("ServiceOrdTraVia") '途经地(计划)
|
DispatchOrdTraVia = rs("DispatchOrdTraVia") '途经地(实际)
|
DispatchOrdTraEnd = rs("DispatchOrdTraEnd") '目的地
|
DispatchOrdTraSDTime = rs("DispatchOrdTraSDTime") '拟出发时间
|
DispatchOrdActualDate = rs("DispatchOrdActualDate") '实际出车时间
|
ServiceOrdTraTxnPrice = rs("ServiceOrdTraTxnPrice") '服务单成交价
|
StretcherMoney = rs("StretcherMoney") '担架费
|
DispatchOrdTraTxnPrice= rs("DispatchOrdTraTxnPrice") '服务单成交价
|
DispatchOrdReturnDate = rs("DispatchOrdReturnDate") '返回时间
|
DispatchOrd_AP_Check = rs("DispatchOrd_AP_Check") '审核状态(0未审核,1已审核)
|
DispatchOrd_AP_ID = rs("DispatchOrd_AP_ID") '审核人员ID
|
DispatchOrd_AP_Time = rs("DispatchOrd_AP_Time") '审核时间
|
DispatchOrdMileage = rs("DispatchOrdMileage") '实际里程数
|
EntourageName_aid1 = rs("EntourageName_aid1") '外援人员1
|
EntourageName_aid2 = rs("EntourageName_aid2") '外援人员2
|
DispatchOrdCancelReason= rs("DispatchOrdCancelReason")
|
DispatchOrdCancelReasonTXT= rs("DispatchOrdCancelReasonTXT")
|
ServiceOrdVIP = rs("ServiceOrdVIP")
|
TransferModeID = rs("TransferModeID") '运转方式ID
|
ServiceOrd_Sale_ID = rs("ServiceOrd_Sale_ID")
|
ServiceOrdIntroducer = rs("ServiceOrdIntroducer")
|
ServiceOrdOperationRemarks=rs("ServiceOrdOperationRemarks")
|
ServiceOrdVisit_time = rs("ServiceOrdVisit_time") '回访时间
|
ServiceOrdVisit_ID = rs("ServiceOrdVisit_ID") '回访人员ID
|
ServiceOrdVisit = rs("ServiceOrdVisit")
|
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) '调度单编号
|
DispatchOrdCarLicense = ""
|
'车辆实时信息
|
CarAddress=""
|
CarSpeed=""
|
If DispatchOrdCarID<>"" And DispatchOrdCarID<>"0" And acc1=2 Then
|
DispatchOrdCarLicense= "<font style=""color:#ffff00"">" & CarDataA(DispatchOrdCarID,"","CarLicense") & "</font>"
|
appUrl="https://sys.966120.com.cn/goocar/address.gds"
|
args1="CarID="&DispatchOrdCarID
|
HTMLCODE= GetBody(appUrl,args1)
|
json = HTMLCODE
|
'Response.Write HTMLCODE
|
str=json
|
str=right(str,len(str)-instr(str,"{")+1)
|
str=left(str,InstrRev(str,"}"))
|
dim obj
|
set obj = getjson(str)
|
str0=""
|
data_imei = obj.imei '设备IMEI
|
data_address = obj.address '地址
|
data_course = obj.course '航向
|
data_speed = obj.speed '速度
|
If data_address<>"" Then
|
addressSP=SPLIT(data_address,".")
|
CarAddress=addressSP(0)
|
Else
|
CarAddress="定位失败"
|
End If
|
If data_speed<>"" Then
|
If CInt(data_speed)<=0 then
|
CarSpeed="停车"
|
Else
|
CarSpeed=data_speed&"公里"
|
End If
|
End If
|
Else
|
DispatchOrdCarLicense=DispatchOrdNo
|
End If
|
If DispatchOrdActualDate="" Or isnull(DispatchOrdActualDate) Then DispatchOrdActualDate=now()
|
If acc1=2 And (DispatchOrdReturnDate="" Or isnull(DispatchOrdReturnDate)) Then DispatchOrdReturnDate=now()
|
TVHtml=""
|
TVHtml=TVHtml& "<li style=""font-size:18px;color:"& FontColor &""">"
|
TVHtml=TVHtml& "<span style=""padding-left: 5px;color:#c0c0c0;"">" & z & "</span>"
|
TVHtml=TVHtml& "<span style=""padding-left: 40px;"">" & StateTXT & " " & DispatchOrdCarLicense & "</span>"
|
|
If DispatchOrdTraVia <> "" Then DispatchOrdTraVia_str = DispatchOrdTraVia &" ———— "
|
TVHtml=TVHtml& "<span style=""""> " & DispatchOrdTraVia_str & DispatchOrdTraEnd & "</span></li>"
|
|
TVHtml=TVHtml& "<li><span style=""padding-left: 50px;color:#c0c0c0;font-size:14px"">"
|
for j = 1 to UBOUND(EntourageIDPS)
|
EntourageID = EntourageIDPS(j)
|
EntourageName = EntourageNamePS(j)
|
EntourageOAName=EntourageOANameA(EntourageID,DispatchOrdID,"UserName")
|
'If EntourageOAName<>"" Then TVHtml=TVHtml& Replace(EntourageOAName,"6699ff","c0c0c0")&" "
|
If EntourageOAName<>"" Then TVHtml=TVHtml& EntourageOAName &" "
|
Next
|
|
TVHtml=TVHtml& "</span>"
|
|
If acc1=2 Then
|
TVHtml=TVHtml & "<span style=""padding-left: 50px;color:#ffff00;font-size:14px"">实时位置:"&CarAddress&" 实时速度:"&CarSpeed & "</span>"
|
End If
|
|
TVHtml=TVHtml& "</span></li>"
|
|
Response.Write TVHtml
|
DispatchOrdTraVia_str = ""
|
TVHtml2 = "<li style=""vertical-align:text-top;""><span style=""padding-left: 50px;color:#c0c0c0;font-size:14px"">"
|
TVHtml2=TVHtml2 & "开单:" & DispatchOrd_NS_Time & " "
|
TVHtml2=TVHtml2 & "出车:" & DispatchOrdActualDate & " "
|
|
timediff1 = dateDiff("n",DispatchOrd_NS_Time,DispatchOrdActualDate)
|
If timediff1 > 120 Then
|
timediff1 = dateDiff("h",DispatchOrd_NS_Time,DispatchOrdActualDate) & "小时"
|
Else
|
timediff1 = dateDiff("n",DispatchOrd_NS_Time,DispatchOrdActualDate) & "分钟"
|
End If
|
|
timediff2 = dateDiff("n",DispatchOrdActualDate,DispatchOrdReturnDate)
|
If timediff2 > 120 Then
|
timediff2 = dateDiff("h",DispatchOrdActualDate,DispatchOrdReturnDate) & "小时"
|
Else
|
timediff2 = dateDiff("n",DispatchOrdActualDate,DispatchOrdReturnDate) & "分钟"
|
End if
|
|
|
TVHtml2=TVHtml2 & "准备出车用时:" & timediff1 & " "
|
|
|
If DispatchOrdReturnDate<>"" then
|
TVHtml2=TVHtml2 & "任务时长:" & timediff2
|
End If
|
TVHtml2=TVHtml2 & "<br></span></li>"
|
|
TVHtml2=TVHtml2 & "<li></li>"
|
TVHtml2=TVHtml2 & "<li></li>"
|
|
Response.Write TVHtml2
|
z=z+1
|
rs.movenext
|
loop
|
|
rs.close()
|
Next
|
response.write("</ul>")
|
'Response.Write UnitOrdInt
|
%>
|