]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Переименование методов
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 22 May 2025 12:34:15 +0000 (15:34 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 22 May 2025 12:34:15 +0000 (15:34 +0300)
erp24/controllers/AutoPlannogrammaController.php
erp24/services/AutoPlannogrammaService.php
erp24/views/auto-plannogramma/control-species.php [deleted file]
erp24/views/auto-plannogramma/control-species.phpld [new file with mode: 0644]

index 0164aeaeab6362ad241c626629604f69ccebf25e..3b8c3bf6e83da3c0f706a23509c2606a6ba68fe5 100644 (file)
@@ -93,7 +93,7 @@ class AutoPlannogrammaController extends BaseController
         if (!empty($filters['plan_date'])) {
             $service = new AutoPlannogrammaService();
             $dataProvider = new ArrayDataProvider([
-                'allModels' => $service->calculateFullGoalChain($filters),
+                'allModels' => $service->calculateFullGoalChainWeighted($filters),
                 'pagination' => ['pageSize' => 100],
             ]);
         }
@@ -210,7 +210,7 @@ class AutoPlannogrammaController extends BaseController
     }
 
 
-    public function actionControlSpecies()
+    public function actionControlSpeciesOld()
     {
         $model = new DynamicModel([
             'storeId', 'month', 'type',
@@ -268,7 +268,7 @@ class AutoPlannogrammaController extends BaseController
 
 
 
-            $monthSpeciesGoals = $service->calculateFullGoalChain($filters);
+            $monthSpeciesGoals = $service->calculateFullGoalChainWeighted($filters);
             $monthSpeciesGoalsMap = [];
             foreach ($monthSpeciesGoals as $monthSpeciesGoal) {
                 $monthSpeciesGoalsMap[$monthSpeciesGoal['store_id']]
@@ -412,11 +412,11 @@ class AutoPlannogrammaController extends BaseController
 
         }
 //var_dump($weeksProductForecast); die();
-        return $this->render('control-species', [
+        return $this->render('control-species-old', [
             'model'           => $model,
             'result'          => $monthResult,
             'weeksData'       => $weeksData,
-           'monthCategoryShare' => $monthCategoryShareResult,
+            'monthCategoryShare' => $monthCategoryShareResult,
             'weeksProductForecast' => $weeksProductForecast,
             'totals'          => $totals,
             'storeList'       => $storeList,
index f483248f5e632461b19ad2cf5ff90fa9e17f13c8..7a67d26201a16c3f643bf9f2fd25aa6d86f8db35 100644 (file)
@@ -351,7 +351,7 @@ var_dump($totals); die();
         return $result;
     }
 
-    public function calculateFullGoalChain(array $filters): array
+    public function calculateFullGoalChainWeighted(array $filters): array
     {
         $datePlan = $filters['plan_date'];
         $dateFromForCategory = (new \DateTime($datePlan))->modify('-12 months')->format('Y-m-d');
diff --git a/erp24/views/auto-plannogramma/control-species.php b/erp24/views/auto-plannogramma/control-species.php
deleted file mode 100644 (file)
index 98e8023..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-use yii\helpers\Html;
-use yii\widgets\ActiveForm;
-use yii\base\DynamicModel;
-use yii_app\records\CityStore;
-use yii_app\records\PricesDynamic;
-use yii_app\records\Products1c;
-
-/* @var $this yii\web\View */
-/* @var $model DynamicModel */
-/* @var $storeList array */
-/* @var $monthsList array */
-/* @var $result array */
-/* @var $totals array */
-/* @var $weeksData array */
-/* @var $weeksShareResult array */
-/* @var $weeksGoalResult array */
-/* @var array $weeksProductForecast */
-/* @var array $monthCategoryShare */
-
-?>
-
-<div class="control-species p-4">
-    <h1>Проверка списаний по видам</h1>
-
-    <?php $form = ActiveForm::begin(['method' => 'post']); ?>
-
-    <?= $form->field($model, 'storeId')
-    ->dropDownList($storeList, ['prompt' => 'Выберите магазин'])
-    ->label('Магазин') ?>
-
-    <?= $form->field($model, 'month')
-    ->dropDownList($monthsList, ['prompt' => 'Выберите месяц'])
-    ->label('Месяц') ?>
-
-    <?= $form->field($model, 'type')
-    ->radioList([
-    //'sales'    => 'Продажи',
-    'writeOffs'=> 'Списания',
-    ])
-    ->label('Тип данных') ?>
-
-
-    <div class="form-group">
-        <?= Html::submitButton('Отправить', ['class' => 'btn btn-primary']) ?>
-    </div>
-
-    <?php ActiveForm::end(); ?>
-
-
-    <?php if (!empty($weeksData)): ?>
-        <h2>Результаты расчетов списаний видов по неделям</h2>
-        <table class="table table-striped table-bordered">
-            <thead>
-            <tr>
-                <th>Категория</th>
-                <th>Категория сумма</th>
-                <th>Категория доля</th>
-                <th>Категория цель</th>
-                <th>Подкатегория</th>
-                <th>Подкатегория сумма</th>
-                <th>Подкатегория доля</th>
-                <th>Подкатегория цель</th>
-                <th>Вид</th>
-                <th>Вид сумма</th>
-                <th>Вид доля</th>
-                <th>Вид Цель месяца</th>
-                <th>Неделя</th>
-                <th>Сумма недели</th>
-                <th>Доля недели (%)</th>
-
-                <th>Цель недели</th>
-            </tr>
-            </thead>
-            <tbody>
-            <?php foreach ($weeksData as $r): ?>
-                <tr>
-                    <td><?= Html::encode($r['category']) ?>  </td>
-                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']]['total_sum_cat'] ?>
-                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']]['share_of_total'], 2) ?></td>
-                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']]['goal'] ?>
-                    <td><?= Html::encode($r['subcategory']) ?></td>
-                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['total_sum'] ?>
-                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['percent_of_month'], 2) ?></td>
-                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['goal'] ?>
-                    <td><?= Html::encode($r['species']) ?></td>
-                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']]['total_sum'] ?>
-                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']]['percent_of_month'], 2) ?></td>
-                    <td><?= $r['monthly_goal'] ?> </td>
-                    <td><?= $r['week'] ?>  неделя - начало <?= \yii_app\services\AutoPlannogrammaService::getIsoWeekStart((int)date('Y'), (int)$r['week']) ?></td>
-                    <td><?= $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']][$r['week']]['sumWeek'] ?>  </td>
-                    <td>
-                        <?php if ($r['percent'] === null): ?>
-                            &mdash;
-                        <?php else: ?>
-                            <?= Yii::$app->formatter->asPercent($r['percent'], 1) ?>
-                        <?php endif; ?>
-                    </td>
-
-                    <td><?= $r['weekly_goal'] ?>  </td>
-                </tr>
-            <?php endforeach; ?>
-            </tbody>
-        </table>
-    <?php endif; ?>
-    <?php if (!empty($weeksProductForecast)): ?>
-        <h2>Прогноз списаний товаров по неделям </h2>
-    <table class="table table-bordered table-striped">
-        <thead>
-        <tr>
-            <th>Категория</th>
-            <th>Подкатегория</th>
-            <th>Вид</th>
-            <th>Товар (ID)</th>
-            <th>Неделя</th>
-            <th>Цель</th>
-            <th>Цена</th>
-            <th>Прогноз</th>
-        </tr>
-        </thead>
-        <tbody>
-        <?php foreach ($weeksProductForecast as $row): ?>
-            <tr>
-                <td><?= Html::encode($row['category']) ?></td>
-                <td><?= Html::encode($row['subcategory']) ?></td>
-                <td><?= Html::encode($row['species']) ?></td>
-                <td>
-                    <?= Html::encode($row['name']) ?>
-                    <br><small class="text-muted">(<?= Html::encode($row['product_id']) ?>)</small>
-                </td>
-                <td><?= Html::encode($row['week']) ?></td>
-                <td><?= Html::encode($row['goal']) ?></td>
-                <td><?= Html::encode($row['price']) ?></td>
-                <td><?= Html::encode($row['forecast']) ?></td>
-            </tr>
-        <?php endforeach; ?>
-        </tbody>
-    </table>
-    <?php endif; ?>
-</div>
diff --git a/erp24/views/auto-plannogramma/control-species.phpld b/erp24/views/auto-plannogramma/control-species.phpld
new file mode 100644 (file)
index 0000000..98e8023
--- /dev/null
@@ -0,0 +1,141 @@
+<?php
+
+use yii\helpers\Html;
+use yii\widgets\ActiveForm;
+use yii\base\DynamicModel;
+use yii_app\records\CityStore;
+use yii_app\records\PricesDynamic;
+use yii_app\records\Products1c;
+
+/* @var $this yii\web\View */
+/* @var $model DynamicModel */
+/* @var $storeList array */
+/* @var $monthsList array */
+/* @var $result array */
+/* @var $totals array */
+/* @var $weeksData array */
+/* @var $weeksShareResult array */
+/* @var $weeksGoalResult array */
+/* @var array $weeksProductForecast */
+/* @var array $monthCategoryShare */
+
+?>
+
+<div class="control-species p-4">
+    <h1>Проверка списаний по видам</h1>
+
+    <?php $form = ActiveForm::begin(['method' => 'post']); ?>
+
+    <?= $form->field($model, 'storeId')
+    ->dropDownList($storeList, ['prompt' => 'Выберите магазин'])
+    ->label('Магазин') ?>
+
+    <?= $form->field($model, 'month')
+    ->dropDownList($monthsList, ['prompt' => 'Выберите месяц'])
+    ->label('Месяц') ?>
+
+    <?= $form->field($model, 'type')
+    ->radioList([
+    //'sales'    => 'Продажи',
+    'writeOffs'=> 'Списания',
+    ])
+    ->label('Тип данных') ?>
+
+
+    <div class="form-group">
+        <?= Html::submitButton('Отправить', ['class' => 'btn btn-primary']) ?>
+    </div>
+
+    <?php ActiveForm::end(); ?>
+
+
+    <?php if (!empty($weeksData)): ?>
+        <h2>Результаты расчетов списаний видов по неделям</h2>
+        <table class="table table-striped table-bordered">
+            <thead>
+            <tr>
+                <th>Категория</th>
+                <th>Категория сумма</th>
+                <th>Категория доля</th>
+                <th>Категория цель</th>
+                <th>Подкатегория</th>
+                <th>Подкатегория сумма</th>
+                <th>Подкатегория доля</th>
+                <th>Подкатегория цель</th>
+                <th>Вид</th>
+                <th>Вид сумма</th>
+                <th>Вид доля</th>
+                <th>Вид Цель месяца</th>
+                <th>Неделя</th>
+                <th>Сумма недели</th>
+                <th>Доля недели (%)</th>
+
+                <th>Цель недели</th>
+            </tr>
+            </thead>
+            <tbody>
+            <?php foreach ($weeksData as $r): ?>
+                <tr>
+                    <td><?= Html::encode($r['category']) ?>  </td>
+                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']]['total_sum_cat'] ?>
+                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']]['share_of_total'], 2) ?></td>
+                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']]['goal'] ?>
+                    <td><?= Html::encode($r['subcategory']) ?></td>
+                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['total_sum'] ?>
+                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['percent_of_month'], 2) ?></td>
+                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']]['goal'] ?>
+                    <td><?= Html::encode($r['species']) ?></td>
+                    <td><?=  $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']]['total_sum'] ?>
+                    <td><?=  Yii::$app->formatter->asPercent($monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']]['percent_of_month'], 2) ?></td>
+                    <td><?= $r['monthly_goal'] ?> </td>
+                    <td><?= $r['week'] ?>  неделя - начало <?= \yii_app\services\AutoPlannogrammaService::getIsoWeekStart((int)date('Y'), (int)$r['week']) ?></td>
+                    <td><?= $monthCategoryShare[$model->storeId][$r['category']][$r['subcategory']][$r['species']][$r['week']]['sumWeek'] ?>  </td>
+                    <td>
+                        <?php if ($r['percent'] === null): ?>
+                            &mdash;
+                        <?php else: ?>
+                            <?= Yii::$app->formatter->asPercent($r['percent'], 1) ?>
+                        <?php endif; ?>
+                    </td>
+
+                    <td><?= $r['weekly_goal'] ?>  </td>
+                </tr>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+    <?php endif; ?>
+    <?php if (!empty($weeksProductForecast)): ?>
+        <h2>Прогноз списаний товаров по неделям </h2>
+    <table class="table table-bordered table-striped">
+        <thead>
+        <tr>
+            <th>Категория</th>
+            <th>Подкатегория</th>
+            <th>Вид</th>
+            <th>Товар (ID)</th>
+            <th>Неделя</th>
+            <th>Цель</th>
+            <th>Цена</th>
+            <th>Прогноз</th>
+        </tr>
+        </thead>
+        <tbody>
+        <?php foreach ($weeksProductForecast as $row): ?>
+            <tr>
+                <td><?= Html::encode($row['category']) ?></td>
+                <td><?= Html::encode($row['subcategory']) ?></td>
+                <td><?= Html::encode($row['species']) ?></td>
+                <td>
+                    <?= Html::encode($row['name']) ?>
+                    <br><small class="text-muted">(<?= Html::encode($row['product_id']) ?>)</small>
+                </td>
+                <td><?= Html::encode($row['week']) ?></td>
+                <td><?= Html::encode($row['goal']) ?></td>
+                <td><?= Html::encode($row['price']) ?></td>
+                <td><?= Html::encode($row['forecast']) ?></td>
+            </tr>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+    <?php endif; ?>
+</div>