]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-399] refactor 2
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 15 Apr 2025 09:54:11 +0000 (12:54 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 15 Apr 2025 09:54:11 +0000 (12:54 +0300)
erp24/commands/MatrixErpController.php
erp24/records/MatrixErpPropertyDynamic.php

index 0f54014bbcea5d40f9484e72b58830f37df4069a..df6bc2ba6c2baea283fb5add747841d535d0ff8a 100644 (file)
@@ -26,9 +26,9 @@ class MatrixErpController extends Controller
         $products = MarketplaceService::getMarketplaceProducts();
 
         $matrixErpPropertyDynamicByGuid = [];
-        foreach (range(1,2) as $ind) {
-            $matrixErpPropertyDynamicByGuid[$ind] = MatrixErpPropertyDynamic::find()
-                ->where(['product_id' => ArrayHelper::getColumn($products, 'id'), 'category' => $ind])
+        foreach (MatrixErpPropertyDynamic::fieldByCategory() as $category => $field) {
+            $matrixErpPropertyDynamicByGuid[$category] = MatrixErpPropertyDynamic::find()
+                ->where(['product_id' => ArrayHelper::getColumn($products, 'id'), 'category' => $category])
                 ->indexBy('product_id')->asArray()->all();
         }
 
@@ -37,9 +37,9 @@ class MatrixErpController extends Controller
             if (in_array($product->id, array_keys($existingMapGuidGroupNames))
                 && (in_array('marketplace', $existingMapGuidGroupNames[$product->id]))) {
                 $matrixErp = $existingMapGuidMatrixErp[$product->id];
-                foreach (['components', 'articule'] as $fieldInd => $field) {
+                foreach (MatrixErpPropertyDynamic::fieldByCategory() as $category => $field) {
                     if ($matrixErp->$field != $product->$field) {
-                        $matrixErpPropertyDynamic1 = $matrixErpPropertyDynamicByGuid[$fieldInd + 1][$matrixErp->guid] ?? null;
+                        $matrixErpPropertyDynamic1 = $matrixErpPropertyDynamicByGuid[$category][$matrixErp->guid] ?? null;
                         /* @var MatrixErpPropertyDynamic $matrixErpPropertyDynamic1 */
                         if ($matrixErpPropertyDynamic1) {
                             $matrixErpPropertyDynamic1->date_end = date("Y-m-d H:i:s");
@@ -52,7 +52,7 @@ class MatrixErpController extends Controller
                         $matrixErpPropertyDynamic2 = new MatrixErpPropertyDynamic;
                         $matrixErpPropertyDynamic2->product_id = $matrixErp->guid;
                         $matrixErpPropertyDynamic2->value = $product->$field;
-                        $matrixErpPropertyDynamic2->category = $fieldInd + 1;
+                        $matrixErpPropertyDynamic2->category = $category;
                         $matrixErpPropertyDynamic2->date_from = date("Y-m-d H:i:s");
                         $matrixErpPropertyDynamic2->date_end = '2100-01-01 00:00:00';
                         $matrixErpPropertyDynamic2->save();
index f5b660ec0ec345e0720e63d80b6e1dbb984e90ba..e7f690befdb6baea10fd2cdee944f92ec7b25fea 100644 (file)
@@ -17,6 +17,12 @@ use Yii;
  */
 class MatrixErpPropertyDynamic extends \yii\db\ActiveRecord
 {
+    public static function fieldByCategory() {
+        return [
+            1 => 'components',
+            2 => 'articule',
+        ];
+    }
     /**
      * {@inheritdoc}
      */