<?php namespace common\models; use Yii; /** * This is the model class for table "car_t". * * @property integer $id * @property integer $user_id * @property integer $car_type_id * @property integer $car_use_id * @property string $car_no * @property string $factory_model * @property string $car_model * @property string $register_date * @property string $insurer1_date * @property string $insurer2_date * @property string $id_man * @property string $id_man_number * @property string $engine_no * @property string $car_frame_no * @property integer $seats * @property string $car_man * @property string $car_man_phone * @property string $remark * @property integer $location * @property string $print_date * @property string $car_man_number * @property integer $is_track * @property integer $times * @property string $old_user * @property string $company * @property string $op_user1 * @property string $op_user2 * @property string $from_src * @property string $created_at * @property string $updated_at * @property integer $op1_id * @property integer $op2_id */ class CarT extends \common\models\Base { /** * @inheritdoc */ public static function tableName() { return 'car_t'; } /** * @inheritdoc */ public function rules() { return [ [['user_id'], 'required'], [['user_id', 'car_type_id', 'car_use_id','seats','location','op1_id', 'op2_id'], 'integer'], [['register_date', 'insurer1_date', 'insurer2_date','id_man','id_man_number','print_date','car_man_number', 'created_at', 'updated_at'], 'safe'], [['car_no', 'factory_model', 'car_model', 'engine_no', 'car_frame_no','id_man_phone'], 'string', 'max' => 50], [['car_man','car_man_phone','remark','company','op_user1','op_user2','from_src'], 'string', 'max' => 200], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'user_id' => 'User ID', 'car_type_id' => 'Car Type ID', 'car_use_id' => 'Car Use ID', 'car_no' => 'Car No', 'factory_model' => 'Factory Model', 'car_model' => 'Car Model', 'register_date' => 'Register Date', 'insurer1_date' => 'Insurer 1 Date', 'insurer2_date' => 'Insurer 2 Date', 'id_man' => 'ID Man', 'id_man_number' => 'ID Number', 'engine_no' => 'Engine No', 'car_frame_no' => 'Car Frame No', 'seats' => 'Seats', 'car_man' => 'Car Man', 'car_man_phone' => 'Phone', 'remark' => 'Remark', 'location' => 'Location', 'print_date' => 'Print Date', 'car_man_number' => 'Car Man Number', 'is_track' => 'Is Track', 'times' => 'Times', 'old_user' => 'Old User', 'company' => 'Company', 'op_user1' => 'Op User1', 'op_user2' => 'Op User2', 'op_user3' => 'Op User3', 'from_src' => 'From Src', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public function getLinkmen() { return $this->hasMany(LinkmanT::className(),['car_id'=>'id']); } public function getUser() { return $this->hasOne(UserT::className(),['id'=>'user_id']); } public function getCarType() { return $this->hasOne(CarTypeT::className(),['id'=>'car_type_id']); } public function getCarUse() { return $this->hasOne(CarUseT::className(),['id'=>'car_use_id']); } public function getAppointment() { return $this->hasOne(AppointmentT::className(),['car_id'=>'id']); } public function getAppointments() { return $this->hasMany(AppointmentHistoryT::className(),['car_id'=>'id']); } public function getOrders() { return $this->hasMany(OrderT::className(),['car_id'=>'id']); } public function getLastOpUser1() { $count = OrderT::find()->where('car_id='.$this->id)->count(); if($count >1){ $order = OrderT::find()->where('car_id='.$this->id)->orderBy('id ASC')->one(); return $order->user->getShowName(); } return ''; } public function getBrand() { return $this->hasOne(BrandT::className(),['id'=>'brand_id']); } public function getInvalid() { return $this->hasOne(InvalidT::className(),['id'=>'invalid_id']); } public function getSeries() { return $this->hasOne(SeriesT::className(),['id'=>'series_id']); } public function getDisplacement() { return $this->hasOne(DisplacementT::className(),['id'=>'displacement_id']); } public function getLocation() { $name = ''; switch($this->location) { case 1: $car=CarT::findOne(['id'=>$this->id]); $name = 'A库'; break; case 2: $carb=CarBT::findOne(['id'=>$this->id]); if($carb->back==1){ $name = 'B库(新保处理无效库)'; }else{ $name = 'B库'; } break; case 3: $name = 'C库'; break; case 4: $name = 'D库'; $card=CarDT::findOne(['id'=>$this->id]); if($card->back==1){ $name = 'D库(续保处理无效库)'; }else{ $name = 'D库'; } break; case 5: $name = '无效库'; break; case 6: $name = 'E库'; break; case 7: $name = 'F库'; break; case 8: $name = 'F1新保四大公司无效库'; break; case 9: $name = 'F2新保其他小公司无效库'; break; case 10: $name = 'F3新保正常无效库'; break; case 11: $name = 'F4续保四大公司无效库'; break; case 12: $name = 'F5续保其他小公司无效库'; break; case 13: $name = 'F6续保正常无效库'; break; case 14: $name = '清洗岗数据库'; break; case 15: $name = '数据准确库'; break; case 16: $name = '数据不准确库'; break; default: $name = ''; } return $name; } public function getLib() { if($this->location == 1) return null; if($this->location == 2) return $this->hasOne(CarBT::className(),['id'=>'id']); if($this->location == 3) return $this->hasOne(CarCT::className(),['id'=>'id']); if($this->location == 4) return $this->hasOne(CarDT::className(),['id'=>'id']); if($this->location == 5) return $this->hasOne(CarInvalidT::className(),['id'=>'id']); if($this->location == 7) return $this->hasOne(CarFT::className(),['id'=>'id']); return null; } public function getOp1() { return $this->hasOne(UserT::className(),['id'=>'op1_id']); } public function getOp2() { return $this->hasOne(UserT::className(),['id'=>'op2_id']); } }