FIX_Changes and Additional Requirements 2
This commit is contained in:
parent
ce7033654a
commit
48a76a54ea
@ -461,7 +461,7 @@ class AgentController extends ResourceController
|
||||
} elseif ($normalizedHeader === 'rto') {
|
||||
$headerMap['rto_id'] = $colIndex;
|
||||
} elseif ($normalizedHeader === 'segment') {
|
||||
$headerMap['segment_id'] = $colIndex;
|
||||
$headerMap['segment'] = $colIndex;
|
||||
} elseif ($normalizedHeader === 'comp') {
|
||||
$headerMap['comp'] = $colIndex;
|
||||
} elseif ($normalizedHeader === 'tp') {
|
||||
@ -473,7 +473,7 @@ class AgentController extends ResourceController
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($headerMap['insurer_id'], $headerMap['rto_id'], $headerMap['segment_id'], $headerMap['vehicle_type_id'])) {
|
||||
if (!isset($headerMap['insurer_id'], $headerMap['rto_id'], $headerMap['segment'], $headerMap['vehicle_type_id'])) {
|
||||
throw new \RuntimeException('Invalid grid header. Required: TYPE, INSURER, RTO, SEGMENT');
|
||||
}
|
||||
|
||||
@ -544,7 +544,7 @@ class AgentController extends ResourceController
|
||||
|
||||
$insurerRaw = trim((string) ($row[$headerMap['insurer_id']] ?? ''));
|
||||
$rtoRaw = trim((string) ($row[$headerMap['rto_id']] ?? ''));
|
||||
$segmentRaw = trim((string) ($row[$headerMap['segment_id']] ?? ''));
|
||||
$segmentRaw = trim((string) ($row[$headerMap['segment']] ?? ''));
|
||||
$vehicleTypeRaw = trim((string) ($row[$headerMap['vehicle_type_id']] ?? $segmentRaw));
|
||||
|
||||
if ($insurerRaw === '' || $rtoRaw === '' || $segmentRaw === '' || $vehicleTypeRaw === '') {
|
||||
@ -629,7 +629,7 @@ class AgentController extends ResourceController
|
||||
'vehicle_type_id' => $vehicleTypeRaw,
|
||||
'insurer_id' => (string) $insurerId,
|
||||
'rto_id' => (string) $rtoId,
|
||||
'segment_id' => $segmentRaw,
|
||||
'segment' => $segmentRaw,
|
||||
'comp' => $compSanitized,
|
||||
'tp' => $tpSanitized,
|
||||
'fuel' => $fuel,
|
||||
@ -643,7 +643,7 @@ class AgentController extends ResourceController
|
||||
->where('vehicle_type_id', $vehicleTypeRaw)
|
||||
->where('insurer_id', (string) $insurerId)
|
||||
->where('rto_id', (string) $rtoId)
|
||||
->where('segment_id', $segmentRaw)
|
||||
->where('segment', $segmentRaw)
|
||||
->where('partner_id', (string) $partnerId)
|
||||
->first();
|
||||
|
||||
@ -792,7 +792,7 @@ class AgentController extends ResourceController
|
||||
->get()
|
||||
->getResultArray();
|
||||
|
||||
$segmentMaster = $db->table('vehicle_type')
|
||||
$vehicleTypeMaster = $db->table('vehicle_type')
|
||||
->select('id, vehicle_type')
|
||||
->where('is_active', 1)
|
||||
->orderBy('vehicle_type', 'ASC')
|
||||
@ -832,7 +832,7 @@ class AgentController extends ResourceController
|
||||
'code' => 200,
|
||||
'data' => [
|
||||
'rto_master' => $rtoMaster,
|
||||
'segment_master' => $segmentMaster,
|
||||
'vehicle_type_master' => $vehicleTypeMaster,
|
||||
'plan_master' => $planMaster,
|
||||
'partner_master' => $partnerMaster,
|
||||
'months' => $months,
|
||||
@ -855,15 +855,17 @@ class AgentController extends ResourceController
|
||||
|
||||
$partnerId = (int) ($this->request->getGet('partner_id') ?? 0);
|
||||
$rtoId = (int) ($this->request->getGet('rto_id') ?? 0);
|
||||
$segmentId = (int) ($this->request->getGet('segment_id') ?? 0);
|
||||
$vehicleTypeId = (int) ($this->request->getGet('vehicle_type_id') ?? 0);
|
||||
$planType = trim((string) ($this->request->getGet('insurance_plan_type') ?? ''));
|
||||
$month = trim((string) ($this->request->getGet('month') ?? ''));
|
||||
$segment = trim((string) ($this->request->getGet('segment') ?? ''));
|
||||
|
||||
if ($partnerId <= 0 || $rtoId <= 0 || $segmentId <= 0 || $planType === '') {
|
||||
|
||||
if ($partnerId <= 0 || $rtoId <= 0 || $vehicleTypeId <= 0 || $planType === '' || $segment === '') {
|
||||
return $this->respond([
|
||||
'status' => 'failed',
|
||||
'code' => 200,
|
||||
'data' => 'partner_id, rto_id, segment_id and insurance_plan_type are required',
|
||||
'data' => 'partner_id, rto_id, vehicle_type_id, segment and insurance_plan_type are required',
|
||||
], 200);
|
||||
}
|
||||
|
||||
@ -903,7 +905,8 @@ class AgentController extends ResourceController
|
||||
->join('vehicle_type vt', 'vt.id = pgd.vehicle_type_id', 'left')
|
||||
->where('pgd.partner_id', $partnerId)
|
||||
->where('pgd.rto_id', $rtoId)
|
||||
->where('pgd.segment_id', $segmentId)
|
||||
->where('pgd.segment', $segment)
|
||||
->where('pgd.vehicle_type_id', $vehicleTypeId)
|
||||
->where("DATE_FORMAT(pgd.created_at, '%Y-%m') =", $effectiveMonth)
|
||||
->orderBy('pgd.id', 'DESC')
|
||||
->get()
|
||||
@ -970,15 +973,16 @@ class AgentController extends ResourceController
|
||||
|
||||
$partnerId = (int) ($this->request->getGet('partner_id') ?? 0);
|
||||
$rtoId = (int) ($this->request->getGet('rto_id') ?? 0);
|
||||
$segmentId = (int) ($this->request->getGet('segment_id') ?? 0);
|
||||
$segment = (int) ($this->request->getGet('segment') ?? 0);
|
||||
$vehicleTypeId = (int) ($this->request->getGet('vehicle_type_id') ?? 0);
|
||||
$planType = trim((string) ($this->request->getGet('insurance_plan_type') ?? ''));
|
||||
$month = trim((string) ($this->request->getGet('month') ?? ''));
|
||||
|
||||
if ($partnerId <= 0 || $rtoId <= 0 || $segmentId <= 0 || $planType === '') {
|
||||
if ($partnerId <= 0 || $rtoId <= 0 || $vehicleTypeId <= 0 || $planType === '' || $segment === '') {
|
||||
return $this->respond([
|
||||
'status' => 'failed',
|
||||
'code' => 200,
|
||||
'data' => 'partner_id, rto_id, segment_id and insurance_plan_type are required',
|
||||
'data' => 'partner_id, rto_id, vehicle_type_id, segment and insurance_plan_type are required',
|
||||
], 200);
|
||||
}
|
||||
|
||||
@ -999,16 +1003,18 @@ class AgentController extends ResourceController
|
||||
COALESCE(pa.retention_rate, 0) AS retention_rate,
|
||||
rm.rto_code,
|
||||
rm.rto_name,
|
||||
vt.vehicle_type AS segment_name,
|
||||
vt.vehicle_type AS vehicle_type_name,
|
||||
pdg.segment,
|
||||
pgd.comp,
|
||||
pgd.tp
|
||||
")
|
||||
->join('partner_agent pa', 'pa.id = pgd.partner_id', 'left')
|
||||
->join('rto_master rm', 'rm.id = pgd.rto_id', 'left')
|
||||
->join('vehicle_type vt', 'vt.id = pgd.segment_id', 'left')
|
||||
->join('vehicle_type vt', 'vt.id = pgd.vehicle_type_id', 'left')
|
||||
->where('pgd.partner_id', $partnerId)
|
||||
->where('pgd.rto_id', $rtoId)
|
||||
->where('pgd.segment_id', $segmentId)
|
||||
->where('pgd.segment', $segment)
|
||||
->where('pgd.vehicle_type_id', $vehicleTypeId)
|
||||
->where("DATE_FORMAT(pgd.created_at, '%Y-%m') =", $effectiveMonth)
|
||||
->orderBy('pgd.id', 'DESC')
|
||||
->get()
|
||||
@ -1063,6 +1069,7 @@ class AgentController extends ResourceController
|
||||
'Partner',
|
||||
'Partner Code',
|
||||
'RTO',
|
||||
'Type',
|
||||
'Segment',
|
||||
'Insurance Plan',
|
||||
'Grid %',
|
||||
@ -1076,7 +1083,8 @@ class AgentController extends ResourceController
|
||||
$row['partner_name'] ?? '',
|
||||
$row['agent_code'] ?? '',
|
||||
trim((string) (($row['rto_code'] ?? '') . ' - ' . ($row['rto_name'] ?? '')), ' -'),
|
||||
$row['segment_name'] ?? '',
|
||||
$row['vehicle_type_name'] ?? '',
|
||||
$row['segment'] ?? '',
|
||||
$row['insurance_plan_type'] ?? $planType,
|
||||
$row['grid_rate_percentage'] ?? 0,
|
||||
$row['retention_rate_percentage'] ?? 0,
|
||||
|
||||
@ -22,7 +22,7 @@ class PartnerGridDetailsModel extends Model
|
||||
'vehicle_type_id',
|
||||
'insurer_id',
|
||||
'rto_id',
|
||||
'segment_id',
|
||||
'segment',
|
||||
'comp',
|
||||
'tp',
|
||||
'fuel',
|
||||
@ -48,7 +48,7 @@ class PartnerGridDetailsModel extends Model
|
||||
'vehicle_type_id' => 'permit_empty|max_length[50]',
|
||||
'insurer_id' => 'required|max_length[50]',
|
||||
'rto_id' => 'required|max_length[50]',
|
||||
'segment_id' => 'required|max_length[100]',
|
||||
'segment' => 'required|max_length[100]',
|
||||
'comp' => 'permit_empty|max_length[50]',
|
||||
'tp' => 'permit_empty|max_length[50]',
|
||||
'remarks' => 'permit_empty|max_length[255]',
|
||||
@ -69,7 +69,11 @@ class PartnerGridDetailsModel extends Model
|
||||
'required' => 'RTO is required.',
|
||||
'max_length' => 'RTO code must not exceed 50 characters.',
|
||||
],
|
||||
'segment_id' => [
|
||||
'vehicle_type_id' => [
|
||||
'required' => 'Type is required.',
|
||||
'max_length' => 'Type must not exceed 50 characters.',
|
||||
],
|
||||
'segment' => [
|
||||
'required' => 'Segment is required.',
|
||||
'max_length' => 'Segment must not exceed 100 characters.',
|
||||
],
|
||||
@ -110,11 +114,19 @@ class PartnerGridDetailsModel extends Model
|
||||
}
|
||||
|
||||
/**
|
||||
* Get records by Segment ID
|
||||
* Get records by Segment
|
||||
*/
|
||||
public function getBySegment(string $segmentId)
|
||||
public function getBySegment(string $segment)
|
||||
{
|
||||
return $this->where('segment_id', $segmentId)->findAll();
|
||||
return $this->where('segment', $segment)->findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get records by Vehicle Type ID
|
||||
*/
|
||||
public function getByType(string $vehicleTypeId)
|
||||
{
|
||||
return $this->where('vehicle_type_id', $vehicleTypeId)->findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -148,8 +160,11 @@ class PartnerGridDetailsModel extends Model
|
||||
if (!empty($filters['rto_id'])) {
|
||||
$builder->where('rto_id', $filters['rto_id']);
|
||||
}
|
||||
if (!empty($filters['segment_id'])) {
|
||||
$builder->where('segment_id', $filters['segment_id']);
|
||||
if (!empty($filters['vehicle_type_id'])) {
|
||||
$builder->where('vehicle_type_id', $filters['vehicle_type_id']);
|
||||
}
|
||||
if (!empty($filters['segment'])) {
|
||||
$builder->where('segment', $filters['segment']);
|
||||
}
|
||||
if (!empty($filters['partner_id'])) {
|
||||
$builder->where('partner_id', $filters['partner_id']);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user