request->cookies; //账号权限 $user_role = $cookies->getValue('ht_user_role'); #region 获取参数 $audit_status = Yii::$app->request->get('audit_status', 444);//审核状态 $date_type_id = Yii::$app->request->get('date_type', 0);//日期类型 $start_date = Yii::$app->request->get('start_date', date('Y-m-d', strtotime("-1 day")));//开始日期 $end_date = Yii::$app->request->get('end_date', date('Y-m-d', strtotime("-1 day")));//结束日期 $cost_id = Yii::$app->request->get('cost_id');//成本编号 $supplier_name = Yii::$app->request->get('supplier_name');//渠道商 $line_code = Yii::$app->request->get('line_code');//线路编号 $opera_name = Yii::$app->request->get('opera_name');//操作人 $page_size = Yii::$app->request->get('page_size', 20);//每页尺寸 $current_page = Yii::$app->request->get('current_page', 1);//当前页 #endregion $supplier_name == '----请选择----' ? $supplier_name = '' : true; $line_code == '----请选择----' ? $line_code = '' : true; //创建一个数组 $data = []; //1.日期选项 $date_type = ['出发日期', '添加日期']; //2.结算类型 $settlement_type = [477 => '包车计价', 478 => '车座计价']; //3.获取所有的车队名称和车队代码 $motorcade = $base_supplier->getMotorcadeInfo( true ); //4.获取所有线路 $line_list = $opera_line->getLineInfo(); //5.获取数据 $cost_list_result = $bus_cost->getCostList($audit_status, $date_type_id, $start_date, $end_date, $cost_id, $supplier_name, $line_code, $opera_name, $page_size, $current_page); $cost_list = $cost_list_result['rows']; $page_arr = $cost_list_result['page_arr']; $page = $cost_list_result['page']; $page_size_arr = [20, 30, 50, 100]; $data['user_role'] = $user_role;//用户权限 $data['date_type'] = $date_type;//日期选项 $data['settlement_type'] = $settlement_type;//结算类型 $data['motorcade'] = $motorcade;//车队 $data['line_list'] = $line_list;//车队 $data['cost_list'] = $cost_list;//成本列表 $data['page_arr'] = $page_arr; $data['page'] = $page; $data['page_size'] = $page_size; $data['page_size_arr'] = $page_size_arr; return $this->render('cost-list', $data); } /*============================ajax================================ajax=================================ajax======================================*/ /** * Function Description:获取班次和车次 * Function Name: actionGetRunBus * * @return string * * @author 张帅 */ public function actionGetRunBus() { $run_bus = new RunBus(); #region 1.获取参数 $line_id = Yii::$app->request->post('line_id');//线路id $run_date = Yii::$app->request->post('run_date');//出发日期 #endregion $result = $run_bus->getRunBusByLineDate($line_id, $run_date); $json['code'] = '0'; $json['info'] = '返回数据成功'; $json['list'] = $result; return json_encode($json); } /** * Function Description:添加成本 * Function Name: actionAddBusCost * * @return string * * @author 张帅 */ public function actionAddBusCost() { $bus_cost = new BusCost(); #region 1.获取参数 $line_id = Yii::$app->request->post('line_id');//线路id $run_date = Yii::$app->request->post('run_date');//出发日期 $run_time = Yii::$app->request->post('run_time');//出发时间 $bus_order_id = Yii::$app->request->post('bus_order_id');//车号 $settlement_type = Yii::$app->request->post('settlement_type');//结算方式 $cost_motorcade_id = Yii::$app->request->post('cost_motorcade_id');//规定渠道商 $run_id = Yii::$app->request->post('run_id');//班次id $bus_id = Yii::$app->request->post('bus_id');//车资源id $run_bus_id = Yii::$app->request->post('run_bus_id');//班次车次唯一id $saled_count = Yii::$app->request->post('saled_count');//售卖座位数 $cost_price = Yii::$app->request->post('cost_price');//单价 $total_cost_price = Yii::$app->request->post('total_cost_price');//总价 $check_status = Yii::$app->request->post('check_status');//审核状态 $memo = Yii::$app->request->post('memo');//备注 #endregion #region 2.添加成本 $result = $bus_cost->addBusCost($line_id, $run_date, $run_time, $bus_order_id, $settlement_type, $cost_motorcade_id, $run_id, $bus_id, $run_bus_id, $saled_count, $cost_price, $total_cost_price, $check_status, $memo); #endregion return json_encode($result); } /** * Function Description:修改成本 * Function Name: actionUpdateBusCost * * @return string * * @author 张帅 */ public function actionUpdateBusCost() { $bus_cost = new BusCost(); #region 1.获取参数 $cost_id = Yii::$app->request->post('cost_id');//结算方式 $cost_type = Yii::$app->request->post('cost_type');//结算方式 $cost_motorcade_id = Yii::$app->request->post('cost_motorcade_id');//规定渠道商 $saled_count = Yii::$app->request->post('saled_count');//售卖座位数 $cost_price = Yii::$app->request->post('cost_price');//单价 $total_cost_price = Yii::$app->request->post('total_cost_price');//总价 $check_status = Yii::$app->request->post('check_status');//审核状态 $memo = Yii::$app->request->post('memo');//备注 #endregion #region 2.添加成本 $result = $bus_cost->updateBusCost($cost_id, $cost_type, $cost_motorcade_id, $saled_count, $cost_price, $total_cost_price, $check_status, $memo); #endregion return json_encode($result); } /** * Function Description:修改审核状态 * Function Name: actionUpdateCheckCost * * @return string * * @author 张帅 */ public function actionUpdateCheckCost() { $bus_cost = new BusCost(); #region 1.获取参数 $cost_id = Yii::$app->request->post('cost_id');//结算方式 $check_status = Yii::$app->request->post('check_status');//审核状态 #endregion #region 2.添加成本 $result = $bus_cost->updateCheckCost($cost_id, $check_status); #endregion return json_encode($result); } /** * Function Description:巴士成本的导出 * Function Name: actionExportBusExpense * * @return string * * @author 张帅 */ public function actionExportBusExpense() { $bus_cost = new BusCost(); $base_area = new BaseArea(); #region 获取参数 $audit_status = Yii::$app->request->post('audit_status', 444);//审核状态 $date_type_id = Yii::$app->request->post('date_type', 0);//日期类型 $start_date = Yii::$app->request->post('start_date', date('Y-m-d', strtotime("-1 day")));//开始日期 $end_date = Yii::$app->request->post('end_date', date('Y-m-d', strtotime("-1 day")));//结束日期 $cost_id = Yii::$app->request->post('cost_id');//成本编号 $supplier_name = Yii::$app->request->post('supplier_name');//渠道商 $line_code = Yii::$app->request->post('line_code');//线路编号 $opera_name = Yii::$app->request->post('opera_name');//操作人 #endregion $supplier_name == '----请选择----' ? $supplier_name = '' : true; $line_code == '----请选择----' ? $line_code = '' : true; //获取数据 $cost_list_result = $bus_cost->getCostList($audit_status, $date_type_id, $start_date, $end_date, $cost_id, $supplier_name, $line_code, $opera_name, 1000000, 1); $cost_list = $cost_list_result['rows']; $table_name = $start_date . '~' . $end_date . '巴士成本管理';//表名 $data_title = ['成本编号', '添加时间', '出发时间', '供应商', '线路编号', '线路名称', '车次', '座位数', '已售人数', '操作人', '计数方式', '数量', '单价', '总价', '备忘']; $data_list = []; foreach ($cost_list as $k => $v) { $data_list[$k]['cost_id'] = $v['cost_id']; $data_list[$k]['create_time'] = $v['create_time']; $data_list[$k]['start_time'] = $v['start_time']; $data_list[$k]['bus_org_name'] = $v['bus_org_name']; $data_list[$k]['line_code'] = $v['line_code']; $data_list[$k]['line_name'] = $v['line_name']; $data_list[$k]['bus_order_id'] = $v['bus_order_id']; $data_list[$k]['seat_count'] = $v['seat_count']; $data_list[$k]['saled_count'] = $v['saled_count']; if ($data_list[$k]['check_status_id'] == 446) { $data_list[$k]['create_user_name'] = $v['create_user_name'] . '|' . $v['check_user_name']; } else { $data_list[$k]['create_user_name'] = $v['create_user_name']; } $data_list[$k]['create_user_name'] = $v['create_user_name']; $data_list[$k]['cost_type'] = $v['cost_type']; $data_list[$k]['number'] = $v['num']; $data_list[$k]['cost_price'] = $v['cost_price']; $data_list[$k]['total_cost_price'] = $v['total_cost_price']; $data_list[$k]['memo'] = $v['memo']; } return $base_area->exportExcel($table_name, $data_title, $data_list); } }