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)
|
||||
// -------------------------------------------------------------------------
|
||||
// GET /agent/payoutGrid?role=Manager means all list
|
||||
// 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
|
||||
// GET /grid?role=Manager means all list (optional insurer, rto, segment, vehicle_type)
|
||||
public function getGridData()
|
||||
{
|
||||
try {
|
||||
@ -308,7 +305,6 @@ class AgentIncentiveController extends ResourceController
|
||||
$rto = $request->getGet('rto');
|
||||
$segment = $request->getGet('segment');
|
||||
$vehicle_type = $request->getGet('vehicle_type');
|
||||
$plan_type = $request->getGet('plan_type');
|
||||
|
||||
// 3. Build the Grid Query
|
||||
$builder = $this->PayoutGridModel->builder();
|
||||
@ -321,15 +317,8 @@ class AgentIncentiveController extends ResourceController
|
||||
if (!empty($segment)) $builder->where('segment', $segment);
|
||||
if (!empty($vehicle_type)) $builder->where('vehicle_type', $vehicle_type);
|
||||
|
||||
// Handle dynamic column selection (comp/tp/od)
|
||||
if (!empty($plan_type) && in_array($plan_type, ['comp', 'tp', 'od'])) {
|
||||
$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');
|
||||
}
|
||||
$builder->select('id, insurer, vehicle_type, segment, rto, comp, tp, od, fuel, broker_name, remarks, broker_comp,
|
||||
broker_tp, broker_od, created_by, created_at, updated_by, updated_at');
|
||||
} else {
|
||||
// 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);
|
||||
@ -403,11 +392,6 @@ class AgentIncentiveController extends ResourceController
|
||||
'segments' => $this->getUniqueColumnValues('segment'),
|
||||
'vehicle_types' => $this->getUniqueColumnValues('vehicle_type'),
|
||||
'insurers' => $this->getUniqueColumnValues('insurer'),
|
||||
'plan_types' => [
|
||||
['value' => 'comp', 'label' => 'Comprehensive'],
|
||||
['value' => 'tp', 'label' => 'Third Party'],
|
||||
['value' => 'od', 'label' => 'Own Damage']
|
||||
]
|
||||
];
|
||||
|
||||
return $this->respond([
|
||||
@ -540,7 +524,6 @@ class AgentIncentiveController extends ResourceController
|
||||
$rto = $request->getGet('rto');
|
||||
$segment = $request->getGet('segment');
|
||||
$vehicle_type = $request->getGet('vehicle_type');
|
||||
$plan_type = $request->getGet('plan_type'); // comp, tp, od
|
||||
|
||||
$builder = $this->PayoutGridModel->builder();
|
||||
$builder->orderBy('vehicle_type', 'ASC')->orderBy('insurer', 'ASC');
|
||||
@ -574,27 +557,9 @@ class AgentIncentiveController extends ResourceController
|
||||
$sheet->setCellValue('C1', 'RTO');
|
||||
$sheet->setCellValue('D1', 'Segment');
|
||||
$sheet->setCellValue('E1', 'Broker Name'); // Changed from 'ID' for clarity
|
||||
|
||||
// Set the dynamic column header based on the selected plan type
|
||||
if ($plan_type === 'comp') {
|
||||
$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');
|
||||
}
|
||||
$sheet->setCellValue('F1', 'Comp');
|
||||
$sheet->setCellValue('G1', 'TP');
|
||||
$sheet->setCellValue('H1', 'OD');
|
||||
|
||||
// Populate Excel Rows
|
||||
$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('D' . $rowNumber, $row['segment']);
|
||||
$sheet->setCellValue('E' . $rowNumber, $row['broker_name']);
|
||||
|
||||
// Output dynamic columns based on selected plan type
|
||||
if ($plan_type === 'comp') {
|
||||
$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']);
|
||||
|
||||
}
|
||||
$sheet->setCellValue('F' . $rowNumber, $row['comp']);
|
||||
$sheet->setCellValue('G' . $rowNumber, $row['tp']);
|
||||
$sheet->setCellValue('H' . $rowNumber, $row['od']);
|
||||
$rowNumber++;
|
||||
}
|
||||
|
||||
|
||||
@ -2553,10 +2553,7 @@ class ExcelExportController extends ResourceController
|
||||
}
|
||||
}
|
||||
|
||||
// grid/download?role=Manager means all list
|
||||
// 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
|
||||
// grid/download?role=Manager means all list (optional insurer, rto, segment, vehicle_type, search, logged_id)
|
||||
public function downloadExcelGrid()
|
||||
{
|
||||
try {
|
||||
@ -2569,7 +2566,6 @@ class ExcelExportController extends ResourceController
|
||||
$rto = trim((string) ($request->getGet('rto') ?? ''));
|
||||
$segment = trim((string) ($request->getGet('segment') ?? ''));
|
||||
$vehicleType = trim((string) ($request->getGet('vehicle_type') ?? ''));
|
||||
$planType = strtolower(trim((string) ($request->getGet('plan_type') ?? '')));
|
||||
$search = trim((string) ($request->getGet('search') ?? ''));
|
||||
$loggedId = trim((string) ($request->getGet('logged_id') ?? ''));
|
||||
|
||||
@ -2615,12 +2611,6 @@ class ExcelExportController extends ResourceController
|
||||
if ($segment !== '') $builder->where('segment', $segment);
|
||||
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
|
||||
if ($search !== '') {
|
||||
$builder->groupStart()
|
||||
@ -2642,26 +2632,7 @@ class ExcelExportController extends ResourceController
|
||||
// =========================
|
||||
// ✅ HEADERS
|
||||
// =========================
|
||||
$headers = ['S.No', 'Insurer', 'Vehicle Type'];
|
||||
$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';
|
||||
$headers = ['S.No', 'Insurer', 'Vehicle Type', 'Segment' , 'RTO', 'Comp', 'TP' , 'OD', 'Remarks'];
|
||||
|
||||
// =========================
|
||||
// ✅ DATA
|
||||
@ -2703,22 +2674,9 @@ class ExcelExportController extends ResourceController
|
||||
$row['rto'] ?? '-',
|
||||
];
|
||||
|
||||
// ✅ Dynamic columns (Agent only)
|
||||
if ($isAgent) {
|
||||
if ($planType === 'comp') {
|
||||
$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[] = $compOut;
|
||||
$line[] = $tpOut;
|
||||
$line[] = $odOut;
|
||||
$line[] = $row['remarks'] ?? '-';
|
||||
|
||||
$data[] = $line;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user