POrderController.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: north
  5. * Date: 2017/8/31
  6. * Time: 上午10:00
  7. */
  8. class POrderController extends AdminController
  9. {
  10. public function actionIndex()
  11. {
  12. $status = CommonFn::getComboboxData(POrder::$status_options, 100, true,100);
  13. $package_product = CommonFn::getComboboxData(POrder::$standards_options, 1);
  14. $this->render('index', array(
  15. 'status' => $status,
  16. 'package_product'=> $package_product,
  17. ));
  18. }
  19. public function actionList(){
  20. $floor = Yii::app()->request->getParam('floor','');
  21. $room = Yii::app()->request->getParam('room','');
  22. $date_start_book = strtotime(Yii::app()->request->getParam('date_start_book',''));
  23. $date_end_book = strtotime(Yii::app()->request->getParam('date_end_book',''));
  24. $params = CommonFn::getPageParams();
  25. $criteria = new EMongoCriteria($params);
  26. if ($floor) {
  27. $criteria->addCond('address.floor','==',$floor);
  28. }
  29. if ($room) {
  30. $criteria->addCond('address.room','==',$room);
  31. }
  32. if ($date_end_book < $date_start_book) {
  33. $tmp = $date_end_book;
  34. $date_end_book = $date_start_book;
  35. $date_start_book = $tmp;
  36. }
  37. if ($date_start_book) {
  38. $criteria->addCond('order_time','>=',$date_start_book);
  39. }
  40. if ($date_end_book) {
  41. $criteria->addCond('order_time','<=',$date_end_book);
  42. }
  43. $cursor = POrder::model()->findAll($criteria);
  44. $total = $cursor->count();
  45. $rows = CommonFn::getRowsFromCursor($cursor);
  46. $parsedRows = POrder::model()->parse($rows);
  47. echo CommonFn::composeDatagridData($parsedRows, $total);
  48. }
  49. public function actionAdd () {
  50. $order_time = Yii::app()->request->getParam('order_time','');
  51. $floor = Yii::app()->request->getParam('floor','');
  52. $room = Yii::app()->request->getParam('room','');
  53. $service_employer = Yii::app()->request->getParam('service_employer','');
  54. $package = Yii::app()->request->getParam('package','');
  55. $order = new POrder();
  56. $criteria = new EMongoCriteria();
  57. $criteria->user_name('==',$service_employer);
  58. $userInfo = Employe::model()->find($criteria);
  59. //获取服务人员信息
  60. if ($userInfo) {
  61. $order->service_employer = $userInfo->_id;//服务人员Id
  62. } else {
  63. CommonFn::requestAjax(false, '服务人员信息不存在');exit;
  64. }
  65. $order->order_time = strtotime($order_time);//服务日期
  66. $order->address['floor'] = $floor;//楼号
  67. $order->address['room'] = $room;//房号
  68. $order->service_standards = $package;//服务标准
  69. $order->status = 0;//已派单
  70. $order->in_room_time = 0;
  71. $order->out_room_time = 0;
  72. $result = $order->save();
  73. CommonFn::requestAjax($result, '', array());
  74. }
  75. // 根据手机号 获取对应用户的地址信息
  76. public function actionGetUserInfo(){
  77. $user_name = Yii::app()->request->getParam('user_name', '');
  78. $criteria = new EMongoCriteria();
  79. $criteria->addCond('user_name', 'or', new MongoRegex('/'.$user_name.'/'));
  80. $criteria->addCond('auth','==',6);
  81. $userInfos = Employe::model()->findAll($criteria);
  82. $result = array();
  83. $index = 0;
  84. foreach ($userInfos as $k => $v) {
  85. $result[] = array(
  86. 'id' => $index++,
  87. 'data' => $v->user_name,
  88. 'description' => $v->mobile,
  89. );
  90. }
  91. echo json_encode($result);exit;
  92. }
  93. public function actionAddComplaintsInfo()
  94. {
  95. $order_id = Yii::app()->request->getParam('id','');
  96. $user_name = Yii::app()->request->getParam('user_name','');
  97. $result = Yii::app()->request->getParam('result','');
  98. $feedback = Yii::app()->request->getParam('feedback','');
  99. $desc = Yii::app()->request->getParam('desc','');
  100. if (!CommonFn::isMongoId($order_id)) {
  101. CommonFn::requestAjax(false, 'id_not_exits');exit;
  102. }
  103. $porder = POrder::get(new MongoId($order_id));
  104. $complaints = new Complaints();
  105. $complaints->com_time = $porder->order_time;
  106. $complaints->address = $porder->address;
  107. $complaints->user_name = $user_name;
  108. $complaints->p_id = $order_id;
  109. $complaints->employer = Employe::get(new MOngoId($porder->service_employer))->user_name;
  110. $complaints->result = $result;
  111. $complaints->feedback = $feedback;
  112. $complaints->desc = $desc;
  113. $res = $complaints->save();
  114. if ($res) {
  115. CommonFn::requestAjax(true, '保存成功');exit;
  116. } else {
  117. CommonFn::requestAjax(true, '保存失败');exit;
  118. }
  119. }
  120. }