|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
-
- <?php
- /*
- Author:fuhc
- Compeny:修改车号
- */
- require_once '../Common/Mysql.php';
- if (ALLOW_ORIGIN)
- header("Access-Control-Allow-Origin:*");
-
- $user_id=getUserId();
- if($user_id === false){
- $data['code']="-3";
- $data['info']="未登录";
- echo json_encode($data);exit();
- }
- //$user_id=1;
-
-
- $method = isset($_GET['method']) ? $_GET['method'] : "";
- if($method==""){
- $data['code']="-2";
- $data['info']="缺少method";
- echo json_encode($data);
- exit();
- }
-
-
- $pdo=conn();
- switch($method){
- case "getStations":
- $run_id=isset($_GET['run_id'])?$_GET['run_id']:"";
- if($run_id==""){
- $data['code']="-1";
- $data['info']="缺少参数";
- echo json_encode($data);exit();
- }
- //这里加一个对该班次时间的判断,只有在发车前一天的18:30之前才可以修改订单车次
- $run_id=$run_id+0;
- $sql_c="select concat(substring(run_date,1,4),substring(run_date,6,2)) as x_name,run_id,run_date from run_main where run_id=$run_id limit 1;";
- $check=$pdo->query($sql_c);
- $res1=$check->fetch(PDO::FETCH_ASSOC);
- $check->closeCursor();
- $run_date=$res1['run_date'];
- $now=time();
- $yesStamp=strtotime('-1 day',strtotime("$run_date 18:30:00"));//得到run_date前一天18:30的时间戳
- $diffTime=$now-$yesStamp;
-
- if($diffTime>=0){
- $data['code']="666";
- $data['info']="只能在班次发车日期前一天18:30之前重置车次订单!";
- echo json_encode($data);exit();
- }
-
- $sql="CALL XM_GET_STATION_BY_RUNID('".$run_id."');";
- writeLog("getStations sql=".$sql);
- $result=$pdo->query($sql);
- $data=array();
- $data['code']="0";
- $data['info']="";
- $re_data=array();
- do{
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $re_data[]=$rowset;
- }while($result->nextRowset());
- $data['start_station']=isset($re_data[0])?$re_data[0]:array();
- $data['end_station']=isset($re_data[1])?$re_data[1]:array();
- $result->closeCursor();
- echo json_encode($data);
- exit();
- break;
- case "getOrderList":
- $run_id=isset($_GET['run_id'])?$_GET['run_id']:"";
- $start_station_id=isset($_GET['start_station_id'])?$_GET['start_station_id']:"";
- $end_station_id=isset($_GET['end_station_id'])?$_GET['end_station_id']:"";
- if($run_id==""){
- $data['code']="-1";
- $data['info']="缺少参数";
- echo json_encode($data);exit();
- }
- $sql="CALL GET_ORDERLIST_FOR_SETBUS('".$run_id."','".$start_station_id."','".$end_station_id."');";
- writeLog('getOrderList sql='.$sql);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $data=array();
- $data['code']="0";
- $data['info']="";
- $data['orderList']=isset($rowset)?$rowset:array();
- $result->closeCursor();
- echo json_encode($data);
- exit();
- break;
- case "getCarList":
- $run_id=isset($_GET['run_id'])?$_GET['run_id']:"";
- if($run_id==""){
- $data['code']="-1";
- $data['info']="缺少参数";
- echo json_encode($data);exit();
- }
- $sql="CALL SP_GET_RUN_BUS(".$run_id.");";
- writeLog('carList sql='.$sql);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $result->closeCursor();
- $data=array();
- $data['code']="0";
- $data['info']="";
- $data['carList']=isset($rowset)?$rowset:array();
- echo json_encode($data);exit();
- break;
- case "reset":
- $run_id=isset($_GET['run_id'])?$_GET['run_id']:"";
- $order_ids=isset($_GET['order_ids'])?$_GET['order_ids']:"";
-
- if($run_id=="" || $order_ids==""){
- $data['code']="-1";
- $data['info']="缺少参数";
- echo json_encode($data);exit();
- }
- //对重置做一个判断,班次只有在发车前一天的18:30之前才可以重置订单车次
- $run_id=$run_id+0;
- $sql_c="select concat(substring(run_date,1,4),substring(run_date,6,2)) as x_name,run_id,run_date from run_main where run_id=$run_id limit 1;";
- $check=$pdo->query($sql_c);
- $res1=$check->fetch(PDO::FETCH_ASSOC);
- $check->closeCursor();
- $run_date=$res1['run_date'];
- $now=time();
- $yesStamp=strtotime('-1 day',strtotime("$run_date 18:30:00"));//得到run_date前一天18:30的时间戳
- $diffTime=$now-$yesStamp;
-
- if($diffTime>=0){
- $data['code']="-2";
- $data['info']="只能在班次发车日期前一天18:30之前重置车次订单!";
- echo json_encode($data);exit();
- }
-
- $sql="CALL SP_RESET_BUS_FOR_ORDER(".$run_id.",'".$order_ids."');";
- writeLog('reset sql='.$sql);
- writelog_update_car(' reset::::user_id='.$user_id."|run_id=".$run_id."|order_ids=".$order_ids);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $result->closeCursor();
- $data=array();
- writeLog(json_encode($rowset));
- writelog_update_car(json_encode($rowset));
- $data['code']=isset($rowset[0]['errorcode'])?$rowset[0]['errorcode']:"500";
- $data['info']=isset($rowset[0]['errorinfo'])?$rowset[0]['errorinfo']:"未从数据库获得返回值";
- echo json_encode($data);exit();
- break;
- case "updateCar":
- $run_id=isset($_GET['run_id'])?$_GET['run_id']:"";
- $order_ids=isset($_GET['order_ids'])?$_GET['order_ids']:"";
- $bus_order_id=isset($_GET['bus_order_id'])?$_GET['bus_order_id']:"";
- if($run_id=="" || $order_ids=="" || $bus_order_id==""){
- $data['code']="-1";
- $data['info']="缺少参数";
- echo json_encode($data);exit();
- }
- $sql="CALL SP_REASSIGN_BUS_FOR_ORDER(".$run_id.",'".$order_ids."',".$bus_order_id.");";
- $sql_set="CALL SP_RESET_BUS_FOR_ORDER(".$run_id.",'".$order_ids."');";
-
- //这里增加两个校验:1,班次只有在发车前一天的18:30之前才可以修改订单车次;2,只有在该车次的run_x数据全被重置的情况下才允许修改订单的车次。
- #1,班次只有在发车前一天的18:30之前才可以修改订单车次
- $run_id=$run_id+0;
- $sql_c="select concat(substring(run_date,1,4),substring(run_date,6,2)) as x_name,run_id,run_date from run_main where run_id=$run_id limit 1;";
- $check=$pdo->query($sql_c);
- $res1=$check->fetch(PDO::FETCH_ASSOC);
- $check->closeCursor();
- $run_date=$res1['run_date'];
- $now=time();
- $yesStamp=strtotime('-1 day',strtotime("$run_date 18:30:00"));//得到run_date前一天18:30的时间戳
- $diffTime=$now-$yesStamp;
-
- if($diffTime>=0){
- $data['code']="-2";
- $data['info']="只能在班次发车日期前一天18:30之前修改车次订单!";
- echo json_encode($data);exit();
- }
-
- #2,只有在该车次的run_x数据全被重置的情况下才允许修改订单的车次。
- $x_name='run_'.$res1['x_name'];
- $sql_c2="select * from $x_name where run_id=$run_id and bus_order_id=$bus_order_id and cancel_flag=0 and seat_type=72 and seat_status=2 limit 1";
- $check2=$pdo->query($sql_c2);
- $res2=$check2->fetch(PDO::FETCH_ASSOC);
- $check2->closeCursor();
-
- if($res2){
- $data['code']="-3";
- $data['info']="目标车次全部订单重置后才可修改订单车次";
- echo json_encode($data);exit();
- }
-
-
- writeLog('reset sql='.$sql);
- writelog_update_car(' reset::::user_id='.$user_id."|run_id=".$run_id."|order_ids=".$order_ids);
- $result2=$pdo->query($sql_set);
- $rowset2=$result2->fetchAll(PDO::FETCH_ASSOC);
- $result2->closeCursor();
- writeLog(json_encode($rowset2));
- writelog_update_car(json_encode($rowset2));
- if($rowset2[0]['errorcode']=="0"){
- writeLog('updateCar sql='.$sql);
- writelog_update_car('update::::user_id='.$user_id."|run_id=".$run_id."|order_ids=".$order_ids."|bus_order_id=".$bus_order_id);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $result->closeCursor();
- $data=array();
- writeLog(json_encode($rowset));
- writelog_update_car(json_encode($rowset));
- $data['code']=isset($rowset[0]['errorcode'])?$rowset[0]['errorcode']:"500";
- $data['info']=isset($rowset[0]['errorinfo'])?$rowset[0]['errorinfo']:"未从数据库获得返回值";
- echo json_encode($data);exit();
- }
- break;
- default :
- break;
-
- }
- function writelog_update_car($log){
- $dir=__DIR__."/../Log/";
- if (!is_dir($dir)){
- mkdir($dir);
- }
- $filename=$dir.date("Y-m-d").".logtemp";
- file_put_contents($filename, date("Y-m-d H:i:s")."\t".$log.PHP_EOL,FILE_APPEND);
- }
- exit();
|