You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

394 lines
12 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 001
  5. * Date: 2017/11/15
  6. * Time: 11:21
  7. */
  8. namespace backend\modules\zzcs\controllers;
  9. use backend\modules\zzcs\logic\RunBusManage;
  10. use common\models\Utils;
  11. use yii\base\Controller;
  12. use Yii;
  13. class RunBusController extends Controller
  14. {
  15. public $enableCsrfValidation = false;
  16. public $layout = '@backend/modules/zzcs/views/layouts/zzcs';
  17. public function actionIndex()
  18. {
  19. return 'Hello';
  20. }
  21. /**
  22. * Function Description:加载班次管理页面
  23. * Function Name: actionGetRunBusList
  24. *
  25. * @return string
  26. *
  27. * @author 冒炎
  28. */
  29. public function actionGetRunBusList(){
  30. $current_page=Yii::$app->request->get('current_page',1);
  31. $page_size=Yii::$app->request->get('page_size',10);
  32. $start_area = Yii::$app->request->get('start_area','');
  33. $end_area = Yii::$app->request->get('end_area','');
  34. $line = Yii::$app->request->get('line','');
  35. $start_date = Yii::$app->request->get('start_date',date("Y-m-d", strtotime('+1 day')));
  36. $end_date = Yii::$app->request->get('end_date',date("Y-m-d", strtotime('+1 day')));
  37. $run_status = Yii::$app->request->get('run_status','138');
  38. $bus_type = Yii::$app->request->get('bus_type','0');
  39. $hour = Yii::$app->request->get('hour','-1');
  40. $minute = Yii::$app->request->get('minute','-1');
  41. $order_rule = Yii::$app->request->get('order_rule','1');
  42. $user_id = Yii::$app->request->cookies->getValue('user_id',-1);
  43. if ($hour==-1||$minute==-1){
  44. $hour=$minute=-1;
  45. }else{
  46. if ($hour!=''&&intval($hour)<10){
  47. $hour = '0'.$hour;
  48. }
  49. if ($minute!=''&&intval($minute)<10){
  50. $minute = '0'.$minute;
  51. }
  52. }
  53. if($start_date == ''){
  54. $start_date = date("Y-m-d", strtotime('+1 day'));
  55. }
  56. if($end_date == ''){
  57. $end_date = date("Y-m-d", strtotime('+1 day'));
  58. }
  59. $run_time = $hour .':'. $minute;
  60. $http_data = array(
  61. 'current_page' => $current_page,
  62. 'page_size' => $page_size,
  63. 'start_area' =>trim($start_area) ,
  64. 'end_area' =>trim($end_area),
  65. 'line' =>trim($line),
  66. 'start_date' => $start_date,
  67. 'end_date' => $end_date,
  68. 'run_status' => $run_status,
  69. 'bus_type' => $bus_type,
  70. 'time' => $run_time,
  71. 'user_id'=>$user_id,
  72. 'order_rule'=>$order_rule
  73. );
  74. $res_data= Utils::httpRequest('http://'.CS1_DOMAIN.'/api/run-info/get-run-list',$http_data);
  75. $data = json_decode($res_data,true);
  76. return $this->render('run-list',$data);
  77. }
  78. /**
  79. * Function Description:班次审核 启用 停用
  80. * Function Name: actionRunStatusUpdate
  81. *
  82. * @return mixed|string
  83. *
  84. * @author 冒炎
  85. */
  86. public function actionRunStatusUpdate(){
  87. $allrunid = Yii::$app->request->post('allrunid',-1);
  88. $runstatus = Yii::$app->request->post('status',-1);
  89. if($allrunid == -1||$runstatus==-1){
  90. $data = [
  91. 'errcode'=>'1',
  92. 'errinfo'=>'缺少必要参数'
  93. ];
  94. return json_encode($data);
  95. }
  96. $yii_url = 'http://'.CS1_DOMAIN.'/api/dynamic-bus/run-status-update';
  97. $send_data = [
  98. 'all_run_id'=>$allrunid,
  99. 'run_status'=>$runstatus
  100. ];
  101. $res = Utils::httpRequest($yii_url,$send_data);
  102. $r = json_decode($res,true);
  103. if( $r['errcode'] == 0){
  104. $sql1 = "CALL SP_REFRESH_RUN_BUS_STATUS()";
  105. Yii::$app->db->createCommand($sql1)->query();
  106. }
  107. return $res;
  108. }
  109. /**
  110. * Function Description:加载添加班次页面
  111. * Function Name: actionAddRun
  112. *
  113. * @return string
  114. *
  115. * @author 冒炎
  116. */
  117. public function actionAddRun(){
  118. return $this->render('run-add');
  119. }
  120. /**
  121. * Function Description:根据关键词搜索线路
  122. * Function Name: actionSearchLine
  123. *
  124. * @return string
  125. *
  126. * @author 冒炎
  127. */
  128. public function actionSearchLine(){
  129. $search = Yii::$app->request->post('line','');
  130. $user_id = Yii::$app->request->cookies->getValue('user_id',-1);
  131. $logic = new RunBusManage();
  132. $data = $logic->searchLine($search,$user_id);
  133. return json_encode($data);
  134. }
  135. /**
  136. * Function Description:获取该线路相关的票种车辆以及站点信息
  137. * Function Name: actionThroughStation
  138. *
  139. * @return string
  140. *
  141. * @author 冒炎
  142. */
  143. public function actionThroughStation(){
  144. $line_id = Yii::$app->request->post('line_id','');
  145. $logic = new RunBusManage();
  146. $data = $logic->getLineInfo($line_id);
  147. return json_encode($data);
  148. }
  149. /**
  150. * Function Description:添加班次数据保存
  151. * Function Name: actionRunBusAddSave
  152. *
  153. * @return mixed
  154. *
  155. * @author 冒炎
  156. */
  157. public function actionRunBusAddSave(){
  158. $lineid=Yii::$app->request->get('lineid','');
  159. $startime=Yii::$app->request->get('startime','');
  160. $endtime=Yii::$app->request->get('endtime','');
  161. $week=Yii::$app->request->get('week','');
  162. $allstation=Yii::$app->request->get('allstation','');
  163. $allcar=Yii::$app->request->get('allcar','');
  164. $allticket=Yii::$app->request->get('allticket','');
  165. $sellday=Yii::$app->request->get('sellday','');
  166. $current_time=date("Y-m-d H:i:s");//获取当前时间
  167. $userid = Yii::$app->request->cookies->getValue('user_id',-1);
  168. $yii_url = 'http://'.CS1_DOMAIN.'/api/dynamic-bus/run-bus-new-save';
  169. $send_data = array(
  170. 'line_id'=>$lineid,
  171. 'start_time'=>$startime,
  172. 'end_time'=>$endtime,
  173. 'week'=>$week,
  174. 'all_station'=>$allstation,
  175. 'all_car'=>$allcar,
  176. 'all_ticket'=>$allticket,
  177. 'sell_day'=>$sellday,
  178. 'current_time'=>$current_time,
  179. 'user_id'=>$userid
  180. );
  181. $res = Utils::httpRequest($yii_url,$send_data);
  182. return $res;
  183. }
  184. /**
  185. * Function Description:加载班次更新界面
  186. * Function Name: actionRunBusUpdate
  187. *
  188. * @return string
  189. *
  190. * @author 冒炎
  191. */
  192. public function actionRunBusUpdate(){
  193. $run_id = Yii::$app->request->get('run_id','');
  194. $data = ['run_id'=>$run_id];
  195. return $this->render('run-upt',$data);
  196. }
  197. /**
  198. * Function Description:班次更新页面数据
  199. * Function Name: actionGetRunInfo
  200. *
  201. * @return mixed
  202. *
  203. * @author 冒炎
  204. */
  205. public function actionGetRunInfo(){
  206. $user_id = Yii::$app->request->post('user_id',1);
  207. $run_id = Yii::$app->request->post('run_id','');
  208. $send_data = [
  209. 'user_id'=>$user_id,
  210. 'run_id'=>$run_id
  211. ];
  212. $res = Utils::httpRequest('http://'.CS1_DOMAIN.'/api/run-edit/get-run-info',$send_data);
  213. return $res;
  214. }
  215. /**
  216. * Function Description:班次更新数据保存
  217. * Function Name: actionRunUpdateSave
  218. *
  219. * @return mixed|string
  220. *
  221. * @author 冒炎
  222. */
  223. public function actionRunUpdateSave(){
  224. $runid = Yii::$app->request->get('runid','');
  225. $startime = Yii::$app->request->get('startime','');
  226. $allstation = Yii::$app->request->get('allstation','');
  227. $allcar = Yii::$app->request->get('allcar','');
  228. $allticket = Yii::$app->request->get('allticket','');
  229. $sellday = Yii::$app->request->get('sellday','');
  230. $userid = Yii::$app->request->cookies->getValue('user_id',-1);
  231. $logic = new RunBusManage();
  232. $data =$logic->runUpdateSave($runid,$startime,$allstation,$allcar,$allticket,$sellday,$userid);
  233. return $data;
  234. }
  235. /**
  236. * Function Description:加载班次详情页面
  237. * Function Name: actionRunDetail
  238. *
  239. * @return string
  240. *
  241. * @author 冒炎
  242. */
  243. public function actionRunDetail(){
  244. $run_id = Yii::$app->request->get('run_id','');
  245. $data = ['run_id'=>$run_id];
  246. return $this->render('run-detail',$data);
  247. }
  248. /**
  249. * Function Description:获取班次详情数据
  250. * Function Name: actionGetRunDetail
  251. *
  252. * @return mixed
  253. *
  254. * @author 冒炎
  255. */
  256. public function actionGetRunDetail(){
  257. $user_id = Yii::$app->request->post('user_id',1);
  258. $run_id = Yii::$app->request->post('run_id','');
  259. $send_data = [
  260. 'user_id'=>$user_id,
  261. 'run_id'=>$run_id
  262. ];
  263. $res = Utils::httpRequest('http://'.CS1_DOMAIN.'/api/run-info/get-run-info',$send_data);
  264. return $res;
  265. }
  266. /**
  267. * Function Description:加载票种详情界面
  268. * Function Name: actionTicketDetail
  269. *
  270. * @return string
  271. *
  272. * @author 冒炎
  273. */
  274. public function actionTicketDetail(){
  275. $order_id = Yii::$app->request->get('order_id','');
  276. $data= ['order_id'=>$order_id];
  277. return $this->render('ticket-detail',$data);
  278. }
  279. /**
  280. * Function Description:获取订单票种信息
  281. * Function Name: actionGetTicketDetail
  282. *
  283. * @return string
  284. *
  285. * @author 冒炎
  286. */
  287. public function actionGetTicketDetail(){
  288. $order_id = Yii::$app->request->post('order_id',0);
  289. $logic = new RunBusManage();
  290. $data = $logic->getTicketDetail($order_id);
  291. return json_encode($data);
  292. }
  293. /**
  294. * Function Description:获取已售人数信息
  295. * Function Name: actionGetRunBusPassenger
  296. *
  297. * @return string
  298. *
  299. * @author 冒炎
  300. */
  301. public function actionGetRunBusPassenger(){
  302. $run_id = Yii::$app->request->post('run_id',0);
  303. $bus_order_id = Yii::$app->request->post('bus_order_id',0);
  304. if ( $run_id == 0 || $bus_order_id == 0){
  305. return json_encode(array("code"=>"1","info"=>"参数不正确"));
  306. }
  307. $logic = new RunBusManage();
  308. $data = $logic->getRunBusPassenger($run_id,$bus_order_id);
  309. return json_encode($data);
  310. }
  311. /**
  312. * Des:获取班次站点信息列表
  313. * Name: actionGetRunStationList
  314. * @author 倪宗锋
  315. */
  316. public function actionGetRunStationList()
  317. {
  318. $run_id = Yii::$app->request->post('run_id', 0);//班次ID
  319. $bus_order_id = Yii::$app->request->post('bus_order_id', 0);//车型序号
  320. $logic = new RunBusManage();
  321. $getList = $logic->getRunStationList($run_id, $bus_order_id);//获取班次车次站点数据
  322. return json_encode($getList);
  323. }
  324. /**
  325. * Des:设则班次车子站的晚点时间
  326. * Name: actionSetDelayVal
  327. * @return string
  328. * @author 倪宗锋
  329. */
  330. public function actionSetDelayVal()
  331. {
  332. $params = [
  333. 'run_id' => Yii::$app->request->post('run_id', 0),//班次ID
  334. 'bus_order_id' => Yii::$app->request->post('bus_order_id', 0),//车型序号
  335. 'seq_id' => Yii::$app->request->post('seq_id', 0),//站点序号
  336. 'val' => Yii::$app->request->post('val', 0),//晚点时间
  337. 'res_id' => Yii::$app->request->post('res_id', 0),//站点ID
  338. 'res_name' => Yii::$app->request->post('res_name', 0),//站点名称
  339. ];
  340. $logic = new RunBusManage();
  341. $setDelayVal = $logic->setDelayVal($params);
  342. return json_encode($setDelayVal);
  343. }
  344. /**
  345. * Des:发送晚点短信通知
  346. * Name: actionSendDelayMsg
  347. * @author 倪宗锋
  348. */
  349. public function actionSendDelayMsg()
  350. {
  351. $params = [
  352. 'run_id' => Yii::$app->request->post('run_id', 0),//班次ID
  353. 'bus_order_id' => Yii::$app->request->post('bus_order_id', 0),//车型序号
  354. 'reason' => Yii::$app->request->post('reason', '路上拥堵'),//原因
  355. 'seq_id' => Yii::$app->request->post('seq_id', 0),//站点序号
  356. ];
  357. $logic = new RunBusManage();
  358. $setDelayVal = $logic->sendDelayMsg($params);
  359. return json_encode($setDelayVal);
  360. }
  361. }