diff --git a/hesabixCore/src/Controller/ExploreAccountsController.php b/hesabixCore/src/Controller/ExploreAccountsController.php index 10dc272..19af10b 100644 --- a/hesabixCore/src/Controller/ExploreAccountsController.php +++ b/hesabixCore/src/Controller/ExploreAccountsController.php @@ -51,7 +51,6 @@ class ExploreAccountsController extends AbstractController $page = $params['page'] ?? 1; $perPage = $params['perPage'] ?? 10; $offset = ($page - 1) * $perPage; - $dateFilter = $params['dateFilter'] ?? null; $nodeId = $params['node'] === 'root' ? $this->em->getRepository(HesabdariTable::class) @@ -81,7 +80,7 @@ class ExploreAccountsController extends AbstractController foreach ($children as $child) { $allNodes = $this->getAllDescendants($child, $acc); $allNodes[] = $child; - $rows = $this->getRowsForNodes($allNodes, $acc, $dateFilter); + $rows = $this->getRowsForNodes($allNodes, $acc); $output[] = $this->calculateTotals($rows, $child, $acc); } break; @@ -102,7 +101,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculateBankTotals($rows, $bankAccount, $node); } break; @@ -123,7 +122,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculateCashdeskTotals($rows, $cashdesk, $node); } break; @@ -144,7 +143,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculateSalaryTotals($rows, $salary, $node); } break; @@ -163,7 +162,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculatePersonTotals($rows, $person, $node); } break; @@ -182,7 +181,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculateCommodityTotals($rows, $commodity, $node); } break; @@ -201,7 +200,7 @@ class ExploreAccountsController extends AbstractController 'ref' => $node, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); $output[] = $this->calculateChequeTotals($rows, $cheque, $node); } break; @@ -242,7 +241,6 @@ class ExploreAccountsController extends AbstractController $page = max(1, (int) ($params['page'] ?? 1)); $perPage = max(1, (int) ($params['perPage'] ?? 10)); $offset = ($page - 1) * $perPage; - $dateFilter = $params['dateFilter'] ?? null; $rows = []; $totalItems = 0; @@ -267,14 +265,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('money', $acc['money']) ->setParameter('year', $acc['year']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -308,14 +298,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -349,14 +331,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -390,14 +364,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -430,14 +396,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -470,14 +428,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -510,14 +460,6 @@ class ExploreAccountsController extends AbstractController ->setParameter('year', $acc['year']) ->setParameter('money', $acc['money']); - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - $totalItems = (int) $qb->select('COUNT(r.id)') ->getQuery() ->getSingleScalarResult(); @@ -558,8 +500,6 @@ class ExploreAccountsController extends AbstractController throw $this->createNotFoundException('Required parameters (node, type, isObject) are missing'); } - $dateFilter = $params['dateFilter'] ?? null; - $node = $this->em->getRepository(HesabdariTable::class) ->findNode($params['upperID'] ?? $params['node'], $acc['bid']->getId()); if (!$node) { @@ -570,7 +510,7 @@ class ExploreAccountsController extends AbstractController if ($params['isObject'] === false) { $allNodes = $this->getAllDescendants($node, $acc); $allNodes[] = $node; - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.ref IN (:nodeIds)') ->andWhere('r.bid = :bid OR r.bid IS NULL') @@ -579,17 +519,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('nodeIds', array_map(fn($n) => $n->getId(), $allNodes)) ->setParameter('bid', $acc['bid']) ->setParameter('money', $acc['money']) - ->setParameter('year', $acc['year']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('year', $acc['year']) + ->getQuery() + ->getResult(); } else { switch ($params['type']) { case 'bank': @@ -601,7 +533,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Bank account not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.bank = :bank') ->andWhere('r.ref = :ref') @@ -612,17 +544,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; case 'cashdesk': @@ -634,7 +558,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Cashdesk not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.cashdesk = :cashdesk') ->andWhere('r.ref = :ref') @@ -645,17 +569,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; case 'salary': @@ -667,7 +583,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Salary not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.salary = :salary') ->andWhere('r.ref = :ref') @@ -678,17 +594,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; case 'person': @@ -699,7 +607,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Person not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.person = :person') ->andWhere('r.ref = :ref') @@ -710,17 +618,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; case 'commodity': @@ -731,7 +631,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Commodity not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.commodity = :commodity') ->andWhere('r.ref = :ref') @@ -742,17 +642,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; case 'cheque': @@ -763,7 +655,7 @@ class ExploreAccountsController extends AbstractController if (!$item) { throw $this->createNotFoundException('Cheque not found'); } - $qb = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') + $rows = $this->em->getRepository(HesabdariRow::class)->createQueryBuilder('r') ->innerJoin('r.doc', 'd') ->where('r.cheque = :cheque') ->andWhere('r.ref = :ref') @@ -774,17 +666,9 @@ class ExploreAccountsController extends AbstractController ->setParameter('ref', $node) ->setParameter('bid', $acc['bid']) ->setParameter('year', $acc['year']) - ->setParameter('money', $acc['money']); - - // اضافه کردن فیلتر تاریخ - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $qb->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - - $rows = $qb->getQuery()->getResult(); + ->setParameter('money', $acc['money']) + ->getQuery() + ->getResult(); break; default: @@ -857,14 +741,14 @@ class ExploreAccountsController extends AbstractController /** * پیدا کردن ردیف‌های مرتبط با نودها (برای type=calc) */ - private function getRowsForNodes(array $nodes, array $acc, ?array $dateFilter = null): array + private function getRowsForNodes(array $nodes, array $acc): array { $nodeIds = array_unique(array_map(fn($node) => $node->getId(), $nodes)); return $this->em->getRepository(HesabdariRow::class)->findByJoinMoney([ 'ref' => $nodeIds, 'bid' => $acc['bid'], 'year' => $acc['year'], - ], $acc['money'], $dateFilter); + ], $acc['money']); } /** diff --git a/hesabixCore/src/Repository/HesabdariRowRepository.php b/hesabixCore/src/Repository/HesabdariRowRepository.php index a1a741c..8c23356 100644 --- a/hesabixCore/src/Repository/HesabdariRowRepository.php +++ b/hesabixCore/src/Repository/HesabdariRowRepository.php @@ -33,7 +33,7 @@ class HesabdariRowRepository extends ServiceEntityRepository /** * پیدا کردن ردیف‌ها با جوین روی سند و فیلتر پول، با حذف تکرارها */ - public function findByJoinMoney(array $params, Money $money, ?array $dateFilter = null): array + public function findByJoinMoney(array $params, Money $money): array { $query = $this->createQueryBuilder('t') ->select('DISTINCT t') // حذف تکرارها با DISTINCT @@ -56,14 +56,6 @@ class HesabdariRowRepository extends ServiceEntityRepository } } - // اضافه کردن فیلتر تاریخ اگر موجود باشد - if ($dateFilter && isset($dateFilter['startDate']) && isset($dateFilter['endDate'])) { - $query->andWhere('d.date >= :startDate') - ->andWhere('d.date <= :endDate') - ->setParameter('startDate', $dateFilter['startDate']) - ->setParameter('endDate', $dateFilter['endDate']); - } - return $query->getQuery()->getResult(); } diff --git a/webUI/src/views/acc/component/reports/detailsBtn.vue b/webUI/src/views/acc/component/reports/detailsBtn.vue index 856eab9..73e043d 100755 --- a/webUI/src/views/acc/component/reports/detailsBtn.vue +++ b/webUI/src/views/acc/component/reports/detailsBtn.vue @@ -98,13 +98,6 @@ export default defineComponent({ type: Number, default: null, }, - dateFilter: { - type: Object, - default: () => ({ - startDate: '', - endDate: '', - }), - }, }, setup(props) { const { t } = useI18n(); @@ -130,24 +123,14 @@ export default defineComponent({ const loadData = async () => { loading.value = true; try { - const requestData = { + const response = await axios.post('/api/report/acc/get_details', { node: props.node, type: props.nodeType, isObject: props.isObject, upperId: props.upperId, page: serverOptions.value.page, perPage: serverOptions.value.rowsPerPage, - }; - - // اضافه کردن فیلتر تاریخ اگر موجود باشد - if (props.dateFilter && props.dateFilter.startDate && props.dateFilter.endDate) { - requestData.dateFilter = { - startDate: props.dateFilter.startDate, - endDate: props.dateFilter.endDate, - }; - } - - const response = await axios.post('/api/report/acc/get_details', requestData); + }); items.value = response.data.items || []; totalItems.value = response.data.pagination.totalItems || 0; serverOptions.value.page = response.data.pagination.currentPage || 1; @@ -163,24 +146,14 @@ export default defineComponent({ const exportToExcel = async () => { loading.value = true; try { - const requestData = { - node: props.node, - type: props.nodeType, - isObject: props.isObject, - upperId: props.upperId, - }; - - // اضافه کردن فیلتر تاریخ اگر موجود باشد - if (props.dateFilter && props.dateFilter.startDate && props.dateFilter.endDate) { - requestData.dateFilter = { - startDate: props.dateFilter.startDate, - endDate: props.dateFilter.endDate, - }; - } - const response = await axios.post( '/api/report/acc/export_details_excel', - requestData, + { + node: props.node, + type: props.nodeType, + isObject: props.isObject, + upperId: props.upperId, + }, { responseType: 'blob' } ); const url = window.URL.createObjectURL(new Blob([response.data])); @@ -206,13 +179,6 @@ export default defineComponent({ loadData(); }, { deep: true }); - // مشاهده تغییرات فیلتر تاریخ - watch(() => props.dateFilter, () => { - if (dialog.value) { - loadData(); - } - }, { deep: true }); - return { loading, dialog, diff --git a/webUI/src/views/acc/reports/explore_accounts.vue b/webUI/src/views/acc/reports/explore_accounts.vue index 38c05e2..781fa88 100755 --- a/webUI/src/views/acc/reports/explore_accounts.vue +++ b/webUI/src/views/acc/reports/explore_accounts.vue @@ -30,105 +30,6 @@ - - - - - - - فیلتر بر اساس تاریخ - - فعال - - - - - - - - - - - - - - - - - - - اعمال فیلتر - اعمال - - - حذف - حذف - - - - - - @@ -150,7 +51,7 @@ >