【调度系统】广东民航医疗快线调度系统源代码
wlzboy
2025-09-06 2decf5219e3476e30095fd9dbf6e49c55e105563
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
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>  
<!--#include file="odbc.asp"-->
<!--#include file="JsonPost.gds"-->
 
<%
'签名验证----------
ApiSign=trim(Request("Sign"))
if ApiSign="" Then
    'Response.end
    Response.Redirect "weixinURLerror.gds"
else
    '待签名字符串
    ReDim arr(Request.QueryString.Count,2)
    Dim v                       '所有表单值
    Dim t                       '所有表单数量
    v=Request.QueryString
    t=Request.QueryString.Count
    For i=0 To t-1
     arr(i,1)=Split(Split(v,"&")(i),"=")(0)
     arr(i,2)=Split(Split(v,"&")(i),"=")(1)
    Next
    For i = 0 To t-1
        For j = i + 1 To t-1
            If arr(i,1) > arr(j,1) Then
                tmp1 = arr(i,1)
                arr(i,1) = arr(j,1)
                arr(j,1) = tmp1
                tmp2 = arr(i,2)
                arr(i,2) = arr(j,2)
                arr(j,2) = tmp2
            End If
        Next
    Next
    For i = 0 To t-1
        'response.write arr(i,1) & "=" & arr(i,2) & "<br>"
        If arr(i,1)="Sign" Then
            reserve=arr(i,2)
        else
            If arr(i,2)="timestamp" Then arr(i,2)=Date() &" "& Time()
            sParaSort=sParaSort & arr(i,1) & arr(i,2)
            sParaRunning=sParaRunning &"&"& arr(i,1) &"="& arr(i,2)
        End if
    Next
    sign_type       = "MD5"
    input_charset="utf-8"
    stringA=sParaSort&key
    'response.write sParaSort & "<br>"
    Private Function BuildRequestMysign(sParaSort)
        '获得签名结果
         Select Case sign_type
            Case "MD5" BuildRequestMysign = Md5Sign(sParaSort,key,input_charset)
            Case Else BuildRequestMysign = ""
         End Select
    End Function
    sParaSort=BuildRequestMysign(sParaSort)
    If CStr(ApiSign)<>CStr(sParaSort) Then
        'Response.end
        'Response.Redirect "weixinURLerror.gds"
        '签名调试
        errmsg="invalid stringA:"&stringA&",Sign:"&sParaSort
        'Response.Write errmsg
        'Response.End
        Response.Redirect "weixinURLerror.gds"
    End If
End If
'签名验证---end
 
s=trim(request("s"))
 
DispatchOrdID=s
If DispatchOrdID="" Then Response.Redirect "weixinURLerror.gds"
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from DispatchOrd where DispatchOrdID="&DispatchOrdID
rs.open sql,objConn,1,1
If not rs.Eof then
    DispatchOrdID            = rs("DispatchOrdID")            '调度单号
    DispatchOrdClass        = rs("DispatchOrdClass")        '单据类型
    ServiceOrdID            = rs("ServiceOrdIDDt")            '对应受理单号
    DispatchOrdState        = rs("DispatchOrdState")        '调度单状态
    DispatchOrdStartDate    = rs("DispatchOrdStartDate")    '调度单状态时间
    DispatchOrd_NS_ID        = rs("DispatchOrd_NS_ID")        '开单人ID
    DispatchOrd_NS_Time        = rs("DispatchOrd_NS_Time")        '开单时间
    DispatchOrd_AP_ID        = rs("DispatchOrd_AP_ID")        '审核人ID
    DispatchOrd_AP_Time        = rs("DispatchOrd_AP_Time")        '审核时间
    DispatchOrd_AP_Check    = rs("DispatchOrd_AP_Check")    '是否审核(0否,1是)
    DispatchOrdCarID        = rs("DispatchOrdCarID")        '派遣车辆ID
    DispatchOrdTraSDTime    = rs("DispatchOrdTraSDTime")    '拟出发时间
    DispatchOrdActualDate    = rs("DispatchOrdActualDate")    '实际出车时间
    DispatchOrdTraDistance    = rs("DispatchOrdTraDistance")    '实际距离
    DispatchOrdTraStreet    = rs("DispatchOrdTraStreet")    '实际出发地
    DispatchOrdTraEnd        = rs("DispatchOrdTraEnd")        '实际目的地
    DispatchOrdTraVia        = rs("DispatchOrdTraVia")        '实际途经地
    DispatchOrdCoName        = rs("DispatchOrdCoName")        '调度联系人
    DispatchOrdCoPhone        = rs("DispatchOrdCoPhone")        '调度联系电话
 
    DispatchOrdTraStreetMileage= rs("DispatchOrdTraStreetMileage")'开始里程数
    DispatchOrdTraEndMileage= rs("DispatchOrdTraEndMileage")'结束里程数
    DispatchOrdMileage        = rs("DispatchOrdMileage")        '实际里程数
    DispatchOrdGasoline        = rs("DispatchOrdGasoline")        '油耗
    DispatchOrdRemarks        = rs("DispatchOrdRemarks")        '行驶备注记录
 
    DispatchOrdIsEnd        = rs("DispatchOrdIsEnd")        '完成报告提交情况
    DispatchOrdPerfomance    = rs("DispatchOrdPerfomance")
    StretcherMoney            = rs("StretcherMoney")            '担架费
 
    EntourageName_aid1        = rs("EntourageName_aid1")        '外援人员1
    EntourageName_aid2        = rs("EntourageName_aid2")        '外援人员2
    RecommendedCar            = rs("RecommendedCar")            '指定车型
    DispatchOrdCancelReason= rs("DispatchOrdCancelReason")
    DispatchOrdCancelReasonTXT= rs("DispatchOrdCancelReasonTXT")
 
 
    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)    '调度单编号
End If
rs.close()
 
If DispatchOrdCarID="" or DispatchOrdState<4 or DispatchOrdState>7 then
    Response.Redirect "weixinURLerror.gds"
End If
CarID    = DispatchOrdCarID
sql="select CarLicense,GPS_IMEI from CarData where CarID="&CarID
rs.open Sql,objConn,1,1
If not rs.Eof Then
CarLicense    = rs("CarLicense")
imeis        = rs("GPS_IMEI")
End If
rs.close()
 
 
appUrl="http://api.gpsoo.net/1/account/monitor"
 
args1="access_token="&access_token
args1=args1&"&map_type=BAIDU&target="&account&"&account="&account&"&time="&ToUnixTime(now(),0)
'args1=args1&"&map_type=BAIDU"        '如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准,如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准,map_type如果不填,则返回原始经纬度
 
 
HTMLCODE= GetBody(appUrl,args1)
'Response.Write args1&"<br><br>"
'HTMLCODE= PostBody(appUrl,args1)
'Response.Write HTMLCODE &"<br>"
 
json    = HTMLCODE
%>
    <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>
    <%
    str=json
    str=right(str,len(str)-instr(str,"[")+1)
    str=left(str,InstrRev(str,"]"))
    dim obj
    set obj = getjson(str)
    str0=""
    for i=0 to obj.length-1
        data_imei        = obj.get(i).imei            '设备IMEI
        If data_imei=imeis Then
            data_imei        = obj.get(i).imei            '设备IMEI
            device_info        = obj.get(i).device_info    '0:正常数据 1:设备未上线 2:设备已过期 3:设备离线
            data_lng        = obj.get(i).lng            '经度
            data_lat        = obj.get(i).lat            '纬度
            data_course        = obj.get(i).course            '航向
            data_speed        = obj.get(i).speed            '速度
        End if
        
    Next
%>
 
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="refresh" content="10">
    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
        #golist {display: none;}
        @media (max-device-width: 780px){#golist{display: block !important;}}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?type=quick&ak=TE9OTtYm29ALeP84zCsaGNCFxsBoCaj2&v=1.0"></script>
    <title><%=CarLicense%>实时位置</title>
</head>
<body>
    <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(<%=data_lng%>, <%=data_lat%>), 15);
 
    map.addControl(new BMap.ZoomControl());  //添加地图缩放控件
    var marker1 = new BMap.Marker(new BMap.Point(<%=data_lng%>, <%=data_lat%>));  //创建标注
    map.addOverlay(marker1);                 // 将标注添加到地图中
    //创建信息窗口
    var infoWindow1 = new BMap.InfoWindow("<%=CarLicense%><br/>速度:<%=data_speed%>km/h");
    marker1.addEventListener("click", function(){this.openInfoWindow(infoWindow1);});
    </script>