FIX_filter related in grid view

This commit is contained in:
sanjeev.p 2026-04-07 10:28:02 +05:30
parent c8135a06cd
commit 897dee54f3
2 changed files with 14 additions and 105 deletions

View File

@ -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++;
}

View File

@ -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;