renderPartial('index'); } public function actionMycars() { $user_id = $this->my->id; return $this->renderPartial('mycars',[ 'user_id' => $user_id ]); } public function actionJsonData() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $user_id = $request->get('user_id',0); $car_man = $request->get('car_man',''); $car_no = $request->get('car_no',''); $engine_no = $request->get('engine_no',''); $car_frame_no = $request->get('car_frame_no',''); $register_begin = $request->get('register_begin',''); $register_end = $request->get('register_end',''); $resurer_begin = $request->get('resurer_begin',''); $resurer_end = $request->get('resurer_end',''); $sort = $request->get('sort','id'); $order = $request->get('order','asc'); $page = $request->get('page',1); $limit = $request->get('rows',20); $start = ($page-1)*$limit; $query = CarT::find(); if($user_id > 0) { $user_items = $this->my->getChildren(); $user_ids = array(); if($user_items != null) { foreach($user_items as $user_item) { $user_ids[] = $user_item->id; } } $user_ids[] = $this->my->id; $query = $query->andWhere(['in','user_id',$user_ids]); } if($car_man != '') { $query = $query->andWhere('car_man="'.$car_man.'"'); } if($car_no != '') { $query = $query->andWhere('car_no="'.$car_no.'"'); } if($engine_no != '') { $query = $query->andWhere('engine_no="'.$engine_no.'"'); } if($car_frame_no != '') { $query = $query->andWhere('car_frame_no="'.$car_frame_no.'"'); } if($register_begin != '') { $query = $query->andWhere('register_date>="'.$register_begin.'"'); } if($register_end != '') { $query = $query->andWhere('register_date<="'.$register_end.'"'); } $query = $query->orderBy($sort.' '.$order); $total = $query->count(); $query = $query->offset($start)->limit($limit); $items = $query->all(); $data = array(); foreach($items as $item) { $row = array(); $row['id'] = $item->id; $row['car_no'] = $item->car_no; $row['car_man'] = $item->car_man; $row['phone'] = $item->phone; $row['engine_no'] = $item->engine_no; $row['car_frame_no'] = $item->car_frame_no; $row['seats'] = $item->seats; $row['register_date'] = $item->register_date; $row['user'] = $item->user?$item->user->getShowName():''; $row['created_at'] = $item->created_at; $data[] = $row; } $result['total'] = $total; $result['rows'] = $data; return $result; } public function actionEdit() { $request = Yii::$app->request; $id = $request->get('id',0); $back_params = $request->get('back_params'); $user_id = $request->get('user_id',0); if($id > 0) { $info = CarT::findOne(['id'=>$id]); } else { $info = new CarT(); } $car_use_items = CarUseT::find()->all(); $car_type_items = CarTypeT::find()->all(); $brand_items = BrandT::find()->all(); $series_items = SeriesT::find() ->where('brand_id='.intval($info->brand_id)) ->all(); $displacement_items = DisplacementT::find() ->where('series_id='.intval($info->series_id)) ->all(); return $this->render('edit',[ 'user_id' => $user_id, 'info' => $info, 'car_use_items' => $car_use_items, 'car_type_items' => $car_type_items, 'brand_items' => $brand_items, 'series_items' => $series_items, 'displacement_items' => $displacement_items, 'back_params' => $back_params ]); } public function actionSave() { 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); $car_no = $request->post('car_no'); $engine_no = $request->post('engine_no'); $car_frame_no = $request->post('car_frame_no'); $factory_model = $request->post('factory_model'); $seats = $request->post('seats'); $car_type_id = $request->post('car_type_id'); $car_use_id = $request->post('car_use_id'); $register_date = $request->post('register_date'); $displacement_id = $request->post('displacement_id',0); $car_year = $request->post('car_year'); $brand_id = $request->post('brand_id',0); $series_id = $request->post('series_id',0); $car_man = $request->post('car_man'); $phone = $request->post('phone'); $car_man_number = $request->post('car_man_number'); $remark = $request->post('remark'); if($car_no == '') { $result['msg'] = '请输入车牌号码!'; return $result; } $row = null; if($id > 0) { $row = CarT::findOne(['id'=>$id]); } else { $row = new CarT(); $row->user_id = 0; $row->location = 1; } $row->car_no = $car_no; $row->engine_no = $engine_no; $row->car_frame_no = $car_frame_no; $row->factory_model = $factory_model; $row->car_model = $factory_model; $row->seats = $seats; $row->car_type_id = $car_type_id; $row->car_use_id = $car_use_id; $row->register_date = $register_date; $row->displacement_id = $displacement_id; $row->car_year = $car_year; $row->brand_id = $brand_id; $row->series_id = $series_id; $row->car_man = $car_man; $row->phone = $phone; $row->car_man_number = $car_man_number; $row->remark = $remark; $row->save(); $result['success'] = true; $result['msg'] = '保存成功'; } return $result; } public function actionDelete() { 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); $tran = CarT::getDb()->beginTransaction(); try { $ids = $request->post('ids',array()); if($id > 0) { $car_info = CarT::findOne(['id'=>$id]); //删除预约信息 AppointmentT::deleteAll('car_id='.$id); AppointmentHistoryT::deleteAll('car_id='.$id); //删除保单信息 $items = OrderT::find() ->where('car_id='.$id) ->all(); foreach ($items as $item) { PriceT::deleteAll(['order_id'=>$item->id]); $item->delete(); } //删除B、C、D库数据 if($car_info->location == 2) CarBT::deleteAll('id='.$car_info->id); if($car_info->location == 3) CarCT::deleteAll('id='.$car_info->id); if($car_info->location == 4) CarDT::deleteAll('id='.$car_info->id); $car_info->delete(); //清除操作记录 $this->removeLog($id); } $tran->commit(); $result['success'] = true; $result['msg'] = '删除成功'; } catch(\Exception $e) { $tran->rollBack(); throw $e; } } return $result; } public function actionDeleteAll() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '删除失败'; if($request->isPost) { $tran = CarT::getDb()->beginTransaction(); try { $ids = $request->post('ids',array()); foreach($ids as $id) { if($id > 0) { $row = CarT::findOne(['id'=>$id]); AppointmentT::deleteAll('car_id='.$id); AppointmentHistoryT::deleteAll('car_id='.$id); $items = OrderT::find() ->where('car_id='.$id) ->all(); foreach ($items as $item) { PriceT::deleteAll(['order_id'=>$item->id]); $item->delete(); } $row->delete(); } } $tran->commit(); $result['success'] = true; $result['msg'] = '删除成功'; } catch(\Exception $e) { $tran->rollBack(); throw $e; } } return $result; } public function actionAppointment() { $request = Yii::$app->request; $car_id = $request->get('car_id'); return $this->renderPartial('appointment',[ 'car_id' => $car_id ]); } public function actionAppointmentJsonData() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $car_id = $request->get('car_id'); $car_info = CarT::findOne(['id'=>$car_id]); $page = $request->get('page',1); $limit = $request->get('rows',20); $start = ($page-1)*$limit; $query = $car_info->getAppointments() ->orderBy('pdate DESC,ptime ASC,id DESC'); $total = $query->count(); $query = $query->offset($start)->limit($limit); $items = $query->all(); $data = array(); foreach($items as $item) { $row = array(); $row['id'] = $item->id; $row['pdate'] = $item->pdate; $row['ptime'] = $item->ptime; $row['remark'] = $item->remark; $row['user'] = $item->user?$item->user->getShowName():''; $data[] = $row; } $result['total'] = $total; $result['rows'] = $data; return $result; } public function actionInsurer() { $request = Yii::$app->request; $car_id = $request->get('car_id'); return $this->renderPartial('insurer',[ 'car_id' => $car_id ]); } public function actionInfo() { $request = Yii::$app->request; $id = $request->get('id',0); $type = $request->get('type',0); $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'); $next_index = $request->get('next_index',0); $back_params = $request->get('back_params'); $car_info = CarT::findOne(['id'=>$id]); $order_info = $car_info->getOrders()->orderBy('id DESC')->one(); if(!$order_info) { $user_id = 0; if($car_info->location == 2) { $b_info = CarBT::findOne(['id'=>$car_info->id]); $user_id = $b_info->user_id; } if($car_info->location == 3) { $c_info = CarCT::findOne(['id'=>$car_info->id]); $user_id = $c_info->user_id; } if($car_info->location == 4) { $d_info = CarDT::findOne(['id'=>$car_info->id]); $user_id = $d_info->user_id; } $order_info = new OrderT(); $order_info->car_id = $car_info->id; $order_info->car_no = $car_info->car_no; $order_info->engine_no = $car_info->engine_no; $order_info->car_frame_no = $car_info->car_frame_no; $order_info->car_man = $car_info->car_man; $order_info->user_id = $user_id; $order_info->status_id = 1; $order_info->id_man = $car_info->car_man; $order_info->link_man = $car_info->car_man; $order_info->link_phone = $car_info->phone; $order_info->save(); } $insurer_type_items = InsurerTypeT::find()->all(); $insurer_company_items = InsurerCompanyT::find()->all(); $pay_type_items = PayTypeT::find()->all(); $car_use_items = CarUseT::find()->all(); $car_type_items = CarTypeT::find()->all(); $brand_items = BrandT::find()->all(); $series_items = SeriesT::find() ->where('brand_id='.intval($car_info->brand_id)) ->all(); $displacement_items = DisplacementT::find() ->where('series_id='.intval($car_info->series_id)) ->all(); $direction_items = DirectionT::find() ->all(); $range_items = RangeT::find() ->all(); $city_items = CityT::find() ->all(); $district_items = DistrictT::find() ->orderBy('order_id ASC') ->all(); $gift_items = GiftT::find() ->where('type_id=1') ->all(); $success_items = InvalidT::getTree(1); $failure_items = InvalidT::getTree(2); //下一辆 $next_id = 0; if($type == 1) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and car_t.is_track=0') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 2) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=0') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 3) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=0'); $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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 4) { $query = OrderT::find() ->where('status_id=1 and return_status_id>0') ->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','user_id',$user_ids]); if($car_man != '') { $query = $query->andWhere('car_man="'.$car_man.'"'); } if($phone != '') { $query = $query->andWhere('link_phone="'.$phone.'"'); } if($car_no != '') { $query = $query->andWhere('car_no="'.$car_no.'"'); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } return $this->render('info',[ 'type' => $type, 'car_info' => $car_info, 'insurer_type_items' => $insurer_type_items, 'order_info' => $order_info, 'insurer_company_items' => $insurer_company_items, 'pay_type_items' => $pay_type_items, 'car_use_items' => $car_use_items, 'car_type_items' => $car_type_items, 'brand_items' => $brand_items, 'series_items' => $series_items, 'displacement_items' => $displacement_items, 'direction_items' => $direction_items, 'range_items' => $range_items, 'city_items' => $city_items, 'district_items' => $district_items, 'gift_items' => $gift_items, 'success_items' => $success_items, 'failure_items' => $failure_items, 'next_id' => $next_id, 'next_index' => $next_index, 'car_man' => $car_man, 'car_no' => $car_no, 'phone' => $phone, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'back_params' => $back_params ]); } public function actionInfoView() { $request = Yii::$app->request; $id = $request->get('id',0); $type = $request->get('type',0); $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'); $next_index = $request->get('next_index',0); $car_info = CarT::findOne(['id'=>$id]); $failure_items = InvalidT::getTree(2); //礼品 $gift_items = CarGiftT::find() ->where('car_id='.$car_info->id) ->orderBy('strategy_id DESC') ->all(); //下一辆 $next_id = 0; if($type == 1) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and car_t.is_track=1') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 2) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=1') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 3) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=1'); $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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } return $this->render('info-view',[ 'type' => $type, 'car_info' => $car_info, 'failure_items' => $failure_items, 'next_id' => $next_id, 'next_index' => $next_index, 'car_man' => $car_man, 'car_no' => $car_no, 'phone' => $phone, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'gift_items' => $gift_items ]); } public function actionInfoTrack() { $request = Yii::$app->request; $id = $request->get('id',0); $type = $request->get('type',0); $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'); $next_index = $request->get('next_index',0); $back_params = $request->get('back_params'); $car_info = CarT::findOne(['id'=>$id]); $car_use_items = CarUseT::find()->all(); $car_type_items = CarTypeT::find()->all(); $brand_items = BrandT::find()->all(); $series_items = SeriesT::find() ->where('brand_id='.intval($car_info->brand_id)) ->all(); $displacement_items = DisplacementT::find() ->where('series_id='.intval($car_info->series_id)) ->all(); $failure_items = InvalidT::getTree(2); //礼品 $gift_items = CarGiftT::find() ->where('car_id='.$car_info->id) ->orderBy('strategy_id DESC') ->all(); //下一辆 $next_id = 0; if($type == 1) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=1 and car_t.is_track=1') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 2) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=1') ->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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } if($type == 3) { $query = AppointmentT::find() ->leftJoin('car_t','`car_t`.`id`=`appointment_t`.`car_id`') ->where('appointment_t.is_first=0 and car_t.is_track=1'); $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($sort_key != '') { $query = $query->orderBy($sort_key.' '.$sort_value); } $next_item = $query->offset($next_index)->one(); if($next_item) { $next_id = $next_item->car_id; } $next_index++; } return $this->render('info-track',[ 'type' => $type, 'car_info' => $car_info, 'failure_items' => $failure_items, 'next_id' => $next_id, 'next_index' => $next_index, 'car_man' => $car_man, 'car_no' => $car_no, 'phone' => $phone, 'page' => $page, 'sort_key' => $sort_key, 'sort_value' => $sort_value, 'gift_items' => $gift_items, 'car_use_items' => $car_use_items, 'car_type_items' => $car_type_items, 'brand_items' => $brand_items, 'series_items' => $series_items, 'displacement_items' => $displacement_items, 'back_params' => $back_params ]); } public function actionInfoEdit() { $request = Yii::$app->request; $id = $request->get('id',0); $info = CarT::findOne(['id'=>$id]); $car_use_items = CarUseT::find()->all(); $car_type_items = CarTypeT::find()->all(); $brand_items = BrandT::find()->all(); $series_items = SeriesT::find() ->where('brand_id='.intval($info->brand_id)) ->all(); $displacement_items = DisplacementT::find() ->where('series_id='.intval($info->series_id)) ->all(); return $this->render('info-edit',[ 'info' => $info, 'car_use_items' => $car_use_items, 'car_type_items' => $car_type_items, 'brand_items' => $brand_items, 'series_items' => $series_items, 'displacement_items' => $displacement_items ]); } public function actionSeries() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $brand_id = $request->get('brand_id',0); $query = SeriesT::find() ->where('brand_id='.$brand_id); $items = $query->all(); $html = ''; foreach($items as $item) { $html .= ''; } $result['success'] = true; $result['html'] = $html; return $result; } public function actionDisplacement() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $series_id = $request->get('series_id',0); $query = DisplacementT::find() ->where('series_id='.$series_id); $items = $query->all(); $html = ''; foreach($items as $item) { $html .= ''; } $result['success'] = true; $result['html'] = $html; return $result; } //保单信息保存 public function actionOrderSave() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '保存失败'; if($request->isPost) { //状态 $status_id = $request->post('status_id',1); //车辆信息 $car_id = $request->post('car_id',0); $car_no = $request->post('car_no'); $seats = (int)$request->post('seats'); $register_date = $request->post('register_date'); $car_man = $request->post('car_man'); $car_man_number = $request->post('car_man_number'); //保单信息 $order_id = $request->post('order_id',0); $id_man = $request->post('id_man'); $id_number = $request->post('id_number'); $link_man = $request->post('link_man'); $link_phone = $request->post('link_phone'); $send_date = $request->post('send_date'); $company_id = $request->post('company_id'); $pay_type_id = $request->post('pay_type_id'); $email = $request->post('email'); $insurer1_begin_date = $request->post('insurer1_begin_date'); $insurer2_begin_date = $request->post('insurer2_begin_date'); $order_remark = $request->post('order_remark'); $direction1_id = $request->post('direction1_id'); $range1_id = $request->post('range1_id'); $city1_id = $request->post('city1_id'); $district1_id = $request->post('district1_id'); $send_address1 = $request->post('send_address1'); $send_address2 = $request->post('send_address2'); $success_id = $request->post('success_id'); //报价信息 $total1_clear = $request->post('total1_clear'); $total1 = $request->post('total1'); $total1_real = $request->post('total1_real'); $total1_dis = $request->post('total1_dis'); $total1_percent = $request->post('total1_percent'); $total2_clear = $request->post('total2_clear'); $total2 = $request->post('total2'); $total3 = $request->post('total3'); $total_all = $request->post('total_all'); $total_real = $request->post('total_real'); $price_remark = $request->post('price_remark'); //报价明细 $types = $request->post('types',array()); $nopays = $request->post('nopays', array()); //礼品 $gifts = $request->post('gifts',array()); if($car_no == '') { $result['msg'] = '请输入车牌号码!'; return $result; } $tran = CarT::getDb()->beginTransaction(); try { $order_info = OrderT::findOne(['id'=>$order_id]); $car_info = $order_info->car; //车辆信息 $car_info->car_no = $car_no; $car_info->seats = $seats; $car_info->register_date = $register_date; $car_info->car_man = $car_man; $car_info->car_man_number = $car_man_number; $car_info->save(); //保单信息 $order_info->car_no = $car_no; $order_info->engine_no = $car_info->engine_no; $order_info->car_frame_no = $car_info->car_frame_no; $order_info->car_man = $car_man; $order_info->company_id = $company_id; $order_info->success_id = $success_id; $order_info->status_id = $status_id; if($status_id > 1) { $order_info->return_status_id = 0; $order_info->return_remark = ''; $order_info->return_time = 0; } $order_info->submit_date = date('Y-m-d'); $order_info->id_man = $id_man; $order_info->id_number = $id_number; $order_info->link_man = $link_man; $order_info->link_phone = $link_phone; $order_info->insurer1_begin_date = $insurer1_begin_date; $insurer1_end_date = ''; if($insurer1_begin_date) $insurer1_end_date = date('Y-m-d',strtotime(date('Y-m-d',strtotime($insurer1_begin_date."+1 year")).'-1 day')); $order_info->insurer1_end_date = $insurer1_end_date; $order_info->insurer2_begin_date = $insurer2_begin_date; $insurer2_begin_date = ''; if($insurer2_begin_date != '') $insurer2_begin_date = date('Y-m-d',strtotime(date('Y-m-d',strtotime($insurer2_begin_date."+1 year")).'-1 day')); $order_info->insurer2_end_date = $insurer2_begin_date; $order_info->send_date = $send_date; $order_info->direction1_id = $direction1_id; $order_info->range1_id = $range1_id; $order_info->city1_id = $city1_id; $order_info->district1_id = $district1_id; $order_info->send_address1 = $send_address1; $order_info->send_address2 = $send_address2; $order_info->pay_type_id = $pay_type_id; $order_info->email = $email; $order_info->remark = $order_remark; $order_info->total1_clear = $total1_clear; $order_info->total1 = $total1; $order_info->total1_real = $total1_real; $order_info->total1_dis = $total1_dis; $order_info->total1_percent = $total1_percent; $order_info->total2_clear = $total2_clear; $order_info->total2 = $total2; $order_info->total3 = $total3; $order_info->total_all = $total_all; $order_info->total_real = $total_real; $order_info->price_remark = $price_remark; $order_info->save(); //险种明细 foreach($types as $id=>$val) { $price_row = PriceT::find() ->where('order_id='.$order_info->id.' and type_id='.$id) ->one(); if(empty($price_row)) { $price_row = new PriceT(); $price_row->order_id = $order_info->id; $price_row->type_id = $id; } $price_row->val = $val; if(!empty($nopays[$id])) $price_row->is_nopay = 1; else $price_row->is_nopay = 0; $price_row->save(); } //处理预约 if($status_id > 1) { $tmp_row = AppointmentT::findOne(['car_id'=>$car_info->id]); if(!empty($tmp_row)) { $tmp_row->delete(); } $this->addLog($car_info->id,'提交内勤,进入核保管理',1); } //处理公司礼品 //清除原公司礼品 CarGiftT::deleteAll('user_id='.$this->my->id.' and car_id='.$car_info->id.' and order_id='.$order_info->id.' and type=1 and status=0'); foreach($gifts as $id_str) { $gift_ids = explode('-',$id_str); if(count($gift_ids) != 2) continue; $strategy_id = $gift_ids[0]; $gift_id = $gift_ids[1]; $car_gift_info = CarGiftT::find() ->where('strategy_id='.$strategy_id.' and order_id='.$order_info->id.' and gift_id='.$gift_id) ->one(); if(!$car_gift_info && $gift_id > 0) { $car_gift_info = new CarGiftT(); $car_gift_info->user_id = $this->my->id; $car_gift_info->car_id = $car_info->id; $car_gift_info->order_id = $order_info->id; $car_gift_info->strategy_id = $strategy_id; $car_gift_info->gift_id = $gift_id; $car_gift_info->submit_time = time(); $car_gift_info->status = 0; $car_gift_info->type = 1; $car_gift_info->save(); } } //处理自费礼品 $gift_items = CarGiftT::find() ->where('car_id='.$car_info->id.' and order_id=0') ->all(); foreach($gift_items as $item) { $item->order_id = $order_info->id; $item->save(); } $result['success'] = true; $result['msg'] = '保存成功'; $tran->commit(); } catch (\Exception $e) { $tran->rollBack(); throw $e; } } return $result; } public function actionAjaxHistoryIndex() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $car_id = $request->get('car_id'); $page = $request->get('page',1); $result = array(); $result['success'] = false; $result['msg'] = '读取失败'; $query = CarLogT::find() ->where(['car_id'=>$car_id,'type'=>1]) ->orderBy('id DESC'); $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::getAjaxPageInfo($pagination,'car_history_list'); $html = $this->renderPartial('ajax-history-index',[ 'car_id' => $car_id, 'items' => $items, 'page' => $page, 'page_info' => $page_info ]); $result['success'] = true; $result['html'] = $html; return $result; } public function actionInvalid() { 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'); $invalid_id = $request->post('invalid_id',0); $tran = CarT::getDb()->beginTransaction(); try { $car_info = CarT::findOne(['id'=>$car_id]); $car_info->location = 5; $car_info->save(); CarInvalidT::deleteAll('id='.$car_info->id); $invalid_info = new CarInvalidT(); $invalid_info->id = $car_info->id; $invalid_info->invalid_id = $invalid_id; $invalid_info->user_id = $this->my->id; $invalid_info->save(); CarBT::deleteAll(['id'=>$car_info->id]); CarCT::deleteAll(['id'=>$car_info->id]); CarDT::deleteAll(['id'=>$car_info->id]); //删除预约 AppointmentT::deleteAll('car_id='.$car_info->id); //删除保单 OrderT::deleteAll('car_id='.$car_info->id.' and status_id<2'); $this->addLog($car_info->id,'无效车辆数据:'.$invalid_info->invalid->name,1); $result['success'] = true; $result['msg'] = '操作成功'; $tran->commit(); } catch (\Exception $e) { $tran->rollBack(); throw $e; } } return $result; } public function actionSearch() { $request = Yii::$app->request; $car_man = $request->get('car_man'); $phone = $request->get('phone'); $car_no = $request->get('car_no'); $car_model = $request->get('car_model'); $register_date = $request->get('register_date'); $insurer_date = $request->get('insurer_date'); $id_man = $request->get('id_man'); $op = $request->get('op',1); $page = $request->get('page',1); if($page < 1) $page = 1; $query = CarT::find() ->leftJoin('order_t','`order_t`.`car_id`=`car_t`.`id`'); if($op==0) { $query = $query->andWhere('car_t.id=-1'); } if($car_man != '') { $query = $query->andWhere('car_t.car_man like "'.$car_man.'"'); } if($phone != '') { $linkman_items = LinkmanT::find() ->where('phone like "'.$phone.'"') ->all(); $car_ids = array(); foreach($linkman_items as $linkman_info) { $car_ids[] = $linkman_info->car_id; } $car_ids_str = join(',',$car_ids); if($car_ids_str == '') $car_ids_str = '0'; $query = $query->andWhere('(car_t.phone like "'.$phone.'" or car_t.id in ('.$car_ids_str.'))'); } if($car_no != '') { $query = $query->andWhere('car_t.car_no like "'.$car_no.'"'); } if($car_model != '') { $query = $query->andWhere('car_t.car_model="'.$car_model.'"'); } if($register_date != '') { $query = $query->andWhere('car_t.register_date='.$register_date); } if($insurer_date != '') { $query = $query->andWhere('car_t.insurer1_date="'.$insurer_date.'" or car_t.insurer2_date="'.$insurer_date.'"'); } if($id_man != '') { $query = $query->andWhere('order_t.id_man="'.$id_man.'"'); } $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('search',[ 'items' => $items, 'car_man' => $car_man, 'phone' => $phone, 'car_no' => $car_no, 'car_model' => $car_model, 'register_date' => $register_date, 'insurer_date' => $insurer_date, 'id_man' => $id_man, 'page' => $page, 'page_info' => $page_info ]); } public function actionSmsMake() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $result = array(); $result['success'] = false; $result['msg'] = '生成失败'; $order_id = $request->post('order_id'); $order_info = OrderT::findOne(['id'=>$order_id]); $car_info = $order_info->car; $total1 = $request->post('total1'); $total2 = $request->post('total2'); $total3 = $request->post('total3'); $total_all = $request->post('total_all'); $types = $request->post('types'); $nopays = $request->post('nopays'); $insurer_type_items = InsurerTypeT::find()->all(); $msg = '尊敬的'.$car_info->car_no.'客户您好,人保车险'.$this->my->name.'为您报价!'; $msg .= '交强险'.$total2.'元,'; $msg .= '商业险'.$total1.'元,'; $msg .= '其中包含'; $bj = ''; foreach($insurer_type_items as $item) { if($item->id == 10 || $item->id == 11) continue; if($types[$item->id] != '' && $types[$item->id] != '否' && $types[$item->id] != '无') { $msg .= $item->name; if($types[$item->id] != '是') $msg .= $types[$item->id]; $msg .= '、'; if(isset($nopays[$item->id]) && ($nopays[$item->id] == 1)) $bj .= $item->code; } } if($total3 > 0) { $msg .= '车船税'.$total3.'元,'; } $msg .= '总计'.$total_all.'元,'; if($bj != '') { $msg .= '不计免赔覆盖'.$bj.'。'; } $msg .= '以上价格仅供参考,价格可能受您的历史理赔情况等的影响,最终价格以出单为准。详情请咨询010-53778188,回复TD拒收。'; $result['success'] = true; $result['msg'] = $msg; return $result; } public function actionSmsSend() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $MessageContent = $request->post('msg'); $UserNumber = $request->post('tel'); $url = 'http://api.ums86.com:8899/sms/Api/Send.do'; $params['SpCode'] = '230525'; $params['LoginName'] = 'sr_ys'; $params['Password'] = 'chbj123456'; $params['UserNumber'] = $UserNumber; $params['MessageContent'] = mb_convert_encoding($MessageContent,'gbk','utf8'); $params['SerialNumber'] = date('YmdHis').rand(100,999); $params['ScheduleTime'] = ''; $params['f'] = 1; $post_url = http_build_query($params); $msg = MyLib::Get($url.'?'.$post_url); $msg = mb_convert_encoding($msg,'UTF8','GBK'); parse_str($msg,$obj); $result = array(); $result['success'] = true; $result['msg'] = '发送成功'; if($obj['result'] != 0) { $result['msg'] = $obj['description']; } return $result; } public function actionLinkmanSave() { 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); $name = $request->post('name'); $phone = $request->post('phone'); $id_number = $request->post('id_number'); $type = $request->post('type'); if($name == '' || $phone == '') { $result['msg'] = '请输入姓名和联系电话!'; return $result; } $row = null; $linkman_info = new LinkmanT(); $linkman_info->car_id = $car_id; $linkman_info->name = $name; $linkman_info->phone = $phone; $linkman_info->type = $type; $linkman_info->id_number = $id_number; if(!$linkman_info->save()) { var_dump($linkman_info->errors); } $result['success'] = true; $result['msg'] = '保存成功'; } return $result; } public function actionAjaxLinkmanIndex() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $car_id = $request->get('car_id'); $result = array(); $result['success'] = false; $result['msg'] = '读取失败'; $query = LinkmanT::find() ->where(['car_id'=>$car_id]) ->orderBy('id ASC'); $items = $query->all(); $html = $this->renderPartial('ajax-linkman-index',[ 'items' => $items ]); $result['success'] = true; $result['html'] = $html; return $result; } }