check promps for edit persons part with new changes in hesabdariDoc

This commit is contained in:
Hesabix 2025-08-19 18:26:18 +00:00
parent 77e0c5a975
commit 11cc70424d

View file

@ -304,8 +304,8 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { foreach ($rows as $row) {
//check for that calulate is in match money type //check for that calulate is in match money type and approved documents
if ($row->getDoc()->getMoney() == $acc['money']) { if ($row->getDoc()->getMoney() == $acc['money'] && $row->getDoc()->isApproved() === true) {
$bs += $row->getBs(); $bs += $row->getBs();
$bd += $row->getBd(); $bd += $row->getBd();
} }
@ -353,8 +353,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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['bs'] = $bs;
$temp['bd'] = $bd; $temp['bd'] = $bd;
@ -394,8 +397,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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]['bs'] = $bs;
$response[$key]['bd'] = $bd; $response[$key]['bd'] = $bd;
@ -440,8 +446,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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]['bs'] = $bs;
$response[$key]['bd'] = $bd; $response[$key]['bd'] = $bd;
@ -497,8 +506,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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]['bs'] = $bs;
$response[$key]['bd'] = $bd; $response[$key]['bd'] = $bd;
@ -543,8 +555,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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]['bs'] = $bs;
$response[$key]['bd'] = $bd; $response[$key]['bd'] = $bd;
@ -575,8 +590,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { 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]['bs'] = $bs;
$response[$key]['bd'] = $bd; $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(); $spreadsheet = new Spreadsheet();
$activeWorksheet = $spreadsheet->getActiveSheet(); $activeWorksheet = $spreadsheet->getActiveSheet();
$arrayEntity = [ $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( $pid = $provider->createPrint(
$acc['bid'], $acc['bid'],
$this->getUser(), $this->getUser(),
@ -831,10 +868,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_receive') ->setParameter('type', 'person_receive')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// اعمال فیلترهای جست‌وجو و تاریخ // اعمال فیلترهای جست‌وجو و تاریخ
if (isset($params['search']) && !empty($params['search'])) { if (isset($params['search']) && !empty($params['search'])) {
@ -1121,10 +1160,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_receive') ->setParameter('type', 'person_receive')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// جست‌وجو // جست‌وجو
if (!empty($search)) { if (!empty($search)) {
@ -1175,10 +1216,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_receive') ->setParameter('type', 'person_receive')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد // اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد
if (!empty($search)) { if (!empty($search)) {
@ -1376,6 +1419,7 @@ class PersonsController extends AbstractController
'type' => 'person_send', 'type' => 'person_send',
'year' => $acc['year'], 'year' => $acc['year'],
'money' => $acc['money'], 'money' => $acc['money'],
'isApproved' => true,
]); ]);
} else { } else {
$items = []; $items = [];
@ -1525,12 +1569,23 @@ class PersonsController extends AbstractController
'person' => $person, 'person' => $person,
'bid' => $acc['bid'] '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]); return $this->json(['result' => 2]);
//check for storeroom docs //check for storeroom docs
$storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([ $storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([
'bid' => $acc['bid'], 'bid' => $acc['bid'],
'Person' => $person 'Person' => $person,
'isApproved' => true
]); ]);
if (count($storeDocs) > 0) if (count($storeDocs) > 0)
return $this->json(['result' => 2]); return $this->json(['result' => 2]);
@ -1601,7 +1656,17 @@ class PersonsController extends AbstractController
'person' => $person, 'person' => $person,
'bid' => $acc['bid'] '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; $hasIgnored = true;
continue; continue;
} }
@ -1609,7 +1674,8 @@ class PersonsController extends AbstractController
// بررسی اسناد انبار // بررسی اسناد انبار
$storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([ $storeDocs = $entityManager->getRepository(StoreroomTicket::class)->findBy([
'bid' => $acc['bid'], 'bid' => $acc['bid'],
'Person' => $person 'Person' => $person,
'isApproved' => true
]); ]);
if (count($storeDocs) > 0) { if (count($storeDocs) > 0) {
$hasIgnored = true; $hasIgnored = true;
@ -1666,8 +1732,11 @@ class PersonsController extends AbstractController
$bs = 0; $bs = 0;
$bd = 0; $bd = 0;
foreach ($rows as $row) { foreach ($rows as $row) {
$bs += $row->getBs(); // فقط اسناد تایید شده را محاسبه کن
$bd += $row->getBd(); if ($row->getDoc()->isApproved() === true) {
$bs += $row->getBs();
$bd += $row->getBd();
}
} }
$response[$key] = [ $response[$key] = [
'code' => $person->getCode(), 'code' => $person->getCode(),
@ -1802,10 +1871,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_receive') ->setParameter('type', 'person_receive')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// اعمال فیلترهای جست‌وجو و تاریخ // اعمال فیلترهای جست‌وجو و تاریخ
if (isset($params['search']) && !empty($params['search'])) { if (isset($params['search']) && !empty($params['search'])) {
@ -1968,10 +2039,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_send') ->setParameter('type', 'person_send')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// اعمال فیلترهای جست‌وجو و تاریخ // اعمال فیلترهای جست‌وجو و تاریخ
if (isset($params['search']) && !empty($params['search'])) { if (isset($params['search']) && !empty($params['search'])) {
@ -2258,10 +2331,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_send') ->setParameter('type', 'person_send')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// جست‌وجو // جست‌وجو
if (!empty($search)) { if (!empty($search)) {
@ -2312,10 +2387,12 @@ class PersonsController extends AbstractController
->andWhere('d.type = :type') ->andWhere('d.type = :type')
->andWhere('d.year = :year') ->andWhere('d.year = :year')
->andWhere('d.money = :money') ->andWhere('d.money = :money')
->andWhere('d.isApproved = :isApproved')
->setParameter('bid', $acc['bid']) ->setParameter('bid', $acc['bid'])
->setParameter('type', 'person_send') ->setParameter('type', 'person_send')
->setParameter('year', $acc['year']) ->setParameter('year', $acc['year'])
->setParameter('money', $acc['money']); ->setParameter('money', $acc['money'])
->setParameter('isApproved', true);
// اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد // اعمال فیلترهای جست‌وجو و تاریخ برای کوئری تعداد
if (!empty($search)) { if (!empty($search)) {