FIX_filter related in grid view
This commit is contained in:
parent
c8135a06cd
commit
897dee54f3
@ -283,10 +283,7 @@ class AgentIncentiveController extends ResourceController
|
|||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// List all grid records (optional utility endpoint)
|
// List all grid records (optional utility endpoint)
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// GET /agent/payoutGrid?role=Manager means all list
|
// GET /grid?role=Manager means all list (optional insurer, rto, segment, vehicle_type)
|
||||||
// GET /agent/payoutGrid?role=Manager&insurer=HDFC&vehicle_type=TWO%20WHEELER&plan_type=comp
|
|
||||||
// GET /agent/payoutGrid?role=Manager&insurer=HDFC&rto=TN&segment=BIKE&plan_type=comp
|
|
||||||
// GET /agent/payoutGrid?role=Manager&insurer=HDFC&segment=BIKE&vehicle_type=TWO%20WHEELER&plan_type=comp
|
|
||||||
public function getGridData()
|
public function getGridData()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@ -308,7 +305,6 @@ class AgentIncentiveController extends ResourceController
|
|||||||
$rto = $request->getGet('rto');
|
$rto = $request->getGet('rto');
|
||||||
$segment = $request->getGet('segment');
|
$segment = $request->getGet('segment');
|
||||||
$vehicle_type = $request->getGet('vehicle_type');
|
$vehicle_type = $request->getGet('vehicle_type');
|
||||||
$plan_type = $request->getGet('plan_type');
|
|
||||||
|
|
||||||
// 3. Build the Grid Query
|
// 3. Build the Grid Query
|
||||||
$builder = $this->PayoutGridModel->builder();
|
$builder = $this->PayoutGridModel->builder();
|
||||||
@ -321,15 +317,8 @@ class AgentIncentiveController extends ResourceController
|
|||||||
if (!empty($segment)) $builder->where('segment', $segment);
|
if (!empty($segment)) $builder->where('segment', $segment);
|
||||||
if (!empty($vehicle_type)) $builder->where('vehicle_type', $vehicle_type);
|
if (!empty($vehicle_type)) $builder->where('vehicle_type', $vehicle_type);
|
||||||
|
|
||||||
// Handle dynamic column selection (comp/tp/od)
|
$builder->select('id, insurer, vehicle_type, segment, rto, comp, tp, od, fuel, broker_name, remarks, broker_comp,
|
||||||
if (!empty($plan_type) && in_array($plan_type, ['comp', 'tp', 'od'])) {
|
broker_tp, broker_od, created_by, created_at, updated_by, updated_at');
|
||||||
$builder->select("id, insurer, vehicle_type, segment, rto, $plan_type as payout,fuel,broker_name,comp,tp,od,remarks,broker_comp,
|
|
||||||
broker_tp,broker_od,created_by,created_at,updated_by,updated_at");
|
|
||||||
} else {
|
|
||||||
// Default selection if no plan_type or invalid plan_type
|
|
||||||
$builder->select('id, insurer, vehicle_type, segment, rto, comp, tp, od, fuel,broker_name,comp,tp,od,remarks,broker_comp,
|
|
||||||
broker_tp,broker_od,created_by,created_at,updated_by,updated_at');
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// Agent (and any other role): always return vehicle_type + payout columns for retention / partner_VT matching
|
// Agent (and any other role): always return vehicle_type + payout columns for retention / partner_VT matching
|
||||||
$builder->select('id, insurer, vehicle_type, segment, rto, comp, tp, od, fuel, broker_name, remarks, broker_comp, broker_tp, broker_od, partner_agent_incentive_file_id, created_at, updated_at', false);
|
$builder->select('id, insurer, vehicle_type, segment, rto, comp, tp, od, fuel, broker_name, remarks, broker_comp, broker_tp, broker_od, partner_agent_incentive_file_id, created_at, updated_at', false);
|
||||||
@ -403,11 +392,6 @@ class AgentIncentiveController extends ResourceController
|
|||||||
'segments' => $this->getUniqueColumnValues('segment'),
|
'segments' => $this->getUniqueColumnValues('segment'),
|
||||||
'vehicle_types' => $this->getUniqueColumnValues('vehicle_type'),
|
'vehicle_types' => $this->getUniqueColumnValues('vehicle_type'),
|
||||||
'insurers' => $this->getUniqueColumnValues('insurer'),
|
'insurers' => $this->getUniqueColumnValues('insurer'),
|
||||||
'plan_types' => [
|
|
||||||
['value' => 'comp', 'label' => 'Comprehensive'],
|
|
||||||
['value' => 'tp', 'label' => 'Third Party'],
|
|
||||||
['value' => 'od', 'label' => 'Own Damage']
|
|
||||||
]
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return $this->respond([
|
return $this->respond([
|
||||||
@ -540,7 +524,6 @@ class AgentIncentiveController extends ResourceController
|
|||||||
$rto = $request->getGet('rto');
|
$rto = $request->getGet('rto');
|
||||||
$segment = $request->getGet('segment');
|
$segment = $request->getGet('segment');
|
||||||
$vehicle_type = $request->getGet('vehicle_type');
|
$vehicle_type = $request->getGet('vehicle_type');
|
||||||
$plan_type = $request->getGet('plan_type'); // comp, tp, od
|
|
||||||
|
|
||||||
$builder = $this->PayoutGridModel->builder();
|
$builder = $this->PayoutGridModel->builder();
|
||||||
$builder->orderBy('vehicle_type', 'ASC')->orderBy('insurer', 'ASC');
|
$builder->orderBy('vehicle_type', 'ASC')->orderBy('insurer', 'ASC');
|
||||||
@ -574,27 +557,9 @@ class AgentIncentiveController extends ResourceController
|
|||||||
$sheet->setCellValue('C1', 'RTO');
|
$sheet->setCellValue('C1', 'RTO');
|
||||||
$sheet->setCellValue('D1', 'Segment');
|
$sheet->setCellValue('D1', 'Segment');
|
||||||
$sheet->setCellValue('E1', 'Broker Name'); // Changed from 'ID' for clarity
|
$sheet->setCellValue('E1', 'Broker Name'); // Changed from 'ID' for clarity
|
||||||
|
$sheet->setCellValue('F1', 'Comp');
|
||||||
// Set the dynamic column header based on the selected plan type
|
$sheet->setCellValue('G1', 'TP');
|
||||||
if ($plan_type === 'comp') {
|
$sheet->setCellValue('H1', 'OD');
|
||||||
$sheet->setCellValue('F1', 'Comp');
|
|
||||||
$sheet->setCellValue('G1', 'Comp');
|
|
||||||
} elseif ($plan_type === 'tp') {
|
|
||||||
$sheet->setCellValue('F1', 'TP');
|
|
||||||
$sheet->setCellValue('G1', 'TP');
|
|
||||||
} elseif ($plan_type === 'od') {
|
|
||||||
$sheet->setCellValue('F1', 'OD');
|
|
||||||
$sheet->setCellValue('G1', 'OD');
|
|
||||||
} else {
|
|
||||||
// If no specific plan type is selected, show all
|
|
||||||
$sheet->setCellValue('F1', 'Comp');
|
|
||||||
$sheet->setCellValue('G1', 'TP');
|
|
||||||
$sheet->setCellValue('H1', 'OD');
|
|
||||||
|
|
||||||
$sheet->setCellValue('I1', 'Comp');
|
|
||||||
$sheet->setCellValue('J1', 'TP');
|
|
||||||
$sheet->setCellValue('K1', 'OD');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Populate Excel Rows
|
// Populate Excel Rows
|
||||||
$rowNumber = 2; // Start on row 2 (row 1 is headers)
|
$rowNumber = 2; // Start on row 2 (row 1 is headers)
|
||||||
@ -604,23 +569,9 @@ class AgentIncentiveController extends ResourceController
|
|||||||
$sheet->setCellValue('C' . $rowNumber, $row['rto']);
|
$sheet->setCellValue('C' . $rowNumber, $row['rto']);
|
||||||
$sheet->setCellValue('D' . $rowNumber, $row['segment']);
|
$sheet->setCellValue('D' . $rowNumber, $row['segment']);
|
||||||
$sheet->setCellValue('E' . $rowNumber, $row['broker_name']);
|
$sheet->setCellValue('E' . $rowNumber, $row['broker_name']);
|
||||||
|
$sheet->setCellValue('F' . $rowNumber, $row['comp']);
|
||||||
// Output dynamic columns based on selected plan type
|
$sheet->setCellValue('G' . $rowNumber, $row['tp']);
|
||||||
if ($plan_type === 'comp') {
|
$sheet->setCellValue('H' . $rowNumber, $row['od']);
|
||||||
$sheet->setCellValue('F' . $rowNumber, $row['comp']);
|
|
||||||
|
|
||||||
} elseif ($plan_type === 'tp') {
|
|
||||||
$sheet->setCellValue('F' . $rowNumber, $row['tp']);
|
|
||||||
|
|
||||||
} elseif ($plan_type === 'od') {
|
|
||||||
$sheet->setCellValue('F' . $rowNumber, $row['od']);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$sheet->setCellValue('F' . $rowNumber, $row['comp']);
|
|
||||||
$sheet->setCellValue('G' . $rowNumber, $row['tp']);
|
|
||||||
$sheet->setCellValue('H' . $rowNumber, $row['od']);
|
|
||||||
|
|
||||||
}
|
|
||||||
$rowNumber++;
|
$rowNumber++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2553,10 +2553,7 @@ class ExcelExportController extends ResourceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// grid/download?role=Manager means all list
|
// grid/download?role=Manager means all list (optional insurer, rto, segment, vehicle_type, search, logged_id)
|
||||||
// grid/download?role=Manager&insurer=HDFC&vehicle_type=TWO%20WHEELER&plan_type=comp
|
|
||||||
// grid/download?role=Manager&insurer=HDFC&rto=TN&segment=BIKE&plan_type=comp
|
|
||||||
// grid/download?role=Manager&insurer=HDFC&segment=BIKE&vehicle_type=TWO%20WHEELER&plan_type=comp
|
|
||||||
public function downloadExcelGrid()
|
public function downloadExcelGrid()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@ -2569,7 +2566,6 @@ class ExcelExportController extends ResourceController
|
|||||||
$rto = trim((string) ($request->getGet('rto') ?? ''));
|
$rto = trim((string) ($request->getGet('rto') ?? ''));
|
||||||
$segment = trim((string) ($request->getGet('segment') ?? ''));
|
$segment = trim((string) ($request->getGet('segment') ?? ''));
|
||||||
$vehicleType = trim((string) ($request->getGet('vehicle_type') ?? ''));
|
$vehicleType = trim((string) ($request->getGet('vehicle_type') ?? ''));
|
||||||
$planType = strtolower(trim((string) ($request->getGet('plan_type') ?? '')));
|
|
||||||
$search = trim((string) ($request->getGet('search') ?? ''));
|
$search = trim((string) ($request->getGet('search') ?? ''));
|
||||||
$loggedId = trim((string) ($request->getGet('logged_id') ?? ''));
|
$loggedId = trim((string) ($request->getGet('logged_id') ?? ''));
|
||||||
|
|
||||||
@ -2615,12 +2611,6 @@ class ExcelExportController extends ResourceController
|
|||||||
if ($segment !== '') $builder->where('segment', $segment);
|
if ($segment !== '') $builder->where('segment', $segment);
|
||||||
if ($vehicleType !== '') $builder->where('vehicle_type', $vehicleType);
|
if ($vehicleType !== '') $builder->where('vehicle_type', $vehicleType);
|
||||||
|
|
||||||
if (in_array($planType, ['comp', 'tp', 'od'])) {
|
|
||||||
$builder->where("$planType IS NOT NULL", null, false)
|
|
||||||
->where("$planType !=", '')
|
|
||||||
->where("$planType !=", '0');
|
|
||||||
}
|
|
||||||
|
|
||||||
// ✅ Search
|
// ✅ Search
|
||||||
if ($search !== '') {
|
if ($search !== '') {
|
||||||
$builder->groupStart()
|
$builder->groupStart()
|
||||||
@ -2642,26 +2632,7 @@ class ExcelExportController extends ResourceController
|
|||||||
// =========================
|
// =========================
|
||||||
// ✅ HEADERS
|
// ✅ HEADERS
|
||||||
// =========================
|
// =========================
|
||||||
$headers = ['S.No', 'Insurer', 'Vehicle Type'];
|
$headers = ['S.No', 'Insurer', 'Vehicle Type', 'Segment' , 'RTO', 'Comp', 'TP' , 'OD', 'Remarks'];
|
||||||
$headers[] = 'Segment';
|
|
||||||
$headers[] = 'RTO';
|
|
||||||
|
|
||||||
if ($isAgent) {
|
|
||||||
if ($planType === 'comp') {
|
|
||||||
$headers[] = 'Comp';
|
|
||||||
} elseif ($planType === 'tp') {
|
|
||||||
$headers[] = 'TP';
|
|
||||||
} elseif ($planType === 'od') {
|
|
||||||
$headers[] = 'OD';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// ✅ Manager / Accounts
|
|
||||||
$headers[] = 'Comp';
|
|
||||||
$headers[] = 'TP';
|
|
||||||
$headers[] = 'OD';
|
|
||||||
}
|
|
||||||
|
|
||||||
$headers[] = 'Remarks';
|
|
||||||
|
|
||||||
// =========================
|
// =========================
|
||||||
// ✅ DATA
|
// ✅ DATA
|
||||||
@ -2703,22 +2674,9 @@ class ExcelExportController extends ResourceController
|
|||||||
$row['rto'] ?? '-',
|
$row['rto'] ?? '-',
|
||||||
];
|
];
|
||||||
|
|
||||||
// ✅ Dynamic columns (Agent only)
|
$line[] = $compOut;
|
||||||
if ($isAgent) {
|
$line[] = $tpOut;
|
||||||
if ($planType === 'comp') {
|
$line[] = $odOut;
|
||||||
$line[] = $compOut;
|
|
||||||
} elseif ($planType === 'tp') {
|
|
||||||
$line[] = $tpOut;
|
|
||||||
} elseif ($planType === 'od') {
|
|
||||||
$line[] = $odOut;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// ✅ Manager / Accounts → formatted comp/tp/od (invalid → '-')
|
|
||||||
$line[] = $compOut;
|
|
||||||
$line[] = $tpOut;
|
|
||||||
$line[] = $odOut;
|
|
||||||
}
|
|
||||||
|
|
||||||
$line[] = $row['remarks'] ?? '-';
|
$line[] = $row['remarks'] ?? '-';
|
||||||
|
|
||||||
$data[] = $line;
|
$data[] = $line;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user