]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-417
authormarina <m.zozirova@gmail.com>
Fri, 23 May 2025 13:48:40 +0000 (16:48 +0300)
committermarina <m.zozirova@gmail.com>
Fri, 23 May 2025 13:48:40 +0000 (16:48 +0300)
erp24/controllers/WriteOffsErpController.php
erp24/records/WriteOffsProductsErp.php

index d774b136a847154176b7d2aa926e84f30ea1aeb6..e986c295b43ec9ba28b8c6838883abd1d0063d29 100644 (file)
@@ -14,6 +14,7 @@ use yii_app\helpers\DataHelper;
 use yii_app\helpers\LoadFileHelper;
 use yii_app\records\Admin;
 use yii_app\records\CityStore;
+use yii_app\records\Files;
 use yii_app\records\ImageDocumentLink;
 use yii_app\records\Images;
 use yii_app\records\MultipleModel;
@@ -25,6 +26,7 @@ use yii\web\Controller;
 use yii\web\NotFoundHttpException;
 use yii\filters\VerbFilter;
 use yii_app\records\WriteOffsProductsErp;
+use yii_app\services\FileService;
 use yii_app\services\TimetableService;
 
 /**
@@ -805,7 +807,6 @@ class WriteOffsErpController extends Controller
 
             $writeOffsErpFiles = LoadFileHelper::getInstancesByName('WriteOffsErp', true);
 
-            var_dump($writeOffsErpFiles);die();
             if (!empty($writeOffsErpFiles)) {
                 $modelsProductsFiles = ArrayHelper::getValue($writeOffsErpFiles, 'modelsProducts');
             }
@@ -822,7 +823,7 @@ class WriteOffsErpController extends Controller
                             $transaction->rollBack();
                             break;
                         }
-                        // save files to product write off proof
+
                         if (!empty($modelsProductsFiles)) {
                             if (array_key_exists($keyModelProduct, $modelsProductsFiles)) {
                                 $modelProductId = $modelProduct->id;
@@ -831,8 +832,9 @@ class WriteOffsErpController extends Controller
                                     ImageDocumentLink::deleteCurrentLinkImage($writeOffsErpId, $modelProductId, $documentGroupId, $adminId);
                                 }
 
-                                $imageFilesArray = ArrayHelper::getValue($modelsProductsFiles, $keyModelProduct);
-                                $imageFiles = ArrayHelper::getValue($imageFilesArray, 'imageFiles');
+                                $productFilesArray = ArrayHelper::getValue($modelsProductsFiles, $keyModelProduct);
+
+                                $imageFiles = ArrayHelper::getValue($productFilesArray, 'imageFiles', []);
                                 foreach ($imageFiles as $imageFile) {
                                     if (Images::isImageFile($imageFile)) {
                                         $image = new Images();
@@ -845,16 +847,24 @@ class WriteOffsErpController extends Controller
                                             ->setDocumentId($writeOffsErpId)
                                             ->setDocumentItemId($modelProductId)
                                             ->setImageId($imageId);
-                                        $validate = $imageDocumentLink->validate();
-                                        if ($validate) {
+                                        if ($imageDocumentLink->validate()) {
                                             $imageDocumentLink->save();
                                         }
                                     }
                                 }
+
+                                $videoFile = ArrayHelper::getValue($productFilesArray, 'videoFiles');
+                                if ($videoFile) {
+                                    Files::findAll(['entity_id' => $writeOffsErpId, 'entity' => WriteOffsProductsErp::WRITE_OFFS_VIDEO]);
+                                    FileService::saveUploadedFile($videoFile, WriteOffsProductsErp::WRITE_OFFS_VIDEO, $modelProductId);
+                                }
                             }
                         }
                     }
                 }
+            if ($flag) {
+                $transaction->commit();
+            }
                 if ($flag) {
                     $transaction->commit();
                     return $this->redirect(['/write-offs-erp/view', 'id' => $model->id]);
index b2add008b2a8ae95ad84a5226b14206a1bee67a7..a327a6508a2b477e58e15bd2bf024762cb38045d 100644 (file)
@@ -33,6 +33,8 @@ use yii\helpers\ArrayHelper;
  */
 class WriteOffsProductsErp extends \yii\db\ActiveRecord
 {
+
+    public const WRITE_OFFS_VIDEO = 'write_offs_products_erp_video';
     /**
      * {@inheritdoc}
      */