Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

209 righe
7.4 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 001
  5. * Date: 2018/3/9
  6. * Time: 9:35
  7. */
  8. namespace backend\modules\zzcs\controllers;
  9. use backend\modules\zzcs\logic\WorkOrderManage;
  10. use backend\modules\zzcs\models\OperaHotelWorkOrder;
  11. use backend\modules\zzcs\models\OperaHotelWorkOrderComment;
  12. use backend\modules\zzcs\models\OperaHotelWorkOrderUser;
  13. use Yii;
  14. use yii\web\Controller;
  15. class WorkOrderController extends Controller
  16. {
  17. public $enableCsrfValidation = false;
  18. public $layout = '@backend/modules/zzcs/views/layouts/zzcs';
  19. private $service = null;
  20. /**
  21. * Function Description:单例
  22. * Function Name: logic
  23. * @return WorkOrderManage|null
  24. * @author 田玲菲
  25. */
  26. public function logic()
  27. {
  28. if ($this->service == null) {
  29. $this->service = new WorkOrderManage();
  30. }
  31. return $this->service;
  32. }
  33. /**
  34. * Function Description:工单详情页面
  35. * Function Name: actionWorkOrderDetail
  36. *
  37. * @return string
  38. *
  39. * @author 冒炎
  40. */
  41. public function actionWorkOrderDetail(){
  42. $workOrderId = Yii::$app->request->get('id',0);
  43. $sendType = Yii::$app->request->get('send_type',-1);
  44. $data = $this->logic()->getWorkOrderDetail($workOrderId);
  45. $data['send_type'] = $sendType;
  46. return $this->render('work-order-detail',$data);
  47. }
  48. /**
  49. * Function Description:获取工单列表
  50. * Function Name: actionGetWorkOrderList
  51. * @return string
  52. * @author 田玲菲
  53. */
  54. public function actionGetWorkOrderList()
  55. {
  56. //查询条件
  57. $sendType = Yii::$app->request->get('send_type', 1); //1.我发起的工单, 2.待我处理的工单, 3.抄送给我的工单
  58. $hotelName = Yii::$app->request->get('hotel_name', '');//酒店名字
  59. $id = Yii::$app->request->get('id', '');//工单编号,id
  60. $timeType = Yii::$app->request->get('time_type', 1);//时间类型:1.提交时间,2.结束时间
  61. $startDate = Yii::$app->request->get('start_date', date('Y-m-d', strtotime("-1 month")));//查询开始时间
  62. $endDate = Yii::$app->request->get('end_date', date('Y-m-d').' 23:59:59');//查询结束时间
  63. $workType = Yii::$app->request->get('work_type', '');//工单类型: 1.其他 2.预定问题 3.价格房态
  64. $status = Yii::$app->request->get('status', '');//工单状态
  65. $keyWords = Yii::$app->request->get('key_words', '');//关键字查询
  66. $submitMan = Yii::$app->request->get('submit_man', '');//提交人id
  67. $page_size = Yii::$app->request->get('page_size', 10);//每页显示数
  68. $current_page = Yii::$app->request->get('current_page', 1);//当前页数
  69. $is_finish = Yii::$app->request->get('is_finish', 1);//是否完成
  70. $res = $this->logic()->getWorkOrderList($sendType, $hotelName, $id, $timeType, $startDate, $endDate, $workType, $status, $keyWords, $submitMan, $is_finish, $page_size, $current_page);
  71. return $this->render('work-order-list', $res);
  72. }
  73. /**
  74. * Function Description:获取我提交的/我受理的/抄送给我的工单的数量
  75. * Function Name: actionGetNum
  76. * @return string
  77. * @author 田玲菲
  78. */
  79. public function actionGetNum()
  80. {
  81. $hotelName = Yii::$app->request->get('hotel_name', '');//酒店名字
  82. $id = Yii::$app->request->get('id', '');//工单编号,id
  83. $timeType = Yii::$app->request->get('time_type', 0);//时间类型:1.提交时间,2.结束时间
  84. $startDate = Yii::$app->request->get('start_date', date('Y-m-d', strtotime("-1 month")));//查询开始时间
  85. $endDate = Yii::$app->request->get('end_date', date('Y-m-d').' 23:59:59');//查询结束时间
  86. $workType = Yii::$app->request->get('work_type', '');//工单类型: 1.其他 2.预定问题 3.价格房态
  87. $status = Yii::$app->request->get('status', '');//工单状态
  88. $keyWords = Yii::$app->request->get('key_words', '');//关键字查询
  89. $submitMan = Yii::$app->request->get('submit_man', '');//提交人id
  90. $res = $this->logic()->getNums($hotelName, $id, $timeType, $startDate, $endDate, $workType, $status, $keyWords, $submitMan);
  91. return json_encode($res);
  92. }
  93. /**
  94. * Function Description:修改工单状态
  95. * Function Name: actionChangeWorkStatus
  96. * @return string
  97. * @author 田玲菲
  98. */
  99. public function actionChangeWorkStatus()
  100. {
  101. $id = Yii::$app->request->post('id', '');//工单编号,id
  102. $status = Yii::$app->request->post('work_status', '');//工单编号,id
  103. $res = $this->logic()->changeWorkStatus($id, $status);
  104. return json_encode($res);
  105. }
  106. /**
  107. * Function Description:新增工单
  108. * Function Name: actionAddWorkOrder
  109. * @return string
  110. * @author 田玲菲
  111. */
  112. public function actionAddWorkOrder()
  113. {
  114. $hotelName = Yii::$app->request->post('hotel_name', '');//酒店名字
  115. $type = Yii::$app->request->post('work_type', '');//工单类型: 1.其他 2.预定问题 3.价格房态
  116. $accepPeople = Yii::$app->request->post('accep_people', ''); //工单受理人
  117. $copyPeople = Yii::$app->request->post('copy_people', ''); //工单抄送人
  118. $title = Yii::$app->request->post('title', ''); //工单标题
  119. $content = Yii::$app->request->post('content', ''); //工单内容
  120. $res = $this->logic()->saveWorkOrder($hotelName, $accepPeople, $type, $copyPeople, $title, $content);
  121. return json_encode($res);
  122. }
  123. /**
  124. * Function Description:跳转到新增工单页面
  125. * Function Name: actionAddWork
  126. * @return string
  127. * @author 田玲菲
  128. */
  129. public function actionAddWork()
  130. {
  131. $data = [];
  132. //酒店名字
  133. $hotelName = $this->logic()->getHotelList();
  134. $data['hotelList'] = $hotelName;
  135. //联系人列表
  136. $data['people'] = $this->logic()->getWorkPeople();
  137. return $this->render('add-work', $data);
  138. }
  139. /**
  140. * Function Description:确认或终止工单
  141. * Function Name: actionChangeStatus
  142. *
  143. * @return string
  144. *
  145. * @author 冒炎
  146. */
  147. public function actionChangeStatus(){
  148. $status = Yii::$app->request->post('status',-1);
  149. $id = Yii::$app->request->post('id',-1);
  150. if(($status != '5'&&$status != '6')||$id == -1){
  151. $res = [
  152. 'flag'=>false,
  153. 'info'=>'参数错误'
  154. ];
  155. }else{
  156. $res = $this->logic()->ChangeStatus($status,$id);
  157. }
  158. return json_encode($res);
  159. }
  160. /**
  161. * Function Description:工单添加评论和处理人抄送人接口
  162. * Function Name: actionAddComment
  163. *
  164. * @return string
  165. * @throws \yii\db\Exception
  166. *
  167. * @author 冒炎
  168. */
  169. public function actionAddComment(){
  170. $type = Yii::$app->request->post('type',-1);
  171. $accept = Yii::$app->request->post('accept',[]);
  172. $copy = Yii::$app->request->post('copy',[]);
  173. $comment = Yii::$app->request->post('comment',-1);
  174. $id = Yii::$app->request->post('id',-1);
  175. if(($type != '2'&&$type != '1')||$id == -1||$comment==-1){
  176. $res = [
  177. 'flag'=>false,
  178. 'info'=>'参数错误',
  179. 'detailInfo'=>'参数错误'
  180. ];
  181. }else{
  182. $res = $this->logic()->addComment($type,$id,$accept,$copy,$comment);
  183. }
  184. return json_encode($res);
  185. }
  186. }