request; $action = $request->post('action'); $func = 'action'; $action = explode('_', $action); foreach ($action as $key => $vel) { $func .= ucfirst($vel); } if ($action === false || method_exists($this, $func) == false) { $json = ['code' => 1, 'info' => '必要参数缺失']; return json_encode($json); } //add by qius on 20180511 禁用司机端功能 $deny_driver_list = array( "9268"/*余永华*/, "9273"/*康强*/, "9275"/*夏斌兴*/, "9276"/*王升勇*/, "9281"/*范强*/, "9682"/*易润根*/, "9700"/*魏巨根*/, "9704"/*赵岩松*/ /*, "9287"潘贝*/ ); $driver_id = $request->post('driver_id'); if( $driver_id != false && in_array( $driver_id, $deny_driver_list ) ) { $json = ['code' => 1, 'info' => '该账户已被禁用']; return json_encode($json); } //end of add by qius on 20180511 禁用司机端功能 return $this->$func(); } //获取车辆或司机调派时的详情 车管系统 public function actionGetUseDetailInfo() { $res_id = $_REQUEST['res_id']; $date = $_REQUEST['date']; $op = $_REQUEST['op']; $where = ''; if ($op == 'bus') { $where = 'send_bus_res_id'; } elseif ($op == 'driver') { $where = 'send_bus_driver_res_id'; } $sql = "select run_date,start_time,itinerary_name,(select BUS_NO from base_bus where send_bus_res_id = bus_id limit 1) as bus_no, (select driver_name from base_driver where send_bus_driver_res_id = driver_id limit 1) as driver_name, (select max(start_time) from bus_itinerary where bus_itinerary.itinerary_id = bus_order.itinerary_id) as end_time from bus_order where $where = $res_id and run_date = '$date' and cancel_flag = 0"; $connect = Yii::$app->db; $res = $connect->createCommand($sql)->queryAll(); return json_encode($res); } /** * Function Description:获取验证码 * Function Name: actionGetCode * * @return string * * @author 张帅 */ public function actionGetCode() { $driver_login = new DriverLoginNew(); $order_send_message = new OrderSendMessage(); #region 获取参数 $phone = Yii::$app->request->post('phone');//手机号 $machine_code = Yii::$app->request->post('machine_code');//设备码 #endregion $machine_code == 'null' ? $machine_code = '' : true; //1.验证手机号是否存在 $driver_info = BaseDriver::find()->select('driver_id')->where(['phone_no' => $phone, 'cancel_flag' => 0])->asArray()->one(); if (count($driver_info) == 0) { $data['code'] = "1"; $data['info'] = '该手机号码不存在'; return json_encode($data); } $driver_id = $driver_info["driver_id"];//司机id //2.添加验证码 $result = $driver_login->getCode($phone, $driver_id, $machine_code); if ($result === false) { $data['code'] = '1'; $data['info'] = '获取验证码失败'; } else { $msg_result = $order_send_message->sendTelMessage($phone, '您的验证码为:' . $result); if ($msg_result == 0) { $data['code'] = '0'; $data['info'] = '获取验证码成功'; $data['data'] = array("random_code" => $result, "driver_id" => $driver_id); } else { $data['code'] = '1'; $data['info'] = '获取验证码失败'; } } return json_encode($data); } /** * Function Description:登录 * Function Name: actionLogin * * @return string * * @author 张帅 */ public function actionLogin() { $base_driver = new BaseDriver(); #region 获取参数 $phone = Yii::$app->request->post('phone');//手机号 $machine_code = Yii::$app->request->post('machine_code');//设备码 $code = Yii::$app->request->post('code');//验证码 $machine_code == 'null' ? $machine_code = '' : true; #endregion //add by qius on 2018.5.10 限制登陆 $unlogin_phone = array( "13585834002", "18601662506", "15316672680", "17714235565", "13601993935", "18301709568", "13701984007", "13585555157" /*,"13868213405"*/); $data = array(); if( in_array( $phone, $unlogin_phone ) ) { $data['code'] = "1"; $data['info'] = '手机号不存在'; return json_encode($data); } //end of add by qius on 2018.5.10 限制登陆 // //1.验证码是否合法 // if (mb_strlen($code) != 4) { // $data['code'] = "1"; // $data['info'] = '请正确输入四位验证码'; // return json_encode($data); // } //2.获取司机详情 $driver_info = $base_driver->getDriverInfoByPhone($phone); if ($driver_info === false) { $data['code'] = "1"; $data['info'] = '手机号不存在'; return json_encode($data); } //3.检验验证码 $check_code = DriverLoginNew::find()->select('id')->where(['phone' => $phone, 'div' => $machine_code, 'code' => $code, 'status' => 0])->asArray()->one(); if ($code != '123456' && count($check_code) == 0) { $data['code'] = "1"; $data['info'] = '登录失败'; return json_encode($data); } if($code != '123456'){ //4.修改登录状态 $login_status = DriverLoginNew::findOne(['id' => $check_code['id']]); $login_status->STATUS = 179; $login_status->UPDATE_TIME = date('Y-m-d H:i:s', time()); $login_status->update(); } $data['code'] = '0'; $data['info'] = '登陆成功'; $data['data'] = $driver_info; return json_encode($data); } /** * Function Description:登出 * Function Name: actionLogout * * @return string * * @author 张帅 */ public function actionLogout() { #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $machine_code = Yii::$app->request->post('machine_code');//设备码 #endregion $login_status = DriverLoginNew::findOne(['res_id' => $driver_id, 'div' => $machine_code, 'cancel_flag' => 0]); $login_status->STATUS = 180; $login_status->UPDATE_TIME = date('Y-m-d H:i:s', time()); $res = $login_status->update(); if ($res) { $data['code'] = '0'; $data['info'] = '登出成功'; } else { $data['code'] = '1'; $data['info'] = '登出失败'; } return json_encode($data); } /** * Function Description:获取司机详情 * Function Name: actionTaskSet * * @return string * * @author 张帅 */ public function actionTaskSet() { $base_driver = new BaseDriver(); $bus_order = new BusOrder(); $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id #endregion //1.获取司机名称及所属渠道 $driver_info = $base_driver->getDriverInfoById($driver_id); if ($driver_info === false) { $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } //2.获取已完成任务数量 $task_complete = $bus_order->getTaskComplete($driver_id); $driver_info['task_complete'] = $task_complete; //3.获取总里程 $total_mileage = $run_bus_expenses->getTotalMileageByDriver($driver_id); $driver_info['total_mileage'] = $total_mileage; //4.获取新消息条数 $new_message = DriverMessage::find() ->where([ 'and', ['=', 'driver_id', $driver_id], ['=', 'cancel_flag', 0], ['in', 'msg_type', [490, 491]], ['=', 'is_read', 0], ])->count(); $driver_info['new_message'] = $new_message; $data['code'] = '0'; $data['info'] = '返回数据成功'; $data['data'] = $driver_info; return json_encode($data); } /** * Function Description:获取任务列表 * Function Name: actionTaskList * * @return string * * @author 张帅 */ public function actionTaskList() { $bus_order = new BusOrder(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $run_date = Yii::$app->request->post('run_date');//查询时间 #endregion //获取任务列表 $task_list = $bus_order->getDriverTask($driver_id, $run_date); $data['code'] = '0'; $data['info'] = '返回数据成功'; $data['data'] = $task_list; return json_encode($data); } /** * Function Description:获取任务详情 * Function Name: actionGetRunInfo * * @return string * * @author 张帅 */ public function actionGetRunInfo() { $bus_order = new BusOrder(); $bus_itinerary = new BusItinerary(); $order_main = new OrderMain(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 #endregion //1.判断参数 if (empty($bus_number)) { $data['code'] = '1'; $data['info'] = '确少必要参数'; return json_encode($data); } //2.获取车次详情 $bus_info = $bus_order->getBusInfo($bus_number); if ($bus_info === false) { $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } $itinerary_id = $bus_info['itinerary_id']; //check send bus status $cur_run_date = $bus_info['run_date']; $cur_bus_driver = $bus_info['send_bus_driver_res_id']; $get_count = $bus_order->countBusOrderFromStatus($cur_bus_driver, $cur_run_date, 437); //3.获取该车次站点信息 $station_info = $bus_itinerary->getStationInfo($itinerary_id); if ($station_info === false) { $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } //4.获取订单数据 $run_id = $bus_info['run_id']; $bus_order_id = $bus_info['bus_order_id']; if ($run_id == 0 || $bus_order_id == 0) { $order_info = []; } else { $order_info = $order_main->getRunBusOrderInfo($run_id, $bus_order_id); } //5.处理数据 $result = $bus_order->getRunBusStationOrderInfo($bus_info, $station_info, $order_info); $result["can_start_flag"] = $get_count > 0 ? false : true; $data['code'] = '0'; $data['info'] = '返回数据成功'; $data['data'] = $result; return json_encode($data); } /** * Function Description:任务开始 * Function Name: actionRunStart * * @return string * * @author 张帅 */ public function actionRunStart() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 $postage = Yii::$app->request->post('postage');//公里数 $toll_charge = Yii::$app->request->post('toll_charge');//ETC #endregion //1.判断行程状态 $run_status = BusOrder::find()->select('run_status,send_bus_res_id')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->one(); if ($run_status['run_status'] != 436 && $run_status['run_status'] != 435) { $data['code'] = '1'; $data['info'] = '该任务不是待出行状态'; return json_encode($data); } //2.check 公里数 $bus_res_id = $run_status['send_bus_res_id']; $max_bus_expense = $run_bus_expenses->getExpenseMaxEndValue($bus_res_id, 462); if ( $max_bus_expense != false && (($max_bus_expense > $postage || $postage - $max_bus_expense > 3000))) { $data['code'] = '1'; $data['info'] = '您输入的公里数有误'; return json_encode($data); } //3.任务开始 $result = $run_bus_expenses->runStart($bus_number, $postage, $toll_charge); if ($result) { $data['code'] = '0'; $data['info'] = '出行成功'; } else { $data['code'] = '1'; $data['info'] = '出行失败'; } return json_encode($data); } /** * Function Description:结束任务 * Function Name: actionRunEnd * * @return string * * @author 张帅 */ public function actionRunEnd() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 $postage = Yii::$app->request->post('postage');//公里数 $toll_charge = Yii::$app->request->post('toll_charge');//ETC #endregion //1.判断行程状态 $run_status = BusOrder::find()->select('run_status')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->asArray()->one(); if ($run_status['run_status'] != 437) { $data['code'] = '1'; $data['info'] = '该任务不是出行中状态'; return json_encode($data); } //etc检查 $run_bus_expenses_info = RunBusExpenses::find()->select('start_value')->where(['bus_number' => $bus_number, 'expense_subject_id' => 463])->asArray()->one(); if ($toll_charge > $run_bus_expenses_info["start_value"]) { $data['code'] = '1'; $data['info'] = 'etc填写错误,结束值不能大于开始值!'; return json_encode($data); } //公里数检查 $run_bus_expenses_info = RunBusExpenses::find()->select('start_value')->where(['bus_number' => $bus_number, 'expense_subject_id' => 462])->asArray()->one(); if ($postage < $run_bus_expenses_info["start_value"]) { $data['code'] = '1'; $data['info'] = '公里数填写错误,结束值不能小于开始值!'; return json_encode($data); }else if($postage - $run_bus_expenses_info["start_value"] > 3000){ $data['code'] = '1'; $data['info'] = '公里数填写错误,单行程公里数不能超过3000!'; return json_encode($data); } //2.任务结束 $result = $run_bus_expenses->runEnd($bus_number, $postage, $toll_charge, ($postage-$run_bus_expenses_info["start_value"])); if ($result == true) { $data['code'] = '0'; $data['info'] = '结束出行成功'; } else { $data['code'] = '1'; $data['info'] = '结束出行失败'; } return json_encode($data); } /** * Function Description:获取报账配置数据 * Function Name: actionGetFinanceData * * @return string * * @author 张帅 */ public function actionGetFinanceData() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 #endregion //1.判断报账状态 $finance_status = BusOrder::find()->select('run_status,finance_status')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->asArray()->one(); if ($finance_status['finance_status'] != 444 || $finance_status['run_status'] != 438) { $data['code'] = '1'; $data['info'] = '该任务不是待报账状态'; return json_encode($data); } //2.获取邮电费和路桥费 $result = $run_bus_expenses->getRunOrderExpenses($bus_number); $data['code'] = '0'; $data['info'] = '获取数据出行成功'; $data['data'] = $result; return json_encode($data); } /** * Function Description:提交报账 * Function Name: actionSubmitFinance * * @return string * * @author 张帅 */ public function actionSubmitFinance() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 $food_expense = Yii::$app->request->post('food_expense');//餐饮费 $hotel_expense = Yii::$app->request->post('hotel_expense');//住宿费 $park_expense = Yii::$app->request->post('park_expense');//停车费 #endregion //1.判断报账状态 $finance_status = BusOrder::find()->select('run_status,finance_status')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->asArray()->one(); if ($finance_status['finance_status'] != 444 || $finance_status['run_status'] != 438) { $data['code'] = '1'; $data['info'] = '该任务不是待报账状态'; return json_encode($data); } //2.提交报账 $result = $run_bus_expenses->getSubmitFinance($bus_number, $food_expense, $hotel_expense, $park_expense); if ($result) { $data['code'] = '0'; $data['info'] = '报账成功'; } else { $data['code'] = '1'; $data['info'] = '报账失败'; } return json_encode($data); } /** * Function Description:获取费用详情 * Function Name: actionGetFinanceDetail * * @return string * * @author 张帅 */ public function actionGetFinanceDetail() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 #endregion //1.判断报账状态 $finance_status = BusOrder::find()->select('run_status,finance_status')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->asArray()->one(); if ($finance_status['finance_status'] == 444 || $finance_status['run_status'] != 438) { $data['code'] = '1'; $data['info'] = '还未报账'; return json_encode($data); } //2.获取账单详情 $result = $run_bus_expenses->getFinanceDetail($bus_number); $data['code'] = '0'; $data['info'] = '获取报账信息成功'; $data['data'] = $result; return json_encode($data); } /** * Function Description:重新提交报账 * Function Name: actionSubmitFinance * * @return string * * @author 张帅 */ public function actionResubmitFinance() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $bus_number = Yii::$app->request->post('bus_number');//出车单号 $food_expense = Yii::$app->request->post('food_expense');//餐饮费 $hotel_expense = Yii::$app->request->post('hotel_expense');//住宿费 $park_expense = Yii::$app->request->post('park_expense');//停车费 #endregion //1.判断报账状态 $finance_status = BusOrder::find()->select('run_status,finance_status')->where(['bus_number' => $bus_number, 'cancel_flag' => 0])->asArray()->one(); if ($finance_status['finance_status'] != 447 || $finance_status['run_status'] != 438) { $data['code'] = '1'; $data['info'] = '该任务不是被驳回状态'; return json_encode($data); } //2.提交报账 $result = $run_bus_expenses->getResubmitFinance($bus_number, $food_expense, $hotel_expense, $park_expense); if ($result) { $data['code'] = '0'; $data['info'] = '重新报账成功'; } else { $data['code'] = '1'; $data['info'] = '重新报账失败'; } return json_encode($data); } /** * Function Description:获取报账列表 * Function Name: actionGetFinanceList * * @return string * * @author 张帅 */ public function actionGetFinanceList() { $bus_order = new BusOrder(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id #endregion $finance_list = $bus_order->getFinanceListByDriver($driver_id); $data['code'] = '0'; $data['info'] = '获取报账列表成功'; $data['data'] = $finance_list; return json_encode($data); } /** * Function Description:加油 * Function Name: actionAddOil * * @return string * * @author 张帅 */ public function actionAddOil() { $bus_expenses = new BusExpenses(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $bus_no = Yii::$app->request->post('bus_no');//车牌号 $expense_destination = Yii::$app->request->post('expense_destination');//支出去向 $start_value = Yii::$app->request->post('start_value');//加油前里程 $receive_value = Yii::$app->request->post('receive_value');//加油量 $expense_price = Yii::$app->request->post('expense_price');//支付金额 #endregion //1.判断车牌号是否正确 $bus_id = BaseBus::find()->select('bus_id')->where(['bus_no' => $bus_no, 'cancel_flag' => 0])->asArray()->one(); if (count($bus_id) == 0) { $data['code'] = '1'; $data['info'] = '系统中无该车牌号'; return json_encode($data); } $bus_id = $bus_id['bus_id']; //2.填入加油数据 $result = $bus_expenses->addOil($driver_id, $bus_id, $expense_destination, $start_value, $receive_value, $expense_price); if ($result) { $data['code'] = '0'; $data['info'] = '提交加油信息成功'; } else { $data['code'] = '1'; $data['info'] = '提交加油信息失败'; } return json_encode($data); } /** * Function Description:获取司机信息列表 * Function Name: actionDriverMessageList * * @return string * * @author 张帅 */ public function actionDriverMessageList() { $driver_message = new DriverMessage(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $current_page = Yii::$app->request->post('current_page');//当前页 $page_size = Yii::$app->request->post('page_size');//每页条数 #endregion $message_list = $driver_message->getDriverMessage($driver_id, $current_page, $page_size); $data['code'] = '0'; $data['info'] = '获取信息列表成功'; $data['date'] = $message_list; return json_encode($data); } /** * Function Description:更改信息已读状态 * Function Name: actionReadMessage * * @return string * * @author 张帅 */ public function actionReadMessage() { #region 获取参数 $message_id = Yii::$app->request->post('message_id');//信息id #endregion $message_one = DriverMessage::findOne(['id' => $message_id]); $message_one->IS_READ = 1; $message_one->update(); $data['code'] = '0'; $data['info'] = '成功更改'; return json_encode($data); } /** * Function Description:通过车牌号获取蓝牙地址 * Function Name: actionAddressByBusNo * * @return string * * @author 张帅 */ public function actionAddressByBusNo() { $base_bus = new BaseBus(); #region 获取参数 $bus_no = Yii::$app->request->post('bus_no');//车牌号 #endregion $result = $base_bus->getAddressByBusNo($bus_no); $data['code'] = '0'; $data['info'] = '返回数据成功'; $data['list'] = $result; return json_encode($data); } /** * Function Description:更改乘客上车状态 * Function Name: actionUpdateCheckStatus * * @return string * * @author 张帅 */ public function actionUpdateCheckStatus() { $order_check_tickets = new OrderCheckTickets(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $order_id = Yii::$app->request->post('order_id');//订单号 $check_status = Yii::$app->request->post('check_status');//状态 手动5,扫码6 #endregion if ($order_id == 0) { $data['code'] = '1'; $data['info'] = '该订单不存在或不可检票'; return json_encode($data); } if(substr($order_id, 0, 1) == 0){ // 订单号是0开头的,为了兼容6位到7位的过渡 $order_id = substr($order_id,1); //去掉第一位订单号 } //1.通过订单号获取班次和车号 $order_info = OrderMain::find() ->select("run_id,run_bus_order_id as bus_order_id,count(order_id) as people_num") ->where([ 'and', ['=', 'parent_order_id', $order_id], ['in', 'order_status', [146, 147]], ['=', 'cancel_flag', 0], ]) ->asArray()->one(); if ($order_info['people_num'] == 0 || count($order_info) == 0) { $data['code'] = '1'; $data['info'] = '该订单不存在或不可检票'; return json_encode($data); } //2.判断任务是否出行中 $run_id = $order_info['run_id'];//班次号 $bus_order_id = $order_info['bus_order_id'];//车次号 $people_num = $order_info['people_num'];//人数 $task_info = BusOrder::find() ->select('bus_number') ->where([ 'and', ['=', 'run_id', $run_id], ['=', 'bus_order_id', $bus_order_id], ['=', 'cancel_flag', 0], ['=', 'run_date', date('Y-m-d', time())],//当天 ['=', 'run_status', 437],//出行中 ['=', 'send_bus_driver_res_id', $driver_id],//是否上错车 ]) ->asArray()->one(); //判断是否是出行中的车次 if (count($task_info) == 0) { $data['code'] = '2'; $data['info'] = '不是本车次乘客'; return json_encode($data); } //3.检票 $result = $order_check_tickets->updateCheckStatus($driver_id, $run_id, $order_id, $bus_order_id, $check_status); if ($result) { $data['code'] = '0'; $data['info'] = '检票成功'; $data['data']['num'] = $people_num; } else { $data['code'] = '1'; $data['info'] = '检票失败'; } return json_encode($data); } /** * Function Description:获取app版本号 * Function Name: actionGetVersion * * @return string * * @author 张帅 */ public function actionGetVersion() { $result = DriverAppVersion::find()->select('app_version,app_url')->asArray()->one(); $data['code'] = '0'; $data['info'] = '获取版本号成功'; $data['data'] = $result; return json_encode($data); } /** * Function Description:上传app版本号 * Function Name: actionGetVersion * * @return string * * @author 张帅 */ public function actionUploadVersion() { $driver_app_update_status = new DriverAppUpdateStatus(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $version_code = Yii::$app->request->post('version_code');//当前版本号 #endregion $result = $driver_app_update_status->uploadVersion($driver_id, $version_code); if ($result) { $data['code'] = '0'; $data['info'] = '上传版本号成功'; } else { $data['code'] = '1'; $data['info'] = '上传版本号失败'; } return json_encode($data); } /** * Function Description:司机上传位置 * Function Name: actionUploadPosition * * @return string * * @author 张帅 */ public function actionUploadPosition() { $run_bus_pos = new RunBusPos(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id $div = Yii::$app->request->post('div');//手机设备号 $pos_x = Yii::$app->request->post('pos_x');//经度 $pos_y = Yii::$app->request->post('pos_y');//纬度 #endregion $value = [ 'phone_serial_no' => $div, 'log_time' => date('Y-m-d H:i:s', time()), 'pos_x' => $pos_x, 'pos_y' => $pos_y, 'driver_id' => $driver_id, ]; $run_bus_pos->attributes = $value; $result = $run_bus_pos->insert(); if ($result) { $data['code'] = '0'; $data['info'] = '上传位置成功'; } else { $data['code'] = '1'; $data['info'] = '上传位置失败'; } return json_encode($data); } /** * Function Description:添加司机消息 * Function Name: actionSendDriverMsg * * @return bool|string * * @author 张帅 */ public function actionSendDriverMsg() { $driver_message = new DriverMessage(); #region 获取参数 $msg_type = Yii::$app->request->post('msg_type');//短信类型 2.报账通知(已驳回) 3.派车通知发送时间 $bus_number = Yii::$app->request->post('bus_number');//出车单号 #endregion //1.保存信息 $message_list = $driver_message->addMessage($msg_type, $bus_number); //2.发送推送 if (count($message_list) > 0) { $push_arr = []; foreach ($message_list as $key => $vel) { $push_one['date'] = substr($vel['SEND_MESSAGE'], 0, 10); $push_one['driver_id'] = $vel['DRIVER_ID']; $push_arr[] = $push_one; } $result = $driver_message->push($msg_type, $push_arr); } else { $result = true; } return $result; } /** * Function Description:获取司贴列表 * Function Name: actionGetDriverSubsidyList * * @return string * * @author 张帅 */ public function actionGetDriverSubsidyList() { $run_bus_expenses = new RunBusExpenses(); #region 获取参数 $driver_id = Yii::$app->request->post('driver_id');//司机id #endregion $driver_subsidy_list = $run_bus_expenses->getDriverSubsidyList($driver_id); $data['code'] = '0'; $data['info'] = '获取司贴列表成功'; $data['data'] = $driver_subsidy_list; return json_encode($data); } //--------------------------------------------------------华丽的分割线------------------------------------------------------------// /** * Function Description:获取补丁包 * Function Name: actionGetPatch * * @return string * * @author 傅冬荣 */ public function actionGetPatch() { $check_sql = '' . "SELECT patch_name FROM driver_patch_info "; $check_result = Yii::$app->db->createCommand($check_sql)->queryAll(); $data = []; $data['code'] = '0'; $data['info'] = '获取成功'; $data['result'] = $check_result[0]['patch_name']; return json_encode($data); } /** * 获取所有的司机列表,用于上帝app中选择司机 * @author 傅冬荣 */ public function actionDriverListInfo(){ $key_word = Yii::$app->request->post('key_word');//司机id $base_driver = new BaseDriver(); $driver_list = $base_driver -> getDriverListInfo($key_word); if ($driver_list === false) { $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } $data['code'] = '0'; $data['info'] = '查询成功'; $data['data'] = $driver_list; return json_encode($data); } /** * 根据车辆获取历史最大的结束里程数 * @author 傅冬荣 */ public function actionGetLastMilege(){ $bus_res_id = Yii::$app->request->post('bus_res_id'); //车辆资源id $run_bus_expense = new RunBusExpenses(); $last_milege = $run_bus_expense -> getLastMilegeByBusResId($bus_res_id); //最大公里数 if($last_milege === false){ $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } $data['code'] = '0'; $data['info'] = '查询成功'; $data['data'] = $last_milege; return json_encode($data); } /** * 根据bus_number获取到行程开始时填的公里数 * @author 傅冬荣 */ public function actionGetStartMilege(){ $bus_number = Yii::$app->request->post('bus_number'); $run_bus_expense = new RunBusExpenses(); $start_milege = $run_bus_expense -> getStartMilegeByBusNumber($bus_number); if($start_milege === false){ $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } $data['code'] = '0'; $data['info'] = '查询成功'; $data['data'] = $start_milege; return json_encode($data); } /** * 获取验证码列表 * @author 傅冬荣 */ public function actionCodeInfoList(){ $driverLoginNew = new DriverLoginNew(); $code_info_list = $driverLoginNew -> getCodeList(); if(!$code_info_list){ $data['code'] = '1'; $data['info'] = '查询失败'; return json_encode($data); } $data['code'] = '0'; $data['info'] = '查询成功'; $data['data'] = $code_info_list; return json_encode($data); } /** * 通过司机姓名或者日期或者车辆来获取行程信息 */ public function actionGetTaskByParam(){ $driver_name = Yii::$app->request->post('driver_name'); $bus_no = Yii::$app->request->post('car_number'); $run_date = Yii::$app->request->post('run_date'); $bus_order = new BusOrder(); $task_list = $bus_order->getTaskByParam($driver_name,$bus_no,$run_date); $data['code'] = '0'; $data['info'] = '查询成功'; $data['task_list'] = $task_list; return json_encode($data); } /** * 根据bus_number来获取报账信息 */ public function actionGetExpensesInfo(){ $bus_number = Yii::$app->request->post('bus_number'); $run_bus_expenses = new RunBusExpenses(); $expense_list = $run_bus_expenses->getExpensesListByBusNumber($bus_number); $data['code'] = '0'; $data['info'] = '查询成功'; $data['expense_list'] = $expense_list; return json_encode($data); } }