]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Правки контроллера и представления origin/feature_fomichev_erp-366_calculate_history_share_product_species
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 10 Apr 2025 09:41:40 +0000 (12:41 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Thu, 10 Apr 2025 09:41:40 +0000 (12:41 +0300)
erp24/controllers/CategoryPlanController.php
erp24/views/category-plan/show-history-data.php
erp24/web/js/category-plan/show-history-data.js [new file with mode: 0644]

index 5e9cad1f1f814b4a5cc3cb0f94886bcd89105585..b2b52b9dd74b709d8974934721bcba2fbac2303b 100644 (file)
@@ -9,6 +9,7 @@ use yii\helpers\ArrayHelper;
 use yii\helpers\Json;
 use yii\web\Controller;
 use yii\web\Response;
+use yii_app\helpers\HtmlHelper;
 use yii_app\records\CategoryPlan;
 use yii_app\records\CityStore;
 use yii_app\records\CityStoreParams;
@@ -248,9 +249,11 @@ class CategoryPlanController extends Controller {
         $internet_shop = $data['internet_shop'];
         $write_offs = $data['write_offs'];
 
-        $categoryPlan = CategoryPlan::find()->where(['year' => $year, 'month' => $month, 'store_id' => $storeId, 'category' => $productType])->one();
+        $categoryPlan = CategoryPlan::find()
+            ->where(['year' => $year, 'month' => $month, 'store_id' => $storeId, 'category' => $productType])
+            ->one();
         if (!$categoryPlan) {
-            $categoryPlan = new CategoryPlan;
+            $categoryPlan = new CategoryPlan();
             $categoryPlan->year = $year;
             $categoryPlan->month = $month;
             $categoryPlan->store_id = $storeId;
@@ -281,20 +284,7 @@ class CategoryPlanController extends Controller {
             'name'
         );
 
-        $monthsList = [
-            '01' => 'Январь',
-            '02' => 'Февраль',
-            '03' => 'Март',
-            '04' => 'Апрель',
-            '05' => 'Май',
-            '06' => 'Июнь',
-            '07' => 'Июль',
-            '08' => 'Август',
-            '09' => 'Сентябрь',
-            '10' => 'Октябрь',
-            '11' => 'Ноябрь',
-            '12' => 'Декабрь',
-        ];
+        $monthsList = HtmlHelper::getMonthNames();
 
         $categoryList = ArrayHelper::map(
             Products1cNomenclature::find()->select('category')->distinct()->orderBy('category')->asArray()->all(),
@@ -340,9 +330,15 @@ class CategoryPlanController extends Controller {
                     $storeId       = $post['DynamicModel']['storeId'];
                     $selectedMonth = $post['DynamicModel']['month'];
                     $category      = $post['DynamicModel']['category'];
-                    $subcategory   = !empty($post['DynamicModel']['subcategory']) ? $post['DynamicModel']['subcategory'] : null;
-                    $species       = !empty($post['DynamicModel']['species']) ? $post['DynamicModel']['species'] : null;
+                    $subcategory   = !empty($post['DynamicModel']['subcategory']) ?
+                        $post['DynamicModel']['subcategory'] :
+                        null;
+                    $species       = !empty($post['DynamicModel']['species']) ?
+                        $post['DynamicModel']['species'] :
+                        null;
                     $selectedYear = date('Y');
+                    $model->subcategory = $subcategory;
+                    $model->species =  $species;
                     $result = StorePlanService::calculateHistoricalShare(
                         $storeId,
                         $selectedMonth,
index 4e50e4758695437a5649bd7749611b4d28dee92a..fc030f303b030a1ad38400e55478619d4c11a12a 100644 (file)
@@ -1,14 +1,11 @@
 <?php
+
 use yii\helpers\Html;
-use yii\helpers\ArrayHelper;
 use yii\widgets\ActiveForm;
 use yii\base\DynamicModel;
 use yii_app\records\CityStore;
 use yii_app\records\PricesDynamic;
 use yii_app\records\Products1c;
-use yii_app\records\Products1cNomenclature;
-
-
 
 /* @var $this yii\web\View */
 /* @var $result array|null */
@@ -55,49 +52,12 @@ use yii_app\records\Products1cNomenclature;
     <?php ActiveForm::end(); ?>
 
     <?php
-    $script = <<< JS
-    $('#dynamicmodel-category').on('change', function(){
-        var category = $(this).val();
-        $.ajax({
-            url: '/category-plan/get-subcategories',
-            data: {category: category},
-            success: function(data) {
-                var subcat = $('#dynamicmodel-subcategory');
-                subcat.empty();
-                subcat.append('<option value="">Выберите подкатегорию</option>');
-                $.each(data, function(i, item) {
-                    subcat.append('<option value="'+item.id+'">'+item.name+'</option>');
-                });
-                var species = $('#dynamicmodel-species');
-                species.empty();
-                species.append('<option value="">Выберите вид товара</option>');
-            }
-        });
-    });
-    
-    $('#dynamicmodel-subcategory').on('change', function(){
-        var subcategory = $(this).val();
-        $.ajax({
-            url: '/category-plan/get-species',
-            data: {subcategory: subcategory},
-            success: function(data) {
-                var species = $('#dynamicmodel-species');
-                species.empty();
-                species.append('<option value="">Выберите вид товара</option>');
-                $.each(data, function(i, item) {
-                    species.append('<option value="'+item.id+'">'+item.name+'</option>');
-                });
-            }
-        });
-    });
-JS;
-    $this->registerJs($script);
+    $this->registerJsFile('/js/category-plan/show-history-data.js', ['position' => \yii\web\View::POS_END]);
     ?>
 
 
 <?php if ($result !== null): ?>
-
-    <h2>Товары с историей продаж</h2>
+    <h2>Товары с историей продаж <?=$model->category ?> - <?=$model->subcategory ?> - <?=$model->species ?></h2>
     <?php if (!empty($result['with_history'])): ?>
         <table class="table table-bordered">
             <thead>
@@ -161,7 +121,7 @@ JS;
         <p>Нет товаров с историей продаж.</p>
     <?php endif; ?>
 
-    <h2>Товары без истории продаж</h2>
+    <h2>Товары без истории продаж <?=$model->category ?> - <?=$model->subcategory ?> - <?=$model->species ?></h2>
     <?php if (!empty($result['without_history'])): ?>
         <table class="table table-bordered">
             <thead>
diff --git a/erp24/web/js/category-plan/show-history-data.js b/erp24/web/js/category-plan/show-history-data.js
new file mode 100644 (file)
index 0000000..bd630fd
--- /dev/null
@@ -0,0 +1,36 @@
+$(document).ready(() => {
+    $('#dynamicmodel-category').on('change', function(){
+        var category = $(this).val();
+        $.ajax({
+            url: '/category-plan/get-subcategories',
+            data: {category: category},
+            success: function(data) {
+                var subcat = $('#dynamicmodel-subcategory');
+                subcat.empty();
+                subcat.append('<option value="">Выберите подкатегорию</option>');
+                $.each(data, function(i, item) {
+                    subcat.append('<option value="'+item.id+'">'+item.name+'</option>');
+                });
+                var species = $('#dynamicmodel-species');
+                species.empty();
+                species.append('<option value="">Выберите вид товара</option>');
+            }
+        });
+    });
+
+    $('#dynamicmodel-subcategory').on('change', function(){
+        var subcategory = $(this).val();
+        $.ajax({
+            url: '/category-plan/get-species',
+            data: {subcategory: subcategory},
+            success: function(data) {
+                var species = $('#dynamicmodel-species');
+                species.empty();
+                species.append('<option value="">Выберите вид товара</option>');
+                $.each(data, function(i, item) {
+                    species.append('<option value="'+item.id+'">'+item.name+'</option>');
+                });
+            }
+        });
+    });
+});