|
- <?php
-
- namespace backend\modules\zzcs\controllers;
-
- use backend\modules\zzcs\models\BaseArea;
- use Yii;
- use backend\modules\zzcs\models\BaseSupplier;
- use backend\modules\zzcs\models\BusCost;
- use backend\modules\zzcs\models\OperaLine;
- use backend\modules\zzcs\models\RunBus;
- use yii\web\Controller;
-
- class LineController extends Controller
- {
- public $layout = '@backend/modules/zzcs/views/layouts/zzcs';
- public $enableCsrfValidation = false;
-
- /**
- * Function Description:巴士成本列表
- * Function Name: actionCostList
- *
- * @return string
- *
- * @author 张帅
- */
- public function actionCostList()
- {
- $base_supplier = new BaseSupplier();
- $bus_cost = new BusCost();
- $opera_line = new OperaLine();
-
- //获取cookies
- $cookies = Yii::$app->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);
- }
- }
|