【调度系统】广东民航医疗快线调度系统源代码
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
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>  
<% Response.charset = "utf-8" %>
<!--#include virtual="/inc/odbc.asp"-->
<!--#include file="JsonPost.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>
<%
CarID    = trim(request("CarID"))
DispatchOrdID    = trim(request("DispatchOrdID"))
DispatchOrdState    = trim(request("DispatchOrdState"))
If CarID="" Then Response.Redirect "/"
Set rs = Server.CreateObject("ADODB.Recordset")
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()
 
If imeis<>"" Then
    '调度任务当前理应所在地坐标/距离
    CarTra_lng        = 0
    CarTra_lat        = 0
    If DispatchOrdID<>"" And DispatchOrdState<>"" Then
        sql="select DispatchOrdTraStreet,DispatchOrdTraVia,DispatchOrdTraEnd from DispatchOrd where DispatchOrdID="&DispatchOrdID
        rs.open Sql,objConn,1,1
        If not rs.Eof Then
            If DispatchOrdState="6" Then
                CarTra    = rs("DispatchOrdTraVia")    '途经地
                If CarTra="" Then
                    CarTra=rs("DispatchOrdTraStreet")
                End If
            ElseIf DispatchOrdState="7" Then
                CarTra    = rs("DispatchOrdTraEnd")    '目的地
            Else
                CarTra    = rs("DispatchOrdTraStreet")'机构起点
            End If
            If InStr(CarTra,"|")>1 Then CarTra=Mid(CarTra,1,InStr(CarTra,"|")-1)
        End If
        rs.close()
        If CarTra<>"" Then
            sql="select HopsProvince+HopsCity+HopsArea+HospAddress from HospData where HospName='"&CarTra&"'"
            rs.open Sql,objConn,1,1
            If not rs.Eof Then
                CarTraAddress=rs(0)
            Else
                CarTraAddress=CarTra
            End If
            rs.close()
        End If
        If CarTraAddress<>"" Then
            appUrl="https://api.map.baidu.com/geocoding/v3/"
            args1="address="&CarTraAddress&"&output=json&ak=rGQBbHKGjAtVQy23OckafQkC6nNlaGmi"
            HTMLCODE= GetBody(appUrl,args1)
            'Response.Write HTMLCODE
            'Response.End
            json    = HTMLCODE
            str=json
            set obj = getjson(str)
            status        = obj.status
            If status=0 Then
                CarTra_lng        = obj.result.location.lng
                CarTra_lat        = obj.result.location.lat
            End if
        End If
    End If
    
    '车辆当前坐标
    appUrl="http://api.gpsoo.net/1/devices/tracking"
    args1="access_token="&access_token
    args1=args1&"&imeis="&imeis&"&map_type=BAIDU&time="&ToUnixTime(now(),0)
    'args1=args1&"&map_type=BAIDU"        '如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准,如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准,map_type如果不填,则返回原始经纬度
 
    HTMLCODE= GetBody(appUrl,args1)
    json    = HTMLCODE
        str=json
        str=right(str,len(str)-instr(str,"[")+1)
        str=left(str,InstrRev(str,"]"))
        set obj = getjson(str)
        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
    
    '车辆所在位置地址
    appUrl="http://api.gpsoo.net/1/tool/address"
    args1="access_token="&access_token
    args1=args1&"&lng="&data_lng&"&lat="&data_lat&"&map_type=BAIDU&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)
 
    '计算两点之间的直线距离
    If CarTra_lng<>0 And CarTra_lat<>0 And data_lng<>0 And data_lat<>0 Then
        sql="select (cast((6378137.0*ACOS(SIN("&data_lat&"/180*PI())*SIN(cast("&CarTra_lat&" as decimal(15,10))/180*PI())+COS("&data_lat&"/180*PI())*COS(cast("&CarTra_lat&" as decimal(15,10))/180*PI())*COS(("&data_lng&"-cast("&CarTra_lng&" as decimal(15,10)))/180*PI()))) as decimal(15,0)))"
        rs.open Sql,objConn,1,1
        Distance=clng(rs(0))
        rs.close()
        If Distance>2000 Then
            DistanceTXT=int(Distance/1000)&"公里"
        Else
            DistanceTXT=Distance&"米"
        End If
        'Response.Write Distance &"<br>"
        If Distance<=2000 then
            HTMLCODE=Replace(HTMLCODE,".",".离"&CarTra&"约"&DistanceTXT&"##")
        Else
            HTMLCODE=Replace(HTMLCODE,".",".<font color=#f44336>离"&CarTra&"约"&DistanceTXT&"</font>##")
        End If
        HTMLCODE=Mid(HTMLCODE,1,InStr(HTMLCODE,"##")-1)&"""}"
    End If
 
    GPS=Replace(HTMLCODE,"{","{""imei"":"""&data_imei&""",""data_lng"":"""&data_lng&""",""data_lat"":"""&data_lat&""",""course"":"""&data_course&""",""speed"":"""&data_speed&""",")
Else
    GPS="{""ret"":4}"
End If
Response.Write GPS
Response.end
%>