【调度系统】广东民航医疗快线调度系统源代码
wanglizhong
2025-06-16 ae5b0a8c63979351028215b8fe8cdf4b0766c272
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
<?php include "../inc/odbc.php"; ?>
<?php include "../inc/function.php"; ?>
<?php 
$CarID=empty($_REQUEST['CarID'])!=false ? "" : $_REQUEST['CarID'];
$time=empty($_REQUEST['UnixTime'])!=false ? "" : $_REQUEST['UnixTime'];
$sign=empty($_REQUEST['Sign'])!=false ? "" : $_REQUEST['Sign'];
$errcode=1;
$DispatchOrdState=0;
if ($CarID=="" or $time=="" or $sign==""){
    $errcode=40010;
    $errmsg="invalid CarID";
}
if ($sign!=MD5($CarID.$time.$GPSKey)){
    //$errcode=40005;
    //$errmsg="invalid Sign";
}
 
//获取GPS access_token
Function GetAccess_token() {
    $access_tokenID=4039;    //对应数据库ID 
    global $conn;
    global $account;
    global $accountpass;
    $sql = "select vtext,vMono from dictionary where id=".$access_tokenID;
    //echo $sql;exit;
    $dataDt = sqlsrv_query($conn,$sql);
    if($dataDt == true){
        while($rs = sqlsrv_fetch_array( $dataDt, SQLSRV_FETCH_ASSOC) ) {
            $access_token=$rs['vtext'];
            $access_token_time=$rs['vMono'];
            if(strtotime($access_token_time)<strtotime(date("y-m-d h:i:s"))){
                $data_url="http://api.gpsoo.net/1/auth/access_token?account=".$account."&time=".time()."&signature=".MD5(MD5($accountpass).time());
                $datainfo=file_get_contents($data_url);
                $datainfo=json_decode($datainfo,true);
                if ($datainfo['ret']==0){
                    $access_token=$datainfo['access_token'];
                    $sql="update dictionary set vtext='".$access_token."',vMono='".date("Y-m-d H:i:s",time()+7200)."' where id=".$access_tokenID;
                    $UPsql = sqlsrv_query($conn,$sql);
                }else{
                    $errcode=40014;
                    $errmsg="GPS信息查询失败";
                }
            }
        }
    }
    return $access_token;
}
 
if ($errcode==1) {
        //车辆数据
        $sql="select CarLicense,GPS_IMEI from CarData where CarID=".$CarID;
        //echo $sql;
        $data = sqlsrv_query($conn,$sql);
        if($data == true){
            if (sqlsrv_rows_affected($data)!=0) {
                while($rs = sqlsrv_fetch_array($data) ) {
                    $CarLicense    = $rs['CarLicense'];
                    $imeis        = $rs['GPS_IMEI'];
                    $webJson['CarLicense']=$CarLicense;
                }
            }else{
                $errcode=40012;
                $errmsg="车辆信息查询失败";
            }
        }
    }
    
if ($errcode==1) {
        //当前GPS接口信息
        $account="966120";
        $accountpass="966120888";
        $access_token=GetAccess_token();
        $data_url='http://api.gpsoo.net/1/devices/tracking?access_token='.$access_token."&imeis=".$imeis."&map_type=BAIDU&time=".time();
        $datainfo=file_get_contents($data_url);
        $datainfo=json_decode($datainfo,true);
        //var_dump($datainfo);exit;
        if ($datainfo['ret']==0){
            foreach ($datainfo['data'] as $ArrayValue) {
                $webJson['method'] = $method;
                $webJson['result'] = 1;
                $webJson['data_imei']    = $ArrayValue['imei'];            //设备IMEI
                $webJson['device_info']    = $ArrayValue['device_info'];    //0:正常数据 1:设备未上线 2:设备已过期 3:设备离线
                
                $webJson['data_course']    = $ArrayValue['course'];        //航向
                $webJson['data_speed']    = $ArrayValue['speed'];            //速度
                if (floor((time()-$ArrayValue['gps_time'])/86400/60/60)<=90){
                    $webJson['CarLicense']    = $webJson['CarLicense']."  速度:".$ArrayValue['speed']."km/h";
                }
 
                //GPS坐标转腾讯坐标
                $GPSdata_url='https://apis.map.qq.com/ws/coord/v1/translate?locations='.$ArrayValue['lat'].','.$ArrayValue['lng'].'&type=3&key=D56BZ-BFAHR-34GWH-WOM7M-H76VO-H6F4M';
                $GPSdatainfo=file_get_contents($GPSdata_url);
                $GPSdatainfo=json_decode($GPSdatainfo,true);
                //var_dump($GPSdatainfo);exit;
                if ($GPSdatainfo['status']==0){
                    foreach ($GPSdatainfo['locations'] as $ArrayGPSValue) {
                        $webJson['data_lat']    = $ArrayGPSValue['lat'];            //纬度
                        $webJson['data_lng']    = $ArrayGPSValue['lng'];            //经度
                    }
                }else{
                    $webJson['data_lat']    = $ArrayValue['lat'];            //纬度
                    $webJson['data_lng']    = $ArrayValue['lng'];            //经度
                }
            }
        }else{
            $errcode=40013;
            $errmsg="GPS信息查询失败";
        }
    }
If (substr($errcode,0,1)=="4") {
    $webJson['result'] = 2;
    $webJson['errcode'] = $errcode;
    $webJson['errmsg'] = $errmsg;
}
 
 
 
echo json_encode($webJson,JSON_UNESCAPED_UNICODE);
?>