Загрузка из Excel

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2021-09-28 07:22:17 +10:00
parent 8c53872955
commit 7e63c8be97
3 changed files with 38 additions and 17 deletions

View File

@ -40,6 +40,9 @@ class VerifyController extends Controller
// Генерация хеша пароля // Генерация хеша пароля
yii::$app->user->identity->pswd = yii::$app->security->generatePasswordHash(yii::$app->user->identity->pswd); yii::$app->user->identity->pswd = yii::$app->security->generatePasswordHash(yii::$app->user->identity->pswd);
// Запись в хранилище
yii::$app->user->identity->update();
if (yii::$app->request->isPost) { if (yii::$app->request->isPost) {
// POST-запрос // POST-запрос

View File

@ -351,7 +351,6 @@ class Product extends Document
]); ]);
} }
foreach ($data as $data) { foreach ($data as $data) {
// Перебор конвертированных файлов // Перебор конвертированных файлов
@ -365,28 +364,43 @@ class Product extends Document
foreach ($data as $doc) { foreach ($data as $doc) {
// Перебор полученных документов // Перебор полученных документов
// Сохранение в базе данных // Инициализация буфера
$product = new static($doc); $_doc = $doc;
$product->scenario = $product::SCENARIO_WRITE; // Поиск всех артикулов (каталожных номеров)
$products = explode(',', $doc['catn'], 300);
if ($product->validate()) { foreach ($products as $_product) {
// Проверка пройдена // Перебор продуктов (если catn перечислены через запятую)
// Запись документа $_product = trim($_product);
$product->save();
// Постинкрементация счётчика // Запись артикула (каталожного номера) в буфер
$amount++; $_doc['catn'] = $_product;
// Запись группы // Инициализация продукта
// $group = static::class . 'Group'; $product = new static($_doc);
// (new $group())->writeMember($product, $this->group);
} else {
// Проверка не пройдена
// Добавление ошибок $product->scenario = $product::SCENARIO_WRITE;
foreach ($product->errors as $attribute => $error) $this->addError($attribute, $error);
if ($product->validate()) {
// Проверка пройдена
// Запись документа
$product->save();
// Постинкрементация счётчика
$amount++;
// Запись группы
// $group = static::class . 'Group';
// (new $group())->writeMember($product, $this->group);
} else {
// Проверка не пройдена
// Добавление ошибок
foreach ($product->errors as $attribute => $error) $this->addError($attribute, $error);
}
} }
} }
} }

View File

@ -227,6 +227,10 @@ main {
color: #d90000 color: #d90000
} }
.dropdown-divider {
border-top: 1px solid #CEDCFF !important;
}
/* @media (max-width: 400px) {} */ /* @media (max-width: 400px) {} */
/* Малые девайсы («ландшафтные телефоны», >= 576px) */ /* Малые девайсы («ландшафтные телефоны», >= 576px) */