request->cookies; $user_id = MyLib::encrypt($cookie->get('aid'),'DECODE'); if($user_id != 0) { $this->my = UserT::findOne(['id'=>$user_id]); } else { Yii::$app->response->redirect('/common/login')->send(); exit; } } public function actionAjaxNext() { Yii::$app->response->format = Response::FORMAT_JSON; $session = Yii::$app->session; $request = Yii::$app->request; $index = $request->get('index'); $type = $request->get('type'); $sql = null; if($type == 1) { $sql = $session->get('appointment_first',array()); } if($type == 2) { $sql = $session->get('appointment_today',array()); } if($type == 3) { $sql = $session->get('appointment_all',array()); } $car_id = 0; $item = Yii::$app->db->createCommand($sql.' limit '.$index.',1') ->queryOne(); if($item) { $car_id = $item['car_id']; } $result = array(); $result['success'] = true; $result['car_id'] = $car_id; return $result; } //首拨 public function actionFirst() { $invalid_items = InvalidT::getTree(); $user_items = $this->my->getChildren(); return $this->render('first',[ 'invalid_items' => $invalid_items, 'user_items' => $user_items ]); } public function actionFirstJson() { Yii::$app->response->format = Response::FORMAT_JSON; $session = Yii::$app->session; $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $username = $request->get('username'); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and car_t.location=4'); if($username == '') { $user_ids = $this->getChildrenUserIDs(); $query->andWhere(['in','appointment_t.user_id',$user_ids]); } if($car_man != '') { $query->andWhere('car_t.car_man like "'.$car_man.'"'); } if($phone != '') { $query->andWhere('car_t.car_man_phone like "'.$phone.'"'); } if($car_no != '') { $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($username != '') { $user_query = UserT::find() ->where('username="'.$username.'"') ->all(); foreach($user_query as $user_info) { $user_ids[] = $user_info->id; } if(count($user_ids) > 0) $query->andWhere(['in','appointment_t.user_id',$user_ids]); } if($sort_key != '') { $query->orderBy($sort_key.' '.$sort_value.',appointment_t.id '.$sort_value); } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('appointment_first'); $session->set('appointment_first',$sql); $query = $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $car_info = $item->car; $row = $item->toArray(); $row['car_id'] = $car_info->id; $row['car_no'] = $car_info->car_no; $row['car_man'] = $car_info->car_man; $row['register_date'] = $car_info->register_date; $row['insurer1_date'] = $car_info->insurer1_date; $row['insurer2_date'] = $car_info->insurer2_date; $row['user_name'] = $item->user ? $item->user->getShowName():''; $data['rows'][] = $row; } return $data; } //今日预约 public function actionToday() { $invalid_items = InvalidT::getTree(); $user_items = $this->my->getChildren(); return $this->render('today',[ 'invalid_items' => $invalid_items, 'user_items' => $user_items ]); } public function actionTodayJson() { Yii::$app->response->format = Response::FORMAT_JSON; $session = Yii::$app->session; $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $ptype = $request->get('ptype'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.location=4') ->andWhere('appointment_t.pdate<="'.date('Y-m-d').'"'); $user_ids = $this->getChildrenUserIDs(); $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); if($car_man != '') { $query = $query->andWhere('car_t.car_man like "'.$car_man.'"'); } if($phone != '') { $query = $query->andWhere('car_t.car_man_phone="'.$phone.'"'); } if($ptype > 0) { $query = $query->andWhere('appointment_t.ptype='.$ptype); } if($car_no != '') { $query = $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value.', appointment_t.id '.$sort_value); } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('appointment_today'); $session->set('appointment_today',$sql); $query = $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $car_info = $item->car; $row = $item->toArray(); $row['car_id'] = $car_info->id; $row['car_no'] = $car_info->car_no; $row['car_man'] = $car_info->car_man; $row['register_date'] = $car_info->register_date; $row['insurer1_date'] = $car_info->insurer1_date; $row['insurer2_date'] = $car_info->insurer2_date; $row['user_name'] = $item->user ? $item->user->getShowName():''; $data['rows'][] = $row; } return $data; } //全部预约 public function actionAll() { $invalid_items = InvalidT::getTree(); $user_items = $this->my->getChildren(); return $this->render('all',[ 'invalid_items' => $invalid_items, 'user_items' => $user_items ]); } public function actionAllJson() { Yii::$app->response->format = Response::FORMAT_JSON; $session = Yii::$app->session; $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $username = $request->get('username'); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $user_id = $request->get('user_id'); $ptype = $request->get('ptype'); $offset = $request->get('offset',0); $limit = $request->get('limit', 10); $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.location=4'); if($username == '') { $user_ids = $this->getChildrenUserIDs(); $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); } if($car_man != '') { $query = $query->andWhere('car_t.car_man like "'.$car_man.'"'); } if($phone != '') { $query = $query->andWhere('car_t.car_man_phone="'.$phone.'"'); } if($ptype > 0) { $query = $query->andWhere('appointment_t.ptype='.$ptype); } if($car_no != '') { $query = $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($username != '') { $user_ids = array(); $user_query = UserT::find() ->where('username="'.$username.'"') ->all(); foreach($user_query as $user_info) { $user_ids[] = $user_info->id; } if(count($user_ids) > 0) $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); else $query = $query->andWhere('appointment_t.user_id=-1'); } if($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value.',appointment_t.id '.$sort_value); } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('appointment_all'); $session->set('appointment_all',$sql); $query = $query->offset($offset)->limit($limit); $items = $query->all(); $data = []; $data['total'] = $total; $data['rows'] = []; foreach($items as $item) { $car_info = $item->car; $row = $item->toArray(); $row['car_id'] = $car_info->id; $row['car_no'] = $car_info->car_no; $row['car_man'] = $car_info->car_man; $row['register_date'] = $car_info->register_date; $row['insurer1_date'] = $car_info->insurer1_date; $row['insurer2_date'] = $car_info->insurer2_date; $row['user_name'] = $item->user ? $item->user->getShowName():''; $data['rows'][] = $row; } return $data; } public function actionMyList() { $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $page = $request->get('page',1); if($page < 1) $page = 1; $query = OrderT::find() ->leftJoin('car_t','`car_t`.`id`=`order_t`.`car_id`') ->where('status_id>1 and car_t.location=4') ->orderBy('submit_date DESC, id DESC'); $user_items = $this->my->getChildren(); $user_ids[] = $this->my->id; if($user_items) { foreach($user_items as $user_item) { $user_ids[] = $user_item->id; } } $query = $query->andWhere(['in','order_t.user_id',$user_ids]); if($car_man != '') { $query = $query->andWhere('order_t.car_man="'.$car_man.'"'); } if($phone != '') { $query = $query->andWhere('order_t.link_phone="'.$phone.'"'); } if($car_no != '') { $query = $query->andWhere('order_t.car_no="'.$car_no.'"'); } // echo $query->createCommand()->rawSql; $total = $query->count(); $pagination = new Pagination(['totalCount' => $total,'pageSize'=>20]); $pagination->setPage($page-1); $query = $query->offset($pagination->offset)->limit($pagination->limit); $items = $query->all(); $page_info = MyLib::getPageInfo($pagination); return $this->render('my-list',[ 'items' => $items, 'car_man' => $car_man, 'phone' => $phone, 'car_no' => $car_no, 'page' => $page, 'page_info' => $page_info ]); } public function actionMyListInfo() { $request = Yii::$app->request; $id = $request->get('id',0); $order_info = OrderT::findOne(['id'=>$id]); $car_info = $order_info->car; //快递 $ems_items = EmsT::find() ->where(['car_id'=>$car_info->id,'order_id'=>$order_info->id]) ->orderBy('id ASC') ->all(); //礼品 $gift_items = GiftT::find() ->where('type_id=1') ->all(); //礼品 $gift_group_items = GiftGroupT::find()->all(); //获取礼品数据 $sel_gifts = array(); $tmp_items = OrderGiftT::find() ->where('order_id='.$order_info->id) ->all(); foreach($tmp_items as $item) { $sel_gifts[$item->group_id] = $item; } $insurer_type_items = InsurerTypeT::find() ->all(); return $this->render('my-list-info',[ 'car_info' => $car_info, 'insurer_type_items' => $insurer_type_items, 'order_info' => $order_info, 'ems_items' => $ems_items, 'gift_items' => $gift_items, 'gift_group_items' => $gift_group_items, 'sel_gifts' => $sel_gifts, ]); } /** *********************************** * 续保平移功能 * @author liukangle *********************************** */ public function actionAssignOther(){ Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '操作失败'; if($request->isPost) { $ids = $request->post('ids',array()); $user_id = $request->post('user_id'); if($user_id == 0) { $result['msg'] = '请选择业务员'; return $result; } if(count($ids) == 0) { $result['msg'] = '请先钩选车辆'; return $result; } $user_info = UserT::findOne(['id'=>$user_id]); $tran = CarT::getDb()->beginTransaction(); try { foreach($ids as $id) { $car_info = CarT::findOne(['id'=>$id]); $old_user_info = ''; if($car_info->location == 2) { $b_info = CarBT::findOne(['id'=>$car_info->id]); $old_user_info = $b_info->user; $b_info->user_id = $user_id; $b_info->save(); $user = $user_info; if($user) { $car_info->op_user1 = $user->getShowName(); } } if($car_info->location == 3) { $c_info = CarCT::findOne(['id'=>$car_info->id]); $old_user_info = $c_info->user; $c_info->user_id = $user_id; $c_info->save(); $user = $user_info; if($user) { $car_info->op_user2 = $user->getShowName(); } } if($car_info->location == 4) { $d_info = CarDT::findOne(['id'=>$car_info->id]); $old_user_info = $d_info->user; $d_info->user_id = $user_id; $d_info->save(); $user = $user_info; if($user) { $car_info->op_user3 = $user->getShowName(); } } //库保存 $car_info->save(); $this->addLog($car_info->id,'从'.$old_user_info->getShowName().' 平移车辆给 '.$user_info->getShowName(),1); //添加保单 OrderT::deleteAll('car_id='.$car_info->id.' and status_id<2'); $order_row = new OrderT(); $order_row->car_id = $car_info->id; $order_row->car_no = $car_info->car_no; $order_row->engine_no = $car_info->engine_no; $order_row->car_frame_no = $car_info->car_frame_no; $order_row->car_man = $car_info->car_man; $order_row->user_id = $user_id; $order_row->status_id = 1; $order_row->id_man = $car_info->car_man; $order_row->link_man = $car_info->car_man; $order_row->link_phone = $car_info->phone; $order_row->save(); //添加预约 AppointmentT::deleteAll('car_id='.$car_info->id); $row = new AppointmentT(); $row->car_id = $car_info->id; $row->user_id = $user_id; $row->pdate = date('Y-m-d'); $row->ptime = '09:00'; $row->remark = '首次分配'; $row->is_first = 1; $row->save(); //添加历史预约 $h_row = new AppointmentHistoryT(); $h_row->car_id = $car_info->id; $h_row->user_id = $user_id; $h_row->pdate = date('Y-m-d'); $h_row->ptime = '09:00'; $h_row->remark = '首次分配'; $h_row->save(); } $result['success'] = true; $result['msg'] = '操作成功'; $tran->commit(); } catch (\Exception $e) { $tran->rollBack(); throw $e; } } return $result; } //回收数据 public function actionInvalidC(){ Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = [ 'success' => false, 'msg' => '操作失败', ]; if($request->isPost){ $ids = $request->post('ids', array()); if(count($ids) == 0){ $result['msg'] = '请先勾选车辆'; return $result; } $tran = CarDT::getDb()->beginTransaction(); try{ foreach($ids as $id){ $car_info = CarT::findOne(['id'=>$id]); $car_info->location = 3; $car_info->op_user3 = ''; $car_info->save(); CarDT::deleteAll('id='.$id); AppointmentT::deleteAll('car_id='.$id); $c_info = new CarCT(); $c_info->id = $id; $c_info->user_id = 0; $c_info->save(); $this->addLog($car_info->id,'回收车辆数据到C库',1); } $tran->commit(); }catch(\Exception $e){ $tran->rollBack(); return $result['msg'] = $e->getMessage(); } $result = [ 'success' => true, 'msg' => '操作成功' ]; return $result; } } }