more bug fix in controllers
This commit is contained in:
parent
2dde89e03c
commit
ef17ba4d78
|
@ -47,9 +47,17 @@ class BankController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bank' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bank = :bank')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bank', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -95,9 +103,17 @@ class BankController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bank' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bank = :bank')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bank', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -212,8 +228,17 @@ class BankController extends AbstractController
|
||||||
$bank = $entityManager->getRepository(BankAccount::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
$bank = $entityManager->getRepository(BankAccount::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
||||||
if (!$bank)
|
if (!$bank)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
//check accounting docs
|
//check accounting docs - include both approved and preview documents for deletion check
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findby(['bid' => $acc['bid'], 'bank' => $bank]);
|
$rows = $entityManager->createQueryBuilder()
|
||||||
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.bank = :bank')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('bank', $bank)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
if (count($rows) > 0)
|
if (count($rows) > 0)
|
||||||
return $this->json(['result' => 2]);
|
return $this->json(['result' => 2]);
|
||||||
if ($acc['bid']->getWalletMatchBank()) {
|
if ($acc['bid']->getWalletMatchBank()) {
|
||||||
|
@ -245,9 +270,17 @@ class BankController extends AbstractController
|
||||||
|
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bank' => $bank
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bank = :bank')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bank', $bank)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
|
@ -285,11 +318,20 @@ class BankController extends AbstractController
|
||||||
$query = $entityManager->createQueryBuilder()
|
$query = $entityManager->createQueryBuilder()
|
||||||
->select('r')
|
->select('r')
|
||||||
->from(HesabdariRow::class, 'r')
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
->where('r.bank = :bank')
|
->where('r.bank = :bank')
|
||||||
->andWhere('r.bid = :bid')
|
->andWhere('r.bid = :bid')
|
||||||
->setParameter('bank', $bank)
|
->setParameter('bank', $bank)
|
||||||
->setParameter('bid', $acc['bid']);
|
->setParameter('bid', $acc['bid']);
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($params['startDate']) && isset($params['endDate'])) {
|
if (isset($params['startDate']) && isset($params['endDate'])) {
|
||||||
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
||||||
->setParameter('startDate', $params['startDate'])
|
->setParameter('startDate', $params['startDate'])
|
||||||
|
@ -327,12 +369,29 @@ class BankController extends AbstractController
|
||||||
$bank = $entityManager->getRepository(BankAccount::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
$bank = $entityManager->getRepository(BankAccount::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
||||||
if (!$bank)
|
if (!$bank)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'bank' => $bank,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year'=>$acc['year']
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.bank = :bank')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('bank', $bank)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
foreach ($params['items'] as $param) {
|
foreach ($params['items'] as $param) {
|
||||||
|
@ -343,10 +402,13 @@ class BankController extends AbstractController
|
||||||
'year' => $acc['year']
|
'year' => $acc['year']
|
||||||
]);
|
]);
|
||||||
if ($prs) {
|
if ($prs) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $prs->getDoc()->isApproved()) {
|
||||||
$transactions[] = $prs;
|
$transactions[] = $prs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$spreadsheet = new Spreadsheet();
|
$spreadsheet = new Spreadsheet();
|
||||||
$activeWorksheet = $spreadsheet->getActiveSheet();
|
$activeWorksheet = $spreadsheet->getActiveSheet();
|
||||||
$arrayEntity = [
|
$arrayEntity = [
|
||||||
|
@ -397,12 +459,28 @@ class BankController extends AbstractController
|
||||||
if (!$bank)
|
if (!$bank)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'bank' => $bank,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year'=>$acc['year']
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.bank = :bank')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('bank', $bank)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
foreach ($params['items'] as $param) {
|
foreach ($params['items'] as $param) {
|
||||||
|
@ -413,10 +491,13 @@ class BankController extends AbstractController
|
||||||
'year'=>$acc['year']
|
'year'=>$acc['year']
|
||||||
]);
|
]);
|
||||||
if ($prs) {
|
if ($prs) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $prs->getDoc()->isApproved()) {
|
||||||
$transactions[] = $prs;
|
$transactions[] = $prs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$pid = $provider->createPrint(
|
$pid = $provider->createPrint(
|
||||||
$acc['bid'],
|
$acc['bid'],
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
|
|
|
@ -49,9 +49,17 @@ class CashdeskController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'cashdesk' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.cashdesk = :cashdesk')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('cashdesk', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -131,8 +139,17 @@ class CashdeskController extends AbstractController
|
||||||
$cashdesk = $entityManager->getRepository(Cashdesk::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
$cashdesk = $entityManager->getRepository(Cashdesk::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
||||||
if (!$cashdesk)
|
if (!$cashdesk)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
//check accounting docs
|
//check accounting docs - include both approved and preview documents for deletion check
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findby(['bid' => $acc['bid'], 'cashdesk' => $cashdesk]);
|
$rows = $entityManager->createQueryBuilder()
|
||||||
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.cashdesk = :cashdesk')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('cashdesk', $cashdesk)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
if (count($rows) > 0)
|
if (count($rows) > 0)
|
||||||
return $this->json(['result' => 2]);
|
return $this->json(['result' => 2]);
|
||||||
|
|
||||||
|
@ -177,9 +194,17 @@ class CashdeskController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'cashdesk' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.cashdesk = :cashdesk')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('cashdesk', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -211,9 +236,23 @@ class CashdeskController extends AbstractController
|
||||||
|
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'cashdesk' => $cashdesk
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.cashdesk = :cashdesk')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->andWhere('r.bid = :bid')
|
||||||
|
->andWhere('r.money = :money')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('cashdesk', $cashdesk)
|
||||||
|
->setParameter('year', $acc['year'])
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('money', $acc['money'])
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
|
@ -251,11 +290,20 @@ class CashdeskController extends AbstractController
|
||||||
$query = $entityManager->createQueryBuilder()
|
$query = $entityManager->createQueryBuilder()
|
||||||
->select('r')
|
->select('r')
|
||||||
->from(HesabdariRow::class, 'r')
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
->where('r.cashdesk = :cashdesk')
|
->where('r.cashdesk = :cashdesk')
|
||||||
->andWhere('r.bid = :bid')
|
->andWhere('r.bid = :bid')
|
||||||
->setParameter('cashdesk', $cashdesk)
|
->setParameter('cashdesk', $cashdesk)
|
||||||
->setParameter('bid', $acc['bid']);
|
->setParameter('bid', $acc['bid']);
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($params['startDate']) && isset($params['endDate'])) {
|
if (isset($params['startDate']) && isset($params['endDate'])) {
|
||||||
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
||||||
->setParameter('startDate', $params['startDate'])
|
->setParameter('startDate', $params['startDate'])
|
||||||
|
@ -293,12 +341,29 @@ class CashdeskController extends AbstractController
|
||||||
$cashdesk = $entityManager->getRepository(Cashdesk::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
$cashdesk = $entityManager->getRepository(Cashdesk::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
||||||
if (!$cashdesk)
|
if (!$cashdesk)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'cashdesk' => $cashdesk,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year'=>$acc['year']
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.cashdesk = :cashdesk')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('cashdesk', $cashdesk)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
foreach ($params['items'] as $param) {
|
foreach ($params['items'] as $param) {
|
||||||
|
@ -309,10 +374,13 @@ class CashdeskController extends AbstractController
|
||||||
'year' => $acc['year']
|
'year' => $acc['year']
|
||||||
]);
|
]);
|
||||||
if ($prs) {
|
if ($prs) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $prs->getDoc()->isApproved()) {
|
||||||
$transactions[] = $prs;
|
$transactions[] = $prs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$spreadsheet = new Spreadsheet();
|
$spreadsheet = new Spreadsheet();
|
||||||
$activeWorksheet = $spreadsheet->getActiveSheet();
|
$activeWorksheet = $spreadsheet->getActiveSheet();
|
||||||
$arrayEntity = [
|
$arrayEntity = [
|
||||||
|
@ -370,12 +438,28 @@ class CashdeskController extends AbstractController
|
||||||
if (!$cashdesk)
|
if (!$cashdesk)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'cashdesk' => $cashdesk,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year'=>$acc['year']
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.cashdesk = :cashdesk')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('cashdesk', $cashdesk)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
foreach ($params['items'] as $param) {
|
foreach ($params['items'] as $param) {
|
||||||
|
@ -386,10 +470,13 @@ class CashdeskController extends AbstractController
|
||||||
'year'=>$acc['year']
|
'year'=>$acc['year']
|
||||||
]);
|
]);
|
||||||
if ($prs) {
|
if ($prs) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $prs->getDoc()->isApproved()) {
|
||||||
$transactions[] = $prs;
|
$transactions[] = $prs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$pid = $provider->createPrint(
|
$pid = $provider->createPrint(
|
||||||
$acc['bid'],
|
$acc['bid'],
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
|
|
|
@ -133,10 +133,19 @@ class CommodityController extends AbstractController
|
||||||
$data = array_map(function (Commodity $item) use ($entityManager, $acc, $explore) {
|
$data = array_map(function (Commodity $item) use ($entityManager, $acc, $explore) {
|
||||||
$temp = $explore::ExploreCommodity($item);
|
$temp = $explore::ExploreCommodity($item);
|
||||||
if (!$item->isKhadamat()) {
|
if (!$item->isKhadamat()) {
|
||||||
$rows = $entityManager->getRepository('App\Entity\HesabdariRow')->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $item
|
->select('r')
|
||||||
]);
|
->from('App\Entity\HesabdariRow', 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $item)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() === 'buy' || $row->getDoc()->getType() === 'open_balance') {
|
if ($row->getDoc()->getType() === 'buy' || $row->getDoc()->getType() === 'open_balance') {
|
||||||
|
@ -184,10 +193,19 @@ class CommodityController extends AbstractController
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$temp = Explore::ExploreCommodity($item);
|
$temp = Explore::ExploreCommodity($item);
|
||||||
if (!$item->isKhadamat()) {
|
if (!$item->isKhadamat()) {
|
||||||
$rows = $entityManager->getRepository('App\Entity\HesabdariRow')->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $item
|
->select('r')
|
||||||
]);
|
->from('App\Entity\HesabdariRow', 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $item)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() === 'buy' || $row->getDoc()->getType() === 'open_balance') {
|
if ($row->getDoc()->getType() === 'buy' || $row->getDoc()->getType() === 'open_balance') {
|
||||||
|
@ -288,10 +306,19 @@ class CommodityController extends AbstractController
|
||||||
if ($item->isKhadamat()) {
|
if ($item->isKhadamat()) {
|
||||||
$temp['count'] = 0;
|
$temp['count'] = 0;
|
||||||
} else {
|
} else {
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $item
|
->select('r')
|
||||||
]);
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $item)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() == 'buy') {
|
if ($row->getDoc()->getType() == 'buy') {
|
||||||
|
@ -356,10 +383,19 @@ class CommodityController extends AbstractController
|
||||||
if ($item->isKhadamat()) {
|
if ($item->isKhadamat()) {
|
||||||
$temp['count'] = 0;
|
$temp['count'] = 0;
|
||||||
} else {
|
} else {
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $item
|
->select('r')
|
||||||
]);
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $item)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() == 'buy') {
|
if ($row->getDoc()->getType() == 'buy') {
|
||||||
|
@ -452,10 +488,19 @@ class CommodityController extends AbstractController
|
||||||
if ($item->isKhadamat()) {
|
if ($item->isKhadamat()) {
|
||||||
$temp['count'] = 0;
|
$temp['count'] = 0;
|
||||||
} else {
|
} else {
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $item
|
->select('r')
|
||||||
]);
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $item)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() == 'buy') {
|
if ($row->getDoc()->getType() == 'buy') {
|
||||||
|
@ -651,10 +696,19 @@ class CommodityController extends AbstractController
|
||||||
if ($data->isKhadamat()) {
|
if ($data->isKhadamat()) {
|
||||||
$res['count'] = 0;
|
$res['count'] = 0;
|
||||||
} else {
|
} else {
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'bid' => $acc['bid'],
|
$rows = $entityManager->createQueryBuilder()
|
||||||
'commodity' => $data
|
->select('r')
|
||||||
]);
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
if ($row->getDoc()->getType() == 'buy') {
|
if ($row->getDoc()->getType() == 'buy') {
|
||||||
$count += $row->getCommdityCount();
|
$count += $row->getCommdityCount();
|
||||||
|
@ -1320,8 +1374,17 @@ class CommodityController extends AbstractController
|
||||||
throw $this->createNotFoundException('کالا یافت نشد');
|
throw $this->createNotFoundException('کالا یافت نشد');
|
||||||
}
|
}
|
||||||
|
|
||||||
// بررسی اسناد حسابداری
|
// بررسی اسناد حسابداری - include both approved and preview documents for deletion check
|
||||||
$docs = $entityManager->getRepository(HesabdariRow::class)->findBy(['bid' => $acc['bid'], 'commodity' => $commodity]);
|
$docs = $entityManager->createQueryBuilder()
|
||||||
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $commodity)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
if (count($docs) > 0) {
|
if (count($docs) > 0) {
|
||||||
return $this->json(['result' => 2, 'message' => 'این کالا در اسناد حسابداری استفاده شده و قابل حذف نیست']);
|
return $this->json(['result' => 2, 'message' => 'این کالا در اسناد حسابداری استفاده شده و قابل حذف نیست']);
|
||||||
}
|
}
|
||||||
|
@ -1371,7 +1434,17 @@ class CommodityController extends AbstractController
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$docs = $entityManager->getRepository(HesabdariRow::class)->findBy(['bid' => $acc['bid'], 'commodity' => $commodity]);
|
// بررسی اسناد حسابداری - include both approved and preview documents for deletion check
|
||||||
|
$docs = $entityManager->createQueryBuilder()
|
||||||
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.commodity = :commodity')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('commodity', $commodity)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
$storeDocs = $entityManager->getRepository(StoreroomItem::class)->findBy(['bid' => $acc['bid'], 'commodity' => $commodity]);
|
$storeDocs = $entityManager->getRepository(StoreroomItem::class)->findBy(['bid' => $acc['bid'], 'commodity' => $commodity]);
|
||||||
|
|
||||||
if (count($docs) > 0 || count($storeDocs) > 0) {
|
if (count($docs) > 0 || count($storeDocs) > 0) {
|
||||||
|
|
|
@ -46,9 +46,17 @@ class SalaryController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'salary' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.salary = :salary')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('salary', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -73,9 +81,17 @@ class SalaryController extends AbstractController
|
||||||
// محاسبه بدهکار و بستانکار و تراز
|
// محاسبه بدهکار و بستانکار و تراز
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'salary' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.salary = :salary')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('salary', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -141,8 +157,17 @@ class SalaryController extends AbstractController
|
||||||
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $code]);
|
||||||
if (!$salary)
|
if (!$salary)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
//check accounting docs
|
//check accounting docs - include both approved and preview documents for deletion check
|
||||||
$rows = $entityManager->getRepository(HesabdariRow::class)->findby(['bid' => $acc['bid'], 'salary' => $salary]);
|
$rows = $entityManager->createQueryBuilder()
|
||||||
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.salary = :salary')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('salary', $salary)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
if (count($rows) > 0)
|
if (count($rows) > 0)
|
||||||
return $this->json(['result' => 2]);
|
return $this->json(['result' => 2]);
|
||||||
|
|
||||||
|
@ -187,9 +212,17 @@ class SalaryController extends AbstractController
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'salary' => $data
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.salary = :salary')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('salary', $data)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
$bd += $item->getBd();
|
$bd += $item->getBd();
|
||||||
|
@ -221,9 +254,17 @@ class SalaryController extends AbstractController
|
||||||
|
|
||||||
$bs = 0;
|
$bs = 0;
|
||||||
$bd = 0;
|
$bd = 0;
|
||||||
$items = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
// Use query builder to filter by approved documents
|
||||||
'salary' => $salary
|
$items = $entityManager->createQueryBuilder()
|
||||||
]);
|
->select('r')
|
||||||
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
|
->where('r.salary = :salary')
|
||||||
|
->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('salary', $salary)
|
||||||
|
->setParameter('isApproved', true)
|
||||||
|
->getQuery()
|
||||||
|
->getResult();
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$bs += $item->getBs();
|
$bs += $item->getBs();
|
||||||
|
@ -261,11 +302,20 @@ class SalaryController extends AbstractController
|
||||||
$query = $entityManager->createQueryBuilder()
|
$query = $entityManager->createQueryBuilder()
|
||||||
->select('r')
|
->select('r')
|
||||||
->from(HesabdariRow::class, 'r')
|
->from(HesabdariRow::class, 'r')
|
||||||
|
->join('r.doc', 'd')
|
||||||
->where('r.salary = :salary')
|
->where('r.salary = :salary')
|
||||||
->andWhere('r.bid = :bid')
|
->andWhere('r.bid = :bid')
|
||||||
->setParameter('salary', $salary)
|
->setParameter('salary', $salary)
|
||||||
->setParameter('bid', $acc['bid']);
|
->setParameter('bid', $acc['bid']);
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($params['startDate']) && isset($params['endDate'])) {
|
if (isset($params['startDate']) && isset($params['endDate'])) {
|
||||||
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
$query->andWhere('r.doc.date BETWEEN :startDate AND :endDate')
|
||||||
->setParameter('startDate', $params['startDate'])
|
->setParameter('startDate', $params['startDate'])
|
||||||
|
@ -303,12 +353,29 @@ class SalaryController extends AbstractController
|
||||||
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
||||||
if (!$salary)
|
if (!$salary)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'salary' => $salary,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year' => $acc['year'],
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.salary = :salary')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('salary', $salary)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
if (is_array($params['items'])) {
|
if (is_array($params['items'])) {
|
||||||
|
@ -322,12 +389,15 @@ class SalaryController extends AbstractController
|
||||||
'year' => $acc['year'],
|
'year' => $acc['year'],
|
||||||
]);
|
]);
|
||||||
if ($row) {
|
if ($row) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $row->getDoc()->isApproved()) {
|
||||||
$transactions[] = $row;
|
$transactions[] = $row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$spreadsheet = new Spreadsheet();
|
$spreadsheet = new Spreadsheet();
|
||||||
$activeWorksheet = $spreadsheet->getActiveSheet();
|
$activeWorksheet = $spreadsheet->getActiveSheet();
|
||||||
$arrayEntity = [
|
$arrayEntity = [
|
||||||
|
@ -378,12 +448,29 @@ class SalaryController extends AbstractController
|
||||||
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
$salary = $entityManager->getRepository(Salary::class)->findOneBy(['bid' => $acc['bid'], 'code' => $params['code']]);
|
||||||
if (!$salary)
|
if (!$salary)
|
||||||
throw $this->createNotFoundException();
|
throw $this->createNotFoundException();
|
||||||
|
|
||||||
|
// Check if includePreview parameter is provided
|
||||||
|
$includePreview = $params['includePreview'] ?? false;
|
||||||
|
|
||||||
if (!array_key_exists('items', $params)) {
|
if (!array_key_exists('items', $params)) {
|
||||||
$transactions = $entityManager->getRepository(HesabdariRow::class)->findBy([
|
$query = $entityManager->createQueryBuilder()
|
||||||
'bid' => $acc['bid'],
|
->select('r')
|
||||||
'salary' => $salary,
|
->from(HesabdariRow::class, 'r')
|
||||||
'year' => $acc['year'],
|
->join('r.doc', 'd')
|
||||||
]);
|
->where('r.bid = :bid')
|
||||||
|
->andWhere('r.salary = :salary')
|
||||||
|
->andWhere('r.year = :year')
|
||||||
|
->setParameter('bid', $acc['bid'])
|
||||||
|
->setParameter('salary', $salary)
|
||||||
|
->setParameter('year', $acc['year']);
|
||||||
|
|
||||||
|
if (!$includePreview) {
|
||||||
|
// Default: only show approved documents
|
||||||
|
$query->andWhere('d.isApproved = :isApproved')
|
||||||
|
->setParameter('isApproved', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transactions = $query->getQuery()->getResult();
|
||||||
} else {
|
} else {
|
||||||
$transactions = [];
|
$transactions = [];
|
||||||
if (is_array($params['items'])) {
|
if (is_array($params['items'])) {
|
||||||
|
@ -397,12 +484,15 @@ class SalaryController extends AbstractController
|
||||||
'year' => $acc['year'],
|
'year' => $acc['year'],
|
||||||
]);
|
]);
|
||||||
if ($row) {
|
if ($row) {
|
||||||
|
// Check if the document is approved (unless includePreview is true)
|
||||||
|
if ($includePreview || $row->getDoc()->isApproved()) {
|
||||||
$transactions[] = $row;
|
$transactions[] = $row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$pid = $provider->createPrint(
|
$pid = $provider->createPrint(
|
||||||
$acc['bid'],
|
$acc['bid'],
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
|
|
Loading…
Reference in a new issue