"1","info"=>"用户未登录")); exit; } $data = array(); //$USER_ID=1; $pdo=conn(); switch ($method){ case 'getBusList': $TYPE_ID=isset($_GET['type_id'])?$_GET['type_id']:0; $SORT_ID= isset($_GET['sort_id'])?$_GET['sort_id']:0; $PAGE=isset($_GET['currpage'])?$_GET['currpage']:1; $PAGE_SIZE=isset($_GET['page_size'])?$_GET['page_size']:10; $START_AREA=isset($_GET['start_area'])?$_GET['start_area']:''; $END_AREA=isset($_GET['end_area'])?$_GET['end_area']:''; $LINE=isset($_GET['line'])?$_GET['line']:''; $START_DATE=isset($_GET['start_date'])?$_GET['start_date']:''; $END_DATE=isset($_GET['end_date'])?$_GET['end_date']:''; $BUS_TYPE = isset($_GET['bus_type'])?$_GET['bus_type']:'0'; $BUS_GROUP = isset($_GET['bus_group'])?$_GET['bus_group']:'0'; $PROD_START_LIST = ""; if( $BUS_GROUP != "0" ) { $sql = " SELECT id,group_name,prod_list,start_time_list FROM line_group_common WHERE id={$BUS_GROUP} "; $pdo1 = conn(); $stmt1=$pdo1->query($sql); if( $stmt1 ) { $rowset = $stmt1->fetchAll(PDO::FETCH_ASSOC); if( $rowset ) { $bus_group_info = $rowset[0]; $prod_array = explode("_", $bus_group_info["prod_list"]); $start_array = explode("_", $bus_group_info["start_time_list"]); $prod_start_array = array(); foreach( $prod_array as $key => $prod_id) { $PROD_START_LIST .= $prod_id.",".$start_array[$key]."|"; } } $stmt1->closeCursor(); } } $sql="CALL SP_GET_RUN_NO_LIST(".$USER_ID.",".$PAGE.",".$PAGE_SIZE.",'".$START_AREA."' ,'".$END_AREA."','".$LINE."','".$START_DATE."','".$END_DATE."',".$TYPE_ID.",".$BUS_TYPE.",".$SORT_ID.",'".$PROD_START_LIST."')"; writeLog('班次调度 sql='.$sql); if(is_object($pdo)){ $data['code']='0'; $data['info']=''; $data['run_no_list']= array(); $stmt=$pdo->query($sql); $i = 1; do{ $rowset = $stmt->fetchAll(PDO::FETCH_ASSOC); //$stmt->closeCursor(); if($i==1){ $data['currpage']=$rowset[0]['currpage']; $data['total_page']=$rowset[0]['total_page']; $data['total']=$rowset[0]['total']; $data['page_size']=$rowset[0]['page_size']; }else if ($i==2){ // $temp_255=array(); // $temp_256=array(); // $temp_real=array(); // foreach ($rowset as $v){ // if($v['bus_type']=="255"){ // array_unshift($temp_255,$v); // } // if($v['bus_type']=="256"){ // array_unshift($temp_256,$v); // } // } // $temp_real=array_merge($temp_255,$temp_256); $data['run_no_list']=$rowset; }else{ } $i++; }while ($stmt->nextRowset()); } $stmt->closeCursor(); $pdo2=conn(); $sql="CALL SP_GET_VEHICLE_LIST('".$USER_ID."','',0)"; if(is_object($pdo2)){ $result=$pdo2->query($sql); $json=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); if(count($json)>0){ $data['vehicle_list']=$json; }else{ $data['vehicle_list']=array(); } } $sql="CALL SP_GET_DRIVER_LIST('".$USER_ID."','',0)"; if(is_object($pdo2)){ $result=$pdo2->query($sql); $json=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); if(count($json)>0){ $data['driver_list']=$json; }else{ $data['driver_list']=array(); } } $sql = " SELECT id as group_id,group_name from line_group_common WHERE cancel_flag = 0 "; if(is_object($pdo2)){ $result=$pdo2->query($sql); $line_group=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); if(count($line_group)>0){ $data['bus_group_list']=$line_group; }else{ $data['bus_group_list']=array(); } } break; case 'vehicleDispatch': $BUS_ID=isset($_GET['bus_id'])?$_GET['bus_id']:''; $RES_ID=isset($_GET['res_id'])?$_GET['res_id']:''; $sql="CALL SP_VEHICLE_DISPATCH('".$USER_ID."','".$BUS_ID."','".$RES_ID."')"; if(is_object($pdo)){ $result=$pdo->query($sql); // if($result !== false){ // $data['code']='0'; // $data['info']='派遣成功'; // }else{ // $data['code']=1; // $data['info']='派遣失败'; // } // update by fuhc 2016-07-28 writeLog("车辆调度--sql====".$sql); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); // echo json_encode($rowset);exit(); writeLog(json_encode($rowset[0])); $data['code']=isset($rowset[0]['errorcode'])?$rowset[0]['errorcode']:"500"; $data['info']=isset($rowset[0]['errorinfo'])?$rowset[0]['errorinfo']:"未从数据库获得返回值"; }else{ $data['code']="300"; $data['info']="数据库错误"; echo json_encode($data); exit(); } $sql_search = " SELECT RUN_ID,BUS_ORDER_ID FROM RUN_BUS WHERE ID={$BUS_ID} "; $pdo_search = conn(); $result = $pdo_search->query($sql_search); if( $result == false ) { break; } $run_bus_array = $result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); if( $run_bus_array != false ) { $run_id = $run_bus_array[0]["RUN_ID"]; $bus_order_id = $run_bus_array[0]["BUS_ORDER_ID"]; $sql_get_order = " SELECT DISTINCT(PARENT_ORDER_ID) as PARENT_ORDER_ID FROM order_main WHERE RUN_ID={$run_id} AND RUN_BUS_ORDER_ID={$bus_order_id} AND ORDER_STATUS = 146 AND CANCEL_FLAG = 0 AND PARENT_ORDER_ID <> 0 "; $result = $pdo_search->query($sql_get_order); if( $result == false ) { break; } $set_order_array = $result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); if( $set_order_array == false ) { break; } $order_id_array = array(); foreach( $set_order_array as $set_order_info ) { $order_id_array[] = $set_order_info["PARENT_ORDER_ID"]; } $order_id_list = implode( ",", $order_id_array ); $post_data['order_id'] = "{$order_id_list}"; $post_data['order_status'] = "454"; send_post("http://". CS_DOMAIN. "/st-xm/Api/add_order_status_log.php",$post_data); } } break; case 'driverDispatch': $BUS_ID=isset($_GET['bus_id'])?$_GET['bus_id']:''; $RES_ID=isset($_GET['res_id'])?$_GET['res_id']:''; $sql="CALL SP_DRIVER_DISPATCH('".$USER_ID."','".$BUS_ID."','".$RES_ID."')"; writeLog('driverDispatch sql==='.$sql); if(is_object($pdo)){ $result=$pdo->query($sql); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); $data['code']=isset($rowset[0]['errorcode'])?$rowset[0]['errorcode']:"500"; $data['info']=isset($rowset[0]['errorinfo'])?$rowset[0]['errorinfo']:"未从数据库获得返回值"; $result->closeCursor(); echo json_encode($data);exit(); }else{ $data['code']="499"; $data['info']="数据库错误"; echo json_encode($data);exit(); } // if($result !== false){ // $data['code']='0'; // $data['info']='派遣成功'; // }else{ // $data['code']="1"; // $data['info']='派遣失败'; // } } break; case 'reset': $id_str=isset($_GET['idstr'])?$_GET['idstr']:''; $sql="CALL SP_UPDATE_RUN_DISPATCH(".$USER_ID.",'".$id_str."')"; writeLog(" reset----重置sql=".$sql); if(is_object($pdo)){ $result=$pdo->query($sql); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); $data['code']=isset($rowset[0]['errorcode'])?$rowset[0]['errorcode']:"500"; $data['info']=isset($rowset[0]['errorinfo'])?$rowset[0]['errorinfo']:"未从数据库获得返回值"; $result->closeCursor(); echo json_encode($data);exit(); }else{ $data['code']="499"; $data['info']="数据库错误"; echo json_encode($data);exit(); } }else{ $data['code']="-1"; $data['info']="重置发生未知错误"; echo json_encode($data);exit(); } break; case 'lock': //锁定 //.. // $id_str=isset($_GET['idstr'])?$_GET['idstr']:''; // $sql="CALL ('".$USER_ID."','".$id_str."')"; // writeLog("fhc update----锁定sql=".$sql); // if(is_object($pdo)){ // $result=$pdo->query($sql); // $data['code']="0"; // $data['info']=""; // }else{ // $data['code']="-1"; // $data['info']="锁定发生未知错误"; // } break; case 'unlock': //解锁 //.. // $id_str=isset($_GET['idstr'])?$_GET['idstr']:''; // $sql="CALL ('".$USER_ID."','".$id_str."')"; // writeLog("fhc update----解锁sql=".$sql); // if(is_object($pdo)){ // $result=$pdo->query($sql); // $data['code']="0"; // $data['info']=""; // }else{ // $data['code']="-1"; // $data['info']="解锁发生未知错误"; // } break; case 'getVehicleList': $keyword=isset($_GET['key_word'])?$_GET['key_word']:''; $company=isset($_GET['company']) ? (empty($_GET['company']) ? "0" : $_GET['company']) : "0"; $sql="CALL SP_GET_VEHICLE_LIST('".$USER_ID."','".$keyword."','".$company."')"; if(is_object($pdo)){ $result=$pdo->query($sql); $json=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); $data['code']="0"; $data['info']=""; if(count($json)>0){ $data['vehicle_list']=$json; }else{ $data['vehicle_list']=array(); } } break; case 'getDriverList': $keyword=isset($_GET['key_word'])?$_GET['key_word']:''; $company=isset($_GET['company']) ? (empty($_GET['company']) ? "0" : $_GET['company']) : "0"; $sql="CALL SP_GET_DRIVER_LIST('".$USER_ID."','".$keyword."','".$company."')"; if(is_object($pdo)){ $result=$pdo->query($sql); $json=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); $data['code']="0"; $data['info']=""; if(count($json)>0){ $data['driver_list']=$json; }else{ $data['driver_list']=array(); } } break; case 'getCompanyList': $opera_org_id_sql = "select opera_org_id,main_corp_id from base_user where id = " . $USER_ID . " and cancel_flag = 0"; $opera_org_id_result = $pdo->query($opera_org_id_sql); $rowset = $opera_org_id_result->fetchAll(PDO::FETCH_ASSOC); $opera_org_id = $rowset[0]['opera_org_id']; $main_corp_id = $rowset[0]['main_corp_id']; $and_sql = ''; if ($opera_org_id != '') { $and_sql .= " and org_id in (" . $opera_org_id . ") "; } if ($main_corp_id != 0) { $and_sql .= " and main_corp_id in (" . $main_corp_id . ") "; } // $sql="select // A.RES_ID as res_id, // A.RES_NAME as res_name // from base_resource as A where A.RES_TYPE_ID=18 and A.CANCEL_FLAG=0;"; $sql = "SELECT s.id as res_id, s.supplier_name as res_name from base_supplier as s, base_supplier_purchase as p WHERE s.id = p.supplier_id and s.cancel_flag = 0 and p.cancel_flag = 0 and p.product_type = 259 " . $and_sql . " group by s.id"; if(is_object($pdo)){ $result=$pdo->query($sql); $json=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); $data['code']="0"; $data['info']=""; if(count($json)>0){ $data['company_list']=$json; }else{ $data['company_list']=array(); } } break; case 'selectPOI': $run_id=isset($_GET['run_id'])?$_GET['run_id']:""; $bus_order_id=isset($_GET['bus_order_id'])?$_GET['bus_order_id']:""; if($run_id=="" || $bus_order_id==""){ $data['code']="400"; $data['info']="缺少参数"; echo json_encode($data);exit(); } $sql="SELECT DISTINCT A.START_STATION_AREA_ID AS start_area_id, A.END_STATION_AREA_ID AS end_area_id, (SELECT AREA_NAME FROM BASE_AREA WHERE ID = START_STATION_AREA_ID) AS start_area, (SELECT AREA_NAME FROM BASE_AREA WHERE ID = END_STATION_AREA_ID) AS end_area, (SELECT TYPE_NAME FROM DICT_TYPE WHERE ID = SEAT_TYPE) AS seat, A.PROD_ID as prod_id, IFNULL((SELECT BUS_COST_TYPE FROM RUN_BUS AS A WHERE A.RUN_ID=".$run_id." AND A.BUS_ORDER_ID=".$bus_order_id." AND A.CANCEL_FLAG=0),'') as method_type, IFNULL((SELECT TYPE_NAME FROM DICT_TYPE WHERE ID = HUMAN_TYPE),'') AS croed, IFNULL(PRICE.PROD_PRICE,0) as price, IFNULL((SELECT B.COST_PRICE FROM RUN_BUS_COST AS B WHERE B.RUN_ID=".$run_id." AND B.START_AREA_ID=A.START_STATION_AREA_ID AND B.END_AREA_ID= A.END_STATION_AREA_ID AND B.BUS_ORDER_ID=1 AND B.CANCEL_FLAG=0 AND (select BUS_COST_TYPE FROM RUN_BUS AS A WHERE A.RUN_ID=".$run_id." AND A.BUS_ORDER_ID=".$bus_order_id." AND A.CANCEL_FLAG=0)=129),'0') as every_total_price, (select count(*) from order_main as T where T.run_id=".$run_id." and T.prod_start_station_area_id=A.START_STATION_AREA_ID and T.prod_end_station_area_id=A.END_STATION_AREA_ID and T.run_bus_order_id=".$bus_order_id." and T.order_valid_status=1 and T.cancel_flag=0) as real_sale FROM RUN_PROD AS A LEFT JOIN OPERA_PRODUCT_PRICE PRICE ON PRICE.PROD_ID = A.PROD_ID AND PRICE.CANCEL_FLAG = 0 WHERE A.RUN_ID =".$run_id." AND A.CANCEL_FLAG = 0 group by start_area_id,end_area_id; "; writeLog('selectPOI sql->param='.$run_id); $sql2="select max(prod_id) as prod_id,max(s_id) as s_id,max(e_id) as e_id from ( select A.prod_id as prod_id,t1.property as s_id,t2.property as e_id from opera_product as A left join opera_product_property as t1 on t1.prod_id=A.prod_id and t1.type_id=125 left join opera_product_property as t2 on t2.prod_id=A.prod_id and t2.type_id=126 where A.prod_id=(select prod_id from run_main where run_id=".$run_id.")) as temp20160820;"; if(is_object($pdo)){ $result=$pdo->query($sql); $result2=$pdo->query($sql2); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); $rowset2=$result2->fetchAll(PDO::FETCH_ASSOC ); $result2->closeCursor(); $data['code']="0"; $data['info']=""; $data['start_end_areaList']=isset($rowset)?$rowset:array(); $data['real_start_end_area']=isset($rowset2)?$rowset2:array(); echo json_encode($data);exit(); }else{ $data['code']="500"; $data['info']="数据库错误"; echo json_encode($data);exit(); } }else{ $data['code']="300"; $data['info']="链接数据库错误"; echo json_encode($data);exit(); } break; case 'selectCost': //查询成本 $run_id=isset($_GET['run_id'])?$_GET['run_id']:""; $bus_order_id=isset($_GET['bus_order_id'])?$_GET['bus_order_id']:""; $start_area_id=isset($_GET['start_area_id'])?$_GET['start_area_id']:""; $end_area_id=isset($_GET['end_area_id'])?$_GET['end_area_id']:""; if($run_id=="" || $bus_order_id=="" || $start_area_id=="" || $end_area_id==""){ $data['code']="400"; $data['info']="缺少参数"; echo json_encode($data);exit(); } $str_main="{".$run_id.",".$bus_order_id.",".$start_area_id.",".$end_area_id."}"; $sql="CALL SP_UPDATE_COST(".$USER_ID.",'".$str_main."','','','','select');"; writeLog('selectCost sql='.$sql); if(is_object($pdo)){ $result=$pdo->query($sql); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); $result->closeCursor(); $data['code']="0"; $data['info']=""; $data['costList']=isset($rowset)?$rowset:array(); echo json_encode($data); exit(); }else{ $data['code']="500"; $data['info']="数据库错误"; echo json_encode($data);exit(); } }else{ $data['code']="300"; $data['info']="链接数据库错误"; echo json_encode($data);exit(); } break; case 'updateCost': //修改成本 $str_main=isset($_GET['str_main'])?$_GET['str_main']:""; $str_info1=isset($_GET['str_info1'])?$_GET['str_info1']:"{}"; $str_info2=isset($_GET['str_info2'])?$_GET['str_info2']:"{}"; $str_remark=isset($_GET['str_remark'])?$_GET['str_remark']:""; $str_method=isset($_GET['str_method'])?$_GET['str_method']:""; if($str_main=="" || $str_info1=="" || $str_remark=="" || $str_method=="" || $str_info2==""){ $data['code']="400"; $data['info']="缺少参数"; echo json_encode($data);exit(); } if($str_method=='update_car'){ $sql="CALL SP_UPDATE_COST(".$USER_ID.",'".$str_main."','".$str_info1."','".$str_info2."','".$str_remark."','update_car')"; }else{ $sql="CALL SP_UPDATE_COST(".$USER_ID.",'".$str_main."','".$str_info1."','".$str_info2."','".$str_remark."','update_seat')"; } writeLog('updateCost sql='.$sql); if(is_object($pdo)){ $result=$pdo->query($sql); if($result){ $rowset=$result->fetchAll(PDO::FETCH_ASSOC); $data=array(); $data['code']=isset($rowset['errcode'])?$rowset['errcode']:"0"; $data['info']=isset($rowset['errinfo'])?$rowset['errinfo']:""; $result->closeCursor(); echo json_encode($data);exit(); }else{ $data['code']="500"; $data['info']="数据库错误"; echo json_encode($data);exit(); } }else{ $data['code']="300"; $data['info']="链接数据库错误"; echo json_encode($data);exit(); } break; default: break; } if(is_array($data) && count($data) > 0 ){ echo json_encode($data); } exit;