|
- <?php
-
- namespace backend\modules\motorcade\models;
-
- use Yii;
- use yii\base\Model;
- use yii\data\ActiveDataProvider;
- use yii\db\BaseActiveRecord;
-
- /**
- * DriverSearch represents the model behind the search form about `backend\modules\motorcade\models\BaseDriver`.
- */
- class DriverSearch extends BaseDriver
- {
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['DRIVER_ID', 'CREATE_USER_ID', 'UPDATE_USER_ID', 'CANCEL_FLAG', 'SEX', 'AGE', 'MAIN_CORP_ID', 'ORG_ID', 'DRIVER_STATUS', 'AREA_ID', 'VALID_YEARS'], 'integer'],
- [['CREATE_TIME', 'UPDATE_TIME', 'DRIVER_NAME', 'DRIVER_NUMBER', 'PHONE_NO', 'ID_NUMBER', 'LICENSE_NO', 'DRIVER_BIRTHDAY', 'FIRST_LICENSE_DATE', 'ADDRESS', 'LICENSE_START_DATE'], 'safe'],
- ];
- }
-
- public function init(){
- BaseActiveRecord::init();
- }
-
- /**
- * @inheritdoc
- */
- public function scenarios()
- {
- // bypass scenarios() implementation in the parent class
- return Model::scenarios();
- }
-
- /**
- * Creates data provider instance with search query applied
- *
- * @param array $params
- *
- * @return ActiveDataProvider
- */
- public function search($params)
- {
- $query = BaseDriver::find()->with('organization');
-
- // add conditions that should always apply here
-
- $dataProvider = new ActiveDataProvider([
- 'query' => $query,
- ]);
-
- $this->load($params);
-
- // grid filtering conditions
- $query->andFilterWhere([
- // 'DRIVER_ID' => $this->DRIVER_ID,
- 'CREATE_USER_ID' => $this->CREATE_USER_ID,
- 'UPDATE_USER_ID' => $this->UPDATE_USER_ID,
- 'UPDATE_TIME' => $this->UPDATE_TIME,
- 'CANCEL_FLAG' => 0,
- 'SEX' => $this->SEX,
- 'AGE' => $this->AGE,
- 'MAIN_CORP_ID' => Yii::$app->user->identity->MAIN_CORP_ID2,
- 'ORG_ID' => $this->ORG_ID,
- 'DRIVER_STATUS' => $this->DRIVER_STATUS,
- 'AREA_ID' => $this->AREA_ID,
- 'VALID_YEARS' => $this->VALID_YEARS,
- 'DRIVER_ID' => $this->DRIVER_NAME,
- ]);
-
- $query->andFilterWhere(['like', 'CREATE_TIME', $this->CREATE_TIME])
- ->andFilterWhere(['like', 'DRIVER_NUMBER', $this->DRIVER_NUMBER])
- ->andFilterWhere(['like', 'PHONE_NO', $this->PHONE_NO])
- ->andFilterWhere(['like', 'ID_NUMBER', $this->ID_NUMBER])
- ->andFilterWhere(['like', 'LICENSE_NO', $this->LICENSE_NO])
- ->andFilterWhere(['like', 'DRIVER_BIRTHDAY', $this->DRIVER_BIRTHDAY])
- ->andFilterWhere(['like', 'FIRST_LICENSE_DATE', $this->FIRST_LICENSE_DATE])
- ->andFilterWhere(['like', 'ADDRESS', $this->ADDRESS])
- ->andFilterWhere(['like', 'LICENSE_START_DATE', $this->LICENSE_START_DATE]);
-
- $dataProvider->setSort([
- 'attributes' => [
- 'DRIVER_ID',
- 'DRIVER_NAME',
- 'DRIVER_NUMBER',
- 'ORG_ID',
- // 'PHONE_NO',
- 'LICENSE_NO',
- // 'ID_NUMBER',
- // 'SEX',
- ]
- ]);
-
- return $dataProvider;
- }
- }
|