пульверизатор
This commit is contained in:
parent
e941fbd782
commit
4683cf51db
|
@ -202,6 +202,7 @@ class Account extends Document implements IdentityInterface, PartnerInterface
|
||||||
{
|
{
|
||||||
if (parent::beforeSave($data)) {
|
if (parent::beforeSave($data)) {
|
||||||
if ($this->isNewRecord) {
|
if ($this->isNewRecord) {
|
||||||
|
$this->mail = mb_strtolower($this->mail);
|
||||||
$this->auth = yii::$app->security->generateRandomString();
|
$this->auth = yii::$app->security->generateRandomString();
|
||||||
$this->vrfy = yii::$app->security->generateRandomString();
|
$this->vrfy = yii::$app->security->generateRandomString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,6 +162,9 @@ class AccountForm extends Model
|
||||||
$this->pswd = $pswd;
|
$this->pswd = $pswd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Регистронезависимая почта
|
||||||
|
$this->mail = mb_strtolower($this->mail);
|
||||||
|
|
||||||
if (isset($this->mail, $this->pswd) && $this->validate()) {
|
if (isset($this->mail, $this->pswd) && $this->validate()) {
|
||||||
// Проверка пройдена
|
// Проверка пройдена
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ abstract class Edge extends Document
|
||||||
if ($edge = self::searchByVertex($_from, $_to, limit: 1)) {
|
if ($edge = self::searchByVertex($_from, $_to, limit: 1)) {
|
||||||
// Найдено в базе данных
|
// Найдено в базе данных
|
||||||
|
|
||||||
return $edge;
|
return $edge[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::write($_from, $_to, $type, $data);
|
return self::write($_from, $_to, $type, $data);
|
||||||
|
|
|
@ -405,7 +405,7 @@ class Product extends Document
|
||||||
*
|
*
|
||||||
* @param string|null $_id Идентификатор поставки
|
* @param string|null $_id Идентификатор поставки
|
||||||
*
|
*
|
||||||
* @return self|null Привязанный продукт
|
* @return array|null Товар (Product)
|
||||||
*/
|
*/
|
||||||
public static function searchBySupplyId(string $_id): ?array
|
public static function searchBySupplyId(string $_id): ?array
|
||||||
{
|
{
|
||||||
|
|
|
@ -176,10 +176,11 @@ class Search extends Document
|
||||||
foreach ($connections as $key => &$connection) {
|
foreach ($connections as $key => &$connection) {
|
||||||
// Перебор поставок
|
// Перебор поставок
|
||||||
|
|
||||||
if (($cost = $cost['ЦенаЗаЕдиницу'] ?? $connection['supply_edge_product'][0]['onec']['Цены']['Цена']['ЦенаЗаЕдиницу']) < 1
|
// if (($cost = $connection['cost'] ?? $cost['ЦенаЗаЕдиницу'] ?? $connection['supply_edge_product'][0]['onec']['Цены']['Цена']['ЦенаЗаЕдиницу']) < 1
|
||||||
|| ($amount = $connection['supply']['amnt'] ?? $connection['supply_edge_product'][0]['onec']['Количество']) < 1
|
// || ($amount = $connection['supply']['amnt'] ?? $connection['supply_edge_product'][0]['onec']['Количество']) < 1
|
||||||
) {
|
// ) {
|
||||||
// Цена меньше единицы (подразумевается как ошибка) или количество меньше единицы
|
if ($cost = $connection['supply']['cost'] < 1) {
|
||||||
|
// Цена меньше единицы (подразумевается как ошибка)
|
||||||
|
|
||||||
// Скрыть из выдачи
|
// Скрыть из выдачи
|
||||||
unset($connections[$key]);
|
unset($connections[$key]);
|
||||||
|
@ -425,11 +426,15 @@ class Search extends Document
|
||||||
}
|
}
|
||||||
|
|
||||||
// Инициализация цены
|
// Инициализация цены
|
||||||
$price_raw = $cost;
|
$price_raw = $supply['cost'];
|
||||||
$price = $price_raw . ' ' . $supply_edge_product[0]['onec']['Цены']['Цена']['Валюта'] ?? 'руб';
|
// $price = $price_raw . ' ' . $supply_edge_product[0]['onec']['Цены']['Цена']['Валюта'] ?? 'руб';
|
||||||
|
$price = $price_raw . ' руб';
|
||||||
|
|
||||||
// Инициализация количества
|
// Инициализация количества
|
||||||
$amount_raw = $amount = $supply['amnt'] ?? $supply_edge_product[0]['onec']['Количество'];
|
// $amount_raw = $amount = $supply['amnt'] ?? $supply_edge_product[0]['onec']['Количество'] ?? 0;
|
||||||
|
|
||||||
|
$amount_raw = $amount = count(@SupplyEdgeProduct::searchByVertex(@Supply::collectionName() . '/' . $supply['_key'], @Product::searchByCatn($supply['catn'])->readId(), limit: 999)) ?? 1;
|
||||||
|
|
||||||
if (empty($amount_raw) || $amount_raw < 1) {
|
if (empty($amount_raw) || $amount_raw < 1) {
|
||||||
// Уже не используется
|
// Уже не используется
|
||||||
$amount = 'Под заказ';
|
$amount = 'Под заказ';
|
||||||
|
|
|
@ -496,14 +496,14 @@ class Supply extends Product implements ProductInterface, OfferInterface
|
||||||
// Перебор создаваемых рёбер (так работает обозначение количества товаров в наличии)
|
// Перебор создаваемых рёбер (так работает обозначение количества товаров в наличии)
|
||||||
|
|
||||||
// Поиск ребёр
|
// Поиск ребёр
|
||||||
$edges = SupplyEdgeProduct::searchByVertex($supply->readId(), $product->readId(), limit: 50);
|
$edges = SupplyEdgeProduct::searchByVertex($supply->readId(), $product->readId(), limit: 999);
|
||||||
|
|
||||||
if ($amount === $edges) {
|
if ($amount === count($edges)) {
|
||||||
// Количество товаров в поставке не изменилось
|
// Количество товаров в поставке не изменилось
|
||||||
|
|
||||||
// Раз изменений нет, то обновлять ничего не нужно
|
// Раз изменений нет, то обновлять ничего не нужно
|
||||||
continue;
|
continue;
|
||||||
} else if ($amount < $edges) {
|
} else if ($amount < count($edges)) {
|
||||||
// Количество товаров в поставке стало МЕНЬШЕ
|
// Количество товаров в поставке стало МЕНЬШЕ
|
||||||
|
|
||||||
// Расчёт разницы
|
// Расчёт разницы
|
||||||
|
@ -614,16 +614,16 @@ class Supply extends Product implements ProductInterface, OfferInterface
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($product->prod) && $product->prod === $supply->prod) {
|
// if (isset($product->prod) && $product->prod === $supply->prod) {
|
||||||
// Производитель совпадает с тем, что указан в товаре
|
// // Производитель совпадает с тем, что указан в товаре
|
||||||
|
|
||||||
for ($i = 0; $i++ < $amount;) {
|
for ($i = 0; $i++ < $amount;) {
|
||||||
// Перебор создаваемых рёбер (так работает обозначение количества товаров в наличии)
|
// Перебор создаваемых рёбер (так работает обозначение количества товаров в наличии)
|
||||||
|
|
||||||
// Запись ребра (с проверкой на дубликат)
|
// Запись ребра
|
||||||
SupplyEdgeProduct::writeSafe($supply->readId(), $product->readId(), data: ['type' => 'connect']);
|
SupplyEdgeProduct::write($supply->readId(), $product->readId(), data: ['type' => 'connect']);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// }
|
||||||
} else {
|
} else {
|
||||||
// Проверка не пройдена
|
// Проверка не пройдена
|
||||||
|
|
||||||
|
|
|
@ -137,34 +137,33 @@ $panel ?? $panel = 'profile_panel_supplies_input_import';
|
||||||
?>
|
?>
|
||||||
<?php foreach ($warehouses as $warehouse) : ?>
|
<?php foreach ($warehouses as $warehouse) : ?>
|
||||||
<section class="col<?= ++$amount_warehouses < count($warehouses) ? ' mb-4' : '' ?>">
|
<section class="col<?= ++$amount_warehouses < count($warehouses) ? ' mb-4' : '' ?>">
|
||||||
<h5 class="d-flex">
|
<h4 class="mb-3 d-flex">
|
||||||
<?= $warehouse->name ?? 'Без названия' ?>
|
<span class="my-auto"><?= $warehouse->name ?? 'Без названия' ?></span>
|
||||||
<small class="ml-auto mt-auto"><a class="text-dark fas fa-pen" type="button" onclick="return page_profile_warehouses_rename(<?= $warehouse->_key ?>, prompt('Название склада', this.parentElement.parentElement.innerText));"></a></small>
|
<?php $form = ActiveForm::begin([
|
||||||
<small class="ml-3 mt-auto"><a class="text-dark fas fa-trash-alt" type="button" onclick="return page_profile_warehouses_delete(<?= $warehouse->_key ?>);"></a></small>
|
'id' => 'form_warehouse_settings',
|
||||||
</h5>
|
'action' => false,
|
||||||
|
'fieldConfig' => [
|
||||||
|
'template' => '{label}{input}',
|
||||||
|
],
|
||||||
|
'options' => [
|
||||||
|
'onsubmit' => 'return false;',
|
||||||
|
'class' => 'ml-auto'
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
<?php $form = ActiveForm::begin([
|
$list = array_unique($warehouse->genListTerminalsFrom());
|
||||||
'id' => 'form_warehouse_settings',
|
?>
|
||||||
'action' => false,
|
|
||||||
'fieldConfig' => [
|
|
||||||
'template' => '{label}{input}',
|
|
||||||
],
|
|
||||||
'options' => [
|
|
||||||
'onsubmit' => 'return false;'
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
|
|
||||||
$list = $warehouse->genListTerminalsFrom();
|
<?= $form->field($warehouse, 'trmn', ['options' => ['class' => ""]])
|
||||||
?>
|
->dropDownList($list, [
|
||||||
|
'onChange' => 'page_supplies_settings(this.parentElement.parentElement, ' . $warehouse->_key . ', \'profile_panel_supplies\')',
|
||||||
<?= $form->field($warehouse, 'trmn', ['options' => ['class' => "mb-3"]])
|
'disabled' => count($list) <= 1
|
||||||
->dropDownList($list, [
|
])->label(false); ?>
|
||||||
'onChange' => 'page_supplies_settings(this.parentElement.parentElement, ' . $warehouse->_key . ', \'profile_panel_supplies\')',
|
|
||||||
'disabled' => count($list) <= 1
|
|
||||||
])->label(false); ?>
|
|
||||||
|
|
||||||
<?php ActiveForm::end(); ?>
|
|
||||||
|
|
||||||
|
<?php ActiveForm::end(); ?>
|
||||||
|
<small class="ml-4 my-auto h6"><a class="text-dark fas fa-pen" type="button" onclick="return page_profile_warehouses_rename(<?= $warehouse->_key ?>, prompt('Название склада', this.parentElement.parentElement.innerText));"></a></small>
|
||||||
|
<small class="ml-3 my-auto h6"><a class="text-dark fas fa-trash-alt" type="button" onclick="return page_profile_warehouses_delete(<?= $warehouse->_key ?>);"></a></small>
|
||||||
|
</h4>
|
||||||
<?php
|
<?php
|
||||||
// Инициализация номера инстанции импорта
|
// Инициализация номера инстанции импорта
|
||||||
$amount_imports = 0;
|
$amount_imports = 0;
|
||||||
|
|
Reference in New Issue