]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Добавлена дата отсчета
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 6 Aug 2025 09:51:41 +0000 (12:51 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 6 Aug 2025 09:51:41 +0000 (12:51 +0300)
erp24/controllers/Products1cNomenclatureActualityController.php
erp24/views/products1c-nomenclature-actuality/add-activity.php

index f78c62dce88d2ae16989d2e62ed5c069a2635f89..55a2d1f6ca92c2efc9b91f8273333636526baa79 100644 (file)
@@ -216,6 +216,7 @@ class Products1cNomenclatureActualityController extends Controller
 
         $historyDays    = $request->get('historyDays');
         $intervalMonths = $request->get('intervalMonths');
+        $startFrom = $request->get('startFrom', date('Y-m-d'));
 
 
         if ($historyDays === null || $intervalMonths === null) {
@@ -225,7 +226,7 @@ class Products1cNomenclatureActualityController extends Controller
             ]);
         }
 
-        $endDate   = date('Y-m-d');
+        $endDate   = date('Y-m-d', strtotime($startFrom));
         $startDate = date('Y-m-d', strtotime("-{$historyDays} days", strtotime($endDate)));
 
         $productIds = (new Query())
@@ -247,7 +248,7 @@ class Products1cNomenclatureActualityController extends Controller
             ]);
         }
 
-        $now = new \DateTime();
+        $now = new \DateTime($endDate);
         $from = (clone $now)->modify("-{$intervalMonths} months")
                       ->modify('first day of this month')->setTime(0,0,0)
         ->format('Y-m-d H:i:s');
@@ -281,6 +282,7 @@ class Products1cNomenclatureActualityController extends Controller
         return $this->render('add-activity', [
             'historyDays'    => $historyDays,
             'intervalMonths' => $intervalMonths,
+            'startFrom' => $startFrom,
         ]);
     }
 
index 268ccf2191d471f07ba27f35b61e4a13803ab806..a8e038f11fe95b96dbeccedeac55a7d4c4b6612b 100644 (file)
@@ -3,10 +3,13 @@
 /** @var yii\web\View $this */
 /** @var int $historyDays */
 /** @var int $intervalMonths */
+/* @var string $startFrom  */
+use dosamigos\datepicker\DatePicker;
+use yii\base\DynamicModel;
 use yii\helpers\Html;
 use kartik\form\ActiveForm;
 
-$this->title = 'Заполнить актуальность';
+$this->title = 'Заполнить актуальность товаров по истории продаж';
 ?>
 <div class="add-activity p-4">
 <h1><?= Html::encode($this->title) ?></h1>
@@ -18,7 +21,8 @@ $this->title = 'Заполнить актуальность';
     <?php endif; ?>
     <p>Чтобы автоматически проставить актуальность товаров - используйте форму </p>
     <ul class="list-group mb-4 list-group-numbered">
-        <li class="list-group-item">Проставьте за сколько дней от текущей даты взять историю продаж товаров (например за 2 недели - 14 дней)</li>
+        <li class="list-group-item">Проставьте дату отсчета, от которой будет расчитываться история продаж</li>
+        <li class="list-group-item">Проставьте за сколько дней от даты отсчета взять историю продаж товаров (например за 2 недели - 14 дней)</li>
         <li class="list-group-item">Проставьте интервал в месяцах сколько действует актуальность товаров</li>
         <li class="list-group-item">Нажмите запустить и после обновления страницы актуальность будет проставлена</li>
     </ul>
@@ -27,12 +31,28 @@ $this->title = 'Заполнить актуальность';
         'method'=>'get',
         'action'=>['add-activity'],
     ]); ?>
+    <?= Html::label('Дата отсчета для расчета актуальности', 'startFrom') ?>
+    <?= DatePicker::widget([
+        'name' => 'startFrom',
+        'id' => 'startFrom',
+        'value' => date('d-m-Y'),
+        'template' => '{addon}{input}',
+        'language' => 'ru',
+        'clientOptions' => [
+            'autoclose' => true,
+            'format' => 'dd-mm-yyyy',
+            'todayBtn' => true
+        ],
+        'clientEvents' => [
+        ],
+        'containerOptions' => ['class' => 'mb-4'],
+    ]) ?>
 
-    <?= Html::label('Дней до текущей даты из истории продаж', 'historyDays') ?>
-    <?= Html::input('number', 'historyDays', $historyDays, ['min'=>1, 'class'=>'form-control']) ?>
+    <?= Html::label('Дней до даты отсчета, по которым считают историю продаж', 'historyDays') ?>
+    <?= Html::input('number', 'historyDays', $historyDays, ['min'=>1, 'class'=>'form-control mb-4']) ?>
 
-    <?= Html::label('Интервал активности - до и после текущей даты в  месяцах', 'intervalMonths') ?>
-    <?= Html::input('number', 'intervalMonths', $intervalMonths, ['min'=>1, 'class'=>'form-control']) ?>
+    <?= Html::label('Интервал активности - до и после даты отсчета в месяцах', 'intervalMonths') ?>
+    <?= Html::input('number', 'intervalMonths', $intervalMonths, ['min'=>1, 'class'=>'form-control mb-4']) ?>
 
     <?= Html::submitButton('Запустить', ['class'=>'btn btn-success mt-3']) ?>