request; $car_id = $request->get('car_id',0); return $this->renderPartial('add',[ 'car_id' => $car_id ]); } public function actionSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '保存失败'; if($request->isPost) { $car_id = $request->post('car_id',0); $pdate = $request->post('pdate'); $ptime = $request->post('ptime'); $remark = $request->post('remark'); if($pdate == '') { $result['msg'] = '请选择预约时间!'; return $result; } $tran = AppointmentT::getDb()->beginTransaction(); try { $row = AppointmentT::find() ->where('car_id='.$car_id) ->one(); if(empty($row)) { $row = new AppointmentT(); } $row->car_id = $car_id; $row->user_id = $this->my->id; $row->pdate = $pdate; $row->ptime = $ptime; $row->remark = $remark; $row->is_first = 0; $row->save(); $h_row = new AppointmentHistoryT(); $h_row->car_id = $car_id; $h_row->user_id = $this->my->id; $h_row->pdate = $pdate; $h_row->ptime = $ptime; $h_row->remark = $remark; $h_row->save(); $this->addLog($car_id,'预约客户到'.$pdate.' '.$ptime.',预约内容为:'.$remark,1); $tran->commit(); } catch(\Exception $e) { $tran->rollBack(); throw $e; } $result['success'] = true; $result['msg'] = '保存成功'; } return $result; } 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('track_first',array()); } if($type == 2) { $sql = $session->get('track_today',array()); } if($type == 3) { $sql = $session->get('track_all',array()); } if(!$sql){ return array( 'success' => true, 'car_id' => 0 ); } $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() { $session = Yii::$app->session; $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); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $username = $request->get('username'); $type = $request->get('sort_type'); switch($type){ case 0: $sort_type = '(car_t.location=3 or car_t.location=6)'; break; case 1: $sort_type = 'car_t.location=3'; break; case 2: $sort_type = 'car_t.location=6'; break; default: $sort_type = '(car_t.location=3 or car_t.location=6)'; } $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and '.$sort_type) ->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.phone="'.$phone.'"'); } if($car_no != '') { $query = $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($username != '') { $user_info = UserT::find() ->where('username="'.$username.'"') ->one(); if($user_info) $query = $query->andWhere('appointment_t.user_id='.$user_info->id); } 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('track_first'); $session->set('track_first',$sql); $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); $invalid_items = InvalidT::getTree(); return $this->render('first',[ 'items' => $items, 'page_info' => $page_info, 'car_man' => $car_man, 'phone' => $phone, 'car_no' => $car_no, 'sort_type' => $type, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'type' => 1, 'username' => $username, 'invalid_items' => $invalid_items ]); } //针对从c库分配好的数据,经过c到e自动化而使数据而无法自动化 public function actionFirstOne() { $session = Yii::$app->session; $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); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $username = $request->get('username'); $type = $request->get('sort_type'); switch($type){ case 0: $sort_type = '(car_t.location=3 or car_t.location=6)'; break; case 1: $sort_type = 'car_t.location=3'; break; case 2: $sort_type = 'car_t.location=6'; break; default: $sort_type = '(car_t.location=3 or car_t.location=6)'; } $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and '.$sort_type) ->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.phone="'.$phone.'"'); } if($car_no != '') { $query = $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($username != '') { $user_info = UserT::find() ->where('username="'.$username.'"') ->one(); if($user_info) $query = $query->andWhere('appointment_t.user_id='.$user_info->id); } 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('track_first'); $session->set('track_first',$sql); $pagination = new Pagination(['totalCount' => $total,'pageSize'=>20]); $pagination->setPage($page-1); $query = $query->offset($pagination->offset)->limit($pagination->limit); $items = $query->all(); foreach($items as $vs){ // dd($vs); $carE_info= CarET::findOne(['id'=>$vs->car_id]); $carE_info->user_id=$vs->user_id; $carE_info->save(); $this->addLog($vs->car_id,'修改跟踪操作员',1); // dd($carE_info); } $page_info = MyLib::getPageInfo($pagination); $invalid_items = InvalidT::getTree(); return $this->render('first',[ 'items' => $items, 'page_info' => $page_info, 'car_man' => $car_man, 'phone' => $phone, 'car_no' => $car_no, 'sort_type' => $type, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'type' => 1, 'username' => $username, 'invalid_items' => $invalid_items ]); } //今日预约 public function actionToday() { $session = Yii::$app->session; $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); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $username = $request->get('username'); $user_id = $request->get('user_id'); $ptype = $request->get('ptype'); $type = $request->get('sort_type'); $date_begin = $request->get('date_begin'); $date_end = $request->get('date_end'); switch($type){ case 0: $sort_type = '(car_t.location=3 or car_t.location=6)'; break; case 1: $sort_type = 'car_t.location=3'; break; case 2: $sort_type = 'car_t.location=6'; break; default: $sort_type = '(car_t.location=3 or car_t.location=6)'; } $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and '.$sort_type) ->andWhere('appointment_t.pdate<="'.date('Y-m-d').'"'); // $user_ids = $this->getChildrenUserIDs(); // $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); 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.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); } if($date_begin != '') { $query = $query->andWhere('appointment_t.pdate>="'.$date_begin.'"'); } if($date_end != '') { $query = $query->andWhere('appointment_t.pdate<="'.$date_end.'"'); } // if($username == '') { // $user_ids = $this->getChildrenUserIDs(); // $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); // } 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 = $query->andWhere(['in','appointment_t.user_id',$user_ids]); } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('track_today'); $session->set('track_today',$sql); $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); $list = MeetT::getAllData(2); $user_items = $this->my->getChildren(); return $this->render('today',[ 'items' => $items, 'page_info' => $page_info, 'car_man' => $car_man, 'phone' => $phone, 'ptype' => $ptype, 'list' => $list, 'sort_type' => $type, 'car_no' => $car_no, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'type' => 2, 'user_id' => $user_id, 'user_items' => $user_items, 'username' => $username, 'date_begin' => $date_begin, 'date_end' => $date_end ]); } //全部预约 public function actionAll() { $session = Yii::$app->session; $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); $sort_key = $request->get('sort_key','appointment_t.pdate'); $sort_value = $request->get('sort_value','ASC'); $username = $request->get('username'); $date_begin = $request->get('date_begin'); $date_end = $request->get('date_end'); $ptype = $request->get('ptype'); $type = $request->get('sort_type'); $user_id = $request->get('user_id'); switch($type){ case 0: $sort_type = '(car_t.location=3 or car_t.location=6)'; break; case 1: $sort_type = 'car_t.location=3'; break; case 2: $sort_type = 'car_t.location=6'; break; default: $sort_type = '(car_t.location=3 or car_t.location=6)'; } $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and '.$sort_type); $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.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); } if($date_begin != '') { $query = $query->andWhere('insurer1_date>="'.$date_begin.'"'); } if($date_end != '') { $query = $query->andWhere('insurer1_date<="'.$date_end.'"'); } if($username != '') { $user_info = UserT::find() ->where('username="'.$username.'"') ->one(); if($user_info) $query = $query->andWhere('appointment_t.user_id='.$user_info->id); } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('track_all'); $session->set('track_all',$sql); $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); $invalid_items = InvalidT::getTree(); $list = MeetT::getAllData(2); $user_items = $this->my->getChildren(); return $this->render('all',[ 'items' => $items, 'page_info' => $page_info, 'car_man' => $car_man, 'phone' => $phone, 'ptype' => $ptype, 'sort_type' => $type, 'list' => $list, 'car_no' => $car_no, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'type' => 3, 'username' => $username, 'user_items' => $user_items, 'user_id' => $user_id, 'invalid_items' => $invalid_items, 'date_begin' => $date_begin, 'date_end' => $date_end, ]); } //领近保险快到期90天 public function actionEndAll() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '读取失败'; $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.location=6'); $user_ids = $this->getChildrenUserIDs(); $query = $query->andWhere(['in','appointment_t.user_id',$user_ids]); $bgstr= date("Y-m-d",strtotime("+90 day")); //结束时间 $endstr=date("Y-m-d",strtotime("+97 day")); $query = $query->andWhere('insurer1_date>"'.$bgstr.'"'); $query = $query->andWhere('insurer1_date<="'.$endstr.'"'); $data=$query->count(); if($data>=1){ $result['success'] = true; $result['num'] = $data; $result['msg'] = '读取成功'; }else{ $result['msg'] = '没有数据'; } // var_dump($data); // die; return $result; } public function actionEndAllList() { $session = Yii::$app->session; $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); $day = $request->get('day',1); // $sort_key = $request->get('sort_key','appointment_t.pdate'); // $sort_value = $request->get('sort_value','ASC'); // $username = $request->get('username'); // $date_begin = $request->get('date_begin'); // $date_end = $request->get('date_end'); // $ptype = $request->get('ptype'); // $type = $request->get('sort_type'); // $user_id = $request->get('user_id'); // switch($type){ // case 0: // $sort_type = '(car_t.location=3 or car_t.location=6)'; // break; // case 1: // $sort_type = 'car_t.location=3'; // break; // case 2: // $sort_type = 'car_t.location=6'; // break; // default: // $sort_type = '(car_t.location=3 or car_t.location=6)'; // } $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.location=6'); $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.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); // } $bgstr= date("Y-m-d",strtotime("+90 day")); //结束时间 $endstr=date("Y-m-d",strtotime("+97 day")); $query = $query->andWhere('insurer1_date>"'.$bgstr.'"'); $query = $query->andWhere('insurer1_date<="'.$endstr.'"'); // if($username != '') { // $user_info = UserT::find() // ->where('username="'.$username.'"') // ->one(); // if($user_info) // $query = $query->andWhere('appointment_t.user_id='.$user_info->id); // } $sql = $query->createCommand()->rawSql; // echo $query->createCommand()->rawSql; $total = $query->count(); $session->remove('track_all'); $session->set('track_all',$sql); $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); $list = MeetT::getAllData(2); $user_items = $this->my->getChildren(); if($day==1){ $days=2; }else{ $days=3; } return $this->render('all-list',[ 'items' => $items, 'page_info' => $page_info, 'list' => $list, 'page' => $page, 'type' => $days, 'user_items' => $user_items, ]); } public function actionInvalidC() { 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()); if(count($ids) == 0) { $result['msg'] = '请先钩选车辆'; return $result; } $tran = CarT::getDb()->beginTransaction(); try { foreach($ids as $id) { $car_info = CarT::findOne(['id'=>$id]); $car_info->location = 3; $car_info->save(); $c_info = CarCT::findOne(['id'=>$id]); $c_info->user_id = 0; $c_info->save(); //删除预约 AppointmentT::deleteAll('car_id='.$car_info->id); //删除保单 OrderT::deleteAll('car_id='.$car_info->id.' and status_id<2'); $this->addLog($car_info->id,'回收车辆数据到C库',1); } $result['success'] = true; $result['msg'] = '操作成功'; $tran->commit(); } catch (\Exception $e) { $tran->rollBack(); echo $e->getMessage(); } } return $result; } public function actionCarCancel() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '放弃失败'; if($request->isPost) { $id = $request->post('id',0); if($id > 0) { $tran = CarCT::getDb()->beginTransaction(); try { $c_info = CarCT::findOne(['id'=>$id]); if($c_info->user_id > 0) $this->addLog($c_info->id,'业务员:'.$c_info->user->getShowName().'自动放弃跟踪数据',1); //删除预约 AppointmentT::deleteAll('user_id='.$c_info->user_id.' and car_id='.$c_info->id); $car_info = $c_info->car; $car_info->user_id = 0; $car_info->location = 4; $car_info->save(); CarCT::deleteAll(['id'=>$car_info->id]); $d_info = CarDT::findOne(['id'=>$car_info->id]); if(!$d_info) { $d_info = new CarDT(); $d_info->id = $car_info->id; $d_info->user_id = 0; $d_info->save(); $this->addLog($car_info->id,'从C库分配到D库',1); } $tran->commit(); } catch(\Exception $e) { $tran->rollBack(); throw $e; } $result['success'] = true; $result['msg'] = '放弃成功'; } } return $result; } //从e库放弃到a库 // public function actionCarCancelE() // { // Yii::$app->response->format = Response::FORMAT_JSON; // $request = Yii::$app->request; // $result = array(); // $result['success'] = false; // $result['msg'] = '放弃失败'; // // if($request->isPost) { // $id = $request->post('id',0); // // if($id > 0) { // $tran = CarET::getDb()->beginTransaction(); // try { // $c_info = CarET::findOne(['id'=>$id]); // if($c_info->user_id > 0) // $this->addLog($c_info->id,'业务员:'.$c_info->user->getShowName().'自动放弃跟踪数据',1); // // //删除预约 // AppointmentT::deleteAll('user_id='.$c_info->user_id.' and car_id='.$c_info->id); // // $car_info = $c_info->car; // $car_info->user_id = 0; // $car_info->location = 1; // $car_info->save(); // // CarET::deleteAll(['id'=>$car_info->id]); // // $this->addLog($car_info->id,'从E库分配到A库',1); // // $tran->commit(); // } catch(\Exception $e) { // $tran->rollBack(); // throw $e; // } // // $result['success'] = true; // $result['msg'] = '放弃成功'; // } // } // return $result; // } /** * E库数据放弃到D库 * xzz * 2017-12-21 */ public function actionCarCancelE() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = [ 'success' => false, 'msg' => '放弃失败' ]; if($request->isPost){ $id = $request->post('id', 0); if($id > 0){ $tran = CarET::getDb()->beginTransaction(); try{ $c_info = CarET::findOne(['id' => $id]); if($c_info->user_id > 0) $this->addLog($c_info->id,'业务员:'.$c_info->user->getShowName().'自动放弃跟踪数据',1); //删除预约 AppointmentT::deleteAll('user_id = '.$c_info->user_id.' and car_id = '.$c_info->id); $car_info = $c_info->car; $car_info->user_id = 0; $car_info->location = 4; $car_info->save(); CarET::deleteAll(['id' => $car_info->id]); $d_info = CarDT::findOne(['id' => $car_info->id]); if(!$d_info){ $d_info = new CarDT(); $d_info->id = $car_info->id; $d_info->user_id = 0; $d_info->save(); $this->addLog($car_info->id,'从E库分配到D库',1); } $tran->commit(); }catch (Exception $e){ $tran->rollBack(); throw $e; } $result = [ 'success' => true, 'msg' => '放弃成功' ]; } } return $result; } }