|
- <?php
-
- namespace backend\modules\api\models;
-
- use yii\db\ActiveRecord;
-
- /**
- * This is the model class for table "base_driver".
- *
- * @property integer $DRIVER_ID
- * @property integer $CREATE_USER_ID
- * @property string $CREATE_TIME
- * @property integer $UPDATE_USER_ID
- * @property string $UPDATE_TIME
- * @property integer $CANCEL_FLAG
- * @property string $DRIVER_NAME
- * @property string $DRIVER_NUMBER
- * @property integer $SEX
- * @property integer $AGE
- * @property string $PHONE_NO
- * @property integer $MAIN_CORP_ID
- * @property integer $ORG_ID
- * @property string $ID_NUMBER
- * @property string $LICENSE_NO
- * @property integer $DRIVER_STATUS
- * @property string $DRIVER_BIRTHDAY
- * @property string $FIRST_LICENSE_DATE
- * @property integer $AREA_ID
- * @property string $ADDRESS
- * @property string $LICENSE_START_DATE
- * @property integer $VALID_YEARS
- *
- * @property BusOrder[] $busOrders
- */
- class BaseDriver extends ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'base_driver';
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['CREATE_USER_ID', 'UPDATE_USER_ID', 'CANCEL_FLAG', 'SEX', 'AGE', 'MAIN_CORP_ID', 'ORG_ID', 'DRIVER_STATUS', 'AREA_ID', 'VALID_YEARS'], 'integer'],
- [['CREATE_TIME', 'DRIVER_NAME'], 'required'],
- [['UPDATE_TIME'], 'safe'],
- [['CREATE_TIME', 'DRIVER_NAME', 'DRIVER_NUMBER', 'PHONE_NO', 'ID_NUMBER', 'DRIVER_BIRTHDAY', 'FIRST_LICENSE_DATE', 'LICENSE_START_DATE'], 'string', 'max' => 20],
- [['LICENSE_NO'], 'string', 'max' => 50],
- [['ADDRESS'], 'string', 'max' => 255],
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'DRIVER_ID' => 'Driver ID',
- 'CREATE_USER_ID' => '记录创建用户ID',
- 'CREATE_TIME' => '记录创建时间',
- 'UPDATE_USER_ID' => '记录最后更新用户ID',
- 'UPDATE_TIME' => '记录最后更新时间',
- 'CANCEL_FLAG' => '记录有效性标记,CANCEL_FLAG=0记录有效;CANCEL_FLAG=1,记录已删除',
- 'DRIVER_NAME' => '司机姓名',
- 'DRIVER_NUMBER' => '司机编号',
- 'SEX' => '性别 1:男 2:女',
- 'AGE' => '年龄',
- 'PHONE_NO' => '司机电话',
- 'MAIN_CORP_ID' => '运营主体ID',
- 'ORG_ID' => '所属公司ID',
- 'ID_NUMBER' => '身份证号',
- 'LICENSE_NO' => '驾驶证号',
- 'DRIVER_STATUS' => '司机状态',
- 'DRIVER_BIRTHDAY' => '出生日期',
- 'FIRST_LICENSE_DATE' => '初次领证日期',
- 'AREA_ID' => '对应base_area.id',
- 'ADDRESS' => '详细地址',
- 'LICENSE_START_DATE' => '有效起始日期',
- 'VALID_YEARS' => '有效期限',
- ];
- }
-
- /**
- * @return \yii\db\ActiveQuery
- */
- public function getBusOrders()
- {
- return $this->hasMany(BusOrder::className(), ['send_bus_driver_res_id' => 'DRIVER_ID']);
- }
-
- /**
- * Function Description:获取司机信息
- * Function Name: getDriverInfoByPhone
- * @param string $phone 手机号
- *
- * @return array|bool|null|ActiveRecord
- *
- * @author 张帅
- */
- public function getDriverInfoByPhone($phone)
- {
- $result = self::find()
- ->select([
- 'd.driver_id',
- 'd.driver_name',
- 'd.org_id',
- 'd.phone_no',
- 's.supplier_name',
- ])
- ->from(self::tableName() . ' as d')
- ->leftJoin(BaseSupplier::tableName() . ' as s', 's.id = d.org_id')
- ->where(['d.phone_no' => $phone, 'd.cancel_flag' => 0, 's.cancel_flag' => 0])
- ->asArray()->one();
-
- if (count($result) == 0) {
- return false;
- }
- return $result;
- }
-
- /**
- * Function Description:获取司机信息通过司机id
- * Function Name: getDriverInfoById
- * @param int $driver_id 司机id
- *
- * @return array|bool|null|ActiveRecord
- *
- * @author 张帅
- */
- public function getDriverInfoById($driver_id)
- {
- $result = self::find()
- ->select([
- 'd.driver_id',
- 'd.driver_name',
- 'd.org_id',
- 'd.phone_no',
- 's.supplier_name',
- ])
- ->from(self::tableName() . ' as d')
- ->leftJoin(BaseSupplier::tableName() . ' as s', 's.id = d.org_id')
- ->where(['d.driver_id' => $driver_id, 'd.cancel_flag' => 0, 's.cancel_flag' => 0])
- ->asArray()->one();
-
- if (count($result) == 0) {
- return false;
- }
- return $result;
- }
-
- /**
- * 获取司机列表
- * @return array|bool|ActiveRecord[]
- * @author 傅冬荣
- */
- public function getDriverListInfo($key_word){
- $param=['and',['=','d.cancel_flag',0], ['=','s.cancel_flag',0]];
- if($key_word != ''){
- $param[]=['or',['like','d.driver_id','%'.$key_word.'%',false],['like','d.driver_name','%'.$key_word.'%',false],['like','d.phone_no','%'.$key_word.'%',false]];
- }
- $result = self::find()
- ->select([
- 'd.driver_id',
- 'd.driver_name',
- 'd.org_id',
- 'd.phone_no',
- 's.supplier_name',
- ])
- ->from(self::tableName() . ' as d')
- ->leftJoin(BaseSupplier::tableName() . ' as s', 's.id = d.org_id')
- ->filterwhere($param)
- ->asArray()
- -> all();
- if (count($result) == 0) {
- return false;
- }
- return $result;
- }
- }
|