diff --git a/app/Config/Routes.php b/app/Config/Routes.php index a6e3eb12..9d398006 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -376,7 +376,7 @@ $routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) { }); $routes->group("report", ["filter" => "authMVC"], function ($routes) { - $routes->get("list", "PolicyTransactionController::reportBDS"); + $routes->match(['get', 'post'],"list", "PolicyTransactionController::reportBDS"); $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/DashboardController.php b/app/Controllers/DashboardController.php index 78d1b86e..2adf141a 100755 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -244,10 +244,20 @@ class DashboardController extends AdminController $data['policyStatus'] = $this->policyStatus; $data['colorShades'] = $this->colorShades; } + if ((get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team())) || in_array(get_role_id(),[1,5])){ + $data['claim_data'] = $this->getClaimData(); + $data['colorShades'] = $this->colorShades; - $data['claim_data'] = $this->getClaimData(); - $data['lead_data'] = $this->getLeadData(); + } + if ((get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID,user_team())) || in_array(get_role_id(),[1,5])){ + $data['lead_data'] = $this->leadModel->getDashData(); + $data['bds_renewal'] = $this->policyTransactionModel->getBDSRenewalData(); + $data['colorShades'] = $this->colorShades; + } + + // dd(get_role_id(),user_team()); + $data['page_name'] = 'Dashboard'; echo view('layout/header', $data); @@ -255,9 +265,6 @@ class DashboardController extends AdminController echo view('layout/footer'); } - public function getLeadData(){ - - } public function getClaimData() { @@ -281,7 +288,6 @@ class DashboardController extends AdminController $claim_status[$typeId] = []; } - // Use associative array keys to mimic a set $claim_status[$typeId][$status] = true; } @@ -291,15 +297,8 @@ class DashboardController extends AdminController } $data = $this->ticketModel->getDashData($claim_status, $this->claimDashLimit); - // dd($data); - // foreach ($data as $dat){ - // foreach ($dat as $key => $value){ - // echo($key . " => ". $value); - // } - // } - // die(); - return $data; + return $data; } @@ -765,8 +764,9 @@ class DashboardController extends AdminController return $groupedData; } - public function prepareClaimSearchData(){ - + public function prepareClaimSearchData() + { + $received_data = $this->request->getPost(); $ticketTypeId = $received_data['ticketTypeId']; $status = $received_data['status']; @@ -780,6 +780,6 @@ class DashboardController extends AdminController ->where("tcs.claim_status", $status) ->first(); $data['ticket_type_id'] = $ticketTypeId; - return $this->respond(['status' => "success","data" => $data],200); + return $this->respond(['status' => "success", "data" => $data], 200); } } diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index 617add8f..79ca3591 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -146,19 +146,36 @@ class LeadsController extends BaseController $this->loadLayout('lead_filter', $data); } else { - $search_data = $this->request->getPost(); - // print_r($search_data); + $isFromDashboard = $this->request->getPost("is_dashboard"); - $where = []; - foreach ($search_data as $search_objects => $key) { - if ($key != null && $key != '' && $key != 0) { - $where[$search_objects] = $key; + if (isset($isFromDashboard) && !empty($isFromDashboard) && $isFromDashboard == 1) { + $ids = $this->request->getPost('ids'); + $ids = array_filter(explode(',', $ids)); + + if (!empty($ids)) { + $idsStr = implode(',', array_map('intval', $ids)); // sanitize IDs to be integers + $where = "leads.id IN ($idsStr)"; + } else { + $where = '1 = 0'; // No valid IDs, return empty result } - } + // dd($where ); + $data['lead_data_list'] = $this->leadsModel->getLeadDataForLising($where); + $this->loadLayout('lead_filter', $data); + } else { + $search_data = $this->request->getPost(); - $data['lead_data_list'] = $this->leadsModel->getLeadDataForLising($where); - $html = view('leads_list', $data); - return $this->respond(['status' => true, 'html' => $html], 200); + $where = []; + foreach ($search_data as $search_objects => $key) { + if ($key != null && $key != '' && $key != 0 && $search_objects != 'is_dashboard') { + $where[$search_objects] = $key; + } + } + + $data['lead_data_list'] = $this->leadsModel->getLeadDataForLising($where); + + $html = view('leads_list', $data); + return $this->respond(['status' => true, 'html' => $html], 200); + } } } @@ -602,7 +619,7 @@ class LeadsController extends BaseController return $this->respond(['status' => false, 'message' => 'File could not be removed.'], 200); } } - //--------RFQ----------------------------------------------------------------------------------------------- + //--------RFQ----------------------------------------------------------------------------------------------- public function viewRFQ($id, $type = 1) @@ -678,11 +695,10 @@ class LeadsController extends BaseController "; - if ($data['lead_data']['policy_end_date'] != null){ + if ($data['lead_data']['policy_end_date'] != null) { $subject = "{{CLIENT_NAME}} _ {{POLICY_TYPE}} _ {{RFQ_OR_QCR}} _ {{POLICY_YEAR}} {{POLICY_END_DATE}}"; - }else{ + } else { $subject = "{{CLIENT_NAME}} _ {{POLICY_TYPE}} _ {{RFQ_OR_QCR}} _ {{POLICY_YEAR}}"; - } $data['mail_content'] = $this->transformMailContent($lead_data, $mail_content, $data['page_name']); @@ -690,7 +706,7 @@ class LeadsController extends BaseController $data['multi_file_data'] = $this->leadFilesModel->where('lead_id', $id)->where('is_active', 1)->findAll() ?? null; $data['attachment_html'] = view('rfq/attachment_files', $data) ?? ""; - $data['user_team'] = $this->userModel->select("ut.team_id")->join("user_teams ut","ut.user_id = user_profiles.id and ut.is_active = 1")->where("user_profiles.is_active",1)->first()['team_id']; + $data['user_team'] = $this->userModel->select("ut.team_id")->join("user_teams ut", "ut.user_id = user_profiles.id and ut.is_active = 1")->where("user_profiles.is_active", 1)->first()['team_id']; // dd($data); if ($data['lead_data']['lead_form_type'] == 1) { @@ -866,7 +882,7 @@ class LeadsController extends BaseController if ($subKey !== 'Quote Asked' && isset($subVal['Total'])) { $proposals[$key] = $value; break; - }else{ + } else { $proposals[$key] = $value; } } @@ -1546,7 +1562,7 @@ class LeadsController extends BaseController ], ]); - + // Set filename $string = ($type == 2) ? 'QCR' : 'RFQ'; @@ -1554,15 +1570,14 @@ class LeadsController extends BaseController $next_year = $current_year + 1; $policy_year = "$current_year-$next_year"; - if (!empty($rfq_data['policy_end_date'])){ + if (!empty($rfq_data['policy_end_date'])) { $policy_expiry = strtotime($lead_data['policy_end_date']); - $formatted_policy = date("d-m-Y",$policy_expiry); + $formatted_policy = date("d-m-Y", $policy_expiry); - $filename = "{$rfq_data['client_name']}_{$rfq_data['policy_type']}_{$string}_" .$policy_year.'(Due On '.$formatted_policy . ')' .'.xlsx'; - - }else{ - $filename = "{$rfq_data['client_name']}_{$rfq_data['policy_type']}_{$string}_".$policy_year.'_' . '.xlsx'; + $filename = "{$rfq_data['client_name']}_{$rfq_data['policy_type']}_{$string}_" . $policy_year . '(Due On ' . $formatted_policy . ')' . '.xlsx'; + } else { + $filename = "{$rfq_data['client_name']}_{$rfq_data['policy_type']}_{$string}_" . $policy_year . '_' . '.xlsx'; } @@ -2190,12 +2205,11 @@ class LeadsController extends BaseController } else if ($recipient_type == 'client') { - $mailIDS = explode(',',$params['contact_mail']); + $mailIDS = explode(',', $params['contact_mail']); $recipient_data = []; - foreach ($mailIDS as $mail){ + foreach ($mailIDS as $mail) { $recipient_data[] = ['name' => $lead_data['contact_person_name'], 'email' => $mail]; } - } else { $recipient_data = [['name' => "Team", 'email' => $params['to']]]; } @@ -2902,10 +2916,10 @@ class LeadsController extends BaseController $policy_expiry = strtotime($lead_data['policy_end_date']); - $formatted_policy = date("d-m-Y",$policy_expiry); + $formatted_policy = date("d-m-Y", $policy_expiry); $logged_user_id = get_session_userid(); - $logged_user_data = $this->userModel->where("id",$logged_user_id)->where("is_active",1)->first(); + $logged_user_data = $this->userModel->where("id", $logged_user_id)->where("is_active", 1)->first(); if ($lead_data) { @@ -2916,11 +2930,11 @@ class LeadsController extends BaseController $message = str_replace("{{POLICY_TYPE}}", $lead_data['policy_type'] ?? "Insurance Policy", $message); $message = str_replace("{{RFQ_OR_QCR}}", $page_name, $message); $message = str_replace("{{POLICY_YEAR}}", $policy_year, $message); - $message = str_replace("{{POLICY_END_DATE}}"," (Due On ".$formatted_policy.")",$message); + $message = str_replace("{{POLICY_END_DATE}}", " (Due On " . $formatted_policy . ")", $message); - $message = str_replace("{{LOGGED_USER_NAME}}",ucfirst($logged_user_data['first_name'])." ".ucfirst($logged_user_data['last_name']),$message); - $message = str_replace("{{LOGGED_USER_EMAIL}}",$logged_user_data['email'],$message); - $message = str_replace("{{LOGGED_USER_MOBILE}}",$logged_user_data['mobile'],$message); + $message = str_replace("{{LOGGED_USER_NAME}}", ucfirst($logged_user_data['first_name']) . " " . ucfirst($logged_user_data['last_name']), $message); + $message = str_replace("{{LOGGED_USER_EMAIL}}", $logged_user_data['email'], $message); + $message = str_replace("{{LOGGED_USER_MOBILE}}", $logged_user_data['mobile'], $message); return $message; } else { diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index a4721770..99180333 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -64,7 +64,7 @@ class PolicyTransactionController extends BaseController protected $batchFileModel; protected $filesModel; protected $coShareStmtDetailsModel; - + public function __construct() { set_session_context('Policy Tranction'); @@ -106,7 +106,7 @@ class PolicyTransactionController extends BaseController public function viewInception() { $data['page_name'] = 'Policy'; - + // Static arrays for dropdowns $data['issuer'] = [1 => 'JIBS', 2 => 'Nhance']; $data['client_type'] = [1 => 'Group', 2 => 'Individual']; @@ -148,7 +148,7 @@ class PolicyTransactionController extends BaseController 'policy_start_date' => 'Policy Start Date', 'policy_end_date' => 'Policy End Date', ]; - + // Filter data $start_date = $this->request->getGet('start_date'); $end_date = $this->request->getGet('end_date'); @@ -158,7 +158,7 @@ class PolicyTransactionController extends BaseController $date_type = $this->request->getGet('date_type'); $issuer = $this->request->getGet('issuer'); $status = $this->request->getGet('status'); - + // Handle null or empty values $start_date = empty($start_date) ? 0 : $start_date; $end_date = empty($end_date) ? 0 : $end_date; @@ -168,7 +168,7 @@ class PolicyTransactionController extends BaseController $date_type = empty($date_type) ? 0 : $date_type; $issuer = empty($issuer) ? 0 : $issuer; $status = empty($status) ? 0 : $status; // Corrected from `$issuer` - + // Fetch inception data list $data['inception_data_list'] = $this->policyTransactionModel->getInceptionTranctionListData( $start_date, @@ -180,7 +180,7 @@ class PolicyTransactionController extends BaseController $issuer, $status ); - + // Fetch additional data $data['client'] = $this->clientModel->where('is_active', 1)->findAll(); $data['client_branch'] = $this->clientBranchModel->where('is_active', 1)->findAll(); @@ -190,7 +190,7 @@ class PolicyTransactionController extends BaseController $data['policy_types'] = $this->policyTypeModel->where('is_active', 1)->findAll(); $data['insurer_branch'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames(); $data['tpa'] = $this->tpaBranchModel->getTpaBranchesWithTpaNames(); - + // Fetch PP Teams Data $data['ppTeamsData'] = $this->userModel ->where('is_active', 1) @@ -204,22 +204,22 @@ class PolicyTransactionController extends BaseController ->where('user_teams.is_active', 1) ->where('user_profiles.is_active', 1) ->findAll(); - + // Fetch ACM $data['ACM'] = $this->userModel ->where('role', 3) // Assuming `role` is in `user_profiles` ->where('is_active', 1) ->findAll(); - + // echo '
';
// print_r($data['ppTeamsData']); die;
-
+
// dd($data);
-
+
// Load view
$this->loadLayout('policy_transaction_inception_list', $data);
}
-
+
// policy Transaction Create function start
public function createInceptionPolicy()
{
@@ -229,56 +229,56 @@ class PolicyTransactionController extends BaseController
$data['cd_ac_pk'] = $this->request->getPost('cd_ac_no');
// print_r($this->request->getPost()); die;
-
+
if (!$id) {
return $this->insertInceptionPolicy($data);
} else {
return $this->updateInceptionPolicy($id, $data);
}
}
-
+
private function preparePolicyData()
{
$data = $this->request->getPost();
-
+
// print_r($data); die;
// var_dump($data); die;
- if(empty($data['policy_issue_date'])){
+ if (empty($data['policy_issue_date'])) {
$data['policy_issue_date'] = null;
}
- if(empty($data['policy_start_date'])){
- $data['policy_start_date'] = null;
+ if (empty($data['policy_start_date'])) {
+ $data['policy_start_date'] = null;
}
- if(empty($data['policy_end_date'])){
- $data['policy_end_date'] = null;
+ if (empty($data['policy_end_date'])) {
+ $data['policy_end_date'] = null;
}
- if(empty($data['renewal_date'])){
- $data['renewal_date'] = null;
+ if (empty($data['renewal_date'])) {
+ $data['renewal_date'] = null;
}
- if(empty($data['rollover_date'])){
- $data['rollover_date'] = null;
+ if (empty($data['rollover_date'])) {
+ $data['rollover_date'] = null;
}
- if(empty($data['last_action_date'])){
+ if (empty($data['last_action_date'])) {
$data['last_action_date'] = null;
- }else{
+ } else {
$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'])){
+ if (isset($data['insurer_id']) && !empty($data['insurer_id'])) {
list($data['insurer_branch_id'], $data['insurer_id']) = explode('-', $data['insurer_id']);
if (isset($data['tpa']) && !empty($data['tpa'])) {
list($data['tpa_branch_id'], $data['tpa_id']) = explode('-', $data['tpa']);
}
}
-
+
$data['tsi'] = generate_tsi_code($data['issue_type']);
$data['action_type'] = 'inception';
@@ -287,13 +287,13 @@ class PolicyTransactionController extends BaseController
} elseif ($data['co_share']) {
$data['co_share'] = 1;
}
-
+
if (!isset($data['bro_payable_by'])) {
$data['bro_payable_by'] = 0;
} elseif ($data['bro_payable_by']) {
$data['bro_payable_by'] = 1;
}
-
+
if (!isset($data['same_as_proposer'])) {
$data['same_as_proposer'] = 0;
} elseif ($data['same_as_proposer']) {
@@ -312,24 +312,23 @@ class PolicyTransactionController extends BaseController
$data['is_cd_reduce_from_bds'] = 1;
}
- if($data['ct_type'] == ""){
+ if ($data['ct_type'] == "") {
$data['ct_type'] = 1;
}
// $month = '01-'.(string)$this->request->getPost('month');
// $data['month'] = empty($data['month']) ? null : date('Y-m-d', strtotime($month));
-
+
// Determine $is_addon value
- $data['is_addon'] = in_array($data['policy_type_id'], [1, 2, 6, 7]) ? 1 :
- (in_array($data['policy_type_id'], [4, 5]) ? 2 : ($data['policy_type_id'] == 3 && isset($data['base_policy']) ? 3 : 1));
-
+ $data['is_addon'] = in_array($data['policy_type_id'], [1, 2, 6, 7]) ? 1 : (in_array($data['policy_type_id'], [4, 5]) ? 2 : ($data['policy_type_id'] == 3 && isset($data['base_policy']) ? 3 : 1));
+
// print_r($data); die;
return $data;
}
-
+
private function insertInceptionPolicy($data)
- {
+ {
// print_r($data); die;
$insert = $this->policyTransactionModel->insert($data);
@@ -337,7 +336,7 @@ class PolicyTransactionController extends BaseController
$this->insertTransactionStatus($insert, $data, 1);
$emp_data = $this->processInsertIndividualMemberInEmpTable($data);
- if(isset($data['follow_insurer_id']) && !empty($data['follow_insurer_id'][0])){
+ if (isset($data['follow_insurer_id']) && !empty($data['follow_insurer_id'][0])) {
$pt_co_share_details = $this->insertOrUpdateCoShareDetails($data, $insert);
@@ -356,7 +355,7 @@ class PolicyTransactionController extends BaseController
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel->where('pt_id', $insert)->where('is_active', 1)->findAll();
}
-
+
$client_data = $this->clientModel->where('id', $data['client_id'])->first();
$data['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $data['client_id'])->findAll();
$data['entity_type_id'] = $client_data['entity_type_id'];
@@ -365,77 +364,76 @@ class PolicyTransactionController extends BaseController
}
return $this->respondError("Failed to create policy transaction");
}
-
+
private function updateInceptionPolicy($id, $data)
- {
+ {
// print_r($data); die;
if ($this->policyTransactionModel->update($id, $data)) {
-
+
$this->insertTransactionStatus($id, $data, 1);
$emp_data = $this->processInsertIndividualMemberInEmpTable($data);
-
+
if (isset($data['follow_insurer_id']) && !empty($data['follow_insurer_id'][0])) {
-
+
$this->insertOrUpdateCoShareDetails($data, $id);
if ($data['ct_type'] == 1) {
- $this->policyTransactionModel->update($id, ['client_policy_id' => $data['client_policy_id']]);
+ $this->policyTransactionModel->update($id, ['client_policy_id' => $data['client_policy_id']]);
}
-
+
if (empty($data['client_policy_id']) || $data['client_policy_id'] == 0) {
-
+
if ($data['ct_type'] == 2) {
$client_policy_insert_data = $this->prepareClientPolicyInsertData($data);
$client_policy_id = $this->clientPolicyModel->insert($client_policy_insert_data);
- $this->policyTransactionModel->update($id, ['client_policy_id' => $client_policy_id]);
+ $this->policyTransactionModel->update($id, ['client_policy_id' => $client_policy_id]);
$this->InsertIndividualEmpPolicyTable($emp_data, $client_policy_id);
}
-
} else {
if (isset($data['emp_policy_id']) && !empty($data['emp_policy_id'][0])) {
$this->InsertIndividualEmpPolicyTable($emp_data, $data['client_policy_id']);
}
}
-
+
if ($data['status'] == 'completed' && $data['ct_type'] == 2) {
- if($data['client_type'] == 1 && $data['is_cd_reduce_from_bds'] == 1){
+ if ($data['client_type'] == 1 && $data['is_cd_reduce_from_bds'] == 1) {
$this->processCompletedStatus($data, $data['client_policy_id'], $data['insurer_id']);
}
}
-
+
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel->where('pt_id', $id)->where('is_active', 1)->findAll();
}
-
+
$client_data = $this->clientModel->where('id', $data['client_id'])->first();
$data['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $data['client_id'])->findAll();
$data['entity_type_id'] = $client_data['entity_type_id'];
return $this->respondSuccess($id, "Policy transaction updated successfully", $data);
}
-
+
return $this->respondError("Failed to update policy transaction");
}
-
+
private function insertOrUpdateCoShareDetails($data, $pt_id)
- {
+ {
// Prepare data for insertion and updating
$coShareDetails = [];
-
+
// print_r($data); die;
// die;
- if(isset($data['co_share_id']) && !empty($data['co_share_id'])){
+ if (isset($data['co_share_id']) && !empty($data['co_share_id'])) {
$this->removePtCoShareRecords($data['co_share_id'], $pt_id);
}
- if(isset($data['follow_insurer_id'])){
+ if (isset($data['follow_insurer_id'])) {
foreach ($data['follow_insurer_id'] as $index => $insurer) {
-
+
// Separate the insurer and insurer branch
- if(isset($insurer) && !empty($insurer)){
- list($insurer_branch_id, $insurer_id) = explode('-', $insurer);
- }else{
+ if (isset($insurer) && !empty($insurer)) {
+ list($insurer_branch_id, $insurer_id) = explode('-', $insurer);
+ } else {
$insurer_branch_id = null;
$insurer_id = null;
}
@@ -481,47 +479,46 @@ class PolicyTransactionController extends BaseController
'created_by' => get_session_userid() ?? null,
'updated_by' => get_session_userid() ?? null,
'id' => $data['co_share_id'][$index] ?? null, // Assuming this is the ID to identify existing records
- 'follower_policy_no' => $data['follower_policy_no'][$index] ?? null,
- 'non_comm_per_amt' => $data['non_comm_per_amt'][$index] ?? null,
+ 'follower_policy_no' => $data['follower_policy_no'][$index] ?? null,
+ 'non_comm_per_amt' => $data['non_comm_per_amt'][$index] ?? null,
];
}
// print_r($pt_id);
// print_r($coShareDetails);
// die;
-
+
// Separate data into insert and update batches
- $insertData = array_filter($coShareDetails, function($detail) {
+ $insertData = array_filter($coShareDetails, function ($detail) {
return empty($detail['id']); // Only insert new records
});
-
- $updateData = array_filter($coShareDetails, function($detail) {
+
+ $updateData = array_filter($coShareDetails, function ($detail) {
return !empty($detail['id']); // Only update existing records
});
-
+
// Insert new records
if (!empty($insertData)) {
$this->PTCOShareDetailsModel->insertBatch($insertData);
}
-
+
// Update existing records
if (!empty($updateData)) {
$this->PTCOShareDetailsModel->updateBatch($updateData, 'id'); // Assuming 'id' is the unique identifier
}
-
+
// print_r($this->PTCOShareDetailsModel->getLastQuery()); die;
// print_r($coShareDetails);
// die;
return true;
-
}
-
+
// print_r($data);
// die;
}
-
+
private function prepareClientPolicyInsertData($data)
{
return [
@@ -532,7 +529,7 @@ class PolicyTransactionController extends BaseController
'tpa_branch_id' => $data['tpa_branch_id'] ?? null,
'policy_type_id' => $data['policy_type_id'] ?? null,
'policy_start_date' => $data['policy_start_date'] ?? null,
- 'policy_end_date' => $data['policy_end_date'] ?? null ,
+ 'policy_end_date' => $data['policy_end_date'] ?? null,
'policy_status' => 1,
'is_addon' => $data['is_addon'] ?? null,
'base_policy' => $data['base_policy'] ?? 0,
@@ -543,7 +540,7 @@ class PolicyTransactionController extends BaseController
'gst' => 18,
];
}
-
+
private function insertTransactionStatus($policyTranId, $data, $statusType)
{
$statusData = [
@@ -555,12 +552,12 @@ class PolicyTransactionController extends BaseController
];
$this->policyTransactionStatusModel->insert($statusData);
}
-
+
private function processCompletedStatus($data, $client_policy_id, $insurer_id)
{
$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).';
-
+
$cdTransactionData = [
'amount' => $totalAmount,
'sub_type_id' => 4,
@@ -581,32 +578,32 @@ class PolicyTransactionController extends BaseController
}
private function processInsertIndividualMemberInEmpTable($data)
- {
+ {
// print_r($data);
- if(isset($data['family_name']) && !empty($data['family_name'])){
+ if (isset($data['family_name']) && !empty($data['family_name'])) {
$emp_data = [];
$emp_ids = [];
$random_code = generateRandomCode(); // Generate random code once
-
+
foreach ($data['family_name'] as $index => $val) {
-
+
// Determine the gender based on the relationship
$relationship = $data['relationship'][$index] ?? '';
$gender = 'M'; // Default to Male
-
+
// Set gender based on relationship
if (in_array($relationship, ['Mother', 'Daughter', 'Mother in law', 'Spouse'])) {
$gender = 'F';
}
-
+
$emp_data[] = [
'client_id' => $data['client_id'] ?? 0,
'client_branch_id' => $data['client_branch_id'] ?? 0,
'name' => $val,
'relationship' => $relationship,
- 'gender' => $gender,
- 'emp_status' => 'active',
+ 'gender' => $gender,
+ 'emp_status' => 'active',
'created_by' => get_session_userid(),
'emp_code' => $random_code, // Use the same random code for all
'id' => $data['emp_id'][$index] ?? null
@@ -614,52 +611,51 @@ class PolicyTransactionController extends BaseController
$emp_ids[] = $data['emp_id'][$index] ?? 0;
}
-
-
+
+
// print_r($emp_data); die;
-
+
// Separate data into insert and update batches
- $insertData = array_filter($emp_data, function($detail) {
+ $insertData = array_filter($emp_data, function ($detail) {
return empty($detail['id']); // Only insert new records
});
-
- $updateData = array_filter($emp_data, function($detail) {
+
+ $updateData = array_filter($emp_data, function ($detail) {
return !empty($detail['id']); // Only update existing records
});
-
+
// Insert new records
if (!empty($insertData)) {
$this->employeeModel->insertBatch($insertData);
}
-
+
// Update existing records
if (!empty($updateData)) {
$this->employeeModel->updateBatch($updateData, 'id'); // Assuming 'id' is the unique identifier
}
-
- return $emp_ids;
+ return $emp_ids;
}
}
private function InsertIndividualEmpPolicyTable($emp_ids, $client_policy_id)
- {
- if(!empty($emp_ids)){
+ {
+ if (!empty($emp_ids)) {
$emp_policy_data = [];
-
+
foreach ($emp_ids as $index => $emp_id) {
$emp_policy_data[] = [
'employee_id' => $emp_id ?? 0,
'client_policy_id' => $client_policy_id ?? 0,
'created_by' => get_session_userid(),
- 'status' => 'active',
+ 'status' => 'active',
];
}
-
+
// print_r($emp_policy_data); die;
-
+
// Insert new records
if (!empty($emp_policy_data)) {
$this->employeePolicyModel->insertBatch($emp_policy_data);
@@ -667,15 +663,14 @@ class PolicyTransactionController extends BaseController
return true;
-
}
}
-
+
private function respondSuccess($id, $message, $data)
{
- return $this->respond(['status' => true, 'pt_id' => $id, 'message' => $message, 'data' =>$data], 200);
+ return $this->respond(['status' => true, 'pt_id' => $id, 'message' => $message, 'data' => $data], 200);
}
-
+
private function respondError($message)
{
return $this->respond(['status' => false, 'message' => $message], 200);
@@ -686,7 +681,7 @@ class PolicyTransactionController extends BaseController
public function getInceptionDataForEdit($id)
{
$data = $this->policyTransactionModel
- ->select('
+ ->select('
policy_transaction.*,
clients.short_name as client_short_name,
clients.client_type,
@@ -707,83 +702,83 @@ class PolicyTransactionController extends BaseController
) as last_action_date
')
- ->join('clients', 'clients.id = policy_transaction.client_id')
- ->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
- ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
- ->where('policy_transaction.id', $id)
- ->where('policy_transaction.is_active', 1)
- ->first();
+ ->join('clients', 'clients.id = policy_transaction.client_id')
+ ->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
+ ->where('policy_transaction.id', $id)
+ ->where('policy_transaction.is_active', 1)
+ ->first();
- // $data['policy_issue_date'] = (isset($data['policy_issue_date']) && $data['policy_issue_date'] !== null && $data['policy_issue_date'] !== '')
- // ? date('d/m/Y', strtotime($data['policy_issue_date']))
- // : null;
-
- // $data['policy_start_date'] = (isset($data['policy_start_date']) && $data['policy_start_date'] !== null && $data['policy_start_date'] !== '')
- // ? date('d/m/Y', strtotime($data['policy_start_date']))
- // : null;
-
- // $data['policy_end_date'] = (isset($data['policy_end_date']) && $data['policy_end_date'] !== null && $data['policy_end_date'] !== '')
- // ? date('d/m/Y', strtotime($data['policy_end_date']))
- // : null;
-
- // $data['renewal_date'] = (isset($data['renewal_date']) && $data['renewal_date'] !== null && $data['renewal_date'] !== '')
- // ? date('d/m/Y', strtotime($data['renewal_date']))
- // : null;
-
- // $data['rollover_date'] = (isset($data['rollover_date']) && $data['rollover_date'] !== null && $data['rollover_date'] !== '')
- // ? date('d/m/Y', strtotime($data['rollover_date']))
- // : null;
-
- // $data['month'] = (isset($data['month']) && $data['month'] !== null && $data['month'] !== '')
- // ? date('M/Y', strtotime($data['month']))
- // : null;
+ // $data['policy_issue_date'] = (isset($data['policy_issue_date']) && $data['policy_issue_date'] !== null && $data['policy_issue_date'] !== '')
+ // ? date('d/m/Y', strtotime($data['policy_issue_date']))
+ // : null;
-
- $data['created_at'] = (isset($data['created_at']) && $data['created_at'] !== null && $data['created_at'] !== '')
- ? date('d/m/Y h:i:s A', strtotime($data['created_at']))
- : null;
-
- $data['updated_at'] = (isset($data['updated_at']) && $data['updated_at'] !== null && $data['updated_at'] !== '')
- ? date('d/m/Y h:i:s A', strtotime($data['updated_at']))
- : null;
-
+ // $data['policy_start_date'] = (isset($data['policy_start_date']) && $data['policy_start_date'] !== null && $data['policy_start_date'] !== '')
+ // ? date('d/m/Y', strtotime($data['policy_start_date']))
+ // : null;
+
+ // $data['policy_end_date'] = (isset($data['policy_end_date']) && $data['policy_end_date'] !== null && $data['policy_end_date'] !== '')
+ // ? date('d/m/Y', strtotime($data['policy_end_date']))
+ // : null;
+
+ // $data['renewal_date'] = (isset($data['renewal_date']) && $data['renewal_date'] !== null && $data['renewal_date'] !== '')
+ // ? date('d/m/Y', strtotime($data['renewal_date']))
+ // : null;
+
+ // $data['rollover_date'] = (isset($data['rollover_date']) && $data['rollover_date'] !== null && $data['rollover_date'] !== '')
+ // ? date('d/m/Y', strtotime($data['rollover_date']))
+ // : null;
+
+ // $data['month'] = (isset($data['month']) && $data['month'] !== null && $data['month'] !== '')
+ // ? date('M/Y', strtotime($data['month']))
+ // : null;
+
+
+ $data['created_at'] = (isset($data['created_at']) && $data['created_at'] !== null && $data['created_at'] !== '')
+ ? date('d/m/Y h:i:s A', strtotime($data['created_at']))
+ : null;
+
+ $data['updated_at'] = (isset($data['updated_at']) && $data['updated_at'] !== null && $data['updated_at'] !== '')
+ ? date('d/m/Y h:i:s A', strtotime($data['updated_at']))
+ : null;
+
+
+ if (!empty($data['policy_issue_date'])) {
+ $data['policy_issue_date'] = change_date_format($data['policy_issue_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['policy_start_date'])) {
+ $data['policy_start_date'] = change_date_format($data['policy_start_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['policy_end_date'])) {
+ $data['policy_end_date'] = change_date_format($data['policy_end_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['renewal_date'])) {
+ $data['renewal_date'] = change_date_format($data['renewal_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['rollover_date'])) {
+ $data['rollover_date'] = change_date_format($data['rollover_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['endorse_eff_date'])) {
+ $data['endorse_eff_date'] = change_date_format($data['endorse_eff_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['last_action_date'])) {
+ $data['last_action_date'] = change_date_format($data['last_action_date'], 'Y-m-d', 'd/m/Y');
+ }
+
+ if (!empty($data['month'])) {
+ $data['month'] = change_date_format($data['month'], 'Y-m-d', 'M/Y');
+ } else {
+ $data['month'] = null;
+ }
- if(!empty($data['policy_issue_date'])){
- $data['policy_issue_date'] = change_date_format($data['policy_issue_date'], 'Y-m-d', 'd/m/Y');
- }
- if(!empty($data['policy_start_date'])){
- $data['policy_start_date'] = change_date_format($data['policy_start_date'], 'Y-m-d', 'd/m/Y');
- }
-
- if(!empty($data['policy_end_date'])){
- $data['policy_end_date'] = change_date_format($data['policy_end_date'], 'Y-m-d', 'd/m/Y');
- }
-
- if(!empty($data['renewal_date'])){
- $data['renewal_date'] = change_date_format($data['renewal_date'], 'Y-m-d', 'd/m/Y');
- }
-
- if(!empty($data['rollover_date'])){
- $data['rollover_date'] = change_date_format($data['rollover_date'], 'Y-m-d', 'd/m/Y');
- }
-
- if(!empty($data['endorse_eff_date'])){
- $data['endorse_eff_date'] = change_date_format($data['endorse_eff_date'], 'Y-m-d', 'd/m/Y');
- }
- if(!empty($data['last_action_date'])){
- $data['last_action_date'] = change_date_format($data['last_action_date'], 'Y-m-d', 'd/m/Y');
- }
-
- if(!empty($data['month'])){
- $data['month'] = change_date_format($data['month'], 'Y-m-d', 'M/Y');
- }else{
- $data['month'] = null;
- }
-
-
-
// print_r($data); die;
$data['renewal_policy'] = $this->clientPolicyModel
@@ -794,15 +789,15 @@ class PolicyTransactionController extends BaseController
->where('client_policy.is_active', 1)
->findAll();
-
+
$data['base_policy_data'] = $this->clientPolicyModel
- ->select('client_policy.*, policy_type.policy_type')
- ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
- ->where('client_policy.client_id', $data['client_id'])
- ->where('client_policy.client_branch_id', $data['client_branch_id'])
- ->whereIn('client_policy.policy_type_id', [2, 3])
- ->where('client_policy.is_active', 1)
- ->findAll();
+ ->select('client_policy.*, policy_type.policy_type')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.client_id', $data['client_id'])
+ ->where('client_policy.client_branch_id', $data['client_branch_id'])
+ ->whereIn('client_policy.policy_type_id', [2, 3])
+ ->where('client_policy.is_active', 1)
+ ->findAll();
$ptFileQuery = $this->PTFileModel
@@ -811,7 +806,7 @@ class PolicyTransactionController extends BaseController
->where('pt_files.is_active', 1);
if (!in_array(get_role_id(), [1, 5]) && empty(array_intersect(user_team(), [MANAGEMENT_TEAM_ID, FINANCE_TEAM_ID, BUSINESS_TEAM_ID]))) {
-
+
if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
$ptFileQuery->where('pt_files.created_by', get_session_userid());
}
@@ -822,7 +817,7 @@ class PolicyTransactionController extends BaseController
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel
- ->select("
+ ->select("
pt_co_share_details.*,
(
@@ -938,41 +933,39 @@ class PolicyTransactionController extends BaseController
) AS actual_tep_brokerage_amount
")
- ->where('pt_id', $id)
- ->where('is_active', 1)
- ->orderBy('id', 'asc')
- ->findAll();
-
+ ->where('pt_id', $id)
+ ->where('is_active', 1)
+ ->orderBy('id', 'asc')
+ ->findAll();
+
$data['emp_data'] = $this->employeeModel
- ->select('employees.*, employee_polices.id as emp_policy_id')
- ->join('employee_polices', 'employees.id = employee_polices.employee_id', 'left')
- ->where('employees.client_id', $data['client_id'])
- ->where('employees.is_active', 1)->findAll();
+ ->select('employees.*, employee_polices.id as emp_policy_id')
+ ->join('employee_polices', 'employees.id = employee_polices.employee_id', 'left')
+ ->where('employees.client_id', $data['client_id'])
+ ->where('employees.is_active', 1)->findAll();
$data['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $data['client_id'])->findAll();
$data['vehicle_docs'] = $this->clientKYCDocsModel
- ->where('client_id', $data['client_id'])
- ->where('vehicle_id', $data['vehicle_id'])
- ->findAll();
+ ->where('client_id', $data['client_id'])
+ ->where('vehicle_id', $data['vehicle_id'])
+ ->findAll();
// print_r( $data['pt_co_share_details']); die;
- if($data){
+ if ($data) {
return $this->respond(['status' => true, 'data' => $data], 200);
- }else{
+ } else {
return $this->respond(['status' => false], 200);
}
-
}
public function removePolicyTransaction($id)
{
if ($id) {
-
+
$data['is_active'] = 0;
$this->policyTransactionModel->where('id', $id)->set($data)->update();
$this->PTCOShareDetailsModel->where('pt_id', $id)->set($data)->update();
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Policy Transaction removed successfully'], 200);
-
} else {
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to remove policy transaction'], 200);
@@ -980,31 +973,31 @@ class PolicyTransactionController extends BaseController
}
//function for soft delete for pt_co_share_details records
- public function removePtCoShareRecords($primaryKeys, $pt_id)
+ public function removePtCoShareRecords($primaryKeys, $pt_id)
{
if (empty($primaryKeys)) {
- return false;
+ return false;
}
-
+
// Convert array to a comma-separated string of placeholders for query binding
$placeholders = implode(',', array_fill(0, count($primaryKeys), '?'));
-
+
// Prepare the query with proper binding
$sql = "UPDATE pt_co_share_details SET is_active = 0 WHERE pt_id = ? AND id NOT IN ($placeholders)";
-
+
// Merge pt_id with primary keys for binding
$params = array_merge([$pt_id], $primaryKeys);
-
+
// Execute the query with bound parameters
return db_connect()->query($sql, $params);
}
-
-
+
+
//------------------------------------------------------------------------------------------------
// Policy Transaction Endorsement
public function viewEndorsement()
- {
+ {
// echo '';
// !dd($this->getEndorsementDataForEdit(17));
@@ -1062,16 +1055,16 @@ class PolicyTransactionController extends BaseController
$date_type = $this->request->getGet('date_type');
$issuer = $this->request->getGet('issuer');
$status = $this->request->getGet('status');
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
+
$client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
- $status = (!isset($issuer) || $status === '' || $status === null) ? 0 : $status;
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $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);
@@ -1080,8 +1073,8 @@ class PolicyTransactionController extends BaseController
$data['insurer'] = $this->insurerModel->where('is_active', 1)->findAll();
// $data['tpa'] = $this->tpaModel->where('is_active', 1)->findAll();
- $data['insurer_branch'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
- $data['tpa'] = $this->tpaBranchModel ->getTpaBranchesWithTpaNames();
+ $data['insurer_branch'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames();
+ $data['tpa'] = $this->tpaBranchModel->getTpaBranchesWithTpaNames();
$this->loadLayout('policy_transaction_endorsement_list', $data);
@@ -1092,7 +1085,7 @@ class PolicyTransactionController extends BaseController
$id = $this->request->getPost('id');
$data = $this->preparePolicyTransactionData();
// print_r($data); die;
-
+
if (!$id) {
return $this->insertEndorsementTransaction($data);
} else {
@@ -1120,47 +1113,45 @@ class PolicyTransactionController extends BaseController
$data['is_cd_reduce_from_bds'] = 1;
}
- if(empty($data['data_received_date'])){
+ if (empty($data['data_received_date'])) {
$data['data_received_date'] = null;
- }else{
+ } else {
$data['data_received_date'] = change_date_format($data['data_received_date'], 'd/m/Y', 'Y-m-d');
}
- if(empty($data['policy_issue_date'])){
+ if (empty($data['policy_issue_date'])) {
$data['policy_issue_date'] = null;
- }else{
+ } else {
$data['policy_issue_date'] = change_date_format($data['policy_issue_date'], 'd/m/Y', 'Y-m-d');
}
- if(empty($data['endorse_eff_date'])){
+ if (empty($data['endorse_eff_date'])) {
$data['endorse_eff_date'] = null;
- }else{
+ } else {
$data['endorse_eff_date'] = change_date_format($data['endorse_eff_date'], 'd/m/Y', 'Y-m-d');
-
}
- if(empty($data['install_due_date'])){
+ if (empty($data['install_due_date'])) {
$data['install_due_date'] = null;
- }else{
+ } else {
$data['install_due_date'] = change_date_format($data['install_due_date'], 'd/m/Y', 'Y-m-d');
-
}
- if(!empty($data['month'])){
- $month = '01/'.$data['month'];
+ if (!empty($data['month'])) {
+ $month = '01/' . $data['month'];
$data['month'] = change_date_format($month, 'd/M/Y', 'Y-m-d');
}
- if(empty($data['last_action_date'])){
+ if (empty($data['last_action_date'])) {
$data['last_action_date'] = null;
- }else{
+ } else {
$data['last_action_date'] = change_date_format($data['last_action_date']);
}
// print_r($data); die;
// Separate Insurer and TPA Branch IDs and IDs
- if(isset($data['insurer_id']) && !empty($data['insurer_id'])){
+ if (isset($data['insurer_id']) && !empty($data['insurer_id'])) {
list($data['insurer_branch_id'], $data['insurer_id']) = explode('-', $data['insurer_id']);
if (isset($data['tpa']) && !empty($data['tpa'])) {
list($data['tpa_branch_id'], $data['tpa_id']) = explode('-', $data['tpa']);
@@ -1168,20 +1159,20 @@ class PolicyTransactionController extends BaseController
}
$issue_type = $this->policyTransactionModel
- ->where('action_type', 'inception')
- ->where('client_id', $this->request->getPost('client_id'))
- ->where('client_policy_id', $this->request->getPost('client_policy_id'))
- ->where('policy_transaction.is_active', 1)
- ->first();
+ ->where('action_type', 'inception')
+ ->where('client_id', $this->request->getPost('client_id'))
+ ->where('client_policy_id', $this->request->getPost('client_policy_id'))
+ ->where('policy_transaction.is_active', 1)
+ ->first();
$data['tsi'] = generate_tsi_code($issue_type['issue_type'] ?? 1);
$client_branch_id = $data['client_branch_id'];
- if($data['client_branch_id'] == ""){
+ if ($data['client_branch_id'] == "") {
$client_branch_id = $issue_type['client_branch_id'];
}
- if(!$data['id']){
+ if (!$data['id']) {
$data += [
'issuer' => $issue_type['issuer'] ?? null,
@@ -1189,8 +1180,8 @@ class PolicyTransactionController extends BaseController
'policy_type_id' => $issue_type['policy_type_id'] ?? null,
'issue_type' => $issue_type['issue_type'] ?? null,
'source_client_policy_id' => $issue_type['source_client_policy_id'] ?? null,
- 'cd_ac_no' => isset( $data['cd_ac_no']) && !empty($data['cd_ac_no']) ? $data['cd_ac_no'] : $issue_type['cd_ac_no'] ?? null,
- 'cd_ac_pk' => isset( $data['cd_ac_pk']) && !empty($data['cd_ac_pk']) ? $data['cd_ac_pk'] : $issue_type['cd_ac_pk'] ?? null,
+ 'cd_ac_no' => isset($data['cd_ac_no']) && !empty($data['cd_ac_no']) ? $data['cd_ac_no'] : $issue_type['cd_ac_no'] ?? null,
+ 'cd_ac_pk' => isset($data['cd_ac_pk']) && !empty($data['cd_ac_pk']) ? $data['cd_ac_pk'] : $issue_type['cd_ac_pk'] ?? null,
// 'policy_issue_date' => $issue_type['policy_issue_date'] ?? null,
'policy_start_date' => $issue_type['policy_start_date'] ?? null,
'policy_end_date' => $issue_type['policy_end_date'] ?? null,
@@ -1200,7 +1191,7 @@ class PolicyTransactionController extends BaseController
'installment' => $issue_type['installment'] ?? null,
'installment_data' => $issue_type['installment_data'] ?? null,
'location' => $issue_type['location'] ?? null,
- 'links' => $issue_type['links'] ??null,
+ 'links' => $issue_type['links'] ?? null,
'stage' => $issue_type['stage'] ?? null,
'etat' => $issue_type['etat'] ?? null,
'etat_band' => $issue_type['etat_band'] ?? null,
@@ -1262,13 +1253,13 @@ 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 = $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)';
+ $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,
@@ -1486,13 +1477,13 @@ class PolicyTransactionController extends BaseController
//file upload function
public function uploadFile()
- {
+ {
$GoogleDriveController = new GoogleDriveController();
$files = $this->request->getFiles();
- $doc_name = $this->request->getPost('doc_name[]');
- $pt_id = $this->request->getPost('pt_id');
- $client_policy_id = $this->request->getPost('client_policy_id');
- $data = $this->request->getPost();
+ $doc_name = $this->request->getPost('doc_name[]');
+ $pt_id = $this->request->getPost('pt_id');
+ $client_policy_id = $this->request->getPost('client_policy_id');
+ $data = $this->request->getPost();
$uploadFilePath = WRITEPATH . 'uploads/client_kyc_documents';
@@ -1525,7 +1516,7 @@ class PolicyTransactionController extends BaseController
$insert = $this->PTFileModel->insert($docData);
if ($insert) {
- $uploadData[] = $docData;
+ $uploadData[] = $docData;
}
}
}
@@ -1534,23 +1525,23 @@ class PolicyTransactionController extends BaseController
// print_r($uploadData); die;
// $uploadData = uploadFilesToGoogleDrive($files['file'], $doc_name, $pt_id);
-
+
if (!empty($uploadData)) {
- $ptFileQuery = $this->PTFileModel
- ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
- ->where('pt_files.pt_id', $pt_id)
- ->where('pt_files.is_active', 1);
+ $ptFileQuery = $this->PTFileModel
+ ->join('policy_transaction', 'pt_files.pt_id = policy_transaction.id')
+ ->where('pt_files.pt_id', $pt_id)
+ ->where('pt_files.is_active', 1);
- if (!in_array(get_role_id(), [1, 5]) && empty(array_intersect(user_team(), [MANAGEMENT_TEAM_ID, FINANCE_TEAM_ID, BUSINESS_TEAM_ID]))) {
-
- if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
- $ptFileQuery->where('pt_files.created_by', get_session_userid());
+ if (!in_array(get_role_id(), [1, 5]) && empty(array_intersect(user_team(), [MANAGEMENT_TEAM_ID, FINANCE_TEAM_ID, BUSINESS_TEAM_ID]))) {
+
+ if (get_role_id() == 4 && in_array(POS_TEAM_ID, user_team())) {
+ $ptFileQuery->where('pt_files.created_by', get_session_userid());
+ }
}
- }
- $data['pt_files'] = $ptFileQuery->findAll();
-
+ $data['pt_files'] = $ptFileQuery->findAll();
+
return $this->respond(['status' => true, 'message' => 'File uploaded successfully in G-Drive', 'data' => $data]);
} else {
return $this->respond(['status' => false, 'message' => 'Failed to upload file in G-Drive']);
@@ -1566,7 +1557,7 @@ class PolicyTransactionController extends BaseController
// var_dump($ids); die;
$data['invoice_status'] = $this->request->getPost('invoice_status');
- if($this->request->getPost('invoice_status') == 'generated'){
+ if ($this->request->getPost('invoice_status') == 'generated') {
$data['invoice_no'] = $this->request->getPost('invoice_no');
}
@@ -1575,8 +1566,8 @@ class PolicyTransactionController extends BaseController
->whereIn('id', $ids)
->set($data)
->update();
-
-
+
+
if ($update) {
return $this->respond(['status' => true, 'data' => $ids, 'message' => 'Invoice status updated successfully'], 200);
@@ -1593,7 +1584,7 @@ class PolicyTransactionController extends BaseController
'updated_by' => get_session_userid(),
'is_active' => 0
];
-
+
$update = $this->PTCOShareDetailsModel->where('id', $id)->set($data)->update();
if ($update) {
@@ -1636,8 +1627,8 @@ class PolicyTransactionController extends BaseController
->where('action_type', 'inception')
->where('is_active', 1)
->first();
-
- $cd_ac_no = db_connect()->table('cd_master')->where('id', $is_copay_yes['cd_ac_pk'] ?? null)->get()->getRowArray();
+
+ $cd_ac_no = db_connect()->table('cd_master')->where('id', $is_copay_yes['cd_ac_pk'] ?? null)->get()->getRowArray();
if ($totalCount) {
return $this->respond(['status' => true, 'code' => 200, 'data' => $totalCount, 'is_copay_yes' => $is_copay_yes, "cd_master_data" => $cd_ac_no], 200);
@@ -1645,7 +1636,6 @@ class PolicyTransactionController extends BaseController
$insurer_data = $this->clientPolicyModel->where('id', $client_policy_id)->where('is_active', 1)->first();
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to get data'], 200);
}
-
}
public function checkInvoiceStatus($pt_id)
@@ -1660,28 +1650,28 @@ class PolicyTransactionController extends BaseController
->where('insurer_statements.invoice_no IS NOT NULL')
->countAllResults();
- if($data){
- return $this->respond(['status' => true, 'count'=> $data, 'code' => 200], 200);
- }else{
- return $this->respond(['status' => false, 'count'=> 0, 'message' => 'No Data Found', 'code' => 404], 200);
+ if ($data) {
+ return $this->respond(['status' => true, 'count' => $data, 'code' => 200], 200);
+ } else {
+ return $this->respond(['status' => false, 'count' => 0, 'message' => 'No Data Found', 'code' => 404], 200);
}
}
public function getBasePolicy($client_id, $client_branch_id)
{
$data = $this->clientPolicyModel
- ->select('client_policy.*, policy_type.policy_type')
- ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
- ->where('client_policy.client_id', $client_id)
- ->where('client_policy.client_branch_id', $client_branch_id)
- ->whereIn('client_policy.policy_type_id', [2, 3])
- ->where('client_policy.is_active', 1)
- ->findAll();
+ ->select('client_policy.*, policy_type.policy_type')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.client_id', $client_id)
+ ->where('client_policy.client_branch_id', $client_branch_id)
+ ->whereIn('client_policy.policy_type_id', [2, 3])
+ ->where('client_policy.is_active', 1)
+ ->findAll();
- if($data){
- return $this->respond(['status' => true, 'data'=> $data, 'code' => 200], 200);
- }else{
- return $this->respond(['status' => false, 'count'=> 0, 'message' => 'No Data Found', 'code' => 404], 200);
+ if ($data) {
+ return $this->respond(['status' => true, 'data' => $data, 'code' => 200], 200);
+ } else {
+ return $this->respond(['status' => false, 'count' => 0, 'message' => 'No Data Found', 'code' => 404], 200);
}
}
@@ -1689,7 +1679,7 @@ class PolicyTransactionController extends BaseController
//get BDS Reports data old function
public function reportBDSOld()
- {
+ {
$data['page_name'] = 'BDS Report';
@@ -1703,7 +1693,7 @@ class PolicyTransactionController extends BaseController
'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',
@@ -1730,27 +1720,27 @@ class PolicyTransactionController extends BaseController
$policy_type_id = $this->request->getGet('policy_type_id');
$date_type = $this->request->getGet('date_type');
$issuer = $this->request->getGet('issuer');
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
+
$client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
-
-
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
+
+
//Actual data for the list
$data['report_list'] = $this->policyTransactionModel->getBDSReportList($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer);
// dd($data);
-
- $this->loadLayout('report_bds_filter', $data);
+
+ $this->loadLayout('report_bds_filter', $data);
}
//get BDS Reports data New Function
public function reportBDS()
- {
+ {
$data['page_name'] = 'BDS Report';
@@ -1764,7 +1754,7 @@ class PolicyTransactionController extends BaseController
'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',
@@ -1784,6 +1774,7 @@ class PolicyTransactionController extends BaseController
$data['policy_types'] = $this->policyTypeModel->where('is_active', 1)->findAll();
$data['clients'] = $this->clientModel->where('is_active', 1)->findAll();
+
//filter datas
$start_date = $this->request->getGet('start_date');
$end_date = $this->request->getGet('end_date');
@@ -1796,35 +1787,50 @@ class PolicyTransactionController extends BaseController
$insurer_branch_id = $this->request->getGet('insurer_branch_id');
$client_policy_id = $this->request->getGet('client_policy_id');
- if($date_type == 'statement_month'){
+ 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));
}
// dd($start_date, $end_date, $date_type);
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
+
$client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
- $client_branch_id = (!isset($client_branch_id) || $client_branch_id === '' || $client_branch_id === null) ? 0 : $client_branch_id;
- $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
- $client_policy_id = (!isset($client_policy_id) || $client_policy_id === '' || $client_policy_id === null) ? 0 : $client_policy_id;
-
-
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
+ $client_branch_id = (!isset($client_branch_id) || $client_branch_id === '' || $client_branch_id === null) ? 0 : $client_branch_id;
+ $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
+ $client_policy_id = (!isset($client_policy_id) || $client_policy_id === '' || $client_policy_id === null) ? 0 : $client_policy_id;
+ if ($this->request->is('post')) {
+ $isFromDashboard = $this->request->getPost("is_dashboard");
+
+ if (isset($isFromDashboard) && !empty($isFromDashboard) && $isFromDashboard == 1) {
+ $ids = $this->request->getPost('ids');
+
+ $ids = array_filter(explode(',', $ids));
+
+ if (!empty($ids)) {
+ $idsStr = implode(',', array_map('intval', $ids)); // sanitize IDs to be integers
+ $where = "policy_transaction.id IN ($idsStr)";
+ } else {
+ $where = []; // No valid IDs, return empty result
+ }
+ }
+ // dd($ids);
+ }
//Actual data for the list
- $data['report_list'] = $this->policyTransactionModel->getBDSReportList($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $client_branch_id, $insurer_branch_id, $client_policy_id);
+ $data['report_list'] = $this->policyTransactionModel->getBDSReportList($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $client_branch_id, $insurer_branch_id, $client_policy_id, isset($where) ? $where : '');
//!dd($data['report_list']);
-
- $this->loadLayout('report_bds_filter', $data);
+
+ $this->loadLayout('report_bds_filter', $data);
}
public function reportVarience()
- {
+ {
$data['page_name'] = 'Variance Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@@ -1851,30 +1857,29 @@ class PolicyTransactionController extends BaseController
$insurer_branch_id = $this->request->getGet('insurer_branch_id');
$client_policy_id = $this->request->getGet('client_policy_id');
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
- $client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
- $client_branch_id = (!isset($client_branch_id) || $client_branch_id === '' || $client_branch_id === null) ? 0 : $client_branch_id;
- $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
- $client_policy_id = (!isset($client_policy_id) || $client_policy_id === '' || $client_policy_id === null) ? 0 : $client_policy_id;
+ $client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
+
+ $client_branch_id = (!isset($client_branch_id) || $client_branch_id === '' || $client_branch_id === null) ? 0 : $client_branch_id;
+ $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
+ $client_policy_id = (!isset($client_policy_id) || $client_policy_id === '' || $client_policy_id === null) ? 0 : $client_policy_id;
$data['varience_list'] = $this->policyTransactionModel->getVarienceReportLIst($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $client_branch_id, $insurer_branch_id, $client_policy_id);
// !dd($data['varience_list']);
- $this->loadLayout('variance_report_list', $data);
-
+ $this->loadLayout('variance_report_list', $data);
}
public function reportBusinessList()
- {
+ {
$data['page_name'] = 'Business Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@@ -1897,24 +1902,24 @@ class PolicyTransactionController extends BaseController
$policy_type_id = $this->request->getGet('policy_type_id');
$date_type = $this->request->getGet('date_type');
$issuer = $this->request->getGet('issuer');
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
+
$client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
$data['business_list'] = $this->policyTransactionModel->getBusinessReportList($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer);
- $this->loadLayout('business_team_list', $data);
+ $this->loadLayout('business_team_list', $data);
}
public function reportFinanceList()
- {
+ {
$data['page_name'] = 'Finance Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@@ -1937,24 +1942,24 @@ class PolicyTransactionController extends BaseController
$policy_type_id = $this->request->getGet('policy_type_id');
$date_type = $this->request->getGet('date_type');
$issuer = $this->request->getGet('issuer');
-
+
$start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : $start_date;
$end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : $end_date;
-
+
$client_id = (!isset($client_id) || $client_id === '' || $client_id === null) ? 0 : $client_id;
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
- $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
- $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $policy_type_id = (!isset($policy_type_id) || $policy_type_id === '' || $policy_type_id === null) ? 0 : $policy_type_id;
+ $date_type = (!isset($date_type) || $date_type === '' || $date_type === null) ? 0 : $date_type;
+ $issuer = (!isset($issuer) || $issuer === '' || $issuer === null) ? 0 : $issuer;
$data['finance_list'] = $this->policyTransactionModel->getFinanceReportList($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer);
- $this->loadLayout('finance_team_list', $data);
+ $this->loadLayout('finance_team_list', $data);
}
public function reportOutstanding()
- {
+ {
$data['page_name'] = 'Outstanding Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@@ -1975,20 +1980,19 @@ class PolicyTransactionController extends BaseController
$client_id = $this->request->getGet('client_id');
$insurer_id = $this->request->getGet('insurer_id');
$insurer_branch_id = $this->request->getGet('insurer_branch_id');
-
- $start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : change_date_format($start_date,'d-m-Y','Y-m-01');
- $end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : change_date_format($end_date,'d-m-Y','Y-m-31');
- // dd([$start_date,$end_date]);
-
-
- $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
- $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
- $data['outstanting_list'] = $this->policyTransactionModel->getOutstandingReportLIst($start_date, $end_date,$insurer_id, $insurer_branch_id);
+ $start_date = (!isset($start_date) || $start_date === '' || $start_date === null) ? 0 : change_date_format($start_date, 'd-m-Y', 'Y-m-01');
+ $end_date = (!isset($end_date) || $end_date === '' || $end_date === null) ? 0 : change_date_format($end_date, 'd-m-Y', 'Y-m-31');
+ // dd([$start_date,$end_date]);
+
+
+ $insurer_id = (!isset($insurer_id) || $insurer_id === '' || $insurer_id === null) ? 0 : $insurer_id;
+ $insurer_branch_id = (!isset($insurer_branch_id) || $insurer_branch_id === '' || $insurer_branch_id === null) ? 0 : $insurer_branch_id;
+
+ $data['outstanting_list'] = $this->policyTransactionModel->getOutstandingReportLIst($start_date, $end_date, $insurer_id, $insurer_branch_id);
// dd($this->policyTransactionModel->getLastQuery());
// dd($data);
- $this->loadLayout('outstanding_report_list', $data);
-
+ $this->loadLayout('outstanding_report_list', $data);
}
//---------------------------------------------------------------------------------------------------
@@ -1997,16 +2001,17 @@ class PolicyTransactionController extends BaseController
public function statementList()
{
// dd($this->validateInsurerStatement(['file_id' => 30]));
- // $data['insurers'] = $this->insurerModel->where('is_active',1)->findAll();
+ // $data['insurers'] = $this->insurerModel->where('is_active',1)->findAll();
$today = date('Y-m-d');
$fromday = $from_date = date('Y-m-d', strtotime('-180 days', strtotime($today)));
// echo $fromday;die();
- $data['invoice_status_array'] = $this->invoiceStatus;
- $data['insurers'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
+ $data['invoice_status_array'] = $this->invoiceStatus;
+ $data['insurers'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames();
- // dd( $data['insurers']);
- $data['insurer_statement_list'] = $this->insurerStatements
- ->select('insurer_statements.*,
+ // dd( $data['insurers']);
+ $data['insurer_statement_list'] = $this->insurerStatements
+ ->select(
+ 'insurer_statements.*,
insurers.name AS insurer_name,
insurers.short_name,
user_profiles.first_name,
@@ -2021,18 +2026,18 @@ class PolicyTransactionController extends BaseController
WHERE inv_payment_details.is_active = 1
AND inv_payment_details.statement_id = insurer_statements.id
) AS received_inv_amt'
- )
- ->join('insurers', 'insurer_statements.insurer_id = insurers.id')
- ->join('insurer_branch', 'insurer_statements.branch_id = insurer_branch.id')
- ->join('user_profiles', 'insurer_statements.created_by = user_profiles.id')
- ->where('insurer_statements.is_active', 1)
- // ->where('insurer_statements.file_status','success')
- ->where('date(insurer_statements.created_at) >= ', $from_date)
- ->where('date(insurer_statements.created_at) <= ', $today)
- ->orderBy('insurer_statements.id', 'DESC')
- ->findAll();
+ )
+ ->join('insurers', 'insurer_statements.insurer_id = insurers.id')
+ ->join('insurer_branch', 'insurer_statements.branch_id = insurer_branch.id')
+ ->join('user_profiles', 'insurer_statements.created_by = user_profiles.id')
+ ->where('insurer_statements.is_active', 1)
+ // ->where('insurer_statements.file_status','success')
+ ->where('date(insurer_statements.created_at) >= ', $from_date)
+ ->where('date(insurer_statements.created_at) <= ', $today)
+ ->orderBy('insurer_statements.id', 'DESC')
+ ->findAll();
- // dd( $this->insurerStatements->getLastQuery());
+ // dd( $this->insurerStatements->getLastQuery());
$data['page_name'] = 'Statement Upload';
$this->loadLayout('insurer_statement_list', $data);
@@ -2083,80 +2088,77 @@ class PolicyTransactionController extends BaseController
public function uploadInsurerStatement()
{
- //validate uploaded file
- $filename = '';
- $validated = $this->validate([
- 'statement' => [
- 'uploaded[statement]',
- 'mime_in[statement,application/vnd.ms-excel,application/vnd,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.oasis.opendocument.spreadsheet]',
- 'max_size[statement,16384]',
- ],
- ]);
- // $this->createStatementFolder();
- if ($validated)
- {
- $avatar = $this->request->getFile('statement');
- if (!$avatar) {
- $this->myLogger->logme("error", 'Statement File not found');
- return $this->respond(['dataStatus' => false, 'code' => 400, 'message' => 'File not found'], 400);
- }
+ //validate uploaded file
+ $filename = '';
+ $validated = $this->validate([
+ 'statement' => [
+ 'uploaded[statement]',
+ 'mime_in[statement,application/vnd.ms-excel,application/vnd,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.oasis.opendocument.spreadsheet]',
+ 'max_size[statement,16384]',
+ ],
+ ]);
+ // $this->createStatementFolder();
+ if ($validated) {
+ $avatar = $this->request->getFile('statement');
+ if (!$avatar) {
+ $this->myLogger->logme("error", 'Statement File not found');
+ return $this->respond(['dataStatus' => false, 'code' => 400, 'message' => 'File not found'], 400);
+ }
- $is_moved = $avatar->move(WRITEPATH . 'uploads/statements/');
- if ($is_moved) {
- $filename = $avatar->getName();
- // Handle successful upload, e.g., log success or further processing
- $this->myLogger->logme("error", 'Statement File moved successful');
-
- } else {
- $this->myLogger->logme("error", 'Statement File move failed');
- return $this->respond(['dataStatus' => false, 'code' => 500, 'message' => 'File move failed'], 500);
- }
+ $is_moved = $avatar->move(WRITEPATH . 'uploads/statements/');
+ if ($is_moved) {
+ $filename = $avatar->getName();
+ // Handle successful upload, e.g., log success or further processing
+ $this->myLogger->logme("error", 'Statement File moved successful');
} else {
- $this->myLogger->logme("error", 'Statement Upload failed Invalid file');
- return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'Invalid file'], 404);
+ $this->myLogger->logme("error", 'Statement File move failed');
+ return $this->respond(['dataStatus' => false, 'code' => 500, 'message' => 'File move failed'], 500);
}
+ } else {
+ $this->myLogger->logme("error", 'Statement Upload failed Invalid file');
+ return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'Invalid file'], 404);
+ }
- //process post variable entry in file table
- $loggedInUserID = get_session_userid();
- // dd($loggedInUserID);
- // $loggedInUserID = 8;
+ //process post variable entry in file table
+ $loggedInUserID = get_session_userid();
+ // dd($loggedInUserID);
+ // $loggedInUserID = 8;
- $insurer = $this->request->getPost('insurer');
+ $insurer = $this->request->getPost('insurer');
- $insurer_id = explode('-', $insurer)[0];
- $branch_id = explode('-', $insurer)[1];
- // print_r($insurer_id);
- // print_r($branch_id);
- // die();
- $month = $this->request->getPost('statement_month');
- $month = $month.'-01';
- // print_r($month);die;
- $month = change_date_format($month,'Y-M-d','Y-m-d');
- $stmt_sno = $this->request->getPost('statement_no');
- // print_r($month);die;
+ $insurer_id = explode('-', $insurer)[0];
+ $branch_id = explode('-', $insurer)[1];
+ // print_r($insurer_id);
+ // print_r($branch_id);
+ // die();
+ $month = $this->request->getPost('statement_month');
+ $month = $month . '-01';
+ // print_r($month);die;
+ $month = change_date_format($month, 'Y-M-d', 'Y-m-d');
+ $stmt_sno = $this->request->getPost('statement_no');
+ // print_r($month);die;
- $file_id = $this->insurerStatements->insert(['insurer_id' => $insurer_id, 'branch_id' => $branch_id, 'file_name' => $filename,'month' => $month, 'created_by' => $loggedInUserID,'stmt_sno' => $stmt_sno]); //here field policy_id have client_policy_id and not policy id from policy master
- $this->myLogger->logme("error", '{file_id} statement uploaded success', ['file_id' => $file_id]);
+ $file_id = $this->insurerStatements->insert(['insurer_id' => $insurer_id, 'branch_id' => $branch_id, 'file_name' => $filename, 'month' => $month, 'created_by' => $loggedInUserID, 'stmt_sno' => $stmt_sno]); //here field policy_id have client_policy_id and not policy id from policy master
+ $this->myLogger->logme("error", '{file_id} statement uploaded success', ['file_id' => $file_id]);
- //validate file
- $validation_result = $this->validateInsurerStatement(['file_id' => $file_id]);
- //update file content to DB
- if($validation_result['status'] )
- {
- $this->updateInsurerStatement(['file_id' => $file_id]);
- }
-
- if (!isset($file_id) || !$validation_result['status']) {
- return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file not uploaded', 'error_data' => $validation_result['error_data'],'error_code' => $validation_result['error_code']], 200);
- }
+ //validate file
+ $validation_result = $this->validateInsurerStatement(['file_id' => $file_id]);
+ //update file content to DB
+ if ($validation_result['status']) {
+ $this->updateInsurerStatement(['file_id' => $file_id]);
+ }
- if (isset($file_id) || $validation_result['status']) {
- $this->insurerStatements->where('id', $file_id)->set(['invoice_status' => 'pending'])->update();
- }
+ if (!isset($file_id) || !$validation_result['status']) {
+ return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file not uploaded', 'error_data' => $validation_result['error_data'], 'error_code' => $validation_result['error_code']], 200);
+ }
+
+ if (isset($file_id) || $validation_result['status']) {
+ $this->insurerStatements->where('id', $file_id)->set(['invoice_status' => 'pending'])->update();
+ }
- return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
+ return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
}
public function createStatementFolder()
@@ -2164,23 +2166,20 @@ class PolicyTransactionController extends BaseController
$folderPath = WRITEPATH . 'uploads/statements/';
// Check if the folder doesn't exist
- if (!file_exists($folderPath))
- {
+ if (!file_exists($folderPath)) {
// Create the folder
if (mkdir($folderPath, 0777, true)) {
- $this->myLogger->logme('error','statement upload folder created successfully');
-
+ $this->myLogger->logme('error', 'statement upload folder created successfully');
+
// Set permissions to a+rwx (read, write, execute for all)
chmod($folderPath, 0777);
- $this->myLogger->logme('error','Permissions set to a+rwx.');
+ $this->myLogger->logme('error', 'Permissions set to a+rwx.');
} else {
// echo "Failed to create folder.";
- $this->myLogger->logme('error','Failed to create statement upload folder.');
+ $this->myLogger->logme('error', 'Failed to create statement upload folder.');
}
- }
- else
- {
- $this->myLogger->logme('error','upload folder exists.');
+ } else {
+ $this->myLogger->logme('error', 'upload folder exists.');
}
}
@@ -2192,37 +2191,35 @@ class PolicyTransactionController extends BaseController
$file = $this->insurerStatements->find($file_id);
// dd($file);
$date = new \DateTime($file['month']);
-
- $month = $date->format('m');
+
+ $month = $date->format('m');
$year = $date->format('Y');
- $error_data = ['error_code' => '','error_data' => []];
+ $error_data = ['error_code' => '', 'error_data' => []];
$status = 'success';
$ret_status = true;
// dd($month.'-'.$year);
$return = [];
- if(!isset($file))
- {
+ if (!isset($file)) {
//file not found in DB
return array('status' => false, 'msg' => 'statement file not found in DB');
}
- $file_name_with_path = WRITEPATH."/uploads/statements/".$file['file_name'];
-
+ $file_name_with_path = WRITEPATH . "/uploads/statements/" . $file['file_name'];
+
//check physical file
- if(!file_exists($file_name_with_path))
- {
+ if (!file_exists($file_name_with_path)) {
//file not found update status and reason
$message = "Physcial file not found";
// echo $message;
- $this->myLogger->logme('error',($message . ' for statement file id ' . $file_id));
- $this->insurerStatements->where('id', $file_id)->set(['file_status' => 'failed','reason' => json_encode(['error_code' => 0,'error_data' => $message])])->update();
+ $this->myLogger->logme('error', ($message . ' for statement file id ' . $file_id));
+ $this->insurerStatements->where('id', $file_id)->set(['file_status' => 'failed', 'reason' => json_encode(['error_code' => 0, 'error_data' => $message])])->update();
return array('status' => false, 'error_code' => 0); //0 - Physcial file not found
}
//get excel data to php array
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_name_with_path);
$sheet = $spreadsheet->getActiveSheet();
-
+
$highestRowAndColumn = $sheet->getHighestRowAndColumn();
// dd($highestRowAndColumn);
$excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
@@ -2231,33 +2228,29 @@ class PolicyTransactionController extends BaseController
//get no of line items and update in DB
$line_items = 0;
// get uploaded month transactions data
- $source_data = $this->PTCOShareDetailsModel->getNonReconcileredPolicyTransactions(insurer_id:$file['insurer_id'],insurer_branch_id:$file['branch_id']);
+ $source_data = $this->PTCOShareDetailsModel->getNonReconcileredPolicyTransactions(insurer_id: $file['insurer_id'], insurer_branch_id: $file['branch_id']);
// var_dump($source_data);die();
// Kint::dump($source_data);//die();
-
+
// check policy no,insurer and etc in DB for this month
// if all good return true, otherwise return false with messssage
- foreach ($excel_data as $excel_key => $excel_row)
- {
+ foreach ($excel_data as $excel_key => $excel_row) {
$is_row_empty = check_row_is_empty_or_null($excel_row);
- if(!$is_row_empty)
- {
+ if (!$is_row_empty) {
// $excel_row = ExcelSanitizeHelper::sanitizeArrayData($excel_row);
$is_source_found = 0;
- $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]);//policy_start_date from excel
- $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]);//policy_end_date from excel
- $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]);//policy_end_date from excel
- $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]);//policy_end_date from excel
- $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]);//clientname from excel
- $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]);//policy_end_date from excel
+ $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]); //policy_start_date from excel
+ $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]); //policy_end_date from excel
+ $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]); //policy_end_date from excel
+ $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]); //policy_end_date from excel
+ $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]); //clientname from excel
+ $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]); //policy_end_date from excel
// Kint::dump($policy_no);
- foreach ($source_data as $source_key => $source_row)
- {
+ foreach ($source_data as $source_key => $source_row) {
$source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null;
// Kint::dump($source_endorsement_no);
- if( ($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date,'d-m-Y','Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date,'d-m-Y','Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name'])
- {
+ if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) {
$is_source_found = 1;
$line_items = $line_items + 1;
unset($source_data[$source_key]);
@@ -2265,27 +2258,24 @@ class PolicyTransactionController extends BaseController
}
}
- if($is_source_found == 0)
- {
+ if ($is_source_found == 0) {
// echo $excel_key.'-'.$excel_row[1] . '- not found
';
- $error_data['error_code'] = 1;//match not found
+ $error_data['error_code'] = 1; //match not found
// $error_data['error_data'] = ($error_data['error_data'] ?? []);
- $error_data['error_data'] = array_merge($error_data['error_data'],[$excel_row[0]]);//match not found
+ $error_data['error_data'] = array_merge($error_data['error_data'], [$excel_row[0]]); //match not found
}
-
}
}
// dd($error_data);
- if($error_data['error_code'])
- {
- $status = 'failed';
- $ret_status = false;
+ if ($error_data['error_code']) {
+ $status = 'failed';
+ $ret_status = false;
}
- //update in DB
- $this->insurerStatements->where('id', $file_id)->set(['line_items' => $line_items,'file_status' => $status,'reason' => json_encode($error_data)])->update();
- return array('status' => $ret_status, 'error_code' => $error_data['error_code'],'error_data' => $error_data['error_data']);
+ //update in DB
+ $this->insurerStatements->where('id', $file_id)->set(['line_items' => $line_items, 'file_status' => $status, 'reason' => json_encode($error_data)])->update();
+ return array('status' => $ret_status, 'error_code' => $error_data['error_code'], 'error_data' => $error_data['error_data']);
}
@@ -2297,37 +2287,35 @@ class PolicyTransactionController extends BaseController
$file = $this->insurerStatements->find($file_id);
// dd($file);
$date = new \DateTime($file['month']);
-
- $month = $date->format('m');
+
+ $month = $date->format('m');
$year = $date->format('Y');
- $error_data = ['error_code' => '','error_data' => []];
+ $error_data = ['error_code' => '', 'error_data' => []];
$status = 'success';
$ret_status = true;
// dd($month.'-'.$year);
$return = [];
- if(!isset($file))
- {
+ if (!isset($file)) {
//file not found in DB
return array('status' => false, 'msg' => 'statement file not found in DB');
}
- $file_name_with_path = WRITEPATH."/uploads/statements/".$file['file_name'];
-
+ $file_name_with_path = WRITEPATH . "/uploads/statements/" . $file['file_name'];
+
//check physical file
- if(!file_exists($file_name_with_path))
- {
+ if (!file_exists($file_name_with_path)) {
//file not found update status and reason
$message = "Physcial file not found";
// echo $message;
- $this->myLogger->logme('error',($message . ' for statement file id ' . $file_id));
- $this->insurerStatements->where('id', $file_id)->set(['file_status' => 'failed','reason' => json_encode(['error_code' => 0,'error_data' => $message])])->update();
+ $this->myLogger->logme('error', ($message . ' for statement file id ' . $file_id));
+ $this->insurerStatements->where('id', $file_id)->set(['file_status' => 'failed', 'reason' => json_encode(['error_code' => 0, 'error_data' => $message])])->update();
return array('status' => false, 'error_code' => 0); //0 - Physcial file not found
}
//get excel data to php array
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_name_with_path);
$sheet = $spreadsheet->getActiveSheet();
-
+
$highestRowAndColumn = $sheet->getHighestRowAndColumn();
// dd($highestRowAndColumn);
$excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']);
@@ -2336,33 +2324,29 @@ class PolicyTransactionController extends BaseController
//get no of line items and update in DB
$line_items = count($excel_data);
// get uploaded month transactions data
- $source_data = $this->PTCOShareDetailsModel->getNonReconcileredPolicyTransactions(insurer_id:$file['insurer_id'],insurer_branch_id:$file['branch_id']);
+ $source_data = $this->PTCOShareDetailsModel->getNonReconcileredPolicyTransactions(insurer_id: $file['insurer_id'], insurer_branch_id: $file['branch_id']);
// Kint::dump($source_data);//die;
// Kint::dump($excel_data);
// die;
// check policy no,insurer and etc in DB for this month
// if all good return true, otherwise return false with messssage
$data_to_update = [];
- foreach ($excel_data as $excel_key => $excel_row)
- {
+ foreach ($excel_data as $excel_key => $excel_row) {
$is_row_empty = check_row_is_empty_or_null($excel_row);
- if(!$is_row_empty)
- {
-
+ if (!$is_row_empty) {
+
$is_source_found = 0;
- $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]);//policy_start_date from excel
- $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]);//policy_end_date from excel
- $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]);//policy_end_date from excel
- $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]);//
- $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]);//clientname from excel
- $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]);//policy_end_date from excel
-
- foreach ($source_data as $source_key => $source_row)
- {
+ $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]); //policy_start_date from excel
+ $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]); //policy_end_date from excel
+ $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]); //policy_end_date from excel
+ $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]); //
+ $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]); //clientname from excel
+ $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]); //policy_end_date from excel
+
+ foreach ($source_data as $source_key => $source_row) {
// Kint::dump(change_date_format($excel_row[3],'d-m-Y','Y-m-d'));
$source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null;
- if( ($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date,'d-m-Y','Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date,'d-m-Y','Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name'])
- {
+ if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) {
$is_source_found = 1;
//calculate percentage first
@@ -2372,18 +2356,13 @@ class PolicyTransactionController extends BaseController
$actual_bp_brokerage = trim($excel_row[12]);
$actual_bp_amt = trim($excel_row[6]);
- if(($actual_bp_brokerage && $actual_bp_brokerage != 0 && $actual_bp_brokerage != ""))
- {
+ if (($actual_bp_brokerage && $actual_bp_brokerage != 0 && $actual_bp_brokerage != "")) {
$total_amt += $actual_bp_brokerage;
//percentage reverse calculation
- if($actual_bp_per == 0 || $actual_bp_per == "")
- {
- $actual_bp_per = round(($actual_bp_brokerage / $actual_bp_amt) * 100,2);
+ if ($actual_bp_per == 0 || $actual_bp_per == "") {
+ $actual_bp_per = round(($actual_bp_brokerage / $actual_bp_amt) * 100, 2);
}
-
- }
- else
- {
+ } else {
$actual_bp_brokerage = $actual_bp_amt * ($actual_bp_per / 100);
$total_amt += $actual_bp_brokerage;
}
@@ -2392,17 +2371,13 @@ class PolicyTransactionController extends BaseController
$actual_tp_brokerage = trim($excel_row[13]);
$actual_tp_amt = trim($excel_row[7]);
- if($actual_tp_brokerage && $actual_tp_brokerage != 0 && $actual_tp_brokerage != "")
- {
+ if ($actual_tp_brokerage && $actual_tp_brokerage != 0 && $actual_tp_brokerage != "") {
$total_amt += $actual_tp_brokerage;
//percentage reverse calculation
- if($actual_tp_per == 0 || $actual_tp_per == "")
- {
+ if ($actual_tp_per == 0 || $actual_tp_per == "") {
$actual_tp_per = ($actual_tp_brokerage / $actual_tp_amt) * 100;
}
- }
- else
- {
+ } else {
$actual_tp_brokerage = $actual_tp_amt * ($actual_tp_per / 100);
$total_amt += $actual_tp_brokerage;
}
@@ -2411,17 +2386,13 @@ class PolicyTransactionController extends BaseController
$actual_tep_brokerage = trim($excel_row[14]);
$actual_tep_amt = trim($excel_row[8]);
- if($actual_tep_brokerage && $actual_tep_brokerage != 0 && $actual_tep_brokerage != "")
- {
+ if ($actual_tep_brokerage && $actual_tep_brokerage != 0 && $actual_tep_brokerage != "") {
$total_amt += $actual_tep_brokerage;
//percentage reverse calculation
- if($actual_tep_per == 0 || $actual_tep_per == "")
- {
+ if ($actual_tep_per == 0 || $actual_tep_per == "") {
$actual_tep_per = ($actual_tep_brokerage / $actual_tep_amt) * 100;
}
- }
- else
- {
+ } else {
$actual_tep_brokerage = $actual_tep_amt * ($actual_tep_per / 100);
$total_amt += $actual_tep_brokerage;
}
@@ -2429,13 +2400,12 @@ class PolicyTransactionController extends BaseController
//find variance
$variance_amt = $source_row['exp_amt'] - $total_amt;
- $data_to_update[] = ['co_share_id' => $source_row['id'],'actual_bp_amt' => $actual_bp_amt,'actual_tp_amt' => $actual_tp_amt,'actual_tep_amt' => $actual_tep_amt,'actual_bp_per' => $actual_bp_per,'actual_tp_per' => $actual_tp_per,'actual_tep_per' => $actual_tep_per,'variance' => $variance_amt,'actual_tep_brokerage_amt' => $actual_tep_brokerage,'actual_tp_brokerage_amt' => $actual_tp_brokerage,'actual_bp_brokerage_amt' => $actual_bp_brokerage,'reward' => trim($excel_row[15]),'statement_id' => $file_id];
+ $data_to_update[] = ['co_share_id' => $source_row['id'], 'actual_bp_amt' => $actual_bp_amt, 'actual_tp_amt' => $actual_tp_amt, 'actual_tep_amt' => $actual_tep_amt, 'actual_bp_per' => $actual_bp_per, 'actual_tp_per' => $actual_tp_per, 'actual_tep_per' => $actual_tep_per, 'variance' => $variance_amt, 'actual_tep_brokerage_amt' => $actual_tep_brokerage, 'actual_tp_brokerage_amt' => $actual_tp_brokerage, 'actual_bp_brokerage_amt' => $actual_bp_brokerage, 'reward' => trim($excel_row[15]), 'statement_id' => $file_id];
unset($source_data[$source_key]);
continue 2;
}
}
-
}
}
// dd($data_to_update);
@@ -2446,59 +2416,57 @@ class PolicyTransactionController extends BaseController
// $status = 'failed';
// $ret_status = false;
// }
- //update in DB
- $this->insurerStatements->where('id', $file_id)->set(['file_status' => $status,'reason' => json_encode($error_data),'invoice_status' =>'pending'])->update();
- return array('status' => $ret_status, 'error_code' => $error_data['error_code'],'error_data' => $error_data['error_data']);
+ //update in DB
+ $this->insurerStatements->where('id', $file_id)->set(['file_status' => $status, 'reason' => json_encode($error_data), 'invoice_status' => 'pending'])->update();
+ return array('status' => $ret_status, 'error_code' => $error_data['error_code'], 'error_data' => $error_data['error_data']);
}
public function getInvoicePaymentDetails()
{
- $statement_id = $this->request->getUri()->getSegment(4);
-
- $inv_details = $this->insurerStatements->find($statement_id);
- $inv_payment_details = $this->invPaymentDetailsModel
- ->where('statement_id',$statement_id)
- ->where('is_active',1)
- ->get()
- ->getResultArray();
- if(!$inv_details['invoice_value'])
- {
+ $statement_id = $this->request->getUri()->getSegment(4);
+
+ $inv_details = $this->insurerStatements->find($statement_id);
+ $inv_payment_details = $this->invPaymentDetailsModel
+ ->where('statement_id', $statement_id)
+ ->where('is_active', 1)
+ ->get()
+ ->getResultArray();
+ if (!$inv_details['invoice_value']) {
$stmt_level_value = $this->coShareStmtDetailsModel->select('sum(actual_tep_brokerage_amt) + sum(actual_tp_brokerage_amt) + sum(actual_bp_brokerage_amt) + sum(reward) as invoice_value')
- ->where('statement_id',$statement_id)
- ->groupBy('statement_id')
- ->get()
- ->getResultArray();
- // print_r($stmt_level_value);
- if($stmt_level_value && count($stmt_level_value) && isset($stmt_level_value[0]))
- {
+ ->where('statement_id', $statement_id)
+ ->groupBy('statement_id')
+ ->get()
+ ->getResultArray();
+ // print_r($stmt_level_value);
+ if ($stmt_level_value && count($stmt_level_value) && isset($stmt_level_value[0])) {
$inv_details['invoice_value'] = $stmt_level_value[0]['invoice_value'];
}
}
- // ~dd($inv_details);
- $data = [ 'invoice_status' => $inv_details['invoice_status'],
- 'gst_per' => isset($inv_details['gst_per']) ? $inv_details['gst_per'] : 18 ,
- 'invoice_value' => $inv_details['invoice_value'],
- 'gst_value' => $inv_details['gst_value'],
- 'invoice_no' => $inv_details['invoice_no'],
- 'invoice_amount' => $inv_details['invoice_amount'],
- 'invoice_date' => isset($inv_details['invoice_date']) ? change_date_format($inv_details['invoice_date'],'Y-m-d','d/m/Y') : null ];
+ // ~dd($inv_details);
+ $data = [
+ 'invoice_status' => $inv_details['invoice_status'],
+ 'gst_per' => isset($inv_details['gst_per']) ? $inv_details['gst_per'] : 18,
+ 'invoice_value' => $inv_details['invoice_value'],
+ 'gst_value' => $inv_details['gst_value'],
+ 'invoice_no' => $inv_details['invoice_no'],
+ 'invoice_amount' => $inv_details['invoice_amount'],
+ 'invoice_date' => isset($inv_details['invoice_date']) ? change_date_format($inv_details['invoice_date'], 'Y-m-d', 'd/m/Y') : null
+ ];
$data['payments'] = $inv_payment_details;
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $data], 200);
-
-
}
public function saveInvoicePaymentDetails()
{
- $jsonData = $this->request->getJSON();
- $jsonData = (array)$jsonData;
- // echo 'Hi';
- // print_r($jsonData);die();
+ $jsonData = $this->request->getJSON();
+ $jsonData = (array)$jsonData;
+ // echo 'Hi';
+ // print_r($jsonData);die();
$invoiceStatus = $jsonData['invoice_status'];
$hiddenStatementId = $jsonData['hidden_statement_id'];
$invoiceNo = $jsonData['invoice_no'];
- $invoiceDate = change_date_format($jsonData['invoice_date'],'d/m/Y','Y-m-d');
+ $invoiceDate = change_date_format($jsonData['invoice_date'], 'd/m/Y', 'Y-m-d');
$invoice_amount = $jsonData['invoice_amount'];
$invoice_value = $jsonData['invoice_value'];
$gst_per = $jsonData['invoice_gst_per'];
@@ -2516,10 +2484,10 @@ class PolicyTransactionController extends BaseController
'updated_by' => get_session_userid()
];
-
+
$this->insurerStatements->update($hiddenStatementId, $parentData);
-
+
// Process child data
$receivedAmounts = $jsonData['received_amount'];
$utrNos = $jsonData['utr_no'];
@@ -2541,19 +2509,20 @@ class PolicyTransactionController extends BaseController
'utr_no' => $utrNo,
'tds' => $tds,
'gst' => $gst,
- 'received_date' => change_date_format($paymentDate,'d/m/Y','Y-m-d'),
+ 'received_date' => change_date_format($paymentDate, 'd/m/Y', 'Y-m-d'),
'statement_id' => $hiddenStatementId
];
- if($pk){
- $childData['updated_by'] = get_session_userid();
- $childData['id'] = (int)$pk;
+ if ($pk) {
+ $childData['updated_by'] = get_session_userid();
+ $childData['id'] = (int)$pk;
+ } else {
+ $childData['created_by'] = get_session_userid();
}
- else { $childData['created_by'] = get_session_userid(); }
// print_r($childData);
// Insert or update
$this->invPaymentDetailsModel->save($childData);
// print_r($this->invPaymentDetailsModel->errors());
-
+
}
return $this->respond(['dataStatus' => true, 'code' => 200], 200);
@@ -2570,7 +2539,7 @@ class PolicyTransactionController extends BaseController
public function downloadSampleInsurerStatement()
{
-
+
$filePath = ROOTPATH . 'public/sample_excel/insurer_stament_sample.xlsx';
// Check if the file exists
if (file_exists($filePath)) {
@@ -2590,14 +2559,13 @@ class PolicyTransactionController extends BaseController
{
$file_id = $this->request->getUri()->getSegment(4);
$file = $this->insurerStatements->find($file_id);
- return $this->respond(['dataStatus' => true, 'code' => 200,'data' => $file['reason']], 200);
+ return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $file['reason']], 200);
}
public function dmsSearch()
{
- // echo 'scbsc';die();
- if ($this->request->getMethod() == 'post')
- {
+ // echo 'scbsc';die();
+ if ($this->request->getMethod() == 'post') {
// $jsonData = (array)$this->request->getJSON();
$customer_id = $this->request->getPost('customer_id');
$policy_id = $this->request->getPost('policy_id');
@@ -2608,37 +2576,33 @@ class PolicyTransactionController extends BaseController
$batch_files = [];
$files = [];
// print_r($jsonData);die();
- if($policy_id != "")
- {
+ if ($policy_id != "") {
//get policy docs from policy transation related tables
- $pt_files = $this->PTFileModel->getPolicyDriveFilesIndex($policy_id,$policy_doc_name);
- $batch_files = $this->batchFileModel->getBatchFilesDataForDocumentSearch($policy_id,$policy_doc_name);
- $files = $this->filesModel->getFilesDataForDocumentSearch($policy_id,$policy_doc_name);
+ $pt_files = $this->PTFileModel->getPolicyDriveFilesIndex($policy_id, $policy_doc_name);
+ $batch_files = $this->batchFileModel->getBatchFilesDataForDocumentSearch($policy_id, $policy_doc_name);
+ $files = $this->filesModel->getFilesDataForDocumentSearch($policy_id, $policy_doc_name);
// dd($files);
// dd($this->PTFileModel->getLastQuery());
// ~dd($pt_files);
}
- if($customer_id != "")
- {
- $kyc_files = $this->clientKYCDocsModel->getClientKYCDriveFilesIndex($customer_id,$cus_doc_name);
+ if ($customer_id != "") {
+ $kyc_files = $this->clientKYCDocsModel->getClientKYCDriveFilesIndex($customer_id, $cus_doc_name);
// dd($this->clientKYCDocsModel->getLastQuery());
// !dd($kyc_files);
}
- $data['files'] = array_merge($pt_files,$kyc_files,$batch_files,$files);
- // dd($data['files']);
+ $data['files'] = array_merge($pt_files, $kyc_files, $batch_files, $files);
+ // dd($data['files']);
}
$data['page_name'] = 'Documents Search';
- $data['customers'] = $this->clientModel->select('id,client_name,short_name as display_value')->where('is_active',1)->get()->getResultarray();
+ $data['customers'] = $this->clientModel->select('id,client_name,short_name as display_value')->where('is_active', 1)->get()->getResultarray();
$data['policies'] = $this->clientPolicyModel->select("client_policy.id,client_policy.policy_no,policy_type.policy_type,concat(policy_type.policy_type,' - ',client_policy.policy_no) as display_value")
- ->join('policy_type','client_policy.policy_type_id = policy_type.id')
- ->where('client_policy.is_active',1)->get()->getResultarray();
- // dd($data);
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id')
+ ->where('client_policy.is_active', 1)->get()->getResultarray();
+ // dd($data);
$this->loadLayout('dms_search', $data);
-
-
}
//---------------------------------------------------------------------------------------------------
@@ -2698,7 +2662,7 @@ class PolicyTransactionController extends BaseController
], 200);
}
}
-
+
public function getClientPolicyDataBasedOnClientAndInsuer()
{
@@ -2709,14 +2673,14 @@ class PolicyTransactionController extends BaseController
$policy_type_id = $this->request->getGet('policy_type_id') ?? 0;
$builder = db_connect()->table("client_policy")
- ->select("
+ ->select("
client_policy.*,
policy_type.policy_type,
")
- ->join('policy_type', 'client_policy.policy_type_id = policy_type.id')
- ->where([
- 'client_policy.is_active' => 1,
- ]);
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id')
+ ->where([
+ 'client_policy.is_active' => 1,
+ ]);
if (!empty($client_id)) {
$builder->where('client_policy.client_id', $client_id);
@@ -2737,22 +2701,22 @@ class PolicyTransactionController extends BaseController
$result = $builder->get()->getResultArray();
if ($result) {
- return $this->respond(['status' => true,'code' => 200,'data' => $result, 'getData' => $this->request->getGet()], 200);
+ return $this->respond(['status' => true, 'code' => 200, 'data' => $result, 'getData' => $this->request->getGet()], 200);
} else {
- return $this->respond(['status' => false,'code' => 400,'message' => 'No data found'], 200);
+ return $this->respond(['status' => false, 'code' => 400, 'message' => 'No data found'], 200);
}
}
-
+
public function checkCDAmountForBasePremium()
{
$base_premium = $this->request->getGet('base_premium') ?? 0;
$cd_ac_no = $this->request->getGet('cd_ac_no') ?? 0;
-
+
// Validate inputs
if (empty($cd_ac_no)) {
return $this->respond(['status' => false, 'code' => 400, 'message' => 'CD Account Number is required'], 200);
}
-
+
// Build query
$db = db_connect();
$builder = $db->table("cash_deposit")
@@ -2760,13 +2724,13 @@ class PolicyTransactionController extends BaseController
->where('is_active', 1)
->orderBy('id', 'desc')
->limit(1);
-
+
$result = $builder->get()->getRowArray();
-
+
if ($result) {
// Check if base premium exceeds balance
$base_premium_greater_than_balance = $base_premium > $result['balance'];
-
+
return $this->respond([
'status' => true,
'code' => 200,
@@ -2776,48 +2740,44 @@ class PolicyTransactionController extends BaseController
'base_premium_greater_than_balance' => $base_premium_greater_than_balance,
], 200);
}
-
+
return $this->respond(['status' => false, 'code' => 400, 'message' => 'No data found for this CD'], 200);
}
- public function getInsurerStatementMonth()
+ public function getInsurerStatementMonth()
{
$insurer_id = $this->request->getGet('insurer_id');
$month = $this->request->getGet('month');
// echo $month;
- $insurer_branch_id = explode('-',$insurer_id)[1];
- $insurer_id = explode('-',$insurer_id)[0];
- $month = $month.'-01';
- $month = change_date_format($month,'Y-M-d','Y-m-d');
+ $insurer_branch_id = explode('-', $insurer_id)[1];
+ $insurer_id = explode('-', $insurer_id)[0];
+ $month = $month . '-01';
+ $month = change_date_format($month, 'Y-M-d', 'Y-m-d');
// echo $month;
$res_data = $this->insurerStatements
- ->where('insurer_id',$insurer_id)
- ->where('branch_id',$insurer_branch_id)
- ->where('month', $month)
- ->where('is_active', 1)
- ->where('file_status', 'success')
- ->findAll();
-
- return $this->respond(['dataStatus' => true, 'code' => 200,'data' => $res_data], 200);
-
+ ->where('insurer_id', $insurer_id)
+ ->where('branch_id', $insurer_branch_id)
+ ->where('month', $month)
+ ->where('is_active', 1)
+ ->where('file_status', 'success')
+ ->findAll();
+ return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $res_data], 200);
}
public function deleteStatement($id)
{
// echo $id;die();
- $this->coShareStmtDetailsModel->where('statement_id',$id)
- ->set(['is_active' => 0])
- ->update();
- $this->invPaymentDetailsModel->where('statement_id',$id)
- ->set(['is_active' => 0])
- ->update();
- $this->insurerStatements->where('id',$id)
- ->set(['is_active' => 0])
- ->update();
+ $this->coShareStmtDetailsModel->where('statement_id', $id)
+ ->set(['is_active' => 0])
+ ->update();
+ $this->invPaymentDetailsModel->where('statement_id', $id)
+ ->set(['is_active' => 0])
+ ->update();
+ $this->insurerStatements->where('id', $id)
+ ->set(['is_active' => 0])
+ ->update();
return $this->respond(['dataStatus' => true, 'code' => 200], 200);
}
-
-
-}
\ No newline at end of file
+}
diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php
index b9d62ff5..3e74a6dc 100644
--- a/app/Controllers/TicketController.php
+++ b/app/Controllers/TicketController.php
@@ -181,15 +181,16 @@ class TicketController extends BaseController
return $this->loadLayout('ticket_search', $data);
} else {
- $data['ticket_data'] = $this->ticketSearch();
$isFromDashboard = $this->request->getPost("is_dashboard");
if (isset($isFromDashboard) && !empty($isFromDashboard) && $isFromDashboard == 1) {
$data['page_name'] = "Claims";
+ $data['ticket_data'] = $this->ticketSearch(3);
$data['claim_status'] = $this->claimStatus->select('id,ticket_type,claim_status')->where('is_active', 1)->findAll();
$data['client_list'] = $this->clientModel->select('id,client_name')->where('is_active', 1)->findAll();
return $this->loadLayout('ticket_search', $data);
}else{
+ $data['ticket_data'] = $this->ticketSearch();
$html = view('ticket_list', $data);
return $this->respond(['status' => true, 'html' => $html], 200);
}
@@ -201,39 +202,38 @@ class TicketController extends BaseController
{
$db = db_connect();
- $subquery = $db->table('ticket_history th')
- ->select([
- 'th.ticket_id',
- "CASE
- WHEN DATEDIFF(
- th.created_at,
- COALESCE(
- (SELECT MIN(created_at) FROM ticket_history th2 WHERE th2.ticket_id = th.ticket_id),
- tm.created_at
- )
- ) BETWEEN 0 AND 6 THEN '0-6 Days'
- WHEN DATEDIFF(
- th.created_at,
- COALESCE(
- (SELECT MIN(created_at) FROM ticket_history th2 WHERE th2.ticket_id = th.ticket_id),
- tm.created_at
- )
- ) BETWEEN 7 AND 12 THEN '7-12 Days'
- WHEN DATEDIFF(
- th.created_at,
- COALESCE(
- (SELECT MIN(created_at) FROM ticket_history th2 WHERE th2.ticket_id = th.ticket_id),
- tm.created_at
- )
- ) BETWEEN 13 AND 20 THEN '13-20 Days'
- ELSE 'Above 20 Days'
- END AS tat"
- ])
- ->join('ticket_master tm', 'tm.id = th.ticket_id', 'right')
- ->where('tm.is_active', 1)
- ->groupBy('th.ticket_id, tm.created_at');
+ $subquery = $db->table('ticket_master tm')
+ ->select([
+ 'tm.id AS ticket_id',
+ "CASE
+ WHEN DATEDIFF(
+ CURDATE(),
+ COALESCE(latest_history.created_at, tm.created_at)
+ ) BETWEEN 0 AND 6 THEN '0-6 Days'
+ WHEN DATEDIFF(
+ CURDATE(),
+ COALESCE(latest_history.created_at, tm.created_at)
+ ) BETWEEN 7 AND 12 THEN '7-12 Days'
+ WHEN DATEDIFF(
+ CURDATE(),
+ COALESCE(latest_history.created_at, tm.created_at)
+ ) BETWEEN 13 AND 20 THEN '13-20 Days'
+ ELSE 'Above 20 Days'
+ END AS tat"
+ ])
+ ->join(
+ '(SELECT th.ticket_id, MAX(th.created_at) AS created_at
+ FROM ticket_history th
+ WHERE th.field_name = "claim_status_id"
+ GROUP BY th.ticket_id) AS latest_history',
+ 'latest_history.ticket_id = tm.id',
+ 'left'
+ )
+ ->where('tm.is_active', 1)
+ ->groupBy('tm.id, tm.created_at, latest_history.created_at');
- //action 1 get last 100 rows, action 2 filter and get all rows related to that
+
+ //action 1 get last 100 rows, action 2 filter and get all rows related to that and action 3 gets according to dashboard
if ($action == 1) {
$query = $db->table('ticket_master tm')
@@ -268,6 +268,18 @@ class TicketController extends BaseController
return $data;
+ }else if ($action == 3) {
+ $ids = $this->request->getPost('ids');
+ $ids = array_filter(explode(',', $ids));
+
+ if (!empty($ids)) {
+ $idsStr = implode(',', array_map('intval', $ids)); // sanitize IDs to be integers
+ $where = "tm.id IN ($idsStr)";
+ } else {
+ $where = '1 = 0'; // No valid IDs, return empty result
+ }
+ // dd($where);
+
} else {
$search_data = $this->request->getPost();
// print_r($search_data); die()
@@ -278,7 +290,9 @@ class TicketController extends BaseController
}
}
// print_rr($where);
- $query = $db->table('ticket_master tm')
+
+ }
+ $query = $db->table('ticket_master tm')
->select([
'tm.id',
'tm.ticket_type_id',
@@ -311,7 +325,6 @@ class TicketController extends BaseController
// print_rr($data);die();
return $data;
- }
}
public function ticket_form($ticket_type)
diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php
index 360081a4..d456c311 100755
--- a/app/Models/ClientPolicyModel.php
+++ b/app/Models/ClientPolicyModel.php
@@ -71,7 +71,7 @@ class ClientPolicyModel extends Model
protected function checkAndADDCreatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['created_by'])) {
+ if (empty($data['data']['created_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['created_by'] = get_session_userid();
}
@@ -82,7 +82,7 @@ class ClientPolicyModel extends Model
protected function checkAndUpdateUpdatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['updated_by'])) {
+ if (empty($data['data']['updated_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['updated_by'] = get_session_userid();
}
@@ -90,100 +90,100 @@ class ClientPolicyModel extends Model
return $data;
}
- public function getClientPolicyById($id){
+ public function getClientPolicyById($id)
+ {
return $this->db->table('client_policy')
- ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
- ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
- ->select('policies.name as policy_name')
- ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
- ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
- ->join('insurers', 'insurers.id = client_policy.insurer_id')
- ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
- ->join('tpa', 'tpa.id = client_policy.tpa_id')
- ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->where('client_policy.id', $id)
- ->get()
- ->getResult();
-
+ ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
+ ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
+ ->select('policies.name as policy_name')
+ ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
+ ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
+ ->join('insurers', 'insurers.id = client_policy.insurer_id')
+ ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
+ ->join('tpa', 'tpa.id = client_policy.tpa_id')
+ ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
+ ->join('policies', 'policies.id = client_policy.policy_id')
+ ->where('client_policy.id', $id)
+ ->get()
+ ->getResult();
}
- public function getClientPolicyByClientId($client_id){
-
+ public function getClientPolicyByClientId($client_id)
+ {
+
return $this->db->table('client_policy')
- ->select('client_policy.*')
- ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
- ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
- ->select('policy_type.policy_type as policy_type_name')
- ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
- ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
- ->select('policy_type.policy_type as policy_type_name')
- ->select('client_branch.branch_name as branch_name')
- ->join('insurers', 'insurers.id = client_policy.insurer_id')
- ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
- ->join('tpa', 'tpa.id = client_policy.tpa_id', 'left')
- ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
- ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
- ->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
- ->where('client_policy.client_id', $client_id)
- ->where('client_policy.policy_status', 1)
- ->where('client_policy.is_active', 1)
- ->get()
- ->getResult();
-
-
-
+ ->select('client_policy.*')
+ ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
+ ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
+ ->select('policy_type.policy_type as policy_type_name')
+ ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
+ ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
+ ->select('policy_type.policy_type as policy_type_name')
+ ->select('client_branch.branch_name as branch_name')
+ ->join('insurers', 'insurers.id = client_policy.insurer_id')
+ ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
+ ->join('tpa', 'tpa.id = client_policy.tpa_id', 'left')
+ ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
+ ->where('client_policy.client_id', $client_id)
+ ->where('client_policy.policy_status', 1)
+ ->where('client_policy.is_active', 1)
+ ->get()
+ ->getResult();
}
- public function getPolicyPremium($policy_id){
+ public function getPolicyPremium($policy_id)
+ {
return $this->db->table('policies')
- ->select('policy_type.*')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
- ->where('policies.id', $policy_id)
- ->get()
- ->getResult();
+ ->select('policy_type.*')
+ ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ ->where('policies.id', $policy_id)
+ ->get()
+ ->getResult();
}
- public function getPolicyPremiumPolicyTypeId($policy_type_id){
+ public function getPolicyPremiumPolicyTypeId($policy_type_id)
+ {
return $this->db->table('policies')
- ->select('policy_type.*')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
- ->where('policies.id', $policy_type_id)
- ->get()
- ->getResult();
+ ->select('policy_type.*')
+ ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ ->where('policies.id', $policy_type_id)
+ ->get()
+ ->getResult();
}
- public function getPolicyDetails($client_id,$policy_id)
+ public function getPolicyDetails($client_id, $policy_id)
{
return $this->select('*')
- ->where('client_id',$client_id)
- ->where('id',$policy_id)
- ->get()
- ->getResult();
-
+ ->where('client_id', $client_id)
+ ->where('id', $policy_id)
+ ->get()
+ ->getResult();
}
- public function getinsurerswithclientid($id){
+ public function getinsurerswithclientid($id)
+ {
return $this->db->table('client_policy')
- ->select('client_policy.*, cd_master.cd_ac_no as cd_master_account_no')
- ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
- ->select('clients.client_name as client_name')
- ->join('clients','clients.id=client_policy.client_id')
- ->join('insurers', 'insurers.id = client_policy.insurer_id')
- ->join('cd_master', 'cd_master.insurer_id = insurers.id AND cd_master.client_id = client_policy.client_id')
- ->where('client_policy.client_id', $id)
- ->where('cd_master.id = client_policy.cd_ac_pk')
- ->groupBy('client_policy.insurer_id')
- ->groupBy('client_policy.client_id', $id) // Group by insurer_id
- ->get()
- ->getResult();
+ ->select('client_policy.*, cd_master.cd_ac_no as cd_master_account_no')
+ ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
+ ->select('clients.client_name as client_name')
+ ->join('clients', 'clients.id=client_policy.client_id')
+ ->join('insurers', 'insurers.id = client_policy.insurer_id')
+ ->join('cd_master', 'cd_master.insurer_id = insurers.id AND cd_master.client_id = client_policy.client_id')
+ ->where('client_policy.client_id', $id)
+ ->where('cd_master.id = client_policy.cd_ac_pk')
+ ->groupBy('client_policy.insurer_id')
+ ->groupBy('client_policy.client_id', $id) // Group by insurer_id
+ ->get()
+ ->getResult();
// return $this->db->table('client_policy')
// ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
@@ -198,26 +198,28 @@ class ClientPolicyModel extends Model
// ->getResult();
}
-
- public function getinsurerswithinsurenceid($insurerId){
+
+ public function getinsurerswithinsurenceid($insurerId)
+ {
return $this->db->table('client_policy')
- ->select('client_policy.*')
- ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
- ->select('clients.client_name as clientname, clients.short_name as clientshort')
- ->join('insurers', 'insurers.id = client_policy.insurer_id')
- ->join('clients', 'clients.id = client_policy.client_id')
- ->where('client_policy.insurer_id', $insurerId)
- ->groupBy('client_policy.client_id') // Group by insurer_id
- ->get()
- ->getResult();
+ ->select('client_policy.*')
+ ->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
+ ->select('clients.client_name as clientname, clients.short_name as clientshort')
+ ->join('insurers', 'insurers.id = client_policy.insurer_id')
+ ->join('clients', 'clients.id = client_policy.client_id')
+ ->where('client_policy.insurer_id', $insurerId)
+ ->groupBy('client_policy.client_id') // Group by insurer_id
+ ->get()
+ ->getResult();
}
- public function getClientById($id) {
+ public function getClientById($id)
+ {
$query = $this->db->table('clients')->getWhere(['id' => $id]);
- // Debug statement
+ // Debug statement
return $query->getRow();
}
@@ -248,112 +250,113 @@ class ClientPolicyModel extends Model
->get()
->getResult();
}
-
-
+
+
public function getDepositSummary($clientId, $insurerId)
-{
- // Fetch the sum of credit and debit transactions and calculate the balance
- return $this->db->table('cash_deposit')
- ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE 0 END) AS total_credit')
- ->select('SUM(CASE WHEN transaction_type = "Debit" THEN amount ELSE 0 END) AS total_withdraw')
- ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
- ->select('SUM(CASE WHEN sub_type = 3 THEN amount ELSE 0 END) AS total_refund')
- ->where('client_id', $clientId)
- ->where('insurer_id', $insurerId)
- ->where('cash_deposit.is_active', 1)
- ->get()
- ->getRow();
-}
-// Inside your clientPolicyModel
-// Inside your clientPolicyModel
-// public function getDepositDataWithBalance($clientId, $insurerId)
-// {
-// // Fetch deposit data with balance information
-// $builder = $this->db->table('cash_deposit');
-// $builder->select('id, created_at, description, sub_type, amount, transaction_type');
+ {
+ // Fetch the sum of credit and debit transactions and calculate the balance
+ return $this->db->table('cash_deposit')
+ ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE 0 END) AS total_credit')
+ ->select('SUM(CASE WHEN transaction_type = "Debit" THEN amount ELSE 0 END) AS total_withdraw')
+ ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
+ ->select('SUM(CASE WHEN sub_type = 3 THEN amount ELSE 0 END) AS total_refund')
+ ->where('client_id', $clientId)
+ ->where('insurer_id', $insurerId)
+ ->where('cash_deposit.is_active', 1)
+ ->get()
+ ->getRow();
+ }
+ // Inside your clientPolicyModel
+ // Inside your clientPolicyModel
+ // public function getDepositDataWithBalance($clientId, $insurerId)
+ // {
+ // // Fetch deposit data with balance information
+ // $builder = $this->db->table('cash_deposit');
+ // $builder->select('id, created_at, description, sub_type, amount, transaction_type');
-// $builder->where('client_id', $clientId);
-// $builder->where('insurer_id', $insurerId);
-// $builder->orderBy('created_at', 'asc');
+ // $builder->where('client_id', $clientId);
+ // $builder->where('insurer_id', $insurerId);
+ // $builder->orderBy('created_at', 'asc');
-// $depositData = $builder->get()->getResult();
+ // $depositData = $builder->get()->getResult();
-// $currentBalance = 0;
+ // $currentBalance = 0;
-// foreach ($depositData as $transaction) {
-// if ($transaction->transaction_type == 'Credit') {
-// $currentBalance += $transaction->amount;
-// } elseif ($transaction->transaction_type == 'Debit') {
-// $currentBalance -= $transaction->amount;
-// }
+ // foreach ($depositData as $transaction) {
+ // if ($transaction->transaction_type == 'Credit') {
+ // $currentBalance += $transaction->amount;
+ // } elseif ($transaction->transaction_type == 'Debit') {
+ // $currentBalance -= $transaction->amount;
+ // }
-// $transaction->balance = $currentBalance;
-// }
+ // $transaction->balance = $currentBalance;
+ // }
-// return $depositData;
-// }
+ // return $depositData;
+ // }
-public function getBalances($clientId)
-{
- $depositsummary = $this->getDepositlistsummary($clientId);
- $balances = [];
+ public function getBalances($clientId)
+ {
+ $depositsummary = $this->getDepositlistsummary($clientId);
+ $balances = [];
- foreach ($depositsummary as $summary) {
- $insurerId = $summary->insurer_id;
- $balances[$insurerId] = $summary;
+ foreach ($depositsummary as $summary) {
+ $insurerId = $summary->insurer_id;
+ $balances[$insurerId] = $summary;
+ }
+
+ return $balances;
}
- return $balances;
-}
-
-public function getDepositlistsummary($id)
-{
- return $this->db->table('cash_deposit')
- ->select('insurer_id')
- ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
- ->where('client_id', $id)
- ->groupBy('insurer_id')
- ->get()
- ->getResult();
-}
+ public function getDepositlistsummary($id)
+ {
+ return $this->db->table('cash_deposit')
+ ->select('insurer_id')
+ ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
+ ->where('client_id', $id)
+ ->groupBy('insurer_id')
+ ->get()
+ ->getResult();
+ }
-public function updateStatus(){
+ public function updateStatus()
+ {
- // Update client_policy table
- $client = $this->db->query("UPDATE client_policy SET policy_status = 0 WHERE policy_end_date < CURDATE()");
- $client_count = $this->db->affectedRows();
- // Update employee_polices table
- $employee = $this->db->query("UPDATE employee_polices SET status = 'expired' WHERE policy_end_date < CURDATE()");
- $emp_count = $this->db->affectedRows();
+ // Update client_policy table
+ $client = $this->db->query("UPDATE client_policy SET policy_status = 0 WHERE policy_end_date < CURDATE()");
+ $client_count = $this->db->affectedRows();
+ // Update employee_polices table
+ $employee = $this->db->query("UPDATE employee_polices SET status = 'expired' WHERE policy_end_date < CURDATE()");
+ $emp_count = $this->db->affectedRows();
- return ['client'=>$client_count, 'emp' => $emp_count];
+ return ['client' => $client_count, 'emp' => $emp_count];
+ }
+
+ public function getpolicyWithPattern($client_id)
+ {
+
+ $query = $this->db->table('client_policy')
+ ->select('client_policy.*, policies.name, policies.policy_type_id, policy_type.policy_type')
+ ->join('policies', 'policies.id = client_policy.policy_id')
+ ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ // ->where('policy_type.policy_type', 'GMC')
+ ->whereIn('policy_type.id', [2, 3])
+ ->where('client_policy.client_id', $client_id)
+ ->get()
+ ->getResult();
-}
+ return $query;
+ }
-public function getpolicyWithPattern($client_id){
+ public function getTopUpPolicy($client_id, $type)
+ {
- $query = $this->db->table('client_policy')
- ->select('client_policy.*, policies.name, policies.policy_type_id, policy_type.policy_type')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
- // ->where('policy_type.policy_type', 'GMC')
- ->whereIn('policy_type.id', [2, 3])
- ->where('client_policy.client_id', $client_id)
- ->get()
- ->getResult();
-
-
- return $query;
-}
-
-public function getTopUpPolicy($client_id, $type){
-
- $query = "
+ $query = "
SELECT client_policy.*, policies.name, policies.policy_type_id
FROM client_policy
JOIN policies ON policies.id = client_policy.policy_id
@@ -361,65 +364,63 @@ public function getTopUpPolicy($client_id, $type){
WHERE policy_type.policy_type = '{$type}'
AND client_policy.client_id = {$client_id}";
- $result = $this->db->query($query)->getResult();
+ $result = $this->db->query($query)->getResult();
- return $result;
-
-}
-
-
-public function getClientPolicyByPolicyType($client_id, $type){
-
-
- $query = $this->db->table('client_policy')
- ->select('client_policy.*, insurers.name as insurer_name, insurers.short_name as insurer_short')
- ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
- ->select('policies.name as policy_name, policies.policy_type_id')
- ->select('policy_type.policy_type as policy_type_name')
- ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
- ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
- ->join('insurers', 'insurers.id = client_policy.insurer_id')
- ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
- ->join('tpa', 'tpa.id = client_policy.tpa_id')
- ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
- ->where('client_policy.client_id', $client_id)
- ->where('client_policy.policy_status', 1);
-
- if ($type == 2) {
- $query->where('policy_type.policy_type', 'GMC - Top-up');
- } else if ($type == 3) {
- $query->whereIn('policy_type.policy_type', ['GMC - Parents', 'GMC - Top-up(Parents)']);
+ return $result;
}
- $result = $query->get()->getResult();
- return $result;
+ public function getClientPolicyByPolicyType($client_id, $type)
+ {
-}
+ $query = $this->db->table('client_policy')
+ ->select('client_policy.*, insurers.name as insurer_name, insurers.short_name as insurer_short')
+ ->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
+ ->select('policies.name as policy_name, policies.policy_type_id')
+ ->select('policy_type.policy_type as policy_type_name')
+ ->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
+ ->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
+ ->join('insurers', 'insurers.id = client_policy.insurer_id')
+ ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
+ ->join('tpa', 'tpa.id = client_policy.tpa_id')
+ ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
+ ->join('policies', 'policies.id = client_policy.policy_id')
+ ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ ->where('client_policy.client_id', $client_id)
+ ->where('client_policy.policy_status', 1);
+
+ if ($type == 2) {
+ $query->where('policy_type.policy_type', 'GMC - Top-up');
+ } else if ($type == 3) {
+ $query->whereIn('policy_type.policy_type', ['GMC - Parents', 'GMC - Top-up(Parents)']);
+ }
+
+ $result = $query->get()->getResult();
+
+ return $result;
+ }
-public function getPolicyTypeForPolicyBinding($client_id){
+ public function getPolicyTypeForPolicyBinding($client_id)
+ {
- $result = $this->table('client_policy')
- ->select('policy_type.*, client_policy.id as client_policy_id, client_policy.policy_no')
- ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
- ->where('client_policy.client_id', $client_id)
- ->where('client_policy.is_active', 1)
- ->whereIn('policy_type.id', [2,3])
- ->findAll();
+ $result = $this->table('client_policy')
+ ->select('policy_type.*, client_policy.id as client_policy_id, client_policy.policy_no')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.client_id', $client_id)
+ ->where('client_policy.is_active', 1)
+ ->whereIn('policy_type.id', [2, 3])
+ ->findAll();
- return $result;
+ return $result;
+ }
-}
+ public function getCliendDataForExcelFileName($client_policy_id)
+ {
-
-public function getCliendDataForExcelFileName($client_policy_id){
-
- return $this->table('client_policy')
+ return $this->table('client_policy')
->select('clients.short_name, policy_type.policy_type, client_branch.branch_code')
->join('clients', 'clients.id = client_policy.client_id')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
@@ -427,49 +428,48 @@ public function getCliendDataForExcelFileName($client_policy_id){
->where('client_policy.id', $client_policy_id)
->where('client_policy.is_active', 1)
->first();
-
-}
-
-//for this using in CRONE JOB
-public function getPolicyDetailsForRemainder($client_id = null, $branch_id = null, $policy_id = null)
-{
- $builder = $this->table('client_policy')
- ->where('client_policy.is_active', 1)
- ->where('client_policy.policy_status', 1)
- // ->where('client_policy.is_addon', 1)
- // ->where('client_policy.inception_type', 2)
- ->where('client_policy.open_for_enrollment', 1);
-
- if ($client_id && $branch_id) {
- $builder->where('client_policy.client_id', $client_id)
- ->where('client_policy.client_branch_id', $branch_id);
}
- if(empty($policy_id)){
- $builder->whereIn('client_policy.policy_type_id', [2, 3, 4, 5]);
- }else{
- $builder->where('client_policy.id', $policy_id);
+ //for this using in CRONE JOB
+ public function getPolicyDetailsForRemainder($client_id = null, $branch_id = null, $policy_id = null)
+ {
+ $builder = $this->table('client_policy')
+ ->where('client_policy.is_active', 1)
+ ->where('client_policy.policy_status', 1)
+ // ->where('client_policy.is_addon', 1)
+ // ->where('client_policy.inception_type', 2)
+ ->where('client_policy.open_for_enrollment', 1);
+
+ if ($client_id && $branch_id) {
+ $builder->where('client_policy.client_id', $client_id)
+ ->where('client_policy.client_branch_id', $branch_id);
+ }
+
+ if (empty($policy_id)) {
+ $builder->whereIn('client_policy.policy_type_id', [2, 3, 4, 5]);
+ } else {
+ $builder->where('client_policy.id', $policy_id);
+ }
+
+ return $builder->get()->getResultArray();
}
- return $builder->get()->getResultArray();
-}
+ //for this using in CRONE JOB
+ public function getPolicyDetailsForEnrollment($client_id = null, $branch_id = null)
+ {
+ $builder = $this->table('client_policy')
+ ->where('client_policy.is_active', 1)
+ ->where('client_policy.policy_status', 1)
+ ->where('client_policy.open_date IS NOT NULL')
+ ->where('client_policy.close_date IS NOT NULL');
-//for this using in CRONE JOB
-public function getPolicyDetailsForEnrollment($client_id = null, $branch_id = null)
-{
- $builder = $this->table('client_policy')
- ->where('client_policy.is_active', 1)
- ->where('client_policy.policy_status', 1)
- ->where('client_policy.open_date IS NOT NULL')
- ->where('client_policy.close_date IS NOT NULL');
+ if ($client_id && $branch_id) {
+ $builder->where('client_policy.client_id', $client_id)
+ ->where('client_policy.client_branch_id', $branch_id);
+ }
- if ($client_id && $branch_id) {
- $builder->where('client_policy.client_id', $client_id)
- ->where('client_policy.client_branch_id', $branch_id);
+ return $builder->get()->getResultArray();
}
- return $builder->get()->getResultArray();
+
}
-
-}
-
diff --git a/app/Models/LeadsModel.php b/app/Models/LeadsModel.php
index cd516c7a..64dfd8d0 100644
--- a/app/Models/LeadsModel.php
+++ b/app/Models/LeadsModel.php
@@ -30,17 +30,17 @@ class LeadsModel extends Model
'source_policy_id',
'policy_type_id',
'salse_person_id',
- 'insurer_id',
- 'insurer_branch_id',
- 'tpa_id',
- 'tpa_branch_id',
- 'policy_start_date',
- 'policy_end_date',
- 'no_of_lives',
- 'incurred_claims',
- 'location',
- 'proposed_insurer_id',
- 'proposed_insurer_branch_id',
+ 'insurer_id',
+ 'insurer_branch_id',
+ 'tpa_id',
+ 'tpa_branch_id',
+ 'policy_start_date',
+ 'policy_end_date',
+ 'no_of_lives',
+ 'incurred_claims',
+ 'location',
+ 'proposed_insurer_id',
+ 'proposed_insurer_branch_id',
'proposed_tpa_id',
'proposed_tpa_branch_id',
'proposel_data',
@@ -90,7 +90,7 @@ class LeadsModel extends Model
'source_policy_start_date',
'source_policy_end_date',
-
+
'payment_date',
'is_cd'
];
@@ -110,7 +110,7 @@ class LeadsModel extends Model
protected function checkAndADDCreatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['created_by'])) {
+ if (empty($data['data']['created_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['created_by'] = get_session_userid();
}
@@ -121,7 +121,7 @@ class LeadsModel extends Model
protected function checkAndUpdateUpdatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['updated_by'])) {
+ if (empty($data['data']['updated_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['updated_by'] = get_session_userid();
}
@@ -153,10 +153,10 @@ class LeadsModel extends Model
) AS rfq_count
')
- ->join('kyc_entity_type', 'leads.entity_type_id = kyc_entity_type.id', 'left')
- ->join('user_profiles', 'leads.salse_person_id = user_profiles.id', 'left')
- ->join('policy_type', 'leads.policy_type_id = policy_type.id', 'left')
- ->where('leads.is_active', 1);
+ ->join('kyc_entity_type', 'leads.entity_type_id = kyc_entity_type.id', 'left')
+ ->join('user_profiles', 'leads.salse_person_id = user_profiles.id', 'left')
+ ->join('policy_type', 'leads.policy_type_id = policy_type.id', 'left')
+ ->where('leads.is_active', 1);
if (!empty($where)) {
$data->where($where);
@@ -168,12 +168,12 @@ class LeadsModel extends Model
public function getLeadForInsertClientList($type = null, $client_id = null)
{
$query = $this->db->table('leads')
- ->select('leads.*, user_profiles.first_name as user_name')
- ->join('user_profiles', 'leads.created_by = user_profiles.id')
- ->where('leads.is_active', 1)
- ->where('leads.status', 'won')
- ->where("leads.proposel_data IS NOT NULL AND leads.proposel_data <> ''")
- ->where("(leads.is_client_created = '' OR leads.is_client_created IS NULL)");
+ ->select('leads.*, user_profiles.first_name as user_name')
+ ->join('user_profiles', 'leads.created_by = user_profiles.id')
+ ->where('leads.is_active', 1)
+ ->where('leads.status', 'won')
+ ->where("leads.proposel_data IS NOT NULL AND leads.proposel_data <> ''")
+ ->where("(leads.is_client_created = '' OR leads.is_client_created IS NULL)");
@@ -183,11 +183,83 @@ class LeadsModel extends Model
if ($client_id) {
$query->where('leads.client_id', $client_id);
}
-
+
$result = $query->get()->getResultArray();
return $result;
-
+ }
+
+ public function getDashData()
+ {
+ $statuses = $this->db->table('leads')
+ ->select('status')
+ ->where("is_active", 1)
+ ->groupBy('status')
+ ->get()
+ ->getResultArray();
+
+ $selectParts = [];
+
+ foreach ($statuses as $status) {
+ $s = $status['status'];
+ $alias = strtolower(str_replace(' ', '_', $s));
+
+ // Count alias
+ $selectParts[] = "SUM(CASE WHEN status = '{$s}' THEN 1 ELSE 0 END) AS `{$alias}`";
+
+ // IDs alias
+ $selectParts[] = "GROUP_CONCAT(CASE WHEN status = '{$s}' THEN leads.id ELSE NULL END) AS `{$alias}_ids`";
+ }
+
+ $select = implode(", ", $selectParts);
+
+ // Start query builder
+ $builder = $this->db->table('leads');
+
+ $builder->select($select);
+
+ // Auditing subquery
+ $subquery = "(SELECT pk, MAX(created_at) AS last_claim_status_change
+ FROM auditing_history
+ WHERE table_name = 'leads' AND field_name = 'status'
+ GROUP BY pk)";
+
+ $builder->join("{$subquery} AS th", 'leads.id = th.pk', 'left');
+
+ // Date filtering for last status change
+ $dateLimit = 3;
+ $dateThreshold = date('Y-m-d H:i:s', strtotime("-{$dateLimit} days"));
+
+ $builder->groupStart()
+ ->where('th.last_claim_status_change <=', $dateThreshold)
+ ->orWhere('th.last_claim_status_change IS NULL')
+ ->groupEnd();
+
+ // Add only active
+ $builder->where("leads.is_active", 1);
+
+ $lead_data = $builder->get()->getResultArray();
+
+ // Fallback for empty results
+ if (empty($lead_data)) {
+ $lead_data[0] = ['total' => 0];
+ foreach ($statuses as $status) {
+ $alias = strtolower(str_replace(' ', '_', $status['status']));
+ $lead_data[0][$alias] = 0;
+ $lead_data[0]["{$alias}_ids"] = '';
+ }
+ }
+
+ // Calculate total
+ $total = 0;
+ foreach ($lead_data[0] as $key => $value) {
+ if (!str_ends_with($key, '_ids') && $key != "won") {
+ $total += (int) $value;
+ }
+ }
+ $lead_data[0]['total'] = $total;
+
+ // dd($lead_data[0]);
+ return $lead_data[0];
}
-
}
diff --git a/app/Models/PolicyTransactionModel.php b/app/Models/PolicyTransactionModel.php
index b5d42e54..cb7a1ce4 100644
--- a/app/Models/PolicyTransactionModel.php
+++ b/app/Models/PolicyTransactionModel.php
@@ -81,7 +81,7 @@ class PolicyTransactionModel extends Model
'policy_with_corr',
'is_cd_reduce_from_bds',
];
-
+
// Callbacks
@@ -98,7 +98,7 @@ class PolicyTransactionModel extends Model
protected function checkAndADDCreatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['created_by'])) {
+ if (empty($data['data']['created_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['created_by'] = get_session_userid();
}
@@ -109,7 +109,7 @@ class PolicyTransactionModel extends Model
protected function checkAndUpdateUpdatedByValue(array $data)
{
// Check if 'updated_by' value is null or empty
- if (empty($data['data']['updated_by'])) {
+ if (empty($data['data']['updated_by'])) {
// Set 'updated_by' value to the current session user ID
$data['data']['updated_by'] = get_session_userid();
}
@@ -267,21 +267,21 @@ class PolicyTransactionModel extends Model
->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')
- ->where('policy_transaction.is_active', 1);
-
+ ->where('policy_transaction.is_active', 1);
+
// Check if the start date and end date are provided
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
$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);
- }else{
+ $builder->where('policy_transaction.' . $date_type . '>=', $startDate)
+ ->where('policy_transaction.' . $date_type . '<=', $endDate);
+ } else {
// $fromDate = date('Y-m-d', strtotime('-30 days'));
// $toDate = date('Y-m-d 23:59:59');
-
+
// $builder->where('policy_transaction.created_at >=', $fromDate)
// ->where('policy_transaction.created_at <=', $toDate);
}
@@ -289,31 +289,30 @@ class PolicyTransactionModel extends Model
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 ($policy_type_id != 0) {
$builder->where('client_policy.policy_type_id', $policy_type_id);
}
-
+
if ($issuer != 0) {
$builder->where('policy_transaction.issuer', $issuer);
}
- if($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0){
+ if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
$fromDate = date('Y-m-d', strtotime('-30 days'));
$toDate = date('Y-m-d 23:59:59');
-
- $builder->where('policy_transaction.created_at >=', $fromDate)
- ->where('policy_transaction.created_at <=', $toDate);
+ $builder->where('policy_transaction.created_at >=', $fromDate)
+ ->where('policy_transaction.created_at <=', $toDate);
}
$builder->orderBy('policy_transaction.id', 'desc');
-
+
return $builder->get()->getResultArray();
}
@@ -446,7 +445,7 @@ class PolicyTransactionModel extends Model
// AND insurer_statements.is_active = 1
// AND insurer_statements.invoice_status IS NOT NULL
// $date_condition
-
+
// ),
// 2
// ) AS billed_amt,
@@ -511,7 +510,7 @@ class PolicyTransactionModel extends Model
// ->join('user_profiles AS service_user', 'policy_transaction.serviced_by = service_user.id', 'left')
// ->where('policy_transaction.is_active', 1)
// ->where('pt_co_share_details.is_active', 1);
-
+
// // Check if the start date and end date are provided
// if ($start_date != 0 && $end_date != 0 && $date_type != 0 && $date_type != 'statement_month') {
@@ -547,7 +546,7 @@ class PolicyTransactionModel extends Model
// if ($client_id != 0) {
// $builder->where('policy_transaction.client_id', $client_id);
// }
-
+
// if ($insurer_id != 0) {
// $builder->where('policy_transaction.insurer_id', $insurer_id);
// }
@@ -555,7 +554,7 @@ class PolicyTransactionModel extends Model
// 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);
// }
@@ -565,11 +564,11 @@ class PolicyTransactionModel extends Model
// }
-
+
// if ($policy_type_id != 0) {
// $builder->where('client_policy.policy_type_id', $policy_type_id);
// }
-
+
// if ($issuer != 0) {
// $builder->where('policy_transaction.issuer', $issuer);
// }
@@ -578,7 +577,7 @@ class PolicyTransactionModel extends Model
// $fromDate = date('Y-m-d', strtotime('-30 days'));
// $toDate = date('Y-m-d 23:59:59');
-
+
// $builder->where('policy_transaction.created_at >=', $fromDate)
// ->where('policy_transaction.created_at <=', $toDate);
@@ -589,18 +588,18 @@ class PolicyTransactionModel extends Model
// $result = $builder->get()->getResultArray();
// // dd($this->db->getLastQuery());
-
+
// return $result;
// }
- public function getBDSReportList($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)
- {
+ public function getBDSReportList($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, $where = [])
+ {
$date_condition = '';
- if($date_type == 'statement_month' && $start_date != 0 && $end_date != 0) {
+ 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 ."'
+ AND insurer_statements.month >= '" . $start_date . "'
+ AND insurer_statements.month <= '" . $end_date . "'
";
}
@@ -782,7 +781,7 @@ class PolicyTransactionModel extends Model
->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')
- ->where('policy_transaction.is_active', 1)
+ ->where('policy_transaction.is_active', 1)
->where('pt_co_share_details.is_active', 1);
if (
@@ -797,16 +796,18 @@ class PolicyTransactionModel extends Model
$builder->where('policy_transaction.created_by', get_session_userid());
}
}
-
+ if (!empty($where)) {
+ log_message('info', 'Where condition: ' . json_encode($where));
+ $builder->where($where);
+ }
// Check if the start date and end date are provided
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);
-
+ $builder->where('policy_transaction.' . $date_type . '>=', $startDate)
+ ->where('policy_transaction.' . $date_type . '<=', $endDate);
}
// if($date_type == 'statement_month' && $start_date != 0 && $end_date != 0){
@@ -823,17 +824,17 @@ class PolicyTransactionModel extends Model
$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');
+ ->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');
}
if ($client_id != 0) {
$builder->where('policy_transaction.client_id', $client_id);
}
-
+
if ($insurer_id != 0) {
$builder->where('policy_transaction.insurer_id', $insurer_id);
}
@@ -841,7 +842,7 @@ class PolicyTransactionModel extends Model
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);
}
@@ -851,23 +852,24 @@ class PolicyTransactionModel extends Model
}
-
+
if ($policy_type_id != 0) {
$builder->where('client_policy.policy_type_id', $policy_type_id);
}
-
+
if ($issuer != 0) {
$builder->where('policy_transaction.issuer', $issuer);
}
- if($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0){
+ if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
$fromDate = date('Y-m-d', strtotime('-30 days'));
$toDate = date('Y-m-d 23:59:59');
-
- $builder->where('policy_transaction.created_at >=', $fromDate)
- ->where('policy_transaction.created_at <=', $toDate);
+ if (empty($where)) {
+ $builder->where('policy_transaction.created_at >=', $fromDate)
+ ->where('policy_transaction.created_at <=', $toDate);
+ }
}
$builder->orderBy('policy_transaction.id', 'desc');
@@ -875,10 +877,10 @@ class PolicyTransactionModel extends Model
$result = $builder->get()->getResultArray();
// dd($this->db->getLastQuery());
-
+
return $result;
}
-
+
// public function getInceptionTranctionListData($start_date = 0, $end_date = 0, $client_id = 0, $insurer_id = 0, $policy_type_id = 0, $date_type = 0, $issuer = 0, $status = 0)
// {
// // dd($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status);
@@ -917,7 +919,7 @@ class PolicyTransactionModel extends Model
// // $fromDate = date('Y-m-d', strtotime('-30 days'));
// // $toDate = date('Y-m-d 23:59:59');
-
+
// // $builder->where('policy_transaction.created_at >=', $fromDate)
// // ->where('policy_transaction.created_at <=', $toDate);
// }
@@ -925,15 +927,15 @@ class PolicyTransactionModel extends Model
// 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 ($policy_type_id != 0) {
// $builder->where('client_policy.policy_type_id', $policy_type_id);
// }
-
+
// if ($issuer != 0) {
// $builder->where('policy_transaction.issuer', $issuer);
// }
@@ -945,12 +947,12 @@ class PolicyTransactionModel extends Model
// $fromDate = date('Y-m-d', strtotime('-30 days'));
// $toDate = date('Y-m-d 23:59:59');
-
+
// $builder->where('policy_transaction.created_at >=', $fromDate)
// ->where('policy_transaction.created_at <=', $toDate);
// }
-
+
// $builder->orderBy('policy_transaction.id', 'desc')->limit(10);
// $result = $builder->get()->getResultArray();
@@ -1003,7 +1005,7 @@ class PolicyTransactionModel extends Model
// Optimize Date Filtering
if (!empty($start_date) && !empty($end_date) && !empty($date_type)) {
$builder->where("policy_transaction.$date_type >=", date('Y-m-d 00:00:00', strtotime($start_date)))
- ->where("policy_transaction.$date_type <=", date('Y-m-d 23:59:59', strtotime($end_date)));
+ ->where("policy_transaction.$date_type <=", date('Y-m-d 23:59:59', strtotime($end_date)));
}
// Apply Filters Only When Necessary
@@ -1029,7 +1031,7 @@ class PolicyTransactionModel extends Model
$toDate = date('Y-m-d 23:59:59');
$builder->where('policy_transaction.created_at >=', $fromDate)
- ->where('policy_transaction.created_at <=', $toDate);
+ ->where('policy_transaction.created_at <=', $toDate);
}
// Optimize Query Execution
@@ -1038,7 +1040,7 @@ class PolicyTransactionModel extends Model
return $builder->get()->getResultArray();
}
-
+
public function getEndorsementTranctionListData($start_date = 0, $end_date = 0, $client_id = 0, $insurer_id = 0, $policy_type_id = 0, $date_type = 0, $issuer = 0, $status = 0)
{
// dd($start_date, $end_date, $client_id, $insurer_id, $policy_type_id, $date_type, $issuer, $status);
@@ -1055,7 +1057,7 @@ class PolicyTransactionModel extends Model
->join('pt_co_share_details', 'policy_transaction.id = pt_co_share_details.pt_id', 'left')
->join('clients', 'policy_transaction.client_id = clients.id', 'left')
->join('client_branch', 'policy_transaction.client_branch_id = client_branch.id', 'left')
- ->join('insurers', 'pt_co_share_details.insurer_id = insurers.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')
->where('policy_transaction.is_active', 1)
@@ -1073,20 +1075,20 @@ class PolicyTransactionModel extends Model
$builder->where('policy_transaction.created_by', get_session_userid());
}
}
-
+
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
$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);
- }else{
+ $builder->where('policy_transaction.' . $date_type . '>=', $startDate)
+ ->where('policy_transaction.' . $date_type . '<=', $endDate);
+ } else {
// $fromDate = date('Y-m-d', strtotime('-30 days'));
// $toDate = date('Y-m-d 23:59:59');
-
+
// $builder->where('policy_transaction.created_at >=', $fromDate)
// ->where('policy_transaction.created_at <=', $toDate);
}
@@ -1094,15 +1096,15 @@ class PolicyTransactionModel extends Model
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 ($policy_type_id != 0) {
$builder->where('client_policy.policy_type_id', $policy_type_id);
}
-
+
if ($issuer != 0) {
$builder->where('policy_transaction.issuer', $issuer);
}
@@ -1110,16 +1112,15 @@ class PolicyTransactionModel extends Model
$builder->where('policy_transaction.status', $status);
}
- if($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0){
+ if ($client_id == 0 && $insurer_id == 0 && $policy_type_id == 0 && $date_type == 0 && $issuer == 0) {
$fromDate = date('Y-m-d', strtotime('-30 days'));
$toDate = date('Y-m-d 23:59:59');
-
- $builder->where('policy_transaction.created_at >=', $fromDate)
- ->where('policy_transaction.created_at <=', $toDate);
+ $builder->where('policy_transaction.created_at >=', $fromDate)
+ ->where('policy_transaction.created_at <=', $toDate);
}
-
+
$builder->orderBy('policy_transaction.id', 'desc');
return $builder->get()->getResultArray();
@@ -1235,14 +1236,14 @@ class PolicyTransactionModel extends Model
// ->having('premium_variance_amt !=',0);
// ->group_start()
- ->having('variance_amt IS NOT NULL')
- ->orHaving('variance_amt !=', 0)
- ->having('premium_variance_amt IS NOT NULL')
- ->orHaving('premium_variance_amt !=', 0);
- // ->group_end();
- // ->where('pt_co_share_details.actual_bp_brokerage_amt IS NOT NULL AND pt_co_share_details.actual_bp_brokerage_amt != 0');
- // ->where('pt_co_share_details.variance IS NOT NULL')
- // ->where('pt_co_share_details.variance !=', 0);
+ ->having('variance_amt IS NOT NULL')
+ ->orHaving('variance_amt !=', 0)
+ ->having('premium_variance_amt IS NOT NULL')
+ ->orHaving('premium_variance_amt !=', 0);
+ // ->group_end();
+ // ->where('pt_co_share_details.actual_bp_brokerage_amt IS NOT NULL AND pt_co_share_details.actual_bp_brokerage_amt != 0');
+ // ->where('pt_co_share_details.variance IS NOT NULL')
+ // ->where('pt_co_share_details.variance !=', 0);
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
@@ -1279,7 +1280,7 @@ class PolicyTransactionModel extends Model
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);
}
@@ -1296,6 +1297,7 @@ class PolicyTransactionModel extends Model
public function getBusinessReportList($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"));
$builder = $this->db->table('policy_transaction')
->select([
'policy_transaction.id AS policy_trns_id',
@@ -1319,9 +1321,19 @@ class PolicyTransactionModel extends Model
->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', 'policy_transaction.policy_type_id = policy_type.id', 'left')
+ ->join(
+ '(SELECT policy_tran_id, MAX(created_at) AS last_policy_status_change,is_active
+ FROM policy_transaction_status
+ WHERE is_active = 1
+ GROUP BY policy_tran_id) th',
+ 'policy_transaction.id = th.policy_tran_id'
+
+ )
+ ->where("th.last_policy_status_change <= '{$dateThreshold}'", null, false)
->where('policy_transaction.is_active', 1)
// ->where('policy_transaction.status', 'completed')
- ->where('pt_co_share_details.bp_amt IS NULL OR pt_co_share_details.bp_amt = 0');
+ ->where('(pt_co_share_details.bp_amt IS NULL OR pt_co_share_details.bp_amt = 0)', null, false);
+
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
@@ -1360,15 +1372,21 @@ class PolicyTransactionModel extends Model
}
$builder->orderBy('policy_transaction.id', 'desc');
+ // echo $builder->getCompiledSelect();
+ // exit;
$returnData = $builder->get()->getResultArray();
+
+ // dd($returnData);
return $returnData;
}
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"));
+
$builder = $this->db->table('policy_transaction')
->select("
policy_transaction.id,
@@ -1391,11 +1409,20 @@ class PolicyTransactionModel extends Model
->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', 'policy_transaction.policy_type_id = policy_type.id', 'left')
+ ->join(
+ '(SELECT policy_tran_id, MAX(created_at) AS last_policy_status_change,is_active
+ FROM policy_transaction_status
+ WHERE is_active = 1
+ GROUP BY policy_tran_id) th',
+ 'policy_transaction.id = th.policy_tran_id'
+
+ )
+ ->where("th.last_policy_status_change <= '{$dateThreshold}'", null, false)
->where('policy_transaction.is_active', 1)
// ->where('policy_transaction.status', 'completed')
->where('COALESCE(pt_co_share_details.agreed_bp_per, 0) + COALESCE(pt_co_share_details.agreed_tp_per, 0) + COALESCE(pt_co_share_details.agreed_tep_per, 0) = 0')
->where('COALESCE(pt_co_share_details.actual_bp_amt, 0) + COALESCE(pt_co_share_details.actual_tp_amt, 0) + COALESCE(pt_co_share_details.actual_tep_amt, 0) = 0')
- ->where('COALESCE(pt_co_share_details.actual_bp_brokerage_amt, 0) + COALESCE(pt_co_share_details.actual_tp_brokerage_amt, 0) + COALESCE(pt_co_share_details.actual_tep_brokerage_amt, 0) = 0');
+ ->where('COALESCE(pt_co_share_details.actual_bp_brokerage_amt, 0) + COALESCE(pt_co_share_details.actual_tp_brokerage_amt, 0) + COALESCE(pt_co_share_details.actual_tep_brokerage_amt, 0) = 0');
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
@@ -1492,55 +1519,55 @@ class PolicyTransactionModel extends Model
->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
->join('policy_type', 'policy_transaction.policy_type_id = policy_type.id', 'left')
->where('policy_transaction.is_active', 1);
-
+
// Date range filtering
if ($start_date != 0 && $end_date != 0 && $date_type != 0) {
$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);
} else {
$fromDate = date('Y-m-d', strtotime('-30 days'));
$toDate = date('Y-m-d 23:59:59');
-
+
$builder->where('policy_transaction.created_at >=', $fromDate)
->where('policy_transaction.created_at <=', $toDate);
}
-
+
// Additional filters
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 ($policy_type_id != 0) {
$builder->where('client_policy.policy_type_id', $policy_type_id);
}
-
+
if ($issuer != 0) {
$builder->where('policy_transaction.issuer', $issuer);
}
-
+
if ($status != 0) {
$builder->where('policy_transaction.status', $status);
}
-
+
// Filter where outstanding_amount is not null
$builder->having('outstanding_amount IS NOT NULL');
-
+
$builder->orderBy('policy_transaction.id', 'desc');
-
+
return $builder->get()->getResultArray();
}
- public function getOutstandingReportList($start_date = 0, $end_date = 0, $insurer_id = 0,$insurer_branch_id = 0)
+ public function getOutstandingReportList($start_date = 0, $end_date = 0, $insurer_id = 0, $insurer_branch_id = 0)
{
$builder = $this->db->table('insurer_statements s')
- ->select('
+ ->select('
s.id,
s.insurer_id,
s.branch_id,
@@ -1556,32 +1583,32 @@ class PolicyTransactionModel extends Model
COALESCE(SUM(p.inv_amt) + SUM(p.tds) + SUM(p.gst), 0) AS total_paid,
(s.invoice_amount - COALESCE(SUM(p.inv_amt) + SUM(p.tds) + SUM(p.gst), 0)) AS outstanding_amount
')
- ->join('inv_payment_details p', 's.id = p.statement_id', 'left')
- ->join('insurers ins', 's.insurer_id = ins.id')
- ->join('insurer_branch ib', 's.branch_id = ib.id')
- ->where('s.is_active', 1)
- ->where('p.is_active', 1)
- ->groupBy('s.id, s.invoice_no, s.invoice_date, s.invoice_amount')
- ->having('outstanding_amount >', 0);
- // ->get();
+ ->join('inv_payment_details p', 's.id = p.statement_id', 'left')
+ ->join('insurers ins', 's.insurer_id = ins.id')
+ ->join('insurer_branch ib', 's.branch_id = ib.id')
+ ->where('s.is_active', 1)
+ ->where('p.is_active', 1)
+ ->groupBy('s.id, s.invoice_no, s.invoice_date, s.invoice_amount')
+ ->having('outstanding_amount >', 0);
+ // ->get();
+
-
// Date range filtering
if ($start_date != 0 && $end_date != 0) {
-
+
$builder->where('s.month >=', $start_date)
->where('s.month <=', $end_date);
- }
-
+ }
+
if ($insurer_id != 0) {
$builder->where('s.insurer_id', $insurer_id);
}
- if ($insurer_branch_id != 0) {
+ if ($insurer_branch_id != 0) {
$builder->where('s.branch_id', $insurer_branch_id);
}
$builder->orderBy('s.id', 'desc');
-
+
return $builder->get()->getResultArray();
}
@@ -1591,12 +1618,12 @@ class PolicyTransactionModel extends Model
{
$fromDate = date('Y-m-d', strtotime('-60 days'));
$toDate = date('Y-m-d 23:59:59');
-
+
if (!empty($start_date) && !empty($end_date)) {
$fromDate = change_date_format($start_date);
$toDate = change_date_format($end_date);
}
-
+
$query = $this->db->table('policy_transaction pt')
->select('
pt.*,
@@ -1621,7 +1648,7 @@ class PolicyTransactionModel extends Model
->where('pt.is_active', 1)
->where('pt_co.is_active', 1)
->where('pt.action_type', "inception");
-
+
// Apply filters if parameters are provided
if (!empty($client_type)) {
$query->where('c.client_type', $client_type);
@@ -1632,7 +1659,7 @@ class PolicyTransactionModel extends Model
if (!empty($issuer)) { // Corrected condition to check $issuer
$query->where('pt.issuer', $issuer);
}
-
+
$query->groupBy('pt.id');
$query->orderBy('pt.id', 'DESC');
// Fetch and return results
@@ -1640,6 +1667,47 @@ class PolicyTransactionModel extends Model
// print($this->db->getLastQuery()); die;
return $results;
}
-
-
+
+ public function getBDSRenewalData()
+ {
+ // Increase GROUP_CONCAT limit
+ $this->db->query("SET SESSION group_concat_max_len = 1000000;");
+
+ $builder = $this->db->table('policy_transaction pt');
+
+ $builder->select([
+ 'SUM(CASE WHEN pt.policy_end_date < CURDATE() THEN 1 ELSE 0 END) AS Expired',
+ 'SUM(CASE WHEN pt.policy_end_date BETWEEN CURDATE() AND (CURDATE() + INTERVAL 1 MONTH) THEN 1 ELSE 0 END) AS `Renewal Pending`',
+ 'GROUP_CONCAT(CASE WHEN pt.policy_end_date < CURDATE() THEN pt.id ELSE NULL END) AS Expired_ids',
+ 'GROUP_CONCAT(CASE WHEN pt.policy_end_date BETWEEN CURDATE() AND (CURDATE() + INTERVAL 1 MONTH) THEN pt.id ELSE NULL END) AS Renewal_Pending_ids'
+ ]);
+ $builder->where("pt.policy_end_date IS NOT NULL", null, false);
+ $builder->where('pt.is_active', 1);
+
+ // Self join to check if a policy has been renewed
+ $builder->join('policy_transaction renewed', 'renewed.source_client_policy_id = pt.client_policy_id and renewed.client_id = pt.client_id and renewed.client_branch_id = pt.client_branch_id', 'left');
+
+ // Filter for expired or expiring policies
+ $builder->where("(pt.policy_end_date < CURDATE() OR pt.policy_end_date BETWEEN CURDATE() AND (CURDATE() + INTERVAL 1 MONTH))", null, false);
+
+ $builder->where('renewed.id IS NULL', null, false);
+ $query = $builder->get();
+ $result = $query->getResultArray();
+
+ $total = 0;
+ foreach ($result[0] as $key => $value) {
+ if ($key !== 'Expired_ids' && $key !== 'Renewal_Pending_ids') {
+ $total += $value;
+ }
+ }
+
+ // Ensure ID fields are arrays (not null)
+ $result[0]['Expired_ids'] = $result[0]['Expired_ids'] ? $result[0]['Expired_ids'] : [];
+ $result[0]['Renewal Pending_ids'] = $result[0]['Renewal_Pending_ids'] ? $result[0]['Renewal_Pending_ids'] : [];
+
+ // Add total count
+ $result[0]['total'] = $total;
+
+ return $result[0];
+ }
}
diff --git a/app/Models/TicketMasterModel.php b/app/Models/TicketMasterModel.php
index 4bd247dc..7e011952 100644
--- a/app/Models/TicketMasterModel.php
+++ b/app/Models/TicketMasterModel.php
@@ -726,76 +726,145 @@ class TicketMasterModel extends Model
$finalResults = [];
foreach ($claim_statuses as $typeId => $statuses) {
- $builder = $this->db->table('ticket_master tm');
+ // Get all active, non-null claim status tickets for this type
+ $builder = $this->db->table('ticket_master tm')
+ ->select('tm.id, tm.ticket_type_id, tcs.claim_status, th.last_claim_status_change')
+ ->join('ticket_claim_status tcs', 'tm.claim_status_id = tcs.id', 'left')
+ ->join(
+ '(SELECT ticket_id, MAX(created_at) AS last_claim_status_change
+ FROM ticket_history
+ WHERE field_name = \'claim_status_id\'
+ GROUP BY ticket_id) th',
+ 'tm.id = th.ticket_id',
+ 'left'
+ )
+ ->where('tm.ticket_type_id', $typeId)
+ ->where('tm.is_active', 1)
+ ->where('tm.claim_status_id IS NOT NULL');
- // Start with ticket_type_id in SELECT
- $selects = ['tm.ticket_type_id'];
+ $results = $builder->get()->getResultArray();
- // Dynamically build status counts with COALESCE to handle missing values
- foreach ($statuses as $status) {
- $alias = strtolower($status);
- $alias = str_replace(' ', '_', $alias);
- $selects[] = "COALESCE(SUM(CASE WHEN tcs.claim_status = " . $this->db->escape($status) . " AND tm.ticket_type_id = {$typeId} THEN 1 ELSE 0 END), 0) AS `{$alias}`";
- }
+ $summary = [
+ 'ticket_type_id' => $typeId,
+ ];
- $builder->select(implode(',', $selects));
- $builder->join('ticket_claim_status tcs', 'tm.claim_status_id = tcs.id', 'left');
-
- // Subquery for latest status change, with LEFT JOIN to avoid missing ticket_type_id
- $builder->join(
- '(SELECT ticket_id, MAX(created_at) AS last_claim_status_change
- FROM ticket_history
- WHERE field_name = \'claim_status_id\'
- GROUP BY ticket_id) th',
- 'tm.id = th.ticket_id',
- 'left'
- );
-
- // Set the date limit based on the status
- foreach ($statuses as $status) {
- $dateLimit = $limit[$typeId][$status] ?? 3;
- $dateThreshold = date('Y-m-d H:i:s', strtotime("-{$dateLimit} days"));
-
- $builder->groupStart()
- ->where('th.last_claim_status_change <=', $dateThreshold)
- ->orWhere('th.last_claim_status_change IS NULL')
- ->groupEnd();
- }
-
-
- $builder->where('tm.ticket_type_id', $typeId);
- $builder->where('tm.is_active', 1);
- $builder->where('tm.claim_status_id is not null');
-
- $builder->groupBy('tm.ticket_type_id');
-
- $query = $builder->get();
- $result = $query->getRowArray();
-
- // Add Total count
$total = 0;
- foreach ($result as $key => $res) {
- // Ensure that ticket_type_id is excluded from the sum
- if ($key !== 'ticket_type_id') {
- $total += $res;
- }
- }
- $result['total'] = $total;
+ foreach ($statuses as $status) {
+ $alias = strtolower(str_replace(' ', '_', $status));
+ $summary[$alias] = 0;
+ $summary[$alias . '_ids'] = '';
- // If no result, initialize an empty result for the ticket_type_id
- if (!$result) {
- $result = ['ticket_type_id' => $typeId, 'total' => 0];
- foreach ($statuses as $status) {
- $alias = strtolower($status);
- $alias = str_replace(' ', '_', $alias);
- $result[$alias] = 0;
+ $dateLimit = $limit[$typeId][$status] ?? 3;
+ $threshold = date('Y-m-d H:i:s', strtotime("-{$dateLimit} days"));
+
+ $ticketIds = [];
+ // dd($results);
+ foreach ($results as $row) {
+ if (
+ $row['claim_status'] === $status &&
+ (
+ !$row['last_claim_status_change'] ||
+ $row['last_claim_status_change'] <= $threshold
+ )
+ ) {
+ $summary[$alias]++;
+ $ticketIds[] = $row['id'];
+ if ($status == "APPROVED"|| $status == "SETTLED"|| $status == "CLOSED" ){
+ continue;
+ }
+
+ $total++;
+
+
+ }
}
+
+ // Convert ticket IDs array to a comma-separated string
+ $summary[$alias . '_ids'] = implode(',', $ticketIds);
}
- // Add the result to the final array
- $finalResults[$typeId] = $result;
+ $summary['total'] = $total;
+
+ // Add approved but not settled IDs and count
+ $approvedNotSettled = $this->getNotSettledbutApprovedCount($typeId);
+ $summary['approved_not_settled'] = $approvedNotSettled['count'];
+ $summary['approved_not_settled_ids'] = $approvedNotSettled['ticket_ids'];
+
+ $finalResults[$typeId] = $summary;
}
+ // dd($finalResults);
return $finalResults;
}
+
+
+
+ public function getNotSettledbutApprovedCount($ticket_type)
+ {
+ // Fetch the approved and settled claim_status IDs
+ $builder = $this->db->table("ticket_claim_status approved")
+ ->select("approved.id AS approved_id, settled.id AS settled_id")
+ ->join("ticket_claim_status settled", "approved.ticket_type = settled.ticket_type")
+ ->where("approved.claim_status", "APPROVED")
+ ->where("settled.claim_status", "SETTLED")
+ ->where("approved.ticket_type", $ticket_type)
+ ->where("approved.is_active", 1)
+ ->where("settled.is_active", 1);
+
+ $ids = $builder->get()->getRowArray();
+
+ // If no matching status IDs are found, return empty
+ if (!$ids) {
+ return ['count' => 0, 'ticket_ids' => ''];
+ }
+
+ // Extract approved and settled status IDs
+ $approved_id = $ids['approved_id'];
+ $settled_id = $ids['settled_id'];
+
+ // Subquery to get the latest approval time for each ticket
+ $subquery = $this->db->table('ticket_history')
+ ->select('ticket_id, MAX(created_at) AS approved_time')
+ ->where('field_name', 'claim_status_id')
+ ->where('new_value', $approved_id)
+ ->groupBy('ticket_id');
+
+ // Main query to find tickets that are approved but not settled
+ $builder = $this->db->table('ticket_master tm');
+
+ $builder->join("({$subquery->getCompiledSelect()}) latest_approval", 'tm.id = latest_approval.ticket_id', 'inner');
+
+ // Left join to find if there is a settled status for each ticket after approval
+ $builder->join(
+ 'ticket_history th_settled',
+ "th_settled.ticket_id = tm.id
+ AND th_settled.field_name = 'claim_status_id'
+ AND th_settled.new_value = {$settled_id}
+ AND th_settled.created_at > latest_approval.approved_time",
+ 'left',
+ false // Important for raw ON condition
+ );
+
+ // Filtering conditions: not settled and approved time older than 12 days
+ $builder->where('tm.claim_status_id !=', $settled_id);
+ $builder->where('tm.is_active', 1);
+ $builder->where("latest_approval.approved_time <= DATE_SUB(NOW(), INTERVAL 12 DAY)", null, false);
+ $builder->where('th_settled.id IS NULL', null, false);
+
+ // Final select to get ticket IDs of approved but not settled tickets
+ $builder->select('tm.id');
+
+ // Execute the query
+ $query = $builder->get();
+ $ticketIds = array_column($query->getResultArray(), 'id'); // Extract the IDs
+
+ // Convert ticket IDs array to a comma-separated string
+ $ticketIdsString = implode(',', $ticketIds);
+
+ // Return the count and comma-separated ticket IDs
+ return [
+ 'count' => count($ticketIds),
+ 'ticket_ids' => $ticketIdsString
+ ];
+ }
}
diff --git a/app/Views/DashBoard.php b/app/Views/DashBoard.php
index 55b75fc5..40d25654 100755
--- a/app/Views/DashBoard.php
+++ b/app/Views/DashBoard.php
@@ -173,7 +173,7 @@
-
+
@@ -217,28 +217,43 @@
-
+
+
-
+
Claims
-
+
+
+
-
+
- Leads and Renewals
+ Leads and BDS Renewals
+
+
+
-
+
+
+
+
-
+
+
+
diff --git a/app/Views/bds_dash.php b/app/Views/bds_dash.php
index c6711ec9..4afc8015 100644
--- a/app/Views/bds_dash.php
+++ b/app/Views/bds_dash.php
@@ -131,11 +131,14 @@ body{
-
-