【调度系统】广东民航医疗快线调度系统源代码
wanglizhong
2025-05-05 8a7dab004bc3eca7808d0cc196a329464402bbc9
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
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<%@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 & "&nbsp;&nbsp;&nbsp;" & DispatchOrdCarLicense & "</span>"
 
        If DispatchOrdTraVia <> "" Then DispatchOrdTraVia_str = DispatchOrdTraVia &" ———— " 
        TVHtml=TVHtml& "<span style="""">&nbsp;&nbsp;&nbsp;" & 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")&"&nbsp;"
                        If EntourageOAName<>"" Then TVHtml=TVHtml& EntourageOAName &"&nbsp;"
            Next
 
        TVHtml=TVHtml& "</span>"
 
        If acc1=2 Then
            TVHtml=TVHtml & "<span style=""padding-left: 50px;color:#ffff00;font-size:14px"">实时位置:"&CarAddress&"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实时速度:"&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 & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
        TVHtml2=TVHtml2 & "出车:" & DispatchOrdActualDate & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
 
        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 & " &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
 
        
        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
%>