MERGE_TEST_CLAIMS_GPA_ADDITIONAL_REQ

This commit is contained in:
Venba 2025-03-12 10:06:14 +00:00
commit ed46ee25da
12 changed files with 527 additions and 542 deletions

View File

@ -51,7 +51,7 @@ $routes->get('/auth/google', 'LoginController::initiateGoogleOAuth');
$routes->get('/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus');
$routes->get('download-e-card/(:any)', 'EmployeeController::generateIDCardForEmployee/$1');
$routes->get('download-kyc-docs/(:segment)', 'ClientController::downloadKYCDocument/$1');
$routes->get('claim-form-download/(:any)', 'TicketController::downloadClaimForm/$1');
$routes->group("/user", ["filter" => "authMVC"], function ($routes) {
$routes->post("create", "UserController::create");

View File

@ -1746,6 +1746,7 @@ class MasterController extends AdminController
'cache' => WRITEPATH . 'cache',
'sample_import_excel' => ROOTPATH . 'public/sample_import_excel',
'lead_files' => WRITEPATH . 'uploads/lead_files/',
'claim_sample_forms' => ROOTPATH . 'public/claim_sample_forms/',
];
foreach ($folders as $folderName => $folderPath) {

View File

@ -1063,6 +1063,7 @@ class PolicyTransactionController extends BaseController
{
$id = $this->request->getPost('id');
$data = $this->preparePolicyTransactionData();
// print_r($data); die;
if (!$id) {
return $this->insertEndorsementTransaction($data);
@ -1079,25 +1080,12 @@ class PolicyTransactionController extends BaseController
// print_r($data);
// die;
// $data_received_date = (string)$this->request->getPost('data_received_date');
// $closure_date = (string)$this->request->getPost('closure_date');
// $endorse_eff_date = (string)$this->request->getPost('endorse_eff_date');
// $month = (string)$this->request->getPost('month');
// $data['data_received_date'] = empty($data['data_received_date']) ? null : date('Y-m-d', strtotime($data_received_date));
// $data['closure_date'] = empty($data['closure_date']) ? null : date('Y-m-d', strtotime($closure_date));
// $data['endorse_eff_date'] = empty($data['endorse_eff_date']) ? null : date('Y-m-d', strtotime($endorse_eff_date));
// $month = '01-'.$data['month'];
// $data['month'] = empty($data['month']) ? null : date('Y-m-d', strtotime($month));
if (!isset($data['policy_with_corr'])) {
$data['policy_with_corr'] = 0;
} elseif ($data['policy_with_corr']) {
$data['policy_with_corr'] = 1;
}
if(empty($data['data_received_date'])){
$data['data_received_date'] = null;
}else{
@ -1269,7 +1257,7 @@ class PolicyTransactionController extends BaseController
public function getEndorsementDataForEdit($id)
{
$data = $this->policyTransactionModel
->select('
->select('
policy_transaction.*,
clients.short_name as client_short_name,
clients.client_type,
@ -1283,52 +1271,43 @@ 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')
->where('policy_transaction.id', $id)
->where('policy_transaction.is_active', 1)
->first();
// $data['policy_start_date'] = empty($data['policy_start_date']) ? '' : date('d/m/Y', strtotime($data['s_date']));
// $data['policy_end_date'] = empty($data['policy_end_date']) ? '' : date('d/m/Y', strtotime($data['e_date']));
// $data['data_received_date'] = empty($data['data_received_date']) ? '' : date('d/m/Y', strtotime($data['data_received_date']));
// $data['closure_date'] = empty($data['closure_date']) ? '' : date('d/m/Y', strtotime($data['closure_date']));
// $data['endorse_eff_date'] = empty($data['endorse_eff_date']) ? '' : date('d/m/Y', strtotime($data['endorse_eff_date']));
// $data['month'] = (isset($data['month']) && $data['month'] !== null && $data['month'] !== '')
// ? date('M/Y', strtotime($data['month']))
// : null;
->join('clients', 'clients.id = policy_transaction.client_id')
->join('client_policy', 'policy_transaction.client_policy_id = client_policy.id', 'left')
->where('policy_transaction.id', $id)
->where('policy_transaction.is_active', 1)
->orderBy('id', 'asc')
->first();
if(!empty($data['policy_start_date'])){
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'])){
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['data_received_date'])){
if (!empty($data['data_received_date'])) {
$data['data_received_date'] = change_date_format($data['data_received_date'], 'Y-m-d', 'd/m/Y');
}
if(!empty($data['policy_issue_date'])){
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['endorse_eff_date'])){
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['install_due_date'])){
if (!empty($data['install_due_date'])) {
$data['install_due_date'] = change_date_format($data['install_due_date'], 'Y-m-d', 'd/m/Y');
}
if(!empty($data['last_action_date'])){
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'])){
if (!empty($data['month'])) {
$data['month'] = change_date_format($data['month'], 'Y-m-d', 'M/Y');
}
@ -1337,7 +1316,7 @@ class PolicyTransactionController extends BaseController
//get PT Co-Share Details
$data['pt_co_share_details'] = $this->PTCOShareDetailsModel
->select("
->select("
pt_co_share_details.*,
(
@ -1453,19 +1432,18 @@ 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();
// print_r($data['endorse_eff_date']); die;
if($data){
if ($data) {
return $this->respond(['status' => true, 'data' => $data], 200);
}else{
} else {
return $this->respond(['status' => false], 200);
}
}
//------------------------------------------------------------------------------------------------

View File

@ -21,7 +21,7 @@ use Kint\Kint;
use App\Models\EmployeeModel;
use App\Helpers\MailHelper;
use App\Models\InsurerModel;
use CodeIgniter\API\ResponseTrait;
class TicketController extends BaseController
@ -119,6 +119,7 @@ class TicketController extends BaseController
'((RELATIONSHIP))' => 'relationship',
'((POLICY_TYPE))' => 'policy_type',
'((AUTO_QUERY_CONTENT))' => 'auto_query_content',
'((CLAIM_FORM_LINK))' => 'claim_form_link',
];
$this->extraFields = [
1 => ['non_id_reason'],
@ -439,6 +440,11 @@ class TicketController extends BaseController
// $ticket_data = $this->ticketMasterModel->where('id', $ticket_id)->where('is_active', 1)->first();
$ticket_data = $this->ticketMasterModel->getTicketDataByTicketID($ticket_id);
$ticket_data = $this->formatDateForClaim($ticket_data, 'd/m/Y');
if (in_array($ticket_data['claim_status_id'], [15, 25, 35])) {
$ticket_data['auto_query_content'] = $this->getCheckListAndConvertArrayToString($ticket_data);
}
// dd($ticket_data);
$template_data = $this->ticketMasterModel->getTemplateDataByTicketID($ticket_id);
if (!empty($template_data)) {
@ -802,6 +808,13 @@ class TicketController extends BaseController
return null;
}
if (in_array($ticket_data['claim_status_id'], [15, 25, 35])) {
$ticket_data['auto_query_content'] = $this->getCheckListAndConvertArrayToString($ticket_data);
}
// print_r($ticket_data); die;
$this->myLogger->logme('error', "Fetched email template: " . json_encode($template_data));
// Generate Email Content
@ -854,7 +867,9 @@ class TicketController extends BaseController
$replaceData = $ticket_data[$value] ?? '';
} else if ($value == "policy_type") {
$replaceData = str_replace("Claim-", "", $this->ticketType[$ticket_data['ticket_type_id']] ?? "");
} else {
} else if ($value == "claim_form_link"){
$replaceData = '<a href="' . base_url('claim-form-download/' . md5($ticket_data['insurer_id'])) . '" target="_blank">Click here to download Claim Form</a>';
}else {
$replaceData = isset($ticket_data[$value]) ? $ticket_data[$value] : '';
}
@ -1221,136 +1236,7 @@ class TicketController extends BaseController
}
}
// public function accountManagerWiseReport($policy_type = null ,$start_date = null, $end_date = null){
// if ($policy_type == 1) {
// $sql = "SELECT
// u.first_name AS acc_manager_name,
// COUNT(CASE WHEN tcs.claim_status = 'ID NOT GENERATED' AND master.ticket_type_id = 1 THEN master.id END) AS id_not_generated,
// COUNT(CASE WHEN tcs.claim_status = 'NON ID' AND master.ticket_type_id = 1 THEN master.id END) AS non_id,
// COUNT(CASE WHEN tcs.claim_status = 'CDA' AND master.ticket_type_id = 1 THEN master.id END) AS cda,
// COUNT(CASE WHEN tcs.claim_status = 'INFORMATION REQUIRED' AND master.ticket_type_id = 1 THEN master.id END) AS information_required,
// COUNT(CASE WHEN tcs.claim_status LIKE '%UNDER PROCESS%' AND master.ticket_type_id = 1 THEN master.id END) AS under_process,
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = 1 THEN master.id END) AS approved,
// COUNT(CASE WHEN tcs.claim_status = 'PAYMENT INITIATED' AND master.ticket_type_id = 1 THEN master.id END) AS payment_initiated,
// (
// COUNT(CASE WHEN tcs.claim_status = 'ID NOT GENERATED' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'NON ID' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'CDA' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'INFORMATION REQUIRED' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status LIKE '%UNDER PROCESS%' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = 1 THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'PAYMENT INITIATED' AND master.ticket_type_id = 1 THEN master.id END)
// ) AS total
// FROM
// ticket_master master
// JOIN
// user_profiles u ON master.acm_id = u.id and u.is_active = 1
// JOIN
// ticket_claim_status tcs ON tcs.id = master.claim_status_id and tcs.is_active = 1
// WHERE
// master.created_at <= '$end_date' and master.created_at >= '$start_date' and master.is_active = 1
// GROUP BY
// u.id;
// ";
// $result = $this->ticketMasterModel->query($sql)->getResultArray();
// // dd($result);
// return $result;
// }else{
// $sql = "SELECT u.first_name AS acc_manager_name,
// COUNT(CASE WHEN tcs.claim_status = 'CLAIM INTIMATION' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS claim_intimation,
// COUNT(CASE WHEN tcs.claim_status = 'INTIMATION TO INSURER' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS int_to_insurer,
// COUNT(CASE WHEN tcs.claim_status = 'CLIENT PENDING' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS client_pending,
// COUNT(CASE WHEN tcs.claim_status = 'INSURER PENDING' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS information_required,
// COUNT(CASE WHEN tcs.claim_status = 'INVESTIGATION' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS investigation,
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS approved,
// COUNT(CASE WHEN tcs.claim_status = 'ON HOLD' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS on_hold,
// (
// COUNT(CASE WHEN tcs.claim_status = 'CLAIM INTIMATION' AND master.ticket_type_id = '$policy_type' THEN master.id END)+
// COUNT(CASE WHEN tcs.claim_status = 'INTIMATION TO INSURER' AND master.ticket_type_id = '$policy_type' THEN master.id END)+
// COUNT(CASE WHEN tcs.claim_status = 'CLIENT PENDING' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'INSURER PENDING' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'INVESTIGATION' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'ON HOLD' AND master.ticket_type_id = '$policy_type' THEN master.id END)
// ) AS total1,
// COUNT(CASE WHEN tcs.claim_status = 'NOT COVERED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS not_covered,
// COUNT(CASE WHEN tcs.claim_status = 'CLOSED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS closed,
// COUNT(CASE WHEN tcs.claim_status = 'SETTLED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS settled,
// (
// COUNT(CASE WHEN tcs.claim_status = 'NOT COVERED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'CLOSED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'SETTLED' AND master.ticket_type_id = '$policy_type' THEN master.id END)
// ) AS total2
// FROM
// ticket_master master
// JOIN
// user_profiles u ON master.acm_id = u.id and u.is_active = 1
// JOIN
// ticket_claim_status tcs ON tcs.id = master.claim_status_id and tcs.is_active = 1
// WHERE
// master.created_at <= '$end_date' and master.created_at >= '$start_date' and master.is_active = 1 and master.ticket_type_id = '$policy_type'
// GROUP BY
// u.id;
// ";
// $result = $this->ticketMasterModel->query($sql)->getResultArray();
// return $result;
// }
// }
// public function tpaWiseReport($policy_type = null ,$start_date = null,$end_date = null ){
// // $policy_type = 1;
// $sql = "SELECT
// tpa.name AS tpa_name,
// COUNT(CASE WHEN tcs.claim_status = 'ID NOT GENERATED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS id_not_generated,
// COUNT(CASE WHEN tcs.claim_status = 'NON ID' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS non_id,
// COUNT(CASE WHEN tcs.claim_status = 'CDA' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS cda,
// COUNT(CASE WHEN tcs.claim_status = 'INFORMATION REQUIRED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS information_required,
// COUNT(CASE WHEN tcs.claim_status LIKE '%UNDER PROCESS%' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS under_process,
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS approved,
// COUNT(CASE WHEN tcs.claim_status = 'PAYMENT INITIATED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS payment_initiated,
// (
// COUNT(CASE WHEN tcs.claim_status = 'ID NOT GENERATED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'NON ID' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'CDA' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'INFORMATION REQUIRED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status LIKE '%UNDER PROCESS%' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'APPROVED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'PAYMENT INITIATED' AND master.ticket_type_id = '$policy_type' THEN master.id END)
// ) AS total,
// COUNT(CASE WHEN tcs.claim_status = 'CLOSED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS closed,
// COUNT(CASE WHEN tcs.claim_status = 'SETTLED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS settled,
// COUNT(CASE WHEN tcs.claim_status = 'RETURNED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS returned,
// COUNT(CASE WHEN tcs.claim_status = 'REJECTED' AND master.ticket_type_id = '$policy_type' THEN master.id END) AS denied,
// (
// COUNT(CASE WHEN tcs.claim_status = 'CLOSED' AND master.ticket_type_id = '$policy_type'THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'SETTLED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'RETURNED' AND master.ticket_type_id = '$policy_type' THEN master.id END) +
// COUNT(CASE WHEN tcs.claim_status = 'REJECTED' AND master.ticket_type_id = '$policy_type' THEN master.id END)
// ) AS total2
// FROM
// ticket_master master
// JOIN
// tpa ON master.tpa_id = tpa.id and tpa.is_active = 1
// JOIN
// ticket_claim_status tcs ON tcs.id = master.claim_status_id and tcs.is_active = 1
// WHERE
// master.created_at <= '$end_date' and master.created_at >= '$start_date' and master.is_active = 1
// GROUP BY
// tpa.id;
// ";
// $result = $this->ticketMasterModel->query($sql)->getResultArray();
// return $result;
// }
// -------------------------------------------------------------------------------------------------------------------------
// function for Reject ticket Head Approvel mail sent function
public function sendMailToTheHead($ticket_data)
@ -1514,5 +1400,45 @@ class TicketController extends BaseController
return $this->respond(['status'=>false,'message'=> "Policy Not Found"]);
}
}
public function getCheckListAndConvertArrayToString($ticket_data)
{
$data = db_connect()->table('ticket_check_list')
->where('is_active', 1)
->where('ticket_type_id', $ticket_data['ticket_type_id'])
->get()->getResultArray();
$data = !empty($data) ? implode("", array_map(fn($doc) => "<p>{$doc['document']}</p>", $data)) : "";
// $data = !empty($data) ? implode(", ", array_column($data, 'document')) : "";
// print_r($data); die;
return $data;
}
public function downloadClaimForm($insurer_id)
{
$insurerModel = new InsurerModel();
$insurer_data = $insurerModel->where('MD5(id)', $insurer_id)->where('is_active', 1)->first();
if (!$insurer_data) {
$data['message'] = 'The Physical File Not Found';
echo view('errors/404', $data);
}
$fileName = $insurer_data['short_name'] . '.pdf';
$filePath = ROOTPATH . 'public/claim_sample_forms/' . $fileName;
try {
if (file_exists($filePath)) {
return $this->response->download($filePath, null);
} else {
$data['message'] = 'The Physical File Not Found';
echo view('errors/404', $data);
}
} catch (\Exception $e) {
$this->myLogger->logme('error', $e->getMessage());
return $this->response->setStatusCode(500)->setBody('An error occurred while downloading the file.');
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.