GWM : getAgentUnusedCommissionList

This commit is contained in:
Gowtham M 2026-04-04 17:01:40 +05:30
parent a86dc72dd3
commit c7eb344dcb

View File

@ -38,8 +38,36 @@ class InvoiceController extends ResourceController
public function invoiceList()
{
try {
$fromDateRaw = $this->request->getGet('from_date');
$toDateRaw = $this->request->getGet('to_date');
$data = $this->InvoiceModel
$fromParsed = $this->parseOptionalDmYDate($fromDateRaw);
$toParsed = $this->parseOptionalDmYDate($toDateRaw);
if ($fromParsed['error'] !== null) {
return $this->respond([
'status' => 'failed',
'code' => 400,
'data' => $fromParsed['error'],
], 400);
}
if ($toParsed['error'] !== null) {
return $this->respond([
'status' => 'failed',
'code' => 400,
'data' => $toParsed['error'],
], 400);
}
if ($fromParsed['ymd'] !== null && $toParsed['ymd'] !== null && $fromParsed['ymd'] > $toParsed['ymd']) {
return $this->respond([
'status' => 'failed',
'code' => 400,
'data' => 'from_date must be on or before to_date',
], 400);
}
$query = $this->InvoiceModel
->select('partner_invoice.*,
PB.name as broker_name,
pos.name as pos_name,
@ -78,9 +106,16 @@ class InvoiceController extends ResourceController
false)
->join('partner_brokers PB', 'PB.id = partner_invoice.broker_id', 'left')
->join('partner_pos pos', 'pos.id = partner_invoice.pos_id', 'left')
->where('partner_invoice.is_active', 1)
->orderBy('partner_invoice.id', 'DESC')
->findAll();
->where('partner_invoice.is_active', 1);
if ($fromParsed['ymd'] !== null) {
$query->where('DATE(partner_invoice.invoice_date) >=', $fromParsed['ymd']);
}
if ($toParsed['ymd'] !== null) {
$query->where('DATE(partner_invoice.invoice_date) <=', $toParsed['ymd']);
}
$data = $query->orderBy('partner_invoice.id', 'DESC')->findAll();
return $this->respond(['status' => 'success', 'code' => 200,'data' => $data ], 200);
@ -89,6 +124,32 @@ class InvoiceController extends ResourceController
}
}
/**
* Optional invoice list date filter: format d-m-Y (e.g. 10-03-2026). Empty / null = no filter.
*
* @return array{ymd: ?string, error: ?string}
*/
private function parseOptionalDmYDate($value): array
{
if ($value === null) {
return ['ymd' => null, 'error' => null];
}
$v = trim((string) $value);
if ($v === '') {
return ['ymd' => null, 'error' => null];
}
$dt = \DateTime::createFromFormat('d-m-Y', $v);
if ($dt === false || $dt->format('d-m-Y') !== $v) {
return [
'ymd' => null,
'error' => 'Invalid date format; use d-m-Y (e.g. 10-03-2026)',
];
}
return ['ymd' => $dt->format('Y-m-d'), 'error' => null];
}
public function findInvoiceWithItems()
{
try {