From: marina Date: Tue, 27 May 2025 09:06:28 +0000 (+0300) Subject: ERP-417 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=f453f476fb64d0ac7abc948c7a62b2fa55306271;p=erp24_rep%2Fyii-erp24%2F.git ERP-417 --- diff --git a/erp24/controllers/WriteOffsErpController.php b/erp24/controllers/WriteOffsErpController.php index 5c0e94b3..1f987fda 100644 --- a/erp24/controllers/WriteOffsErpController.php +++ b/erp24/controllers/WriteOffsErpController.php @@ -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]);