]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-417
authormarina <m.zozirova@gmail.com>
Tue, 27 May 2025 09:06:28 +0000 (12:06 +0300)
committermarina <m.zozirova@gmail.com>
Tue, 27 May 2025 09:06:28 +0000 (12:06 +0300)
erp24/controllers/WriteOffsErpController.php

index 5c0e94b3c9575314776772e8d2f0f05070e6a673..1f987fda610157ef6e9f55b0ceeae4ee3cfcdf6e 100644 (file)
@@ -530,64 +530,60 @@ class WriteOffsErpController extends Controller
                 }
 
                 if ($validateAll) {
-
                     $transaction = \Yii::$app->db->beginTransaction();
                     try {
                         if ($flag = $model->save(false)) {
                             $writeOffsErpId = $model->getId();
 
-                            foreach ($modelsProducts as $keyModelProduct => $modelProduct) {
-                                var_dump($modelProduct);
+                            foreach ($modelsProducts as $modelProduct) {
                                 /** @var WriteOffsProductsErp $modelProduct */
                                 $modelProduct->setWriteOffsErpId($writeOffsErpId);
                                 $modelProduct->setCreatedAt();
-                                $validateRow = $modelProduct->validate();
+
+                                if (!$modelProduct->validate()) {
+                                    $transaction->rollBack();
+                                    var_dump($modelProduct->getErrors());
+                                    break; 
+                                }
+
                                 if (($flag = $modelProduct->save(false)) === false) {
                                     $transaction->rollBack();
                                     break;
                                 }
-                                // save files to product write off proof
-                                if (!empty($modelsProductsFiles)) {
-                                    var_dump(array_keys($modelsProductsFiles));
-                                    var_dump($keyModelProduct);
-                                    if (array_key_exists($keyModelProduct, $modelsProductsFiles)) {
-                                        $modelProductId = $modelProduct->getId();
-var_dump($modelProductId);die();
-                                        ImageDocumentLink::deleteCurrentLinkImage($writeOffsErpId, $modelProductId, $documentGroupId, $adminId);
-
-                                        $imageFilesArray = ArrayHelper::getValue($modelsProductsFiles, $keyModelProduct);
-                                        $imageFiles = ArrayHelper::getValue($imageFilesArray, 'imageFiles');
-                                        foreach ($imageFiles as $imageFile) {
-                                            if (Images::isImageFile($imageFile)) {
-                                                $image = new Images();
-                                                $imageId = $image->loadImage($imageFile);
-                                                $imageDocumentLink = new ImageDocumentLink();
-                                                $imageDocumentLink->setActive()
-                                                    ->setCreatedAt()
-                                                    ->setCreatedAdminId($adminId)
-                                                    ->setDocumentGroupId($documentGroupId)
-                                                    ->setDocumentId($writeOffsErpId)
-                                                    ->setDocumentItemId($modelProductId)
-                                                    ->setImageId($imageId);
-                                                $validate = $imageDocumentLink->validate();
-                                                if ($validate) {
-                                                    $imageDocumentLink->save();
-                                                }
-                                            }
-                                        }
 
+                                $modelProductId = $modelProduct->getId();
+
+                                if (!empty($modelsProductsFiles) && array_key_exists($modelProductId, $modelsProductsFiles)) {
+
+                                    $filesForProduct = $modelsProductsFiles[$modelProductId];
 
-                                        $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);
+                                    $imageFiles = ArrayHelper::getValue($filesForProduct, 'imageFiles', []);
+                                    foreach ($imageFiles as $imageFile) {
+                                        if (Images::isImageFile($imageFile)) {
+                                            $image = new Images();
+                                            $imageId = $image->loadImage($imageFile);
+
+                                            $imageDocumentLink = new ImageDocumentLink();
+                                            $imageDocumentLink->setActive()
+                                                ->setCreatedAt()
+                                                ->setCreatedAdminId($adminId)
+                                                ->setDocumentGroupId($documentGroupId)
+                                                ->setDocumentId($writeOffsErpId)
+                                                ->setDocumentItemId($modelProductId)
+                                                ->setImageId($imageId);
+
+                                            if ($imageDocumentLink->validate()) {
+                                                $imageDocumentLink->save();
+                                            }
                                         }
                                     }
-                                }
-
 
+                                    $videoFile = ArrayHelper::getValue($filesForProduct, 'videoFiles', []);
+                                    FileService::saveUploadedFile($videoFile, WriteOffsProductsErp::WRITE_OFFS_VIDEO, $modelProductId);
+                                }
                             }
                         }
+
                         if ($flag) {
                             $transaction->commit();
                             return $this->redirect(['/write-offs-erp/view', 'id' => $model->id]);