public function actionCustum() { $debug = ''; $model = new Mod\Custum(); $prompt = Yii::t('app', 'Select stock'); $arrError = []; if ($model->load(Yii::$app->request->post())) { if (!$model->validate()) { $debug = print_r($model->geterrors(), true); return $this->render('finish', ['debug' => $debug]); } $arrvin = explode("\n", $model->vins); foreach ($arrvin as $vin) { if ($car = Mod\Car::findOne(['vin' => trim($vin)])) { $status = Mod\CarStatus::findOne(['car_id' => $car->id]); $status->custum_date = $model->custum_date; $status->custum_num = $model->custum_num; $status->save(); } else { $arrError[] = $vin . ' не найден VIN'; } } $debug = implode('<br>', $arrError); return $this->render('finish', ['debug' => $debug]); } $arrVars = ['model' => $model, 'prompt' => $prompt, 'selLabel' => 'Склад', 'title' => 'Пакетное ведение деклараций']; return $this->render('custum', $arrVars); }
public function search($params) { /* $query = Car::find(); $query->joinWith(''); */ $query = CarStatus::find(); // $query->With('car')->With('car.model'); $query->joinWith('car'); $query->joinWith('car.model'); $query->joinWith('car.color'); $query->joinWith('car.colorsal'); $query->joinWith('stock'); $query->joinWith('diller'); $query->joinWith('plant'); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'model_id' => $this->model_id, 'color_id' => $this->color_id, 'color_sal_id' => $this->color_sal_id]); $query->andFilterWhere(['like', 'vin', $this->vin])->andFilterWhere(['like', 'enj_num', $this->enj_num]); return $dataProvider; }
public static function importData() { $arr_error = []; $timeimport = time(); foreach (ImportRaw::find()->where(['imported' => null])->each() as $rawData) { $data = $rawData->data; $arrayPos = self::getPosArray($rawData->type); // $arrayPos = $$arrayPos; $codmodel = str_ireplace(' ', '', substr($data, $arrayPos['model'], 17)); $codColor = trim(substr($data, $arrayPos['color'], 3)); $codSalon = trim(substr($data, $arrayPos['salon'], 3)); $codEnj = trim(substr($data, $arrayPos['enj'], 12)); $prodOrd = trim(substr($data, $arrayPos['prod_ord'], 5)); $carrier = trim(substr($data, $arrayPos['carrier'], 8)); $keyCode = trim(substr($data, $arrayPos['key_code'], 5)); $dateShipping = trim(substr($data, $arrayPos['date_shipping'], 8)); $shipCode = trim(substr($data, $arrayPos['ship_code'], 3)); $numInvoice = trim(substr($data, $arrayPos['num_invoice'], 16)); $car = new Car(); $car->model_id = CatModel::findOne(['code' => $codmodel])->id; $car->color_id = cats\Color::findOne(['code' => $codColor])->id; $car->color_sal_id = cats\ColorSalon::find()->where(['name' => $codSalon])->one()->id; $car->vin = $rawData->vin; $car->enj_num = $codEnj; if ($car->validate()) { $car->save(); } else { $arr_error[] = $car->getErrorsAsString(); // continue; } if ($sCarmod = Car::findOne(['vin' => $rawData->vin])) { $impData = new ImportPlant(); $impData->production_ord = $prodOrd; $impData->carrier = $carrier; $impData->key_code = $keyCode; $impData->car_id = $sCarmod->id; $impData->date_shipping = $dateShipping; $impData->ship_code = $shipCode; $impData->num_invoice = $numInvoice; if ($impData->validate()) { $impData->save(); $car_status = new CarStatus(); $car_status->car_id = $sCarmod->id; $car_status->status = 'way'; $car_status->imp_data_id = $impData->id; if ($car_status->validate()) { $car_status->save(); } else { $arr_error[] = $car_status->getErrorsAsString(); } } else { $arr_error[] = $impData->getErrorsAsString(); // continue; } } $rawData->imported = $timeimport; $rawData->save(); } return $arr_error; }