пульверизатор
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 ($this->isNewRecord) {
|
||||
$this->mail = mb_strtolower($this->mail);
|
||||
$this->auth = yii::$app->security->generateRandomString();
|
||||
$this->vrfy = yii::$app->security->generateRandomString();
|
||||
}
|
||||
|
|
|
@ -162,6 +162,9 @@ class AccountForm extends Model
|
|||
$this->pswd = $pswd;
|
||||
}
|
||||
|
||||
// Регистронезависимая почта
|
||||
$this->mail = mb_strtolower($this->mail);
|
||||
|
||||
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)) {
|
||||
// Найдено в базе данных
|
||||
|
||||
return $edge;
|
||||
return $edge[0];
|
||||
}
|
||||
|
||||
return self::write($_from, $_to, $type, $data);
|
||||
|
|
|
@ -405,7 +405,7 @@ class Product extends Document
|
|||
*
|
||||
* @param string|null $_id Идентификатор поставки
|
||||
*
|
||||
* @return self|null Привязанный продукт
|
||||
* @return array|null Товар (Product)
|
||||
*/
|
||||
public static function searchBySupplyId(string $_id): ?array
|
||||
{
|
||||
|
|
|
@ -176,10 +176,11 @@ class Search extends Document
|
|||
foreach ($connections as $key => &$connection) {
|
||||
// Перебор поставок
|
||||
|
||||
if (($cost = $cost['ЦенаЗаЕдиницу'] ?? $connection['supply_edge_product'][0]['onec']['Цены']['Цена']['ЦенаЗаЕдиницу']) < 1
|
||||
|| ($amount = $connection['supply']['amnt'] ?? $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
|
||||
// ) {
|
||||
if ($cost = $connection['supply']['cost'] < 1) {
|
||||
// Цена меньше единицы (подразумевается как ошибка)
|
||||
|
||||
// Скрыть из выдачи
|
||||
unset($connections[$key]);
|
||||
|
@ -425,11 +426,15 @@ class Search extends Document
|
|||
}
|
||||
|
||||
// Инициализация цены
|
||||
$price_raw = $cost;
|
||||
$price = $price_raw . ' ' . $supply_edge_product[0]['onec']['Цены']['Цена']['Валюта'] ?? 'руб';
|
||||
$price_raw = $supply['cost'];
|
||||
// $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) {
|
||||
// Уже не используется
|
||||
$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;
|
||||
} 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 {
|
||||
// Проверка не пройдена
|
||||
|
||||
|
|
|
@ -137,34 +137,33 @@ $panel ?? $panel = 'profile_panel_supplies_input_import';
|
|||
?>
|
||||
<?php foreach ($warehouses as $warehouse) : ?>
|
||||
<section class="col<?= ++$amount_warehouses < count($warehouses) ? ' mb-4' : '' ?>">
|
||||
<h5 class="d-flex">
|
||||
<?= $warehouse->name ?? 'Без названия' ?>
|
||||
<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>
|
||||
<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>
|
||||
</h5>
|
||||
<h4 class="mb-3 d-flex">
|
||||
<span class="my-auto"><?= $warehouse->name ?? 'Без названия' ?></span>
|
||||
<?php $form = ActiveForm::begin([
|
||||
'id' => 'form_warehouse_settings',
|
||||
'action' => false,
|
||||
'fieldConfig' => [
|
||||
'template' => '{label}{input}',
|
||||
],
|
||||
'options' => [
|
||||
'onsubmit' => 'return false;',
|
||||
'class' => 'ml-auto'
|
||||
]
|
||||
]);
|
||||
|
||||
<?php $form = ActiveForm::begin([
|
||||
'id' => 'form_warehouse_settings',
|
||||
'action' => false,
|
||||
'fieldConfig' => [
|
||||
'template' => '{label}{input}',
|
||||
],
|
||||
'options' => [
|
||||
'onsubmit' => 'return false;'
|
||||
]
|
||||
]);
|
||||
$list = array_unique($warehouse->genListTerminalsFrom());
|
||||
?>
|
||||
|
||||
$list = $warehouse->genListTerminalsFrom();
|
||||
?>
|
||||
|
||||
<?= $form->field($warehouse, 'trmn', ['options' => ['class' => "mb-3"]])
|
||||
->dropDownList($list, [
|
||||
'onChange' => 'page_supplies_settings(this.parentElement.parentElement, ' . $warehouse->_key . ', \'profile_panel_supplies\')',
|
||||
'disabled' => count($list) <= 1
|
||||
])->label(false); ?>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
<?= $form->field($warehouse, 'trmn', ['options' => ['class' => ""]])
|
||||
->dropDownList($list, [
|
||||
'onChange' => 'page_supplies_settings(this.parentElement.parentElement, ' . $warehouse->_key . ', \'profile_panel_supplies\')',
|
||||
'disabled' => count($list) <= 1
|
||||
])->label(false); ?>
|
||||
|
||||
<?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
|
||||
// Инициализация номера инстанции импорта
|
||||
$amount_imports = 0;
|
||||
|
|
Reference in New Issue