From 888c76c63315f26859065be56eaf1ddd9dbb319b Mon Sep 17 00:00:00 2001 From: Babak Alizadeh Date: Mon, 9 Jun 2025 05:28:52 +0000 Subject: [PATCH] bug fix in sell mod --- hesabixCore/src/Controller/SellController.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hesabixCore/src/Controller/SellController.php b/hesabixCore/src/Controller/SellController.php index 1b28b7b..ee9d77a 100644 --- a/hesabixCore/src/Controller/SellController.php +++ b/hesabixCore/src/Controller/SellController.php @@ -158,9 +158,23 @@ class SellController extends AbstractController if (!$doc) return $this->json($extractor->notFound()); + // حذف سطرهای قبلی $rows = $doc->getHesabdariRows(); foreach ($rows as $row) $entityManager->remove($row); + + // حذف سندهای پرداخت قبلی + $relatedDocs = $doc->getRelatedDocs(); + foreach ($relatedDocs as $relatedDoc) { + if ($relatedDoc->getType() === 'sell_receive') { + $relatedRows = $relatedDoc->getHesabdariRows(); + foreach ($relatedRows as $row) { + $entityManager->remove($row); + } + $entityManager->remove($relatedDoc); + } + } + $entityManager->flush(); } else { $doc = new HesabdariDoc(); $doc->setBid($acc['bid']); @@ -892,6 +906,19 @@ class SellController extends AbstractController foreach ($rows as $row) { $entityManager->remove($row); } + + // حذف سندهای پرداخت قبلی + $relatedDocs = $doc->getRelatedDocs(); + foreach ($relatedDocs as $relatedDoc) { + if ($relatedDoc->getType() === 'sell_receive') { + $relatedRows = $relatedDoc->getHesabdariRows(); + foreach ($relatedRows as $row) { + $entityManager->remove($row); + } + $entityManager->remove($relatedDoc); + } + } + $entityManager->flush(); } else { // ایجاد فاکتور جدید $doc = new HesabdariDoc();