diff --git a/app/Config/Routes.php b/app/Config/Routes.php index f6746f2d..a7e41f8f 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -428,6 +428,7 @@ $routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) { $routes->group("report", ["filter" => "authMVC"], function ($routes) { $routes->match(['get', 'post'],"list", "PolicyTransactionController::reportBDS"); + $routes->match(['get', 'post'],"listNew", "PolicyTransactionController::reportBDSNew"); $routes->get("report-varience-list", "PolicyTransactionController::reportVarience"); $routes->get("report-business-list", "PolicyTransactionController::reportBusinessList"); $routes->get("report-finance-list", "PolicyTransactionController::reportFinanceList"); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index bcadb66d..e09c74ec 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -518,8 +518,8 @@ class ClientController extends AdminController public function updateEmpAndPolicyStatus() { - $return = $this->clientPolicyModel->updateStatus(); + return $return; $this->myLogger->logme('error', 'Client Policy Status Update Count: {data}', ['data' => $return['client']]); $this->myLogger->logme('error', 'Employee Policy Status Update Count: {data}', ['data' => $return['emp']]); } @@ -1613,7 +1613,7 @@ class ClientController extends AdminController if ($update) { - $policy_transaction_update = $this->deactivatePolicyTransactionsPolicy($id); + // $policy_transaction_update = $this->deactivatePolicyTransactionsPolicy($id); return $this->respond(['status' => true, 'code' => 200], 200); } else { @@ -4816,6 +4816,7 @@ class ClientController extends AdminController 'vehicle_no' => $data['vehicle_no'], 'type' => $data['type'], 'rc' => $data['rc'], + 'rto_id' => $data['rto_id'], 'branch_id' => $branch_insert, 'owner' => $client_insert, ]; @@ -4861,6 +4862,7 @@ class ClientController extends AdminController 'vehicle_no' => $data['vehicle_no'], 'type' => $data['type'], 'rc' => $data['rc'], + 'rto_id' => $data['rto_id'], 'branch_id' => $data['branch_id'] ?? null, 'owner' => $data['owner'], ]; @@ -5064,10 +5066,12 @@ class ClientController extends AdminController ->where('policy_no', $policy_no) ->countAllResults(); + $client_policy_data = $this->clientPolicyModel->where('is_active', 1)->where('policy_status', 1)->where('policy_no', trim($policy_no))->first(); + if ($data > 0) { - return $this->respond(['status' => true, 'message' => 'This policy number is already linked to another client', 'data' => $data, 'code' => 409, 'received_data' => $received_data], 200); + return $this->respond(['status' => true, 'message' => 'This policy number is already linked to another client', 'data' => $data, 'code' => 409, 'received_data' => $received_data, 'client_policy_id' => $client_policy_data['id'] ?? null], 200); } else { - return $this->respond(['status' => false, 'message' => 'No Data Found', 'code' => 404, 'received_data' => $received_data], 200); + return $this->respond(['status' => false, 'message' => 'No Data Found', 'code' => 404, 'received_data' => $received_data, 'client_policy_id' => $client_policy_data['id'] ?? null], 200); } } diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index 73c2e31a..369f9444 100755 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -225,20 +225,23 @@ class DashboardController extends AdminController $pendingActionsController = new PendingActionsController; $pendingActionsData = $pendingActionsController->getPendingActionsForDashBoard(); - $businessTeamData = $this->policyTransactionModel->getBusinessReportList(); - $financeTeamData = $this->policyTransactionModel->getFinanceReportList(); - $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData); - $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData); + //BDS dashboard data + // $businessTeamData = $this->policyTransactionModel->getBusinessReportList(); + // $financeTeamData = $this->policyTransactionModel->getFinanceReportList(); + // $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData); + // $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData); + $businessTeamData = []; + $financeTeamData = []; + $businessTeamStatusData = []; + $financeTeamStatusData = []; $data['client_branch_emp_list'] = $results; $session = \Config\Services::session(); $session->set('enrollment_data', json_encode($data)); - // echo "
";
$data['pendingActionsData'] = $pendingActionsData;
$data['businessTeamCount'] = count($businessTeamData) ?? 0;
- // dd($businessTeamData);
$data['financeTeamCount'] = count($financeTeamData) ?? 0;
$data['businessTeamStatusData'] = $businessTeamStatusData;
$data['financeTeamStatusData'] = $financeTeamStatusData;
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index a4666518..3bf6a341 100755
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -35,7 +35,7 @@ use App\Controllers\JobWorker;
use App\Controllers\Jobs\SubJob;
use App\Controllers\EmployeeServiceController;
use App\Controllers\EmpDataServiceController;
-
+use App\Models\ThzMasterModel;
use CodeIgniter\API\ResponseTrait;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
@@ -1471,6 +1471,7 @@ class EmployeeController extends AdminController
$template_data_path = WRITEPATH . 'e_card_template/';
// $tpa_short_name = strtolower(str_replace(' ', '_', $get_emp_code_and_client_policy_id['short_name'])) . '.html';
$tpa_short_name = 'common.html';
+ // $tpa_short_name = 'new_ecard.html';
$final_path = $template_data_path . $tpa_short_name;
$this->myLogger->logme('error', 'Checking if template file exists at: ' . $final_path);
@@ -1523,10 +1524,12 @@ class EmployeeController extends AdminController
'{QR_IOS}' => base_url() . 'public/e_card_imgs/ios.png',
'{QR_ANDROID_2}' => base_url() . 'public/e_card_imgs/play_store.png',
'{QR_IOS_2}' => base_url() . 'public/e_card_imgs/appstore.png',
+ '{NHANCE_N_LOGO}' => base_url() . 'public/assets/images/Nhance_Favi.png',
];
$placeholders['{LEVELS}'] = $this->generateAcmAndMForEcard($client_id);
-
+ $placeholders['{NETWORK_HOSPITAL}'] = $this->generateNetworkHospitalsForEcard($value['network_hospitals']);
+
foreach ($placeholders as $placeholder => $replaceValue) {
$htmlContent = str_replace($placeholder, $replaceValue, $htmlContent);
}
@@ -1534,13 +1537,23 @@ class EmployeeController extends AdminController
$html .= $htmlContent;
}
+ // return $html;
// DomPdf
$options = new Options();
$options->set('isRemoteEnabled', true);
$options->set('isHtml5ParserEnabled', true);
$dompdf = new Dompdf($options);
- $dompdf->loadHtml('' . $html); // remove the margin
+ // $dompdf->loadHtml('' . $html); // remove the margin
+ $dompdf->loadHtml('
+
+ ' . $html
+ );
+
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
@@ -2939,20 +2952,43 @@ class EmployeeController extends AdminController
// Generate the HTML content
$html = '';
-
+
+ $level_index = 1;
foreach ($levels as $level => $contacts) {
$displayLevel = $level == 3 ? 1 : 2; // Switch levels for display
- $html .= '
Level ' . $displayLevel . '
';
+ if($level_index == 1){
+ $html .= 'Level ' . $displayLevel . '
';
+ }else{
+ $html .= '
Level ' . $displayLevel . '
';
+ }
foreach ($contacts as $index => $contact) {
$html .= ($index + 1) . '. ' . $contact['first_name'] . ' / ' . $contact['mobile'] . ' / ' . $contact['email'] . '
';
}
+ $level_index++;
}
- $html .= '
';
+ $html .= '
';
return $html;
}
+ public function generateNetworkHospitalsForEcard($network_hospitals)
+ {
+ $html = "";
+ if (!empty($network_hospitals)) {
+ $html = '
+ Network Hospital:
+
+ ';
+ }
+
+ // For debugging
+ // print_r($html); die;
+
+ return $html;
+ }
+
+
public function getBatchFileData()
{
$file_id = $this->request->getGet('file_id');
@@ -3065,7 +3101,8 @@ class EmployeeController extends AdminController
} else {
$text = "create";
$data['created_by'] = get_session_userid();
- $this->thzMasterModel->insert($data);
+ $thzMasterModel = new ThzMasterModel();
+ $thzMasterModel->insert($data);
$insertID = $this->partnerEndorsementRequestModel->insertID();
$result = true;
}
diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php
index 19cde67b..9e4a5a08 100755
--- a/app/Controllers/MasterController.php
+++ b/app/Controllers/MasterController.php
@@ -2073,7 +2073,7 @@ class MasterController extends AdminController
}
}
- $data = $nhanceBranchModel->where('is_active', 1)->findAll();
+ $data = $nhanceBranchModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll();
return $this->loadLayout('nhance_branch_list', ['data' => $data]);
} elseif ($method === 'delete') {
@@ -2156,7 +2156,7 @@ class MasterController extends AdminController
}
}
- $data = $vehicleTypeModel->where('is_active', 1)->findAll();
+ $data = $vehicleTypeModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll();
return $this->loadLayout('vehicle_type_master_list', ['data' => $data]);
} elseif ($method === 'delete') {
@@ -2239,7 +2239,7 @@ class MasterController extends AdminController
}
}
- $data = $rtoModel->where('is_active', 1)->findAll();
+ $data = $rtoModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll();
return $this->loadLayout('rto_master_list', ['data' => $data]);
} elseif ($method === 'delete') {
diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php
index 1778d0de..94033074 100644
--- a/app/Controllers/PolicyTransactionController.php
+++ b/app/Controllers/PolicyTransactionController.php
@@ -113,7 +113,8 @@ class PolicyTransactionController extends BaseController
// Policy Transaction Inception
public function viewInception()
- {
+ {
+ $bds_edit_pt_id = $this->request->getGet('pt_id') ?? null;
$data['tab_name'] = 'Policy';
$data['page_name'] = 'Policy';
@@ -151,6 +152,8 @@ class PolicyTransactionController extends BaseController
// 'bicycle' => 'Bicycle'
// ];
$data['vehicle_type'] = db_connect()->table('vehicle_type')->where('is_active', 1)->get()->getResultArray();
+ $data['rto_details'] = db_connect()->table('rto_master')->where('is_active', 1)->get()->getResultArray();
+
$data['vehicle_des'] = [
'commercial' => 'Commercial',
'private' => 'Private',
@@ -181,34 +184,38 @@ class PolicyTransactionController extends BaseController
$issuer = empty($issuer) ? 0 : $issuer;
$status = empty($status) ? 0 : $status; // Corrected from `$issuer`
- if ($this->request->is('get')) {
+ if(empty($bds_edit_pt_id)){
+ if ($this->request->is('get')) {
- // Fetch inception data list
- $data['inception_data_list'] = $this->policyTransactionModel->getInceptionTranctionListData(
- $start_date,
- $end_date,
- $client_id,
- $insurer_id,
- $policy_type_id,
- $date_type,
- $issuer,
- $status
- );
- } else {
+ // Fetch inception data list
+ $data['inception_data_list'] = $this->policyTransactionModel->getInceptionTranctionListData(
+ $start_date,
+ $end_date,
+ $client_id,
+ $insurer_id,
+ $policy_type_id,
+ $date_type,
+ $issuer,
+ $status
+ );
+ } else {
- $ids = $this->request->getPost('ids');
- $ids = array_filter(explode(',', $ids));
- $data['inception_data_list'] = $this->policyTransactionModel->getInceptionTranctionListData(
- $start_date = 0,
- $end_date = 0,
- $client_id = 0,
- $insurer_id = 0,
- $policy_type_id = 0,
- $date_type = 0,
- $issuer = 0,
- $status = 0,
- $ids
- );
+ $ids = $this->request->getPost('ids');
+ $ids = array_filter(explode(',', $ids));
+ $data['inception_data_list'] = $this->policyTransactionModel->getInceptionTranctionListData(
+ $start_date = 0,
+ $end_date = 0,
+ $client_id = 0,
+ $insurer_id = 0,
+ $policy_type_id = 0,
+ $date_type = 0,
+ $issuer = 0,
+ $status = 0,
+ $ids
+ );
+ }
+ }else{
+ $data['inception_data_list'] = [];
}
@@ -261,6 +268,7 @@ class PolicyTransactionController extends BaseController
$data = $this->preparePolicyData();
$data['cd_ac_pk'] = $this->request->getPost('cd_ac_no');
$data['issuer'] = 2;
+ $data['status'] = 'completed';
$this->myLogger->logme('error', 'Policy Trancaction modified form data ( insert data ) : '. json_encode($data));
@@ -276,7 +284,6 @@ class PolicyTransactionController extends BaseController
$data = $this->request->getPost();
// print_r($data); die;
- // var_dump($data); die;
if (empty($data['policy_issue_date'])) {
$data['policy_issue_date'] = null;
@@ -304,7 +311,6 @@ class PolicyTransactionController extends BaseController
$data['last_action_date'] = change_date_format($data['last_action_date']);
}
-
// Separate Insurer and TPA Branch IDs and IDs
if (isset($data['insurer_id']) && !empty($data['insurer_id'])) {
list($data['insurer_branch_id'], $data['insurer_id']) = explode('-', $data['insurer_id']);
@@ -373,6 +379,7 @@ class PolicyTransactionController extends BaseController
$pt_co_share_details = $this->insertOrUpdateCoShareDetails($data, $insert);
+ $client_policy_id = null;
if ($data['ct_type'] == 2) {
$client_policy_insert_data = $this->prepareClientPolicyInsertData($data);
$client_policy_id = $this->clientPolicyModel->insert($client_policy_insert_data);
@@ -381,7 +388,7 @@ class PolicyTransactionController extends BaseController
}
if ($data['client_type'] == 1 && $data['status'] == 'completed' && $data['is_cd_reduce_from_bds'] == 1) {
- $this->processCompletedStatus($data, $client_policy_id, $data['insurer_id']);
+ $this->processCompletedStatus($data, $client_policy_id, $data['insurer_id'], $insert);
}
}
@@ -391,7 +398,6 @@ class PolicyTransactionController extends BaseController
$clientController = new ClientController();
$data['client_kyc_primary_table'] = $clientController->generateKycPrimaryTable($data['client_id']);
$data['client_kyc_other_table'] = $clientController->generateKycOthersTable($data['client_id']);
-
$data['entity_type_id'] = $client_data['entity_type_id'];
return $this->respondSuccess($insert, "Policy transaction created successfully", $data);
@@ -432,20 +438,20 @@ class PolicyTransactionController extends BaseController
}
}
- if($old_pt_data['status'] != "completed"){
- if ($data['status'] == 'completed' && $data['ct_type'] == 2) {
- if ($data['client_type'] == 1 && $data['is_cd_reduce_from_bds'] == 1) {
- $this->processCompletedStatus($data, $data['client_policy_id'], $data['insurer_id']);
- }
- }
- }
+ // if($old_pt_data['status'] != "completed"){
+ // if ($data['status'] == 'completed' && $data['ct_type'] == 2) {
+ // if ($data['client_type'] == 1 && $data['is_cd_reduce_from_bds'] == 1) {
+ // $this->processCompletedStatus($data, $data['client_policy_id'], $data['insurer_id'], $id);
+ // }
+ // }
+ // }
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel->where('pt_id', $id)->where('is_active', 1)->findAll();
}
if(isset($data['cd_amt_changed']) && !empty($data['cd_amt_changed'])){
$policy_data = $this->policyTransactionModel->where('is_active', 1)->where('id', $id)->first();
- $this->cdCorrection($policy_data, $data['cd_amt_changed']);
+ $this->cdCorrection($policy_data, $data['cd_amt_changed'], $id);
}
$client_data = $this->clientModel->where('id', $data['client_id'])->first();
@@ -467,10 +473,6 @@ class PolicyTransactionController extends BaseController
{
// Prepare data for insertion and updating
$coShareDetails = [];
-
- // print_r($data); die;
- // die;
-
if (isset($data['co_share_id']) && !empty($data['co_share_id'])) {
$this->removePtCoShareRecords($data['co_share_id'], $pt_id);
}
@@ -564,7 +566,6 @@ class PolicyTransactionController extends BaseController
}
// print_r($this->PTCOShareDetailsModel->getLastQuery()); die;
-
// print_r($coShareDetails);
// die;
@@ -610,7 +611,7 @@ class PolicyTransactionController extends BaseController
$this->policyTransactionStatusModel->insert($statusData);
}
- private function processCompletedStatus($data, $client_policy_id, $insurer_id)
+ private function processCompletedStatus($data, $client_policy_id, $insurer_id, $policyTranId)
{
$totalAmount = (int)$data['total'][0] ?? 0;
$description = 'The following amount of Rs. ' . $totalAmount . '/- has been debited for the ' . $data['emp_count'] . ' employees at Inception (BDS).';
@@ -628,13 +629,19 @@ class PolicyTransactionController extends BaseController
'updated_by' => get_session_userid(),
'event_name' => 'inception',
'is_active' => 1,
- 'cd_ac_pk' => $data['cd_ac_pk']
+ 'cd_ac_pk' => $data['cd_ac_pk'],
+ 'pt_id' => $policyTranId ?? null,
];
- DepositHelper::saveDeposit($cdTransactionData, get_session_userid());
+ $result = DepositHelper::saveDeposit($cdTransactionData, get_session_userid());
+
+ if(isset($result) && $result['success'] == true){
+ $update_data['ct_tran_id'] = $result['insert_id'];
+ $this->policyTransactionModel->where('id', $policyTranId)->set($update_data)->update();
+ }
}
- private function cdCorrection($data, $amt)
+ private function cdCorrection($data, $amt, $policyTranId)
{
$totalAmount = (int)($amt ?? 0);
$description = 'The following amount of Rs. ' . $totalAmount . '/- has been debited towards the difference arising from the change in the BDS base premium.';
@@ -652,7 +659,8 @@ class PolicyTransactionController extends BaseController
'updated_by' => get_session_userid(),
'event_name' => 'inception',
'is_active' => 1,
- 'cd_ac_pk' => $data['cd_ac_pk']
+ 'cd_ac_pk' => $data['cd_ac_pk'],
+ 'pt_id' => $policyTranId ?? null,
];
DepositHelper::saveDeposit($cdTransactionData, get_session_userid());
@@ -1026,20 +1034,28 @@ class PolicyTransactionController extends BaseController
}
}
- public function removePolicyTransaction($id)
- {
+ public function removePolicyTransaction($id, $type = 0)
+ {
if ($id) {
-
$data['is_active'] = 0;
$policy_transaction_data = $this->policyTransactionModel->where('id', $id)->first();
- if($policy_transaction_data['policy_type_id'] > 7){
+ if($policy_transaction_data['policy_type_id'] > 7 && $type == 0){
+
$this->policyTransactionModel->where('id', $id)->set($data)->update();
$this->PTCOShareDetailsModel->where('pt_id', $id)->set($data)->update();
$this->clientPolicyModel->where('id', $policy_transaction_data['client_policy_id'])->set($data)->update();
$this->policyTransactionModel->where('client_policy_id', $policy_transaction_data['client_policy_id'])->set($data)->update();
+
+ $cd_transaction_model = new ClientDepositModel();
+ $cd_transaction_model->where('policy_transaction_id', $id)->set($data)->update();
+
}else{
$this->policyTransactionModel->where('id', $id)->set($data)->update();
$this->PTCOShareDetailsModel->where('pt_id', $id)->set($data)->update();
+
+ $cd_transaction_model = new ClientDepositModel();
+ $cd_transaction_model->where('policy_transaction_id', $id)->set($data)->update();
+
}
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Policy Transaction removed successfully'], 200);
} else {
@@ -1076,7 +1092,7 @@ class PolicyTransactionController extends BaseController
{
// echo '';
// !dd($this->getEndorsementDataForEdit(17));
-
+ $bds_edit_pt_id = $this->request->getGet('pt_id') ?? null;
$data['tab_name'] = 'Endorsement';
$data['page_name'] = 'Endorsement';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@@ -1143,8 +1159,11 @@ class PolicyTransactionController extends BaseController
$issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
$status = (!isset($issuer) || $status === '' || $status === null) ? 0 : $status;
-
- $data['endorsement_data_list'] = $this->policyTransactionModel->getEndorsementTranctionListData($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status);
+ if($bds_edit_pt_id == null){
+ $data['endorsement_data_list'] = $this->policyTransactionModel->getEndorsementTranctionListData($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status);
+ }else{
+ $data['endorsement_data_list'] = [];
+ }
$data['client'] = $this->clientModel->where('is_active', 1)->findAll();
$data['policy_types'] = $this->policyTypeModel->where('is_active', 1)->findAll();
@@ -1167,6 +1186,7 @@ class PolicyTransactionController extends BaseController
{
$id = $this->request->getPost('id');
$data = $this->preparePolicyTransactionData();
+ $data['status'] = 'completed';
// print_r($data); die;
if (!$id) {
@@ -1334,9 +1354,9 @@ class PolicyTransactionController extends BaseController
if ($update) {
$this->insertTransactionStatus($id, $data, 1);
- if($old_endorse_data['status'] != "completed"){
- $this->handleCompletedStatus($data, $id);
- }
+ // if($old_endorse_data['status'] != "completed"){
+ // $this->handleCompletedStatus($data, $id);
+ // }
$this->insertOrUpdateCoShareDetails($data, $id);
@@ -1347,30 +1367,40 @@ class PolicyTransactionController extends BaseController
}
private function handleCompletedStatus($data, $policy_tran_id)
- {
+ {
if ($data['client_type'] == 1 && $data['status'] == 'completed' && $data['is_cd_reduce_from_bds'] == 1) {
$tolamt = (int) $data['total'][0] ?? 0;
- $description = 'The following amount of Rs. ' . round($tolamt, 2) . '/- has been' .
- ($data['action_type'] == 'deletion' ? ' Credit ' : ' Debit ') . 'from the policy transaction (BDS)';
- $cd_tranction_data = [
- 'amount' => $tolamt,
- 'sub_type_id' => $data['action_type'] == 'deletion' ? 3 : 4,
- 'client_id' => $data['client_id'],
- 'client_policy_id' => $data['client_policy_id'],
- 'endorsement_no' => null,
- 'cd_ac_no' => $data['cd_ac_no'] ?? null,
- 'insurer_id' => $data['insurer_id'],
- 'description' => $description,
- 'transaction_type' => $data['action_type'] == 'deletion' ? 'Credit' : 'Debit',
- 'updated_by' => get_session_userid(),
- 'event_name' => $data['action_type'],
- 'is_active' => 1,
- 'cd_ac_pk' => $data['cd_ac_pk'] ?? null,
- ];
+ if(!empty($tolamt)){
+ $description = 'The following amount of Rs. ' . round($tolamt, 2) . '/- has been' .
+ ($data['action_type'] == 'deletion' ? ' Credit ' : ' Debit ') . 'from the policy transaction (BDS)';
+
+ $cd_tranction_data = [
+ 'amount' => abs($tolamt),
+ 'sub_type_id' => $data['action_type'] == 'deletion' ? 3 : 4,
+ 'client_id' => $data['client_id'],
+ 'client_policy_id' => $data['client_policy_id'],
+ 'endorsement_no' => null,
+ 'cd_ac_no' => $data['cd_ac_no'] ?? null,
+ 'insurer_id' => $data['insurer_id'],
+ 'description' => $description,
+ 'transaction_type' => $data['action_type'] == 'deletion' ? 'Credit' : 'Debit',
+ 'updated_by' => get_session_userid(),
+ 'event_name' => $data['action_type'],
+ 'is_active' => 1,
+ 'cd_ac_pk' => $data['cd_ac_pk'] ?? null,
+ 'pt_id' => $policy_tran_id ?? null,
+ ];
+
+ $result = DepositHelper::saveDeposit($cd_tranction_data, get_session_userid());
+
+ if(isset($result['success']) && $result['success']){
+ $update_data['ct_tran_id'] = $result['insert_id'];
+ $this->policyTransactionModel->where('id', $policy_tran_id)->set($update_data)->update();
+ }
+ }
- DepositHelper::saveDeposit($cd_tranction_data, get_session_userid());
}
}
@@ -1398,13 +1428,13 @@ class PolicyTransactionController extends BaseController
->orderBy('id', 'asc')
->first();
- $pt_id = null;
+ $pt_id = null;
+
if(!empty($data)){
$inception_data = $this->policyTransactionModel->where('policy_no', $data['policy_no'])->where('client_id', $data['client_id'])->first();
$pt_id = $inception_data['id'];
}
-
if (!empty($data['policy_start_date'])) {
$data['policy_start_date'] = change_date_format($data['policy_start_date'], 'Y-m-d', 'd/m/Y');
}
@@ -1565,6 +1595,16 @@ class PolicyTransactionController extends BaseController
// print_r($data['endorse_eff_date']); die;
+ $pt_bp_amt = $this->PTCOShareDetailsModel
+ ->select('bp_amt, amount')
+ ->where('pt_id', $id)
+ ->where('co_share_type', 1)
+ ->where('is_active', 1)
+ ->first();
+
+ // dd(db_connect()->getLastQuery() ,$pt_bp_amt);
+ $data['base_cd_amount'] = $pt_bp_amt['amount'] ?? null;
+
if ($data) {
return $this->respond(['status' => true, 'data' => $data, 'pt_id' => $pt_id], 200);
} else {
@@ -3128,4 +3168,116 @@ class PolicyTransactionController extends BaseController
return [$policyList, $policyListByClient];
}
+
+
+public function reportBDSNew()
+{
+ // ๐งญ Basic Page Info
+ $data['tab_name'] = 'BDS Report';
+ $data['page_name'] = 'BDS Report';
+
+ // ๐ Dropdown Data
+ $data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
+ $data['client_type'] = [1 => 'Group', 2 => 'Individual'];
+ $data['issuing_type'] = [1 => 'Fresh', 2 => 'Renewal', 3 => 'Roll Over'];
+ $data['policy_status'] = [
+ 'pending' => 'Pending',
+ 'exported_to_insurer' => 'Exported to Insurer',
+ 'imported_from_insurer'=> 'Imported from Insurer',
+ 'exported_to_tpa' => 'Exported to TPA',
+ 'imported_from_tpa' => 'Imported from TPA',
+ 'completed' => 'Completed'
+ ];
+ $data['invoice_status_array'] = [
+ 'yet_to_generate' => 'Yet to Generate',
+ 'generated' => 'Generated',
+ 'send' => 'Send',
+ 'recived' => 'Recived',
+ ];
+ $data['date_type'] = [
+ 'policy_issue_date' => 'Policy Issue Date',
+ 'policy_start_date' => 'Policy Start Date',
+ 'policy_end_date' => 'Policy End Date',
+ 'data_received_date' => 'Data Received Date',
+ 'closure_date' => 'Closure Date',
+ 'statement_month' => 'Statement Month',
+ ];
+
+ // ๐ข Fetch Active Data
+ $data['insurer'] = $this->insurerModel->where('is_active', 1)->findAll();
+ $data['policy_types'] = $this->policyTypeModel->where('is_active', 1)->findAll();
+ $data['clients'] = $this->clientModel->where('is_active', 1)->findAll();
+ $data['users'] = $this->userModel->where('is_active', 1)->findAll();
+ $data['policy_count'] = $this->policyTransactionModel->where('is_active', 1)->countAllResults();
+
+ // ๐ Filters
+ $start_date = $this->request->getGet('start_date');
+ $end_date = $this->request->getGet('end_date');
+ $client_id = $this->request->getGet('client_id');
+ $insurer_id = $this->request->getGet('insurer_id');
+ $policy_type_id = $this->request->getGet('policy_type_id');
+ $date_type = $this->request->getGet('date_type');
+ $issuer = $this->request->getGet('issuer');
+ $client_branch_id = $this->request->getGet('client_branch_id');
+ $insurer_branch_id = $this->request->getGet('insurer_branch_id');
+ $client_policy_id = $this->request->getGet('client_policy_id');
+ $user_id = $this->request->getGet('user_id');
+
+ // Handle statement month range
+ if ($date_type == 'statement_month') {
+ $start_date = (string) date('Y-m-01', strtotime($start_date));
+ $end_date = (string) date('Y-m-31', strtotime($end_date));
+ }
+
+ // Ensure default values
+ $start_date = $start_date ?: 0;
+ $end_date = $end_date ?: 0;
+ $client_id = $client_id ?: 0;
+ $insurer_id = $insurer_id ?: 0;
+ $policy_type_id = $policy_type_id ?: 0;
+ $date_type = $date_type ?: 0;
+ $issuer = $issuer ?: 0;
+ $client_branch_id = $client_branch_id ?: 0;
+ $insurer_branch_id = $insurer_branch_id ?: 0;
+ $client_policy_id = $client_policy_id ?: 0;
+ $user_id = $user_id ?: 0;
+
+ // ๐งพ Handle POST requests (Dashboard filters)
+ if ($this->request->is('post')) {
+ $isFromDashboard = $this->request->getPost('is_dashboard');
+
+ if (!empty($isFromDashboard) && $isFromDashboard == 1) {
+ $ids = array_filter(explode(',', $this->request->getPost('ids')));
+
+ if (!empty($ids)) {
+ $idsStr = implode(',', array_map('intval', $ids)); // sanitize IDs
+ $where = "policy_transaction.id IN ($idsStr)";
+ } else {
+ $where = []; // No valid IDs
+ }
+ }
+ }
+
+ // ๐ Fetch report data
+ $data['report_list'] = $this->policyTransactionModel->reportBDSNew(
+ $start_date,
+ $end_date,
+ $client_id,
+ $insurer_id,
+ $policy_type_id,
+ $date_type,
+ $issuer,
+ $client_branch_id,
+ $insurer_branch_id,
+ $client_policy_id,
+ $user_id,
+ $where ?? ''
+ );
+
+ // ๐งฉ Load View
+ $this->loadLayout('report_bds_filter', $data);
+}
+
+
+
}
diff --git a/app/Helpers/DepositHelper.php b/app/Helpers/DepositHelper.php
index 9549f8a1..495797f3 100755
--- a/app/Helpers/DepositHelper.php
+++ b/app/Helpers/DepositHelper.php
@@ -66,7 +66,8 @@ class DepositHelper
'updated_by' => $data['updated_by'],
'balance' => $newBalance, // Include the new balance in the data array
'cd_ac_pk'=> isset($data['cd_ac_pk'])?$data['cd_ac_pk']:null,
- 'record_date' => $data['record_date'] ?? null
+ 'record_date' => $data['record_date'] ?? null,
+ 'policy_transaction_id' => $data['pt_id'] ?? null
];
// Insert data and get the insert ID
diff --git a/app/Models/ClientDepositModel.php b/app/Models/ClientDepositModel.php
index 9d45f38f..8a61b204 100755
--- a/app/Models/ClientDepositModel.php
+++ b/app/Models/ClientDepositModel.php
@@ -28,7 +28,8 @@ class ClientDepositModel extends Model
"event_name",
"unit",
"cd_ac_pk",
- "record_date"
+ "record_date",
+ "policy_transaction_id",
];
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 041ac791..bea76e50 100755
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -1471,7 +1471,7 @@ class EmployeePolicyModel extends Model
ep.tpa_id,
ep.uhid,
- ep.policy_end_date,
+ cp.policy_end_date,
ep.basic_cover_si,
clients.client_name,
@@ -1537,7 +1537,7 @@ class EmployeePolicyModel extends Model
ep.tpa_id,
ep.uhid,
- ep.policy_end_date,
+ cp.policy_end_date,
ep.basic_cover_si,
clients.client_name,
diff --git a/app/Models/PolicyTransactionModel.php b/app/Models/PolicyTransactionModel.php
index 6ea94e65..a9629d73 100644
--- a/app/Models/PolicyTransactionModel.php
+++ b/app/Models/PolicyTransactionModel.php
@@ -305,7 +305,7 @@ class PolicyTransactionModel extends Model
if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
- $fromDate = date('Y-m-d', strtotime('-30 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -881,7 +881,7 @@ class PolicyTransactionModel extends Model
if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
- $fromDate = date('Y-m-d', strtotime('-60 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
if (empty($where)) {
@@ -1060,7 +1060,7 @@ class PolicyTransactionModel extends Model
// Default to Last 30 Days if No Filters Are Applied
if (empty($client_id) && empty($insurer_id) && empty($policy_type_id) && empty($date_type) && empty($issuer) && empty($where)) {
- $fromDate = date('Y-m-d', strtotime('-60 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1108,7 +1108,7 @@ class PolicyTransactionModel extends Model
->join('client_branch', 'policy_transaction.client_branch_id = client_branch.id', 'left')
->join('insurers', 'pt_co_share_details.insurer_id = insurers.id', 'left')
->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
- ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
+ ->join('policy_type', 'policy_transaction.policy_type_id = policy_type.id', 'left')
->where('policy_transaction.is_active', 1)
->where('policy_transaction.action_type !=', 'inception');
@@ -1163,7 +1163,7 @@ class PolicyTransactionModel extends Model
if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
- $fromDate = date('Y-m-d', strtotime('-60 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1313,7 +1313,7 @@ class PolicyTransactionModel extends Model
->where('policy_transaction.' . $date_type . '<=', $endDate);
} else {
- $fromDate = date('Y-m-d', strtotime('-30 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1416,7 +1416,7 @@ class PolicyTransactionModel extends Model
->where('policy_transaction.' . $date_type . '<=', $endDate);
} else {
- $fromDate = date('Y-m-d', strtotime('-30 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1457,7 +1457,7 @@ class PolicyTransactionModel extends Model
public function getFinanceReportList($start_date = 0, $end_date = 0, $client_id = 0, $insurer_id = 0, $policy_type_id = 0, $date_type = 0, $issuer = 0, $status = 0)
{
- $dateThreshold = date('Y-m-d H:i:s', strtotime("- 3 days"));
+ $dateThreshold = date('Y-m-d H:i:s', strtotime("-90 days"));
$builder = $this->db->table('policy_transaction')
->select("
@@ -1519,7 +1519,7 @@ class PolicyTransactionModel extends Model
->where('policy_transaction.' . $date_type . '<=', $endDate);
} else {
- $fromDate = date('Y-m-d', strtotime('-30 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1624,7 +1624,7 @@ class PolicyTransactionModel extends Model
$builder->where('policy_transaction.' . $date_type . '>=', $startDate)
->where('policy_transaction.' . $date_type . '<=', $endDate);
} else {
- $fromDate = date('Y-m-d', strtotime('-30 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
@@ -1712,7 +1712,7 @@ class PolicyTransactionModel extends Model
//function for fetch renewal report data
public function getRenewalReportData($start_date = null, $end_date = null, $client_type = null, $client = null, $issuer = null)
{
- $fromDate = date('Y-m-d', strtotime('-60 days'));
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
$toDate = date('Y-m-d 23:59:59');
if (!empty($start_date) && !empty($end_date)) {
@@ -1806,4 +1806,307 @@ class PolicyTransactionModel extends Model
return $result[0];
}
+
+ public function reportBDSNew(
+ $start_date = 0,
+ $end_date = 0,
+ $client_id = 0,
+ $insurer_id = 0,
+ $policy_type_id = 0,
+ $date_type = 0,
+ $issuer = 0,
+ $client_branch_id = 0,
+ $insurer_branch_id = 0,
+ $client_policy_id = 0,
+ $user_id = 0,
+ $where = []
+ ) {
+
+ $date_condition = '';
+
+ // ==============================
+ // DATE FILTER FOR STATEMENT MONTH
+ // ==============================
+ if ($date_type == 'statement_month' && $start_date != 0 && $end_date != 0) {
+ $date_condition = "
+ AND insurer_statements.month >= '{$start_date}'
+ AND insurer_statements.month <= '{$end_date}'
+ ";
+ }
+
+ // ==============================
+ // BASE QUERY
+ // ==============================
+ $builder = $this->db->table('policy_transaction')
+ ->select("
+ policy_transaction.*,
+ DATE_FORMAT(policy_transaction.policy_issue_date, '%d %b %Y') AS policy_issue_date,
+ DATE_FORMAT(
+ IF(policy_transaction.month IS NULL,
+ policy_transaction.policy_issue_date,
+ policy_transaction.month
+ ), '%b %Y'
+ ) AS policy_issue_month,
+
+ CASE
+ WHEN clients.client_type = 1 THEN 'Group'
+ WHEN clients.client_type = 2 THEN 'Retail'
+ ELSE '-'
+ END AS client_type,
+
+ CASE
+ WHEN policy_transaction.revenue_type = 'NA' THEN 'Fresh'
+ ELSE 'Renewal'
+ END AS revenue_type,
+
+ CASE
+ WHEN policy_transaction.action_type = 'inception' THEN 'Policy'
+ ELSE 'Endorsement'
+ END AS action_type,
+
+ clients.client_name AS client_name,
+ clients.short_name AS client_short_name,
+ client_branch.branch_name AS client_branch_name,
+ client_branch.address1 AS client_address,
+ policy_type.policy_type,
+ policy_type.bap,
+ insurers.name AS insurer_name,
+ insurers.short_name AS insurer_short_name,
+ insurer_branch.branch_name AS insurer_branch_name,
+ insurer_branch.branch_code AS insurer_branch_code,
+ user_profiles.first_name AS user_name,
+ vehicle.vehicle_no,
+ tpa.name AS tpa_name,
+ pt_co_share_details.remark AS remarks,
+ pt_co_share_details.cop_amt AS bp_amt,
+ pt_co_share_details.exp_amt,
+ pt_co_share_details.id AS pt_id,
+ sales_user.first_name AS salse_person_name,
+ service_user.first_name AS service_person_name,
+
+ ROUND(pt_co_share_details.cop_amt + pt_co_share_details.cotp_amt + pt_co_share_details.cotep_amt, 2) AS premium_wo_gst,
+ ROUND((ROUND(pt_co_share_details.cop_amt + pt_co_share_details.cotp_amt + pt_co_share_details.cotep_amt, 2) * 18 / 100), 2) AS gst_amount,
+ ROUND(
+ ROUND(pt_co_share_details.cop_amt + pt_co_share_details.cotp_amt + pt_co_share_details.cotep_amt, 2) +
+ ROUND((ROUND(pt_co_share_details.cop_amt + pt_co_share_details.cotp_amt + pt_co_share_details.cotep_amt, 2) * 18 / 100), 2),
+ 2) AS total_premium,
+
+ ROUND(pt_co_share_details.cotp_amt + pt_co_share_details.cotep_amt, 2) AS tp_or_ter,
+ DATEDIFF(policy_transaction.policy_end_date, CURDATE()) AS days,
+ (pt_co_share_details.agreed_tp_per + pt_co_share_details.agreed_tep_per) AS agreed_tp_or_ter_per,
+ pt_co_share_details.agreed_bp_per,
+
+ -- ==============================
+ -- SUBQUERY: Total IRDA Amount
+ -- ==============================
+ ROUND((
+ SELECT (
+ SUM(co_share_stmt_details.actual_bp_brokerage_amt) +
+ SUM(co_share_stmt_details.actual_tp_brokerage_amt) +
+ SUM(co_share_stmt_details.actual_tep_brokerage_amt) +
+ SUM(co_share_stmt_details.reward)
+ )
+ FROM co_share_stmt_details
+ JOIN insurer_statements ON co_share_stmt_details.statement_id = insurer_statements.id
+ WHERE co_share_stmt_details.co_share_id = pt_co_share_details.id
+ AND co_share_stmt_details.is_active = 1
+ AND insurer_statements.is_active = 1
+ {$date_condition}
+ ), 2) AS total_irda_amt,
+
+ -- Reward Only
+ ROUND((
+ SELECT SUM(co_share_stmt_details.reward)
+ FROM co_share_stmt_details
+ JOIN insurer_statements ON co_share_stmt_details.statement_id = insurer_statements.id
+ WHERE co_share_stmt_details.co_share_id = pt_co_share_details.id
+ AND co_share_stmt_details.is_active = 1
+ AND insurer_statements.is_active = 1
+ {$date_condition}
+ ), 2) AS reward,
+
+ -- Billed Amount
+ ROUND((
+ SELECT SUM(
+ COALESCE(co_share_stmt_details.actual_bp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tep_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.reward, 0)
+ )
+ FROM co_share_stmt_details
+ JOIN pt_co_share_details AS pt_table ON co_share_stmt_details.co_share_id = pt_table.id
+ JOIN insurer_statements ON co_share_stmt_details.statement_id = insurer_statements.id
+ WHERE co_share_stmt_details.co_share_id = pt_co_share_details.id
+ AND co_share_stmt_details.is_active = 1
+ AND pt_table.is_active = 1
+ AND insurer_statements.is_active = 1
+ AND insurer_statements.invoice_status IS NOT NULL
+ {$date_condition}
+ ), 2) AS billed_amt,
+
+ -- Unbilled Amount
+ ROUND(
+ (
+ (
+ SELECT
+ SUM(
+ COALESCE(co_share_stmt_details.actual_bp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tep_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.reward, 0)
+ )
+ FROM co_share_stmt_details
+ JOIN insurer_statements ON co_share_stmt_details.statement_id = insurer_statements.id
+ WHERE co_share_stmt_details.co_share_id = pt_co_share_details.id
+ AND co_share_stmt_details.is_active = 1
+ {$date_condition}
+ )
+ -
+ (
+ SELECT
+ SUM(
+ COALESCE(co_share_stmt_details.actual_bp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tp_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.actual_tep_brokerage_amt, 0) +
+ COALESCE(co_share_stmt_details.reward, 0)
+ )
+ FROM co_share_stmt_details
+ JOIN pt_co_share_details AS pt_table ON co_share_stmt_details.co_share_id = pt_table.id
+ JOIN insurer_statements ON co_share_stmt_details.statement_id = insurer_statements.id
+ WHERE co_share_stmt_details.co_share_id = pt_co_share_details.id
+ AND co_share_stmt_details.is_active = 1
+ AND pt_table.is_active = 1
+ AND insurer_statements.is_active = 1
+ AND insurer_statements.invoice_status IS NULL
+ {$date_condition}
+ )
+ ), 2) AS unbilled_amt,
+
+ created_user.first_name AS user_name,
+
+ CASE
+ WHEN pt_co_share_details.co_share_type IN (0, 1) THEN policy_transaction.policy_no
+ WHEN pt_co_share_details.co_share_type > 1 THEN
+ CASE
+ WHEN pt_co_share_details.follower_policy_no IS NULL OR pt_co_share_details.follower_policy_no = ''
+ THEN policy_transaction.policy_no
+ ELSE pt_co_share_details.follower_policy_no
+ END
+ ELSE policy_transaction.policy_no
+ END AS policy_no
+ ")
+
+ // ==============================
+ // JOINS
+ // ==============================
+ ->join('pt_co_share_details', 'policy_transaction.id = pt_co_share_details.pt_id', 'left')
+ ->join('clients', 'clients.id = policy_transaction.client_id')
+ ->join('client_branch', 'policy_transaction.client_branch_id = client_branch.id', 'left')
+ ->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
+ ->join('user_profiles', 'policy_transaction.created_by = user_profiles.id', 'left')
+ ->join('vehicle', 'policy_transaction.vehicle_id = vehicle.id', 'left')
+ ->join('policy_type', 'policy_transaction.policy_type_id = policy_type.id', 'left')
+ ->join('insurers', 'pt_co_share_details.insurer_id = insurers.id', 'left')
+ ->join('insurer_branch', 'pt_co_share_details.insurer_branch_id = insurer_branch.id', 'left')
+ ->join('tpa', 'policy_transaction.tpa_id = tpa.id', 'left')
+ ->join('tpa_branch', 'policy_transaction.tpa_branch_id = tpa_branch.id', 'left')
+ ->join('user_profiles AS sales_user', 'policy_transaction.sales_generated_by = sales_user.id', 'left')
+ ->join('user_profiles AS service_user', 'policy_transaction.serviced_by = service_user.id', 'left')
+ ->join('user_profiles AS created_user', 'policy_transaction.created_by = created_user.id', 'left')
+ ->where('policy_transaction.is_active', 1)
+ ->where('pt_co_share_details.is_active', 1);
+
+ // ==============================
+ // ROLE-BASED FILTERS
+ // ==============================
+ if (
+ (!in_array(get_role_id(), [1, 5])) &&
+ !(
+ in_array(MANAGEMENT_TEAM_ID, user_team()) ||
+ in_array(FINANCE_TEAM_ID, user_team()) ||
+ in_array(BUSINESS_TEAM_ID, user_team())
+ )
+ ) {
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $builder->where('policy_transaction.created_by', get_session_userid());
+ }
+ }
+
+ // ==============================
+ // ADDITIONAL FILTERS
+ // ==============================
+ if (!empty($where)) {
+ log_message('info', 'Where condition: ' . json_encode($where));
+ $builder->where($where);
+ }
+
+ if ($start_date != 0 && $end_date != 0 && $date_type != 0 && $date_type != 'statement_month') {
+ $startDate = date('Y-m-d 00:00:00', strtotime($start_date));
+ $endDate = date('Y-m-d 23:59:59', strtotime($end_date));
+
+ $builder->where("policy_transaction.{$date_type} >=", $startDate)
+ ->where("policy_transaction.{$date_type} <=", $endDate);
+ }
+
+ // JOIN FOR STATEMENT MONTH FILTER
+ if ($date_type == 'statement_month' && $start_date != 0 && $end_date != 0) {
+ $startDate = date('Y-m-d', strtotime($start_date));
+ $endDate = date('Y-m-d', strtotime($end_date));
+
+ $builder->join('co_share_stmt_details', 'pt_co_share_details.id = co_share_stmt_details.co_share_id', 'left')
+ ->join('insurer_statements', 'co_share_stmt_details.statement_id = insurer_statements.id', 'left')
+ ->where('insurer_statements.is_active', 1)
+ ->where('insurer_statements.month >=', $startDate)
+ ->where('insurer_statements.month <=', $endDate)
+ ->groupBy('co_share_stmt_details.co_share_id');
+ }
+
+ // ==============================
+ // FILTER BY IDs
+ // ==============================
+ if ($client_id != 0) $builder->where('policy_transaction.client_id', $client_id);
+ if ($insurer_id != 0) $builder->where('policy_transaction.insurer_id', $insurer_id);
+ if ($client_branch_id != 0) $builder->where('policy_transaction.client_branch_id', $client_branch_id);
+ if ($insurer_branch_id != 0) $builder->where('policy_transaction.insurer_branch_id', $insurer_branch_id);
+ if ($client_policy_id != 0) $builder->where('policy_transaction.client_policy_id', $client_policy_id);
+ if ($user_id != 0) $builder->where('policy_transaction.created_by', $user_id);
+ if ($policy_type_id != 0) $builder->where('client_policy.policy_type_id', $policy_type_id);
+ if ($issuer != 0) $builder->where('policy_transaction.issuer', $issuer);
+
+ // ==============================
+ // DEFAULT 90-DAY FILTER
+ // ==============================
+ if (
+ $client_id == 0 &&
+ $insurer_id == 0 &&
+ $policy_type_id == 0 &&
+ $date_type == 0 &&
+ $issuer == 0
+ ) {
+ $fromDate = date('Y-m-d', strtotime('-90 days'));
+ $toDate = date('Y-m-d 23:59:59');
+
+ if (empty($where)) {
+ $builder->where('policy_transaction.created_at >=', $fromDate)
+ ->where('policy_transaction.created_at <=', $toDate);
+ }
+ }
+
+ // ==============================
+ // ORDER & EXECUTION
+ // ==============================
+ $builder->orderBy('policy_transaction.id', 'desc');
+
+ $result = $builder->get()->getResultArray();
+
+ // Uncomment if you need to debug SQL
+ // dd($this->db->getLastQuery());
+
+ return $result;
+ }
+
+
+
+
+
}
diff --git a/app/Models/VehicleModel.php b/app/Models/VehicleModel.php
index 81459170..9c52936f 100644
--- a/app/Models/VehicleModel.php
+++ b/app/Models/VehicleModel.php
@@ -25,6 +25,7 @@ class VehicleModel extends Model
'is_active',
'created_by',
'updated_by',
+ 'rto_id',
];
diff --git a/app/Views/DashBoard.php b/app/Views/DashBoard.php
index ba72d495..e71d67ff 100755
--- a/app/Views/DashBoard.php
+++ b/app/Views/DashBoard.php
@@ -208,7 +208,7 @@
- | ${item.insurer_short} - ${item.insurer_branch_name} | -${policy_name_data} | -${item.branch_name ? item.branch_name : ' - '} | -${tpaValue} | -${(item.policy_start_date)} / ${(item.policy_end_date)} | - -${checkDateStatus(item.policy_end_date, 1)} | -- + | +
| ${item.insurer_short} - ${item.insurer_branch_name} | -${policy_name_data} | -${item.branch_name ? item.branch_name : ' - '} | -${tpaValue} | - -${(item.policy_start_date)} / ${(item.policy_end_date)} | -${checkDateStatus(item.policy_end_date, 1)} | -- - | -