From 11cc70424dce1f813a5640e4d5bd1e64e4225b1b Mon Sep 17 00:00:00 2001 From: Babak Alizadeh Date: Tue, 19 Aug 2025 18:26:18 +0000 Subject: [PATCH] check promps for edit persons part with new changes in hesabdariDoc --- .../src/Controller/PersonsController.php | 131 ++++++++++++++---- 1 file changed, 104 insertions(+), 27 deletions(-) diff --git a/hesabixCore/src/Controller/PersonsController.php b/hesabixCore/src/Controller/PersonsController.php index f237127..4102ef2 100644 --- a/hesabixCore/src/Controller/PersonsController.php +++ b/hesabixCore/src/Controller/PersonsController.php @@ -304,8 +304,8 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - //check for that calulate is in match money type - if ($row->getDoc()->getMoney() == $acc['money']) { + //check for that calulate is in match money type and approved documents + if ($row->getDoc()->getMoney() == $acc['money'] && $row->getDoc()->isApproved() === true) { $bs += $row->getBs(); $bd += $row->getBd(); } @@ -353,8 +353,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $temp['bs'] = $bs; $temp['bd'] = $bd; @@ -394,8 +397,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key]['bs'] = $bs; $response[$key]['bd'] = $bd; @@ -440,8 +446,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key]['bs'] = $bs; $response[$key]['bd'] = $bd; @@ -497,8 +506,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key]['bs'] = $bs; $response[$key]['bd'] = $bd; @@ -543,8 +555,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key]['bs'] = $bs; $response[$key]['bd'] = $bd; @@ -575,8 +590,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key]['bs'] = $bs; $response[$key]['bd'] = $bd; @@ -711,6 +729,15 @@ class PersonsController extends AbstractController } } } + + // فیلتر کردن فقط تراکنش‌های تایید شده + $approvedTransactions = []; + foreach ($transactions as $transaction) { + if ($transaction->getDoc()->isApproved() === true) { + $approvedTransactions[] = $transaction; + } + } + $transactions = $approvedTransactions; $spreadsheet = new Spreadsheet(); $activeWorksheet = $spreadsheet->getActiveSheet(); $arrayEntity = [ @@ -801,6 +828,16 @@ class PersonsController extends AbstractController } } } + + // فیلتر کردن فقط تراکنش‌های تایید شده + $approvedTransactions = []; + foreach ($transactions as $transaction) { + if ($transaction->getDoc()->isApproved() === true) { + $approvedTransactions[] = $transaction; + } + } + $transactions = $approvedTransactions; + $pid = $provider->createPrint( $acc['bid'], $this->getUser(), @@ -831,10 +868,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_receive') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // اعمال فیلترهای جست‌وجو و تاریخ if (isset($params['search']) && !empty($params['search'])) { @@ -1121,10 +1160,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_receive') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // جست‌وجو if (!empty($search)) { @@ -1175,10 +1216,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_receive') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد if (!empty($search)) { @@ -1376,6 +1419,7 @@ class PersonsController extends AbstractController 'type' => 'person_send', 'year' => $acc['year'], 'money' => $acc['money'], + 'isApproved' => true, ]); } else { $items = []; @@ -1525,12 +1569,23 @@ class PersonsController extends AbstractController 'person' => $person, 'bid' => $acc['bid'] ]); - if (count($rows) > 0) + + // بررسی فقط اسناد تایید شده + $hasApprovedDocs = false; + foreach ($rows as $row) { + if ($row->getDoc()->isApproved() === true) { + $hasApprovedDocs = true; + break; + } + } + + if ($hasApprovedDocs) return $this->json(['result' => 2]); //check for storeroom docs $storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([ 'bid' => $acc['bid'], - 'Person' => $person + 'Person' => $person, + 'isApproved' => true ]); if (count($storeDocs) > 0) return $this->json(['result' => 2]); @@ -1601,7 +1656,17 @@ class PersonsController extends AbstractController 'person' => $person, 'bid' => $acc['bid'] ]); - if (count($rows) > 0) { + + // بررسی فقط اسناد تایید شده + $hasApprovedDocs = false; + foreach ($rows as $row) { + if ($row->getDoc()->isApproved() === true) { + $hasApprovedDocs = true; + break; + } + } + + if ($hasApprovedDocs) { $hasIgnored = true; continue; } @@ -1609,7 +1674,8 @@ class PersonsController extends AbstractController // بررسی اسناد انبار $storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([ 'bid' => $acc['bid'], - 'Person' => $person + 'Person' => $person, + 'isApproved' => true ]); if (count($storeDocs) > 0) { $hasIgnored = true; @@ -1666,8 +1732,11 @@ class PersonsController extends AbstractController $bs = 0; $bd = 0; foreach ($rows as $row) { - $bs += $row->getBs(); - $bd += $row->getBd(); + // فقط اسناد تایید شده را محاسبه کن + if ($row->getDoc()->isApproved() === true) { + $bs += $row->getBs(); + $bd += $row->getBd(); + } } $response[$key] = [ 'code' => $person->getCode(), @@ -1802,10 +1871,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_receive') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // اعمال فیلترهای جست‌وجو و تاریخ if (isset($params['search']) && !empty($params['search'])) { @@ -1968,10 +2039,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_send') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // اعمال فیلترهای جست‌وجو و تاریخ if (isset($params['search']) && !empty($params['search'])) { @@ -2258,10 +2331,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_send') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // جست‌وجو if (!empty($search)) { @@ -2312,10 +2387,12 @@ class PersonsController extends AbstractController ->andWhere('d.type = :type') ->andWhere('d.year = :year') ->andWhere('d.money = :money') + ->andWhere('d.isApproved = :isApproved') ->setParameter('bid', $acc['bid']) ->setParameter('type', 'person_send') ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); + ->setParameter('money', $acc['money']) + ->setParameter('isApproved', true); // اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد if (!empty($search)) {