diff --git a/hesabixCore/src/Controller/SellController.php b/hesabixCore/src/Controller/SellController.php index 6e7b374..a20ee7f 100644 --- a/hesabixCore/src/Controller/SellController.php +++ b/hesabixCore/src/Controller/SellController.php @@ -233,14 +233,6 @@ class SellController extends AbstractController $doc->setCode($provider->getAccountingCode($acc['bid'], 'accounting')); // Set approval fields based on business settings - $business = $acc['bid']; - if ($business->isRequireTwoStepApproval()) { - $doc->setIsPreview(true); - $doc->setIsApproved(false); - } else { - $doc->setIsPreview(false); - $doc->setIsApproved(true); - } } if ($params['transferCost'] != 0) { $hesabdariRow = new HesabdariRow(); @@ -1303,8 +1295,17 @@ class SellController extends AbstractController $paymentDoc->setDate($params['invoiceDate']); $paymentDoc->setDes($payment['description'] ?? 'دریافت وجه فاکتور فروش شماره ' . $doc->getCode()); $paymentDoc->setAmount($payment['amount']); - $paymentDoc->setIsPreview(true); - $paymentDoc->setIsApproved(false); + + $business = $entityManager->getRepository(Business::class)->find($acc['bid']); + $businessRequire = $business && method_exists($business, 'isRequireTwoStepApproval') ? (bool)$business->isRequireTwoStepApproval() : false; + if ($businessRequire) { + $paymentDoc->setIsPreview(true); + $paymentDoc->setIsApproved(false); + $paymentDoc->setApprovedBy(null); + } else { + $paymentDoc->setIsPreview(false); + $paymentDoc->setIsApproved(true); + } // ایجاد ارتباط با فاکتور اصلی $doc->addRelatedDoc($paymentDoc); @@ -1364,14 +1365,6 @@ class SellController extends AbstractController $receiveRow->setPerson($person); $entityManager->persist($receiveRow); - // Two-step approval برای دریافت/پرداخت - // $business = $entityManager->getRepository(\App\Entity\Business::class)->find($acc['bid']); - // $businessRequire = $business && method_exists($business, 'isRequireTwoStepApproval') ? (bool)$business->isRequireTwoStepApproval() : false; - // if ($businessRequire) { - // $paymentDoc->setStatus('pending_approval'); - // } else { - // $paymentDoc->setStatus('approved'); - // } $entityManager->persist($paymentDoc); } $entityManager->flush();