]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
блокировка min при редактировании
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 23 Jul 2025 13:38:28 +0000 (16:38 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 23 Jul 2025 13:38:28 +0000 (16:38 +0300)
erp24/controllers/AutoPlannogrammaController.php
erp24/views/auto-plannogramma/index.php
erp24/web/js/autoplannogramma/autoplannogramma.js

index 1b86be8957d40c2255d7e405f793bdc8fbfb7245..1ee5b578f48374b72b109032b602ef4663ab17f1 100644 (file)
@@ -45,12 +45,44 @@ class AutoPlannogrammaController extends BaseController
                 new Expression("
                     CASE 
                         WHEN category ILIKE 'срезка' THEN 'Срезка'
-                        WHEN category ILIKE 'горшечные_растения' THEN 'Горшечные растения'
                         WHEN category ILIKE 'сухоцветы' THEN 'Сухоцветы'
-                        ELSE 'Остальные категории' 
+                        WHEN category ILIKE 'горшечные_растения' THEN 'Горшечные растения'
+                        WHEN category ILIKE 'упаковка' THEN 'Упаковка'
+                        WHEN category ILIKE 'сопутствующие_товары' THEN 'Сопутствующие товары'                       
                     END AS category
                 "),
-                'subcategory',
+                new Expression("
+            CASE 
+                -- Срезка
+                WHEN subcategory ILIKE 'экзотика' THEN 'Экзотика'
+                WHEN subcategory ILIKE 'розы' THEN 'Розы'
+                WHEN subcategory ILIKE 'зелень' THEN 'Зелень'
+
+                -- Сухоцветы
+                WHEN subcategory ILIKE 'пучек' THEN 'Пучек'
+                WHEN subcategory ILIKE 'поштучно' THEN 'Поштучно'
+                WHEN subcategory ILIKE 'прочее' THEN 'Прочее'
+
+                -- Горшечные растения
+                WHEN subcategory ILIKE 'лиственные' THEN 'Лиственные'
+                WHEN subcategory ILIKE 'цветущие' THEN 'Цветущие'
+
+                -- Упаковка
+                WHEN subcategory ILIKE 'пленка' THEN 'Пленка'
+                WHEN subcategory ILIKE 'подарок' THEN 'Подарок'
+                WHEN subcategory ILIKE 'прочее' THEN 'Прочее'
+
+                -- Сопутствующие товары
+                WHEN subcategory ILIKE 'игрушки' THEN 'Игрушки'
+                WHEN subcategory ILIKE 'пиротехника' THEN 'Пиротехника'
+                WHEN subcategory ILIKE 'праздник' THEN 'Праздник'
+                WHEN subcategory ILIKE 'упаковка' THEN 'Упаковка'
+                WHEN subcategory ILIKE 'уход' THEN 'Уход'
+                WHEN subcategory ILIKE 'прочее' THEN 'Прочее'
+
+
+            END AS subcategory
+        "),
             ])
             ->andWhere(['is not', 'subcategory', null])
             ->from('products_1c_nomenclature')
@@ -59,12 +91,44 @@ class AutoPlannogrammaController extends BaseController
                 new Expression("
                     CASE 
                         WHEN category ILIKE 'срезка' THEN 1
-                        WHEN category ILIKE 'горшечные_растения' THEN 2
-                        WHEN category ILIKE 'сухоцветы' THEN 3
-                        ELSE 4
+                        WHEN category ILIKE 'сухоцветы' THEN 2
+                        WHEN category ILIKE 'горшечные_растения' THEN 3
+                        WHEN category ILIKE 'упаковка' THEN 4
+                        WHEN category ILIKE 'сопутствующие_товары' THEN 5
                     END
                 "),
-                'subcategory' => SORT_ASC,
+                new Expression("
+            CASE 
+                -- Срезка
+                WHEN category ILIKE 'срезка' AND subcategory ILIKE 'экзотика' THEN 1
+                WHEN category ILIKE 'срезка' AND subcategory ILIKE 'розы' THEN 2
+                WHEN category ILIKE 'срезка' AND subcategory ILIKE 'зелень' THEN 3
+
+                -- Сухоцветы
+                WHEN category ILIKE 'сухоцветы' AND subcategory ILIKE 'пучек' THEN 1
+                WHEN category ILIKE 'сухоцветы' AND subcategory ILIKE 'поштучно' THEN 2
+                WHEN category ILIKE 'сухоцветы' AND subcategory ILIKE 'прочее' THEN 3
+
+                -- Горшечные растения
+                WHEN category ILIKE 'горшечные_растения' AND subcategory ILIKE 'лиственные' THEN 1
+                WHEN category ILIKE 'горшечные_растения' AND subcategory ILIKE 'цветущие' THEN 2
+
+                -- Упаковка
+                WHEN category ILIKE 'упаковка' AND subcategory ILIKE 'пленка' THEN 1
+                WHEN category ILIKE 'упаковка' AND subcategory ILIKE 'подарок' THEN 2
+                WHEN category ILIKE 'упаковка' AND subcategory ILIKE 'прочее' THEN 3
+
+                -- Сопутствующие товары
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'игрушки' THEN 1
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'пиротехника' THEN 2
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'праздник' THEN 3
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'упаковка' THEN 4
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'уход' THEN 5
+                WHEN category ILIKE 'сопутствующие_товары' AND subcategory ILIKE 'прочее' THEN 6
+
+
+            END
+        "),
             ])
             ->all();
 
index 2ac5146815d143535dfdbc0d4281a71495acdb07..b247ce47c42b1dc92faf6ad2f1ccb9165ac7e9b1 100644 (file)
@@ -82,9 +82,14 @@ $this->registerJsFile('/js/autoplannogramma/autoplannogramma.js', ['position' =>
                     <?= Select2::widget([
                         'name' => 'polnogramma-type-filter',
                         'data' => ['min' => 'min', 'max' => 'max'],
-                        'options' => ['placeholder' => 'Тип п-ма', 'id' => 'polnogramma-type'],
+                        'value' => 'max',
+                        'options' => [
+                            'placeholder' => 'Тип п-ма',
+                            'id' => 'polnogramma-type',
+                        ],
                         'pluginOptions' => ['allowClear' => true],
                     ]) ?>
+
                 </div>
                 <div class="col-md d-flex">
                     <?= Html::submitButton('Применить', ['class' => 'btn btn-apply btn-primary w-100']); ?>
index 13d45fbc46821f0839e8ac98fabdfaaa3c464b60..1c5ce1f2f7c3cfa6a0027ab3b30399bab54961b3 100644 (file)
@@ -123,7 +123,8 @@ $('.subcategory .list-group-item').on('click', function (e) {
                 alert('Нет планограммы для выбранного периода');
                 return;
             }
-
+            const plan_type = $('#polnogramma-type').val();
+            const readonly_input = plan_type == 'min' ? true : false;
             const fragment = document.createDocumentFragment();
 
             response.forEach(item => {
@@ -166,7 +167,7 @@ $('.subcategory .list-group-item').on('click', function (e) {
                     const td = $(`
                         <td data-store-id="${storeId}">
                             <div class="d-flex align-items-center">
-                                <input type="number" 
+                                <input type="number"                                        
                                        class="btn input w-100 ${modifyClass}"
                                        value="${val.quantity}"
                                        data-id="${val.id}"
@@ -175,7 +176,8 @@ $('.subcategory .list-group-item').on('click', function (e) {
                                        title="${encodedTooltip}"
                                        data-bs-toggle="tooltip"
                                        data-bs-placement="top"
-                                       data-original-value="${val.quantity}">
+                                       data-original-value="${val.quantity}"
+                                       ${readonly_input ? 'readonly' : ''}>
                                 <button class="reject-btn border-0 bg-transparent cursor-pointer">
                                     <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
                                         <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 1 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z"