【调度系统】广东民航医疗快线调度系统源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<%@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>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
NC_OAID=session("adminID")
acc1=clng(request("page"))
if acc1=empty then acc1=clng(1)
QuantityInt = 20
acc2=0
acc3=0
'类别列表
If acc1=1 Then    '准备出车
    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"
ElseIf acc1=2 Then    '正在出车
    StateTXT="正在出车"
    StateSql=" DispatchOrdState in (4,5,6,7)  order by DispatchOrdActualDate desc"
Else    '近期已返回TOP 5
    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 (8,9) order by DispatchOrdReturnDate desc"
    QuantityInt = 5
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 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
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
i=1
response.write("<table style=""font-size: 13px;width: 100%;line-height: 25px; border-collapse: collapse; border: 1px solid #000000; background-color: #242529;"">")
TVHtml="<tr style=""border: 1px solid #000000; text-align:left; background-color: #2a2c30; color:#c0c0c0"">"
    TVHtml=TVHtml& "<td>&nbsp;</td>"
    TVHtml=TVHtml& "<td><b>"&StateTXT&"</b></td>"
    TVHtml=TVHtml& "<td><b>人员</b></td>"
    TVHtml=TVHtml& "<td>目的地</td></tr>"
    Response.Write TVHtml
do while not rs.Eof and i<=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= CarDataA(DispatchOrdCarID,"","CarLicense")
        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()
    If i Mod 2=1 then
    TVHtml="<tr style=""background-color: "">"
    Else
    TVHtml="<tr style=""background-color: "">"
    End If
    TVHtml=TVHtml& "<td style=""padding-left: 5px;color:#c0c0c0;"">" & i & "</td>"
    TVHtml=TVHtml& "<td style=""padding-left: 5px;color:#ff0000""><b>" & DispatchOrdCarLicense & "</b></td>"
    TVHtml=TVHtml& "<td style=""padding-left: 5px;color:#c0c0c0""><b>"
        for j = 1 to UBOUND(EntourageIDPS)
                    EntourageID    = EntourageIDPS(j)
                    EntourageName    = EntourageNamePS(j)
                    EntourageOAName=EntourageOANameA(EntourageID,DispatchOrdID,"UserName")
                    If EntourageOAName<>"" Then TVHtml=TVHtml& EntourageOAName&","
        Next
    TVHtml=TVHtml& "</b></td>"
    If DispatchOrdTraVia <> "" Then DispatchOrdTraVia_str = DispatchOrdTraVia &" ----------- " 
    TVHtml=TVHtml& "<td style=""color:#33ff00;"">" & DispatchOrdTraVia_str & DispatchOrdTraEnd & "</td></tr>"
    Response.Write TVHtml
    DispatchOrdTraVia_str = ""
    TVHtml2 = "<tr style=""vertical-align:text-top;""><td style=""padding-left: 50px;color:#c0c0c0;background-color: "" colspan=4>"
    TVHtml2=TVHtml2 & "开单:" & DispatchOrd_NS_Time & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
    TVHtml2=TVHtml2 & "出车:" & DispatchOrdActualDate & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
    TVHtml2=TVHtml2 & "出车用时:" & dateDiff("n",DispatchOrd_NS_Time,DispatchOrdActualDate) & " 分钟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
 
    
    If DispatchOrdReturnDate<>"" then
        TVHtml2=TVHtml2 & "任务用时:" & dateDiff("h",DispatchOrdActualDate,DispatchOrdReturnDate) & " 小时"
    End If
    TVHtml2=TVHtml2 & "<br></td></tr>"
    
    TVHtml2=TVHtml2 & "<tr style=""height:45px; vertical-align:text-top;""><td style=""padding-left: 50px;color:#c0c0c0;background-color: "" colspan=4>"
    If acc1=2 Then
        TVHtml2=TVHtml2 & "实时位置:"&CarAddress&"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实时速度:"&CarSpeed
    End if
    TVHtml2=TVHtml2 & "</td></tr>"
    
    Response.Write TVHtml2
  i=i+1
  rs.movenext
loop
response.write("</table>")
rs.close()
 
'Response.Write UnitOrdInt
%>