diff --git a/app/Config/Routes.php b/app/Config/Routes.php index ba34cea6..77cf4c62 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -10,7 +10,17 @@ use CodeIgniter\Router\RouteCollection; $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); // Reminder Mail Notification + $routes->get("reminder_mail", "NotificationController::reminder_mail"); +$routes->get("testing", "ClientController::Testing"); +$routes->get("update-policy-terms-for-corrections", "ClientController::updatePolicyTermsForCorrections"); + + +$routes->post("add_advertise_image", "AppContentManagementController::add_advertise_image"); +$routes->get("add_image_index", "AppContentManagementController::add_image_index"); +$routes->get("getAdvertiseImage/(:any)", "AppContentManagementController::getAdvertiseImage/$1"); +$routes->get("frontend_content", "AppContentManagementController::frontend_content"); + // $routes->get('/', 'LoginController::index'); $routes->get('/test', 'Home::index'); @@ -249,6 +259,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get("getPolicyTerms/(:any)", "ClientController::getPolicyTerms/$1"); $routes->get("getPolicyTermsFormJson/(:any)", "ClientController::getPolicyTermsFormJson/$1"); $routes->get("checkHRNumber/(:any)", "ClientController::checkHRNumber/$1"); + $routes->get("check_addition_premium_JSON/(:any)", "ClientController::checkAdditionPremiumJSON/$1"); }); $routes->cli('cli/processjob', 'JobWorker::processJob'); @@ -271,7 +282,8 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) { - +$routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy"); +$routes->get("getAddOnPolicy", "EmployeeRestController::getAddOnPolicy"); $routes->get("getChatResponse", "ChatBotController::getChatResponse"); $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getChatResponse", "ChatBotController::getChatResponse"); diff --git a/app/Controllers/AppContentManagementController.php b/app/Controllers/AppContentManagementController.php new file mode 100644 index 00000000..300036be --- /dev/null +++ b/app/Controllers/AppContentManagementController.php @@ -0,0 +1,96 @@ +myLogger = \Config\Services::mylogger(); + $this->addImgModel = new AddImgModel(); + $this->feContentModel = new FEContentModel(); + } + public function add_image_index() + { + $this->myLogger->logme('error','Addvertisement Image list function called'); + $headerData['page_name'] = 'Addvertisement Image List'; + $data['addImageList'] = $this->addImgModel->findAll(); + + // dd($data); + + echo view('layout/header', $headerData); + echo view('add_image_list', $data); + echo view('layout/footer'); + + // $this->loadLayout('client_onboarding', $data); + } + + public function add_advertise_image(){ + + // print_r($this->request->getPost());die; + $uploadFilePath = ROOTPATH . 'public/uploads/advertiseImage/'; + $file_name = file_Upload($this->request->getFile('advertise_image'), $uploadFilePath); + $data['id'] = $this->request->getPost('add_image_id'); + // $data['created_by'] = get_session_userid(); + $data['name'] = $file_name; + + if($data['id'] == 0){ + $insert = $this->addImgModel->insert($data); + if($insert){ + return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + + }else{ + return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); + + } + }else{ + $id = $data['id']; + $update = $this->addImgModel->update($id,$data); + if($update){ + return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + + }else{ + return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); + } + } + } + + public function getAdvertiseImage($image_id){ + + $image_data = $this->addImgModel->select('name')->where(['id' => $image_id])->first(); + + if($image_data){ + return $image_data['name']; + }else{ + return ; + } + } + + + + // Front End Content Area + public function frontend_content(){ + + $data['test'] = $this->feContentModel->findAll(); + $headerData['page_name'] = 'Front-End Content'; + + echo view('layout/header', $headerData); + echo view('frontend_content_list', $data); + echo view('layout/footer'); + } + +} \ No newline at end of file diff --git a/app/Controllers/ChatBotController.php b/app/Controllers/ChatBotController.php index d048ada7..bb47fe6a 100644 --- a/app/Controllers/ChatBotController.php +++ b/app/Controllers/ChatBotController.php @@ -76,28 +76,115 @@ class ChatBotController extends AdminController // try { $request_for = $this->request->getGet('request_for'); $option = $this->request->getGet('option'); + $is_option = $this->request->getGet('is_option'); - $requestData = $this->ChatBotModel->where('request', $request_for) + $responseData = $this->ChatBotModel->where('request', $request_for) ->where('is_active', 1 ) ->first(); - - if ($requestData) { + + if ($responseData) { - - if($option != 0){ + if(isset($option) && $option != 0){ - $decodedData = json_decode($requestData['options'],true); - - $requestFor = $decodedData[$request_for][$option]; + $decodedData = json_decode($responseData['options'],true); + + + if (isset($decodedData[$option]) && $decodedData[$option] !== null) { - $requestData = $this->ChatBotModel->where('request', $requestFor) + $requestFor = $decodedData[$option]; + $responseData = $this->ChatBotModel->where('request', $requestFor) ->where('is_active', 1 ) ->first(); + + }else{ + + if( $request_for == 'Create claim'){ + $result = [ + 'request_for' => $request_for, + 'options' => json_decode($responseData['options'], true), + 'text' => "Enter Message", + 'is_option' => "0", + 'policy_id' => $option, + 'mobile_no' => $this->request->getGet('mobile_no') + ]; + + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + }else{ + + $result = $this->sendDefaultMessage(); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + + } + } + } + + + + if(isset($is_option) && $is_option == 0){ + + $text = $this->request->getGet('text'); + $value = $this->request->getGet('value'); + $Data = $this->ChatBotModel->where('options', $text)->where('is_active', 1 )->first(); + if($Data){ + + if($Data['options'] == 'Please Enter Your Mobile Number To View Your Policies') + { + $result = $this->getAllPolicyByMobileNumber($value,'text'); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + }else if($Data['options'] == 'Please Enter Your Mobile Number To Raise Ticket'){ + $result = $this->getAllPolicyByMobileNumber($value,'options'); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + } + + }else{ + + if( $request_for == 'Create claim' && $text == 'Enter Message'){ + + + $ticket = $this->claimTicket(); + + $ticket = json_decode($ticket,true); + + if (isset($ticket['success']) && $ticket['success'] == 1) { + + $result = [ + 'request_for' => $request_for, + 'options' => null, + 'text' => $ticket['message'].', Your Ticket id is '.$ticket['ticket_id'], + 'is_option' => "0" + ]; + }else{ + + $result = [ + 'request_for' => $request_for, + 'options' => null, + 'text' => $ticket['message'], + 'is_option' => "0" + ]; + } + + + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + }else{ + + $result = $this->sendDefaultMessage(); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + } + } + + } - $result = ['request_for'=>$requestData['request'],'options'=>json_decode($requestData['options'],true)]; + + $result = [ + 'request_for' => $responseData['request'], + 'options' => json_decode($responseData['options'], true), + 'text' => $responseData['is_option'] != 1 ? $responseData['options'] : null, + 'is_option' => $responseData['is_option'] + ]; + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); @@ -112,7 +199,177 @@ class ChatBotController extends AdminController // } } - + +public function sendDefaultMessage() +{ + $responseData = $this->ChatBotModel->where('id', 1)->where('is_active', 1 )->first(); + return [ + 'request_for' => $responseData['request'], + 'options' => json_decode($responseData['options'], true), + 'text' => $responseData['is_option'] != 1 ? $responseData['options'] : null, + 'is_option' => $responseData['is_option'] + ]; + + +} + + +public function getAllPolicyByMobileNumber($mobileNo,$action) +{ + $employee = $this->employeeModel->where('mobile', $mobileNo)->where('is_active', 1 )->first(); + if($employee){ + + $employeeData = $this->employeeModel->where('emp_code', $employee['emp_code']) + ->where('client_id',$employee['client_id']) + ->where('client_branch_id',$employee['client_branch_id']) + ->where('is_active', 1 )->findAll(); + $whereArrayForId = []; + foreach ( $employeeData as $key => $value) { array_push($whereArrayForId, $value['id']); } + + $ClientPolicyData = $this->clientPolicyModel->select('client_policy.* , policies.name as policy_name , policy_type.policy_type as policy_type') + ->join('policies', 'client_policy.policy_id = policies.id', 'left') + ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left') + ->where('client_policy.client_id', $employee['client_id'] ) + ->where('client_policy.client_branch_id', $employee['client_branch_id'] ) + ->where('client_policy.is_active', 1 ) + ->where('client_policy.policy_status', 1) + ->orderby('client_policy.id' , 'ASC') + ->findAll(); + $options = []; + $text = ''; + if(count($ClientPolicyData) > 0 && count($employeeData) > 0) + { + + foreach ($ClientPolicyData as $key => $ClientPolicyValue) { + + $data['policy_name'] = $ClientPolicyValue['policy_name']; + $data['policy_type'] = $ClientPolicyValue['policy_type']; + $data['policy_no'] = $ClientPolicyValue['policy_no']; + + + + $employee_policy = $this->employeePolicyModel->select('employees.*,employee_polices.employee_id , employee_polices.basic_cover_si , employee_polices.premium , employee_polices.gst , employee_polices.tpa_id , employee_polices.rand_string , employee_polices.uhid as uhid') + ->join('employees', 'employee_polices.employee_id = employees.id', 'left') + ->whereIn('employee_polices.employee_id',$whereArrayForId) + ->where('employee_polices.client_policy_id',$ClientPolicyValue['id']) + ->where('employee_polices.is_active', 1 )->findAll(); + if(count($employee_policy) > 0) + { + $policy[$ClientPolicyValue['id']] = $ClientPolicyValue['policy_name']."(".$ClientPolicyValue['policy_type'].")"; + array_push($options, $policy); + $text .= $ClientPolicyValue['policy_name']."(".$ClientPolicyValue['policy_type'].") % "; + }else{ + $text .= "There is no any active policies "; + } + + } + if($action == 'options'){ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => $options[count($options) - 1], + 'text' => null, + 'is_option' => "1", + 'mobile_no' => $mobileNo, + ]; + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => $text, + 'is_option' => "0", + 'mobile_no' => $mobileNo, + ]; + } + + + + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => "Dear ".$employee['name'].", % Policy not yet bound for you.", + 'is_option' => "0" + ]; + + } + + + + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => "Invalid Mobile Number", + 'is_option' => "0" + ]; + } + + +} + + +public function claimTicket() +{ + + + $employee = $this->employeeModel->where('mobile', $this->request->getGet('mobile_no'))->where('is_active', 1 )->first(); + if($employee){ + + $url = 'https://venbait.in/nhance/helpdesk/dev/api/tickets/create'; + + + $token = 'uncp8FvG310bEyYdV9MmStlo7KDRZ65fLWTeXCI2JzwPrNHjBqQhUiAgxsaO'; + $headers = [ + 'Token: ' . $token, + ]; + + // Form data + $data = [ + 'opener' => 'user', + 'department_id' => 2, + 'subject' => 'Claim Raised by Chat Bot', + 'body' => $this->request->getGet('value'), + 'policy_id' => $this->request->getGet('policy_id'), + 'emp_code' => $employee['emp_code'], + 'mobile_number' => $this->request->getGet('mobile_no'), + 'email' => 'adhavanvalli@gmail.com', + 'fullname' => $employee['name'], + ]; + + // Initialize cURL session + $ch = curl_init(); + + // Set cURL options + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + + $response = curl_exec($ch); +return $response; + // Check for errors + // if (curl_errno($ch)) { + // $error = curl_error($ch); + // curl_close($ch); + // return ['status' => 'failed', 'response' => $error]; + // } else { + // // Close cURL session + // curl_close($ch); + // return ['status' => 'success', 'response' => $response]; + // } + + + }else{ + return ['status' => 'failed', 'response' => 'Employee Not Found']; + } +} + + + } + + + diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 185ff9ce..7a406e62 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -106,7 +106,47 @@ class ClientController extends AdminController } + + public function Testing() //this function for only tsesting some logics not use for business logic + { + $results = $this->clientPolicyModel + ->select('id, policy_terms') + ->where('policy_terms IS NOT NULL') + ->where('policy_terms <>', '') + ->whereNotIn('policy_type_id', [1, 6, 7]) + ->orderBy('id', 'desc') + ->get() + ->getResultArray(); + + foreach ($results as $key => $result) { + $client_policy_id = $result['id']; + $policy_terms = json_decode($result['policy_terms'], true); // true to get associative array + + if (isset($policy_terms['family_floaters'])) { + $family_floaters = $policy_terms['family_floaters']; + $parents = $family_floaters['parents'] ?? 0; + $parents_in_law = $family_floaters['parents-in-law'] ?? 0; + + if ($parents == 1 && $parents_in_law == 1) { + $policy_terms['family_floaters']['parents'] = 0; + $policy_terms['family_floaters']['parents-in-law'] = 0; + $policy_terms['family_floaters']['either-parents-pil'] = 2; + + $results[$key]['policy_terms'] = json_encode($policy_terms); + + // Update the policy_terms in the database + $this->clientPolicyModel + ->where('id', $client_policy_id) + ->set('policy_terms', $results[$key]['policy_terms']) + ->update(); + } + } + } + + dd($results); + } + public function index() { $this->myLogger->logme('error','Client list function called'); @@ -123,8 +163,8 @@ class ClientController extends AdminController // $this->loadLayout('client_onboarding', $data); } - - public function updateEmpAndPolicyStatus(){ + public function updateEmpAndPolicyStatus() + { $return = $this->clientPolicyModel->updateStatus(); $this->myLogger->logme('error', 'Client Policy Status Update Count: {data}', ['data' => $return['client']]); @@ -133,6 +173,59 @@ class ClientController extends AdminController } + public function updatePolicyTermsForCorrections(){ + + $results = $this->clientPolicyModel + ->select('id, policy_terms') + ->where('policy_terms IS NOT NULL') + ->where('policy_terms <>', '') + ->whereNotIn('policy_type_id', [1, 6, 7]) + ->orderBy('id', 'desc') + ->get() + ->getResultArray(); + + + $client_policy_ids = []; + foreach ($results as $key => $result) { + $client_policy_id = $result['id']; + $policy_terms = json_decode($result['policy_terms'], true); // true to get associative array + + if (isset($policy_terms['family_floaters'])) { + $family_floaters = $policy_terms['family_floaters']; + $parents = $family_floaters['parents'] ?? 0; + $parents_in_law = $family_floaters['parents-in-law'] ?? 0; + + if ($parents == 1 && $parents_in_law == 1) { + + $client_policy_ids[] = $client_policy_id; + + $policy_terms['family_floaters']['parents'] = 0; + $policy_terms['family_floaters']['parents-in-law'] = 0; + $policy_terms['family_floaters']['either-parents-pil'] = 2; + + + $results[$key]['policy_terms'] = json_encode($policy_terms); + + // Update the policy_terms in the database + $this->clientPolicyModel + ->where('id', $client_policy_id) + ->set('policy_terms', $results[$key]['policy_terms']) + ->update(); + } + } + } + + if(count($client_policy_ids) > 0){ + echo 'There are ' . count($client_policy_ids) . ' records to be updated.'; + echo '
'; + dd($client_policy_ids); + }else{ + echo 'There is no records to be update.'; + } + // dd($results); + + } + public function removeClient($id = null) { $this->myLogger->logme('error','Client Remove function called'); @@ -219,11 +312,13 @@ class ClientController extends AdminController // ]; $subTypeOptions = [ - 1 => 'Replenishment', + 1 => 'Replenishment By Client', 2 => 'Adjustment', 3 => 'Refund From Deletion', 4 => 'Debit', - 5 => 'Asset Policy', + 5 => 'Non EB', + 6 => 'Refund By Insurer', + 7 => 'Opening Amount', ]; $data['subTypeOptions'] = $subTypeOptions; @@ -236,6 +331,7 @@ class ClientController extends AdminController $data['clientData'] = $this->clientPolicyModel->getClientById($clientId); $data['deposiamount'] = $this->clientPolicyModel->getDepositSummary($clientId, $insurerId); + // dd($data['depositdata']); // print_r($data['depositdata'] );die; // Load the view for the new list page @@ -355,7 +451,6 @@ class ClientController extends AdminController { $this->myLogger->logme('error','edit client general info function called'); $uploadFilePath = ROOTPATH . 'public/uploads/logo/'; - // print_r($this->request->getFile('client_logo'));die; $file_name = file_Upload($this->request->getFile('client_logo'), $uploadFilePath); $id = $this->request->getPost('PrimaryKey'); @@ -544,6 +639,11 @@ class ClientController extends AdminController $this->myLogger->logme('error','Client branch CREATE function called'); $data = $this->request->getPost(); + if (!isset($data['sez'])) { + $data['sez'] = 0; + } elseif ($data['sez']) { + $data['sez'] = 1; + } $data['created_by'] = get_session_userid(); $insert = $this->clientBranchModel->insert($data); @@ -579,6 +679,11 @@ class ClientController extends AdminController $id = $this->request->getPost('branch_id_primarykey'); $client_id = $this->request->getPost('client_id'); $data = $this->request->getPost(); + if (!isset($data['sez'])) { + $data['sez'] = 0; + } elseif ($data['sez']) { + $data['sez'] = 1; + } $data['updated_by'] = get_session_userid(); $insert = $this->clientBranchModel->update($id, $data); $this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]); @@ -669,28 +774,28 @@ class ClientController extends AdminController $policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first(); - if ($this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) { + // if ($this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) { - if ($this->request->getPost('is_addon') == 3) { - $policyTerm = $policy_terms['policy_terms']; - $decoded_policyTerm = json_decode($policyTerm, true); - $decoded_policyTerm['family_floater'] = 0; - $decoded_policyTerm['family_floaters']['self'] = 0; - $decoded_policyTerm['family_floaters']['spouse'] = 0; - $decoded_policyTerm['family_floaters']['childrens'] = 0; - $decoded_policyTerm['family_floaters']['parents'] = 0; - $decoded_policyTerm['family_floaters']['parents-in-law'] = 0; - $decoded_policyTerm['family_floaters']['either-parents-pil'] = 0; + // if ($this->request->getPost('is_addon') == 3) { + // $policyTerm = $policy_terms['policy_terms']; + // $decoded_policyTerm = json_decode($policyTerm, true); + // $decoded_policyTerm['family_floater'] = 0; + // $decoded_policyTerm['family_floaters']['self'] = 0; + // $decoded_policyTerm['family_floaters']['spouse'] = 0; + // $decoded_policyTerm['family_floaters']['childrens'] = 0; + // $decoded_policyTerm['family_floaters']['parents'] = 0; + // $decoded_policyTerm['family_floaters']['parents-in-law'] = 0; + // $decoded_policyTerm['family_floaters']['either-parents-pil'] = 0; - $data['policy_terms'] = json_encode($decoded_policyTerm); - } else { + // $data['policy_terms'] = json_encode($decoded_policyTerm); + // } else { - if ($this->request->getPost('policy_type_id') != 3) { + // if ($this->request->getPost('policy_type_id') != 3) { - $data['policy_terms'] = $policy_terms['policy_terms']; - } - } - } + // $data['policy_terms'] = $policy_terms['policy_terms']; + // } + // } + // } $data['policy_no'] = $this->request->getPost('policy_no'); @@ -764,25 +869,25 @@ class ClientController extends AdminController $policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first(); - if ( $this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) { - if ($this->request->getPost('is_addon') == 3) { - $policyTerm = $policy_terms['policy_terms']; - $decoded_policyTerm = json_decode($policyTerm, true); - $decoded_policyTerm['family_floater'] =0; - $decoded_policyTerm['family_floaters']['self'] =0; - $decoded_policyTerm['family_floaters']['spouse'] =0; - $decoded_policyTerm['family_floaters']['childrens'] =0; - $decoded_policyTerm['family_floaters']['parents'] =0; - $decoded_policyTerm['family_floaters']['parents-in-law'] =0; - $decoded_policyTerm['family_floaters']['either-parents-pil'] =0; + // if ( $this->request->getPost('is_addon') == 2 || $this->request->getPost('is_addon') == 3) { + // if ($this->request->getPost('is_addon') == 3) { + // $policyTerm = $policy_terms['policy_terms']; + // $decoded_policyTerm = json_decode($policyTerm, true); + // $decoded_policyTerm['family_floater'] =0; + // $decoded_policyTerm['family_floaters']['self'] =0; + // $decoded_policyTerm['family_floaters']['spouse'] =0; + // $decoded_policyTerm['family_floaters']['childrens'] =0; + // $decoded_policyTerm['family_floaters']['parents'] =0; + // $decoded_policyTerm['family_floaters']['parents-in-law'] =0; + // $decoded_policyTerm['family_floaters']['either-parents-pil'] =0; - $data['policy_terms'] = json_encode($decoded_policyTerm); - } else { - $data['policy_terms'] = $policy_terms['policy_terms']; - } + // $data['policy_terms'] = json_encode($decoded_policyTerm); + // } else { + // $data['policy_terms'] = $policy_terms['policy_terms']; + // } - } + // } // dd($data); $data['updated_by'] = get_session_userid(); @@ -1177,16 +1282,26 @@ class ClientController extends AdminController public function getClientPolicyById($id=null) { $this->myLogger->logme('error','getClientPolicyById function called'); + if($id){ $client_policy_data = $this->clientPolicyModel->where(['id' => $id, 'is_active' => 1])->first(); $insurer_id = $client_policy_data['insurer_id']; $client_id = $client_policy_data['client_id']; - $polices = $this->policesModel->where(['insurer_id' => $insurer_id, 'is_active' => 1])->findAll(); + + $base_policy_policy_type_id = 0; + if($client_policy_data['base_policy'] != null){ + $base_policy_policy_type_id = $this->clientPolicyModel->select('policy_type_id')->where(['id' => $client_policy_data['base_policy'], 'is_active' => 1])->first(); + } + + $polices = $this->policesModel + ->select('policies.*, policy_type.policy_type') + ->join('policy_type', 'policy_type.id = policies.policy_type_id') + ->where(['policies.insurer_id' => $insurer_id, 'policies.is_active' => 1]) + ->findAll(); $client_policy_list = $this->clientPolicyModel->getpolicyWithPattern( $client_id ); $cd_data = $this->CDMasterModel->where('client_id', $client_id)->where('insurer_id', $insurer_id)->findAll(); - - return $this->respond(['status' => true,'code' => 200, 'client_policy_list' => $client_policy_list, 'data' => $client_policy_data, 'cd_data' => $cd_data, "insurer_id" => $client_policy_data['insurer_id'], 'policy' => $polices], 200); + return $this->respond(['status' => true,'code' => 200, 'client_policy_list' => $client_policy_list, 'data' => $client_policy_data, 'cd_data' => $cd_data, "insurer_id" => $client_policy_data['insurer_id'], 'policy' => $polices, 'base_policy_type_id' => $base_policy_policy_type_id['policy_type_id']], 200); }else{ return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200); } @@ -1416,9 +1531,9 @@ class ClientController extends AdminController $data['family_floaters']['parents-in-law'] =2; $data['family_floaters']['either-parents-pil'] =0; }else if($temp_family_floaters[$value] == '2EPORPIL'){ - $data['family_floaters']['parents'] =1; - $data['family_floaters']['parents-in-law'] =1; - $data['family_floaters']['either-parents-pil'] =0; + $data['family_floaters']['parents'] =0; + $data['family_floaters']['parents-in-law'] =0; + $data['family_floaters']['either-parents-pil'] =2; }else if($temp_family_floaters[$value] == 'EPORPIL'){ $data['family_floaters']['parents'] =0; $data['family_floaters']['parents-in-law'] =0; @@ -1514,6 +1629,7 @@ class ClientController extends AdminController $record = $this->clientPolicyModel->where('id', $client_policy_id)->first(); + // print_r($data);die; if ($record) { $update = $this->clientPolicyModel->update($client_policy_id, $dataa); @@ -2172,9 +2288,14 @@ class ClientController extends AdminController - public function get_cd_ac($client_id, $insurer_id){ + public function get_cd_ac($client_id, $insurer_id) + { - $cd_data = $this->CDMasterModel->where('client_id', $client_id)->where('insurer_id', $insurer_id)->findAll(); + $cd_data = $this->CDMasterModel + ->where('client_id', $client_id) + ->where('insurer_id', $insurer_id) + ->where('is_active', 1) + ->findAll(); if($cd_data){ return $this->respond(['status' => true, 'code' => 200, 'data' => $cd_data], 200); @@ -2209,7 +2330,8 @@ class ClientController extends AdminController } - public function checkPolicyType($policy_type_id, $client_branch_id, $client_id){ + public function checkPolicyType($policy_type_id, $client_branch_id, $client_id) + { $policyCount = $this->clientPolicyModel ->where('policy_type_id', $policy_type_id) @@ -2274,7 +2396,8 @@ class ClientController extends AdminController - public function getPolicyTermsFormJson($policy_type_id){ + public function getPolicyTermsFormJson($policy_type_id) + { $JSON = $this->policyTypeModel->where('id', $policy_type_id)->first(); return $this->respond(['status' => true, 'data' => $JSON], 200); @@ -2303,6 +2426,19 @@ class ClientController extends AdminController return $this->respond(['status' => false, 'data' => 0, 'message' => 'An error occurred while checking the mobile number. Please try again later.'], 500); } } + + public function checkAdditionPremiumJSON($client_id, $client_policy_id) + { + + $get_additional_rack_rate_relationship_json = $this->policyPremium2Model + ->where('client_id', $client_id) + ->where('client_policy_id', $client_policy_id) + ->where('is_active', 1) + ->where('additional_relationship IS NOT NULL', null, false) + ->countAllResults(); + + return $this->respond(['status' => true, 'data' => $get_additional_rack_rate_relationship_json, 'message' => "try"], 200); + } } \ No newline at end of file diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 5540381a..10aac50d 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -27,7 +27,6 @@ use App\Models\NotificationModel; use App\Models\UserModel; use App\Models\FEContentModel; use App\Models\AddImgModel; -use App\Models\FileModel; use App\Controllers\Jobs ; @@ -435,7 +434,7 @@ class EmployeeRestController extends AdminController ->findAll(); - // dd($checkIfExist); + if ($checkIfExist) { $empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si); @@ -626,13 +625,7 @@ class EmployeeRestController extends AdminController // Upload the Employee Detail in DB by Sheet Data public function employeeUpload() { - - - - try { - // echo $this->request->getPost('client_id'); - // die; $file = $this->request->getFile('file'); $client_id = $this->request->getPost('client_id'); $client_branch_id = $this->request->getPost('client_branch_id'); @@ -643,17 +636,12 @@ class EmployeeRestController extends AdminController $jwt = $this->request->getHeader('Authorization'); $jwtParts = explode(' ', $jwt); - // print_r($jwtParts);die; - $token = $jwtParts[2]; - // return "hello"; - + $token = $jwtParts[2]; + $decodedPayload = json_decode(base64_decode(explode('.', $token)[1]), true); // get the employee id from token $employee_id = $decodedPayload['id']; - - - $client_policy = $this->clientPolicyModel->where('id', $policy_id)->where('client_id', $client_id)->where('client_branch_id', $client_branch_id)->first(); if ($client_policy) { $policy = $this->policesModel->where('id', $client_policy['policy_id'])->first(); @@ -668,12 +656,12 @@ class EmployeeRestController extends AdminController $file_name_with_path = WRITEPATH."/uploads/excel/".$filename; //make an entry in DB - $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => 'enrollment', 'client_branch_id' => $client_branch_id]); //here field policy_id have client_policy_id and not policy id from policy master + $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $employee_id, 'status' => 'draft', 'action' => 'enrollment', 'client_branch_id' => $client_branch_id]); //here field policy_id have client_policy_id and not policy id from policy master $this->myLogger->logme("error", '{file_id} - client uploaded success', ['file_id' => $file_id]); $empServiceController = new EmployeeServiceController(); $result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]); - // dd($result); + if(isset($result['error_summary']) && count($result['error_summary'])) { $result = $empServiceController->getExcelErrorData($file_id); @@ -701,34 +689,34 @@ class EmployeeRestController extends AdminController $highestRowAndColumn = $sheet->getHighestRowAndColumn(); $data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']); - $extractData['file_name']= $filename; - $extractData['client_id']= $client_id; - $extractData['client_branch_id']= $client_branch_id; - $extractData['status']= 'success'; - $extractData['policy_id']= $policy_id; - $extractData['action']= 'enrollment'; - $extractData['created_by']=$employee_id; + // $extractData['file_name']= $filename; + // $extractData['client_id']= $client_id; + // $extractData['client_branch_id']= $client_branch_id; + // $extractData['status']= 'success'; + // $extractData['policy_id']= $policy_id; + // $extractData['action']= 'enrollment'; + // $extractData['created_by']=$employee_id; - $file_data =$this->fileModel->insert($extractData); + // $file_data =$this->fileModel->insert($extractData); - $extra = []; - if (count($data[0]) == 11) { - $value = ['Sno','Emp_Code','Name','DOJ','Gender','Relation','DOB','Mail','Mobile','SI','Grade']; - $check_miss_match = []; - for ($i=0; $i 0) { + // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Column Name's are miss Match's!", 'data'=> $check_miss_match], 200); + // } + // } - if (count($check_miss_match) > 0) { - return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Column Name's are miss Match's!", 'data'=> $check_miss_match], 200); - } - } - - if(count($data[0]) != 11){ - return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Uploaded file row count is Not Match!" ], 200); - } + // if(count($data[0]) != 11){ + // return json_encode($data[0]); + // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Uploaded file row count is Not Match!" ], 200); + // } //this change the column name into index number for ($i = 0; $i < count($data[0]); $i++) { @@ -753,18 +741,6 @@ class EmployeeRestController extends AdminController } $dataToInsert = []; $basic_cover_si= []; - // if ($extra[9]) { - // $new_array = []; - // for ($i=0; $i < count($extra[9]); $i++) { - // if ($sum_insured_amount_for_check_employee_2 != $extra[9][$i] || $sum_insured_amount_for_check_employee_1 != $extra[9][$i]) { - // $new_array[] = $i+1; - // } - // } - // if (count($new_array) > 0) { - // $count =count($new_array); - // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "$count Employee Sum Insured is Not Match.. " , 'data' => $new_array], 200); - // } - // } foreach ($extra['0'] as $index => $id) { $relation =''; if ($extra['5'][$index] === 'Mother' || $extra['5'][$index] === 'Father') { @@ -956,6 +932,7 @@ class EmployeeRestController extends AdminController //------------------------------------- public function getAgeRange($terms,$familyFloatesValue) { + $ageRangeArray = ['self' => ['min' => 18, 'max' => 60] , 'spouse' => ['min' => 18, 'max' => 60] , 'child' => ['min' => 0, 'max' => 25] , 'elders' => ['min' => 18, 'max' => 60] ]; $ageKey = (preg_replace('/\d/', '', $familyFloatesValue) == 'parent' || preg_replace('/\d/', '', $familyFloatesValue) == 'parent_in_law') ? 'elders' : preg_replace('/\d/', '', $familyFloatesValue); @@ -970,7 +947,7 @@ public function getAgeRange($terms,$familyFloatesValue) public function getEmployeePolicy() { - try { + // try { $id = $this->request->getGet('id'); $emp_code = $this->request->getGet('emp_code'); @@ -989,7 +966,7 @@ public function getEmployeePolicy() ->where('is_active', 1 ) ->where('is_addon_value',0)->findAll(); - + if ($empPolicy) { $result = []; @@ -1058,12 +1035,17 @@ public function getEmployeePolicy() $array->floter_text_description = ''; } - // Convert familyFloaters terms data to plain array + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } $floters = $this->FloterConvertion($familyFloates); $data = []; foreach ($floters as $familyFloatesValue) { $dependent = preg_replace('/\d/', '', $familyFloatesValue); + if(count($empData)){ foreach ($empData as $key => $value) { if ($value['family_floater_key'] === $dependent) { @@ -1089,8 +1071,8 @@ public function getEmployeePolicy() } } } - - + + // Remove Unwanted floter key from floters array based on either-parents-pil term value if($familyFloates->{'either-parents-pil'} == 1 && count($floters)) @@ -1108,7 +1090,21 @@ public function getEmployeePolicy() $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false); } } - + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + + } + + // Add family floter buttons placement data for FE validation if(count($floters)){ foreach ($floters as $familyFloatesValue) { @@ -1161,9 +1157,9 @@ public function getEmployeePolicy() }else{ return $this->respond(['status' => 'failed','code' => 404,'data' => []], 200); } - } catch (\Exception $e) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); - } + // } catch (\Exception $e) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); + // } } @@ -1229,6 +1225,13 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl $array->floter_text_description = ''; } + + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } + // Convert familyFloaters terms data to plain array $floters = $this->FloterConvertion($familyFloates); $data = []; @@ -1278,6 +1281,19 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false); } } + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + + } // Add family floter buttons placement data for FE validation if(count($floters)){ @@ -1306,8 +1322,9 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl public function FloterConvertion($array){ $result = []; + foreach ($array as $key => $value) { - if ($value > 0) { + if ($value > 0 && $key != 'elders_count') { if ($value != 0 && $key === 'childrens') { for ($i = 1; $i <= $value; $i++) { $result[] = "child" . $i; @@ -1477,6 +1494,11 @@ public function getAddOnPolicy() // Map family floaters that already exist in the employee table $familyFloates = $policy_terms->family_floaters; + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } // Convert familyFloaters terms data to plain array $floters = $this->FloterConvertion($familyFloates); @@ -1551,6 +1573,34 @@ public function getAddOnPolicy() } + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + if(count($addOnEmployeeData) == 0) + { + $GMCEmpData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code')) + ->where('is_addon_value',0) + ->where('is_active', 1 ) + ->where('family_floater_key','parent') + ->findAll(); + + if(count($GMCEmpData) > 0){ + $floters = array_diff($floters, ["parent1","parent2"]); + }else{ + $floters = array_diff($floters, ["parent_in_law1","parent_in_law2"]); + } + }else{ + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + } + + } diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index c351d0b1..fdeca4c1 100644 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -873,7 +873,7 @@ class EmployeeServiceController extends AdminController $job_details = new Jobs(); $r = Jobs::addJob(['job_name' => 'excelFileDataValidation','payload' => ['file_id' => $file_id]]); // $jobWorker = new JobWorker(); - // JobWorker::processJob($r);s + // JobWorker::processJob($r); } return $result; @@ -942,7 +942,7 @@ class EmployeeServiceController extends AdminController if(in_array($file['action'],['inception','addition','dependent_addition','deletion','correction','si_enhancement','enrollment']))// the below funcitons are only for I,DA,A { - $employee_data_group_by_family = data_group_by_family($excel_data,'excel','enrollment'); + $employee_data_group_by_family = data_group_by_family($excel_data,'excel',($file['action'] == 'enrollment' ? 'enrollment' : '')); // dd($employee_data_group_by_family); $is_self_available_in_policy_terms = false; if($policy_details['policy_type_id'] == 3) // GMC parents @@ -987,8 +987,7 @@ class EmployeeServiceController extends AdminController } } - //check self availbale in uploaded file - if(($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'enrollment') || ($policy_details['policy_type_id'] == 3 && $is_self_available_in_policy_terms)) // 3 is GMC parents dep addon) + if(($policy_details['base_policy'] == null && ($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'enrollment')) || ($policy_details['policy_type_id'] == 3 && $is_self_available_in_policy_terms)) // 3 is GMC parents dep addon) { $res = check_self_available_in_family($family,$file['action']); if(!$res['is_self_found']) diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index 5d6ec3b9..18e73a8e 100644 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -9,6 +9,8 @@ use Psr\Log\LoggerInterface; use CodeIgniter\API\ResponseTrait; use CodeIgniter\Files\File; +use App\Helpers\DepositHelper; + use App\Models\UserModel; use App\Models\ClientModel; use App\Models\ClientBranchModel; @@ -26,6 +28,7 @@ use App\Models\TPAModel; use App\Models\StateModel; use App\Models\PolicyTypeModel; use App\Models\CDMasterModel; +use App\Models\ClientDepositModel; class MasterController extends AdminController { @@ -48,6 +51,7 @@ class MasterController extends AdminController protected $policyTypeModel; protected $CDMasterModel; protected $clientModel; + protected $clientDepositModel; @@ -74,9 +78,12 @@ class MasterController extends AdminController $this->policyTypeModel = new PolicyTypeModel(); $this->CDMasterModel = new CDMasterModel(); $this->clientModel = new ClientModel(); + $this->clientDepositModel = new ClientDepositModel(); } + + //start insurer public function insurerList() { $this->myLogger->logme('error','Insurer list function called'); @@ -108,7 +115,6 @@ class MasterController extends AdminController } } - public function removeInsurerBranch($id = null) { $this->myLogger->logme('error','Insurer Branch Remove function called'); @@ -124,9 +130,6 @@ class MasterController extends AdminController } } - - - public function editInsurerOnboarding($id = null) { @@ -158,7 +161,6 @@ class MasterController extends AdminController } - public function insurerOnboarding() { @@ -189,7 +191,6 @@ class MasterController extends AdminController } - public function createInsurerGeneralInfo() { @@ -246,7 +247,6 @@ class MasterController extends AdminController } } - public function insurerBranchList($id = null) { $this->myLogger->logme('error','Edit Insurer Onboarding function called'); @@ -259,9 +259,6 @@ class MasterController extends AdminController exit(); } - - - public function editInsurerGeneralInfo() { $this->myLogger->logme('error','edit Insurer general info function called'); @@ -291,7 +288,6 @@ class MasterController extends AdminController } } - public function editInsurerGet($id = null) { $this->myLogger->logme('error','Edit TPA Onboarding function called'); @@ -341,15 +337,12 @@ class MasterController extends AdminController } } - - -// Insurer Ends + // Insurer Ends -// TPA Start - + // TPA Start public function tpaList() { @@ -367,7 +360,6 @@ class MasterController extends AdminController // $this->loadLayout('insurer_onboarding', $data); } - public function tpaRemove($id = null) { $this->myLogger->logme('error','TPA Remove function called'); @@ -382,8 +374,6 @@ class MasterController extends AdminController } } - - public function removeTPABranch($id = null) { $this->myLogger->logme('error','TPA Branch Remove function called'); @@ -424,8 +414,6 @@ class MasterController extends AdminController } - - public function createTPAGeneralInfo() { @@ -483,12 +471,6 @@ class MasterController extends AdminController } } - - - - - - public function createTPABranch() { @@ -521,8 +503,6 @@ class MasterController extends AdminController } } - - public function editTPAOnboarding($id = null) { @@ -555,9 +535,6 @@ class MasterController extends AdminController } - - - public function editTPAGeneralInfo() { $this->myLogger->logme('error','edit TPA general info function called'); @@ -624,7 +601,6 @@ class MasterController extends AdminController } } - public function editTPAGet($id = null) { $this->myLogger->logme('error','Edit TPA Onboarding function called'); @@ -639,7 +615,6 @@ class MasterController extends AdminController exit(); } - public function editTPABranch() { $this->myLogger->logme('error','TPA branch CREATE function called'); @@ -680,7 +655,6 @@ class MasterController extends AdminController } } - public function tpaBranchList($id = null) { $this->myLogger->logme('error','TPA List function called'); @@ -693,14 +667,11 @@ class MasterController extends AdminController exit(); } - - - //Ends TPA Models + + //Start KYC - - public function kycList() { $this->myLogger->logme('error','KYC list function called'); @@ -731,7 +702,6 @@ class MasterController extends AdminController } } - public function removeKYCDocs($id = null) { $this->myLogger->logme('error','KYC Docs Remove function called'); @@ -772,9 +742,6 @@ class MasterController extends AdminController } - - - public function createKYCInfo() { @@ -791,9 +758,6 @@ class MasterController extends AdminController } } - - - public function createKycDocs() { @@ -818,7 +782,6 @@ class MasterController extends AdminController } } - public function editKYCOnboarding($id = null) { @@ -838,9 +801,6 @@ class MasterController extends AdminController } - - - public function kycDocsList($id = null) { @@ -855,8 +815,6 @@ class MasterController extends AdminController exit(); } - - public function editKYCInfo() { $this->myLogger->logme('error','edit KYC general info function called'); @@ -871,7 +829,6 @@ class MasterController extends AdminController } } - public function editKYCGet($id = null) { $this->myLogger->logme('error','Edit KYC Onboarding function called'); @@ -884,8 +841,6 @@ class MasterController extends AdminController exit(); } - - public function editKYCDocs() { $this->myLogger->logme('error','edit KYC Docs function called'); @@ -899,16 +854,12 @@ class MasterController extends AdminController echo json_encode(array("status" => false)); } } - - - - - //Ends KYC - //Start Policy + //Start Policy + public function policyTypeList() { $this->myLogger->logme('error','Policy Type list function called'); @@ -925,7 +876,6 @@ class MasterController extends AdminController // $this->loadLayout('insurer_onboarding', $data); } - public function policyTypeRemove($id = null) { $this->myLogger->logme('error','Policy Type Remove function called'); @@ -980,9 +930,6 @@ class MasterController extends AdminController } - - - public function createPolicies() { $this->myLogger->logme('error','Policies CREATE function called'); @@ -1004,9 +951,6 @@ class MasterController extends AdminController } } - - - public function createPolicyType() { $this->myLogger->logme('error','Policy Type CREATE function called'); @@ -1023,7 +967,6 @@ class MasterController extends AdminController } } - public function editPolicyTypeOnboarding($id = null) { @@ -1044,7 +987,6 @@ class MasterController extends AdminController } - public function editPolicyType() { $this->myLogger->logme('error','edit Policy general info function called'); @@ -1059,7 +1001,6 @@ class MasterController extends AdminController } } - public function policesList($id = null) { $this->myLogger->logme('error','Edit Policies Onboarding function called'); @@ -1090,8 +1031,6 @@ class MasterController extends AdminController exit(); } - - public function editPoliciesGet($id = null) { $this->myLogger->logme('error','Edit Policies Onboarding function called'); @@ -1102,7 +1041,6 @@ class MasterController extends AdminController exit(); } - public function editPolicies() { $this->myLogger->logme('error','edit Policy general info function called'); @@ -1117,9 +1055,11 @@ class MasterController extends AdminController echo json_encode(array("status" => false)); } } + + //end policies - + //start CD Master list public function CDMasterList() { @@ -1129,7 +1069,6 @@ class MasterController extends AdminController $this->loadLayout('cd_master_list', $data); } - public function createCDMasterData() { @@ -1137,13 +1076,30 @@ class MasterController extends AdminController $date = (string) $this->request->getPost('opening_date'); $data['opening_date'] = date('Y-m-d', strtotime($date)); + // Prepare the array with data + $cd_tranction_data = [ + 'amount' => $data['opening_bal'], + 'sub_type_id' => 7, + 'client_id' => $data['client_id'], + 'client_policy_id' => null, + 'cd_ac_no' => $data['cd_ac_no'], + 'endorsement_no' => null, + 'insurer_id' => $data['insurer_id'], + 'description' => 'opening Amount', + 'transaction_type' => 'Credit', + 'updated_by' => 1, + ]; + $loggedInUserID = get_session_userid(); + if ($data) { $insert = $this->CDMasterModel->insert($data); if ($insert) { + $response = DepositHelper::saveDeposit($cd_tranction_data, $loggedInUserID); + session()->setFlashdata('success', "Cash Deposite Master Added Successfully"); return redirect()->to(base_url('/master/cash_deposite/list')); } else { @@ -1158,7 +1114,6 @@ class MasterController extends AdminController } } - public function editCDMasterData($id = null) { @@ -1171,6 +1126,18 @@ class MasterController extends AdminController $insert = $this->CDMasterModel->where('id', $id)->set($data)->update(); + $cd_transaction_updated_data = [ + 'balance' => $data['opening_bal'], + 'amount' => $data['opening_bal'] + ]; + + $cd_tranction = $this->clientDepositModel + ->where('client_id', $data['client_id']) + ->where('insurer_id', $data['insurer_id']) + ->where('cd_ac_no', $data['cd_ac_no']) + ->where('sub_type', 7) + ->set($cd_transaction_updated_data)->update(); + if ($insert) { session()->setFlashdata('success', "Cash Deposite Master Updated Successfully"); @@ -1211,8 +1178,8 @@ class MasterController extends AdminController } } - - public function removeCDMaster($id){ + public function removeCDMaster($id) + { $this->myLogger->logme('error','CDMaster Remove function called'); $data['updated_by'] = get_session_userid(); diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 72e7b8c7..56fb00c5 100644 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -92,11 +92,12 @@ class RestAuthenticationController extends AdminController public function getVerifiedUserData() { - try { + // try { $mobile_number = $this->request->getJSON()->mobile_number; $otp = $this->request->getJSON()->otp; $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first(); + if ($employeeData && $otp == $employeeData["otp"] || $employeeData && isset($this->request->getJSON()->login_by_hr)) { $auth = HttpRequestHelper::getRequestInfo(); if ($auth) { @@ -120,9 +121,9 @@ class RestAuthenticationController extends AdminController } else { return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP"],200); } - } catch (\Exception $e) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); - } + // } catch (\Exception $e) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); + // } } public function verifyHrWithMobileNumber() diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 184cbefa..f654dc40 100644 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -71,7 +71,8 @@ class UserController extends AdminController $admin = 0; } foreach ($temp_team as $key => $value) { - if($value == 2){ + $team = $this->teamModel->where('id' , $value)->first(); + if($team['name'] == 'Claims'){ $hdz_staff = [ 'emp_code' => $userData['emp_code'], 'fullname' => $userData['first_name'], diff --git a/app/Filters/AuthJWT.php b/app/Filters/AuthJWT.php index 193ad6ec..b64a2a76 100644 --- a/app/Filters/AuthJWT.php +++ b/app/Filters/AuthJWT.php @@ -13,6 +13,7 @@ use ReflectionClass; require_once('../vendor/autoload.php'); use App\Models\EmployeeModel; +use App\Models\LevelContactModel; class AuthJWT implements FilterInterface @@ -20,7 +21,6 @@ class AuthJWT implements FilterInterface public function before(RequestInterface $request, $arguments = null) { $jwt = $request->getHeader('Authorization'); - $model = new EmployeeModel(); if ($jwt) { if (JWTToken::validateJWT($jwt)) { @@ -28,22 +28,44 @@ class AuthJWT implements FilterInterface $data = json_decode($data); $id = $data->decoded->id; - $user_data = $model->where('id', $id)->first(); + if(isset($data->decoded->emp_code)){ + $model = new EmployeeModel(); + $user_data = $model->where('id', $id)->first(); - if($user_data['token_time_out'] > time()){ - $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; - $model->update($id, $data); - return true; + if($user_data['token_time_out'] > time()){ + $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; + $model->update($id, $data); + return true; + }else{ + $data =["token_time_out" => '']; + $model->update($id, $data); + header('Content-Type: application/json'); + http_response_code(401); + // $error = json_encode(["status" => 401, "message" => $data->message]); + $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); + echo $error; + exit; + } }else{ - $data =["token_time_out" => '']; - $model->update($id, $data); - header('Content-Type: application/json'); - http_response_code(401); - // $error = json_encode(["status" => 401, "message" => $data->message]); - $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); - echo $error; - exit; + $model = new LevelContactModel(); + $hr_data = $model->where('id', $id)->first(); + + if($hr_data['token_time_out'] > time()){ + $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; + $model->update($id, $data); + return true; + }else{ + $data =["token_time_out" => '']; + $model->update($id, $data); + header('Content-Type: application/json'); + http_response_code(401); + // $error = json_encode(["status" => 401, "message" => $data->message]); + $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); + echo $error; + exit; + } } + } } else { header('Content-Type: application/json'); diff --git a/app/Helpers/DepositHelper.php b/app/Helpers/DepositHelper.php index f6d14a7c..3565646e 100644 --- a/app/Helpers/DepositHelper.php +++ b/app/Helpers/DepositHelper.php @@ -94,7 +94,7 @@ class DepositHelper // $getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE client_id = ? AND insurer_id = ? ORDER BY created_at DESC LIMIT 1"; // $getLastBalanceParams = [$clientId, $insurerId]; - $getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE cd_ac_no = ? ORDER BY created_at DESC LIMIT 1"; + $getLastBalanceQuery = "SELECT balance FROM cash_deposit WHERE cd_ac_no = ? AND is_active = 1 ORDER BY created_at DESC LIMIT 1"; $getLastBalanceParams = [$cd_ac_no]; $lastBalance = $model->query($getLastBalanceQuery, $getLastBalanceParams)->getRow()->balance ?? null; @@ -103,7 +103,7 @@ class DepositHelper $cd_model = new ClientDepositModel(); - $getLastBalanceQuery = "SELECT opening_bal FROM cd_master WHERE client_id = ? AND insurer_id = ? AND cd_ac_no = ? ORDER BY created_at DESC LIMIT 1"; + $getLastBalanceQuery = "SELECT opening_bal FROM cd_master WHERE client_id = ? AND insurer_id = ? AND cd_ac_no = ? AND is_active = 1 ORDER BY created_at DESC LIMIT 1"; $getLastBalanceParams = [$clientId, $insurerId, $cd_ac_no]; $lastBalance = $cd_model->query($getLastBalanceQuery, $getLastBalanceParams)->getRow()->opening_bal ?? 0; diff --git a/app/Helpers/JWTToken.php b/app/Helpers/JWTToken.php index 592c38f8..196bdaca 100644 --- a/app/Helpers/JWTToken.php +++ b/app/Helpers/JWTToken.php @@ -13,6 +13,7 @@ use CodeIgniter\HTTP\RequestInterface; use ReflectionClass; use App\Models\EmployeeModel; +use App\Models\LevelContactModel; class JWTToken @@ -25,13 +26,19 @@ class JWTToken try{ $token = JWT::encode($request_data ,$secret_Key,'HS512'); - - $model = new EmployeeModel(); $id = $request_data['id']; - $data =[ - "token_time_out" => time() + getenv('TOKENTIMEOUT') - ]; - $model->update($id, $data); + $data["token_time_out"] = time() + getenv('TOKENTIMEOUT'); + + if(isset($data['emp_code'])){ + $model = new EmployeeModel(); + $model->update($id, $data); + + }else{ + $models = new LevelContactModel(); + $models->update($id, $data); + + } + return $token; } diff --git a/app/Helpers/excel_import_export_helper.php b/app/Helpers/excel_import_export_helper.php index 65e44eaa..a86e5d80 100644 --- a/app/Helpers/excel_import_export_helper.php +++ b/app/Helpers/excel_import_export_helper.php @@ -3,6 +3,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\IOFactory; +use PhpOffice\PhpSpreadsheet\Reader\Exception as SpreadsheetReaderException; @@ -280,9 +281,9 @@ if (!function_exists('add_totals_row')) { $totalSum = 0; foreach ($data as $row) { - $gstSum += $row[18]; - $proRataPremiumSum += $row[19]; - $totalSum += $row[20]; + $gstSum += floatval($row[18]); + $proRataPremiumSum += floatval($row[19]); + $totalSum += floatval($row[20]); } // Add a new row with sums @@ -535,3 +536,439 @@ if (!function_exists('format_Excel_BasedOn_Client')) } } + + + +if(!function_exists('generate_excel_second_stage')){ + + function generate_excel_second_stage($headers, $data, $filename, $totals = null) + { + // Create a new Spreadsheet object + $spreadsheet = new Spreadsheet(); + + // Set the active sheet title + $spreadsheet->getActiveSheet()->setTitle('Sheet 1'); + + // Set headers into the spreadsheet + $headerValues = []; + foreach ($headers as $header) { + $headerValues[] = $header['column_name']; + } + $spreadsheet->getActiveSheet()->fromArray([$headerValues], null, 'A1'); + + // Set data into the spreadsheet + $dataValues = []; + $serialNumber = 0; // Initialize serial number + foreach ($data as $row) { + $serialNumber++; // Increment serial number for each row + + $rowData = []; + foreach ($headers as $header) { + $fieldName = $header['header_name']; + + if ($fieldName === 'index') { + $value = $serialNumber; + } else { + $value = $row->$fieldName ?? ''; + } + + $rowData[] = $value; + } + $dataValues[] = $rowData; + } + // dd($dataValues, $headerValues); + $spreadsheet->getActiveSheet()->fromArray($dataValues, null, 'A2'); + + // Add totals if specified + if ($totals === 1) { + // Call function to add totals row for inception + add_totals_row($spreadsheet, $data, $headers); + } else if ($totals === 2) { + // Call function to add totals row for deletion + add_totals_for_deletion($spreadsheet, $data); + } + + // Create Excel writer + $writer = new Xlsx($spreadsheet); + + try { + // Save Excel file to the specified path + $writer->save($filename); + return true; // Return true if file was successfully saved + } catch (\Exception $e) { + // Log or handle the exception + return false; // Return false if there was an error saving the file + } + } +} + + +if(!function_exists('generate_excel_third_stage')){ + + function generate_excel_third_stage($headers, $data, $filename, $totals = null) + { + // Create a new Spreadsheet object + $spreadsheet = new Spreadsheet(); + + // Set the active sheet title + $spreadsheet->getActiveSheet()->setTitle('Sheet 1'); + + $spreadsheet->getActiveSheet()->fromArray([$headers], null, 'A1'); + + $spreadsheet->getActiveSheet()->fromArray($data, null, 'A2'); + + // Add totals if specified + if ($totals === 1) { + // Call function to add totals row for inception + add_totals_row($spreadsheet, $data, $headers); + } else if ($totals === 2) { + // Call function to add totals row for deletion + add_totals_for_deletion($spreadsheet, $data); + } + + // Create Excel writer + $writer = new Xlsx($spreadsheet); + + try { + // Save Excel file to the specified path + $writer->save($filename); + return true; // Return true if file was successfully saved + } catch (\Exception $e) { + // Log or handle the exception + return false; // Return false if there was an error saving the file + } + } +} + + + +if(!function_exists('generate_insurer_based_excel')){ + + function generate_insurer_based_excel($excel_header_array, $excel_need_data){ + + usort($excel_header_array, function($a, $b) { + return $a['column_index'] <=> $b['column_index']; + }); + + + //construct HEADER + $headerValues = []; + foreach ($excel_header_array as $header) { + $headerValues[] = $header['column_name']; + } + + //construct EXCEL DATA + $dataValues = []; + $serialNumber = 0; // Initialize serial number + foreach ($excel_need_data as $row) { + $serialNumber++; + + $rowData = []; + foreach ($excel_header_array as $header) { + $fieldName = $header['header_name']; + + if ($fieldName === 'index') { + $value = $serialNumber; + } else { + $value = $row->$fieldName ?? ''; + } + + $rowData[] = $value; + } + $dataValues[] = $rowData; + } + + return ['header' => $headerValues, 'data' => $dataValues]; + } +} + + +if(!function_exists('read_first_row_of_excel')){ + + function read_first_row_of_excel($file) + { + if ($file->isValid() && !$file->hasMoved()) { + try { + $reader = IOFactory::createReaderForFile($file->getPathname()); + $spreadsheet = $reader->load($file->getPathname()); + + // Get the active sheet + $sheet = $spreadsheet->getActiveSheet(); + + // Initialize the data array + $data = []; + + // Iterate through rows to read data (only the first row) + $row = $sheet->getRowIterator()->current(); // Get the first row + $rowData = []; + foreach ($row->getCellIterator() as $cell) { + $rowData[] = $cell->getValue(); + } + $data = $rowData; // Assign the first row data to $data + + return $data; + + } catch (SpreadsheetReaderException $e) { + error_log('PhpSpreadsheet reader exception: ' . $e->getMessage()); + return $e->getMessage(); + } + } else { + return false; + } + } +} + + +if(!function_exists('query_construct_for_emp_policy_id')){ + function query_construct_for_emp_policy_id($employees, $col_index){ + + // Load the database connection + $db = \Config\Database::connect(); + + // Start building the query + $subQuery = ''; + foreach ($employees as $index => $employee) { + if ($index > 1) { + $subQuery .= " UNION ALL "; + } + if($index == 1){ + $row_id_alise = ' AS row_id,'; + $emp_name_alise = 'AS name,'; + $emp_code_alise = 'AS emp_code,'; + $emp_dob_alise = 'AS emp_dob,'; + $emp_gender_alise = 'AS emp_gender,'; + $pre_existing_alignments_alise = 'AS pre_existing_alignments,'; + $basic_cover_si_alise = 'AS basic_cover_si,'; + $emp_relationship_alise = 'AS emp_relationship,'; + $policy_end_date_alise = 'AS policy_end_date,'; + $days_alise = 'AS days,'; + $premium_alise = 'AS premium,'; + $rata_premimum_alise = 'AS rata_premimum,'; + $gst_alise = 'AS gst'; + }else{ + $row_id_alise = ','; + $emp_name_alise = ','; + $emp_code_alise = ','; + $emp_dob_alise = ','; + $emp_gender_alise = ','; + $pre_existing_alignments_alise = ','; + $basic_cover_si_alise = ','; + $emp_relationship_alise = ','; + $policy_end_date_alise = ','; + $days_alise = ','; + $premium_alise = ','; + $rata_premimum_alise = ','; + $gst_alise = ''; + } + $subQuery .= "SELECT " . intval($index) . $row_id_alise; + $subQuery .= "'" . $employee[$col_index['emp_name']] . "'" . $emp_name_alise; + $subQuery .= "'" . $employee[$col_index['emp_code']] . "'" . $emp_code_alise; + $subQuery .= "'" . $employee[$col_index['emp_dob']] . "'" . $emp_dob_alise; + $subQuery .= "'" . $employee[$col_index['emp_gender']] . "'" . $emp_gender_alise; + $subQuery .= "'" . $employee[$col_index['pre_existing_alignments']] . "'" . $pre_existing_alignments_alise; + $subQuery .= "'" . $employee[$col_index['basic_cover_si']] . "'" . $basic_cover_si_alise; + $subQuery .= "'" . $employee[$col_index['emp_relationship']] . "'" . $emp_relationship_alise; + $subQuery .= "'" . $employee[$col_index['policy_end_date']] . "'" . $policy_end_date_alise; + $subQuery .= "'" . $employee[$col_index['days']] . "'" . $days_alise; + $subQuery .= "'" . $employee[$col_index['premium']] . "'" . $premium_alise; + $subQuery .= "'" . $employee[$col_index['rata_premimum']] . "'" . $rata_premimum_alise; + $subQuery .= "'" . $employee[$col_index['gst']] . "'" . $gst_alise; + } + + // Complete the query + $mainQuery = " + SELECT + c.row_id, + c.emp_code, + c.name, + c.emp_dob, + c.emp_gender , + c.emp_relationship, + c.pre_existing_alignments, + c.basic_cover_si , + c.policy_end_date , + c.days , + c.premium , + c.rata_premimum , + c.gst, + + e.emp_code AS db_emp_code, + e.name AS db_name , + e.dob as db_dob, + e.gender as db_gender, + e.relationship as db_emp_relationship, + ep.pre_existing_alignments as db_pre_existing_alignments, + ep.basic_cover_si as db_basic_cover_si, + ep.policy_end_date as db_policy_end_date, + ep.days as db_days, + ep.premium as db_premium, + ep.rata_premimum as db_rata_premimum, + ep.gst as db_gst + + FROM ({$subQuery}) AS c + LEFT JOIN employees e + ON c.emp_code = e.emp_code + AND c.name = e.name + AND c.emp_dob = e.dob + AND c.emp_gender = e.gender + AND c.emp_relationship = e.relationship + + LEFT JOIN employee_polices ep + ON c.pre_existing_alignments = ep.pre_existing_alignments + AND c.basic_cover_si = ep.basic_cover_si + AND c.policy_end_date = ep.policy_end_date + AND c.days = ep.days + AND c.premium = ep.premium + AND c.rata_premimum = ep.rata_premimum + AND c.gst = ep.gst + + WHERE e.emp_code IS NOT NULL + AND e.name IS NOT NULL + AND e.dob IS NOT NULL + AND e.gender IS NOT NULL + AND e.relationship IS NOT NULL + AND ep.pre_existing_alignments IS NOT NULL + AND ep.basic_cover_si IS NOT NULL + AND ep.policy_end_date IS NOT NULL + AND ep.days IS NOT NULL + AND ep.premium IS NOT NULL + AND ep.rata_premimum IS NOT NULL + AND ep.gst IS NOT NULL + "; + + + // return $mainQuery; + // Execute the query + $query = $db->query($mainQuery); + $result = $query->getResultArray(); + return $result; + } +} + + +if(!function_exists('query_construct_second_stage')){ + function query_construct_second_stage($employees, $col_index){ + + // Load the database connection + $db = \Config\Database::connect(); + + // Start building the query + $subQuery = ''; + foreach ($employees as $index => $employee) { + if ($index > 1) { + $subQuery .= " UNION ALL "; + } + if($index == 1){ + $row_id_alise = ' AS row_id,'; + $emp_name_alise = 'AS name,'; + $emp_code_alise = 'AS emp_code,'; + $emp_dob_alise = 'AS emp_dob,'; + $emp_gender_alise = 'AS emp_gender,'; + $pre_existing_alignments_alise = 'AS pre_existing_alignments,'; + $basic_cover_si_alise = 'AS basic_cover_si,'; + $emp_relationship_alise = 'AS emp_relationship,'; + $policy_end_date_alise = 'AS policy_end_date,'; + $days_alise = 'AS days,'; + $premium_alise = 'AS premium,'; + $rata_premimum_alise = 'AS rata_premimum,'; + $gst_alise = 'AS gst'; + }else{ + $row_id_alise = ','; + $emp_name_alise = ','; + $emp_code_alise = ','; + $emp_dob_alise = ','; + $emp_gender_alise = ','; + $pre_existing_alignments_alise = ','; + $basic_cover_si_alise = ','; + $emp_relationship_alise = ','; + $policy_end_date_alise = ','; + $days_alise = ','; + $premium_alise = ','; + $rata_premimum_alise = ','; + $gst_alise = ''; + } + $subQuery .= "SELECT " . intval($index) . $row_id_alise; + $subQuery .= "'" . $employee[$col_index['emp_name']] . "'" . $emp_name_alise; + $subQuery .= "'" . $employee[$col_index['emp_code']] . "'" . $emp_code_alise; + $subQuery .= "'" . $employee[$col_index['emp_dob']] . "'" . $emp_dob_alise; + $subQuery .= "'" . $employee[$col_index['emp_gender']] . "'" . $emp_gender_alise; + $subQuery .= "'" . $employee[$col_index['pre_existing_alignments']] . "'" . $pre_existing_alignments_alise; + $subQuery .= "'" . $employee[$col_index['basic_cover_si']] . "'" . $basic_cover_si_alise; + $subQuery .= "'" . $employee[$col_index['emp_relationship']] . "'" . $emp_relationship_alise; + $subQuery .= "'" . $employee[$col_index['policy_end_date']] . "'" . $policy_end_date_alise; + $subQuery .= "'" . $employee[$col_index['days']] . "'" . $days_alise; + $subQuery .= "'" . $employee[$col_index['premium']] . "'" . $premium_alise; + $subQuery .= "'" . $employee[$col_index['rata_premimum']] . "'" . $rata_premimum_alise; + $subQuery .= "'" . $employee[$col_index['gst']] . "'" . $gst_alise; + } + + // Complete the query + $mainQuery = " + SELECT + c.row_id, + c.emp_code, + c.name, + c.emp_dob, + c.emp_gender , + c.emp_relationship, + c.pre_existing_alignments, + c.basic_cover_si , + c.policy_end_date , + c.days , + c.premium , + c.rata_premimum , + c.gst, + + e.emp_code AS db_emp_code, + e.name AS db_name , + e.dob as db_dob, + e.gender as db_gender, + e.relationship as db_emp_relationship, + ep.pre_existing_alignments as db_pre_existing_alignments, + ep.basic_cover_si as db_basic_cover_si, + ep.policy_end_date as db_policy_end_date, + ep.days as db_days, + ep.premium as db_premium, + ep.rata_premimum as db_rata_premimum, + ep.gst as db_gst + + FROM ({$subQuery}) AS c + LEFT JOIN employees e + ON c.emp_code = e.emp_code + AND c.name = e.name + AND c.emp_dob = e.dob + AND c.emp_gender = e.gender + AND c.emp_relationship = e.relationship + + LEFT JOIN employee_polices ep + ON c.pre_existing_alignments = ep.pre_existing_alignments + AND c.basic_cover_si = ep.basic_cover_si + AND c.policy_end_date = ep.policy_end_date + AND c.days = ep.days + AND c.premium = ep.premium + AND c.rata_premimum = ep.rata_premimum + AND c.gst = ep.gst + + WHERE e.emp_code IS NULL + AND e.name IS NULL + AND e.dob IS NULL + AND e.gender IS NULL + AND e.relationship IS NULL + AND ep.pre_existing_alignments IS NULL + AND ep.basic_cover_si IS NULL + AND ep.policy_end_date IS NULL + AND ep.days IS NULL + AND ep.premium IS NULL + AND ep.rata_premimum IS NULL + AND ep.gst IS NULL + "; + + + // return $mainQuery; + // Execute the query + $query = $db->query($mainQuery); + $result = $query->getResultArray(); + return $result; + } +} + diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php index 11f9a5ee..d14d71a7 100644 --- a/app/Helpers/excel_util_helper.php +++ b/app/Helpers/excel_util_helper.php @@ -10,9 +10,10 @@ if(!function_exists('calculate_days_bw_dates')) function calculate_days_bw_dates(string $from_date = "", string $to_date ="",bool $include_start_date = true) { if($to_date == ""){ $currentDateTime = new DateTime(); } - else{ $currentDateTime = new DateTime($to_date); } + else{ $to_date = convert_string_to_date($to_date); $currentDateTime = new DateTime($to_date); } + if($from_date == ""){ $passedDateTime = new DateTime(); } - else{ $passedDateTime = new DateTime($from_date); } + else{ $from_date = convert_string_to_date($from_date); $passedDateTime = new DateTime($from_date); } $interval = $currentDateTime->diff($passedDateTime); // $totalDays = $interval->days; @@ -246,7 +247,7 @@ if(!function_exists('check_si')) } // check age slab - if(in_array(strtoupper($row['current_action']), ['I','A','DA']) && strtolower($row['5']) == 'self') + if(in_array(strtoupper($row['current_action']), ['I','A','DA']) && (($slab_value['premium_type'] == 1 && strtolower($row['5']) == 'self' ) || ($slab_value['premium_type'] == 2) ) ) { if($row[3] != '' && $row[3] != null)// dob { @@ -632,7 +633,7 @@ if (!function_exists('check_dependent_conflict')) } } //check for any cross parents but not more than two - if($allowed_adults == 0 && $allowed_parents_count == 1 && $allowed_parent_in_laws_count == 1 && (2 < ($received_parents_count + $received_parent_in_laws_count))) + if($allowed_adults == 2 && (2 < ($received_parents_count + $received_parent_in_laws_count))) { // dd($allowed_adults); $result['status'] = false; @@ -787,6 +788,22 @@ if (!function_exists('calculate_premimum')) } } + //set primary_rack_rate_acting_self in emp_details_with_empband_max_age_max_count array for policies where self not available and premium type is 1 (i.e.) GMC parents as dep addon policy + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = false; + if(!isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self']) && $current_grid_info['type'] == 'primary') + { + if(strtolower($transformed_familiy_member_data['relationship']) == 'self') + { + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self'] = true; + } + else + { + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self'] = true; + } + } + //generate relationship code if($transformed_familiy_member_data['temp']['action'] != 'D' && $transformed_familiy_member_data['temp']['action'] != 'C' && $transformed_familiy_member_data['temp']['action'] != 'SI') { @@ -1013,7 +1030,7 @@ if (!function_exists('premium_calculation_manager')) $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1036,7 +1053,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // dd($slab_value); $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1057,7 +1074,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1077,7 +1094,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // echo $emp_data['name']; $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1099,7 +1116,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1121,7 +1138,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1143,7 +1160,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1170,7 +1187,7 @@ if (!function_exists('premium_calculation_manager')) if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $max_age && $slab_value['age_to'] >= $max_age) && (($slab_value['premium_type'] == 1 && - ( (strtolower($emp_data['relationship']) == 'self') || ($emp_data['temp']['additional_rack_rate_acting_self']) )) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) ) ) + ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) ) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; $emp_data['policy_details']['date_coverage'] = isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']; @@ -1195,7 +1212,7 @@ if (!function_exists('premium_calculation_manager')) { if($slab_value['si'] == $employee_received_si && $slab_value['grade'] == $employee_received_band && (($slab_value['premium_type'] == 1 && - ( (strtolower($emp_data['relationship']) == 'self') || ($emp_data['temp']['additional_rack_rate_acting_self']) )) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { //calculate premium based on count // echo $emp_data['name']; @@ -1224,7 +1241,7 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = null; foreach ($temp_slab_rates as $skey => $slab_value) { - if( $slab_value['si'] == $employee_received_si && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self'] ) )) ) + if( $slab_value['si'] == $employee_received_si && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; @@ -1249,7 +1266,7 @@ if (!function_exists('premium_calculation_manager')) $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; foreach ($temp_slab_rates as $skey => $slab_value) { - if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) + if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; diff --git a/app/Helpers/header.php b/app/Helpers/header.php new file mode 100644 index 00000000..2ade2b0b --- /dev/null +++ b/app/Helpers/header.php @@ -0,0 +1,658 @@ + + + + + + + <?= isset($page_name) ? $page_name : 'NHance'; ?> + + + + + + + + /assets/images/Nhance_Favi.svg"> + + + /assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css" rel="stylesheet" type="text/css" /> + + + /assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + + + + /assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" /> + /assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" /> + + /assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" /> + /assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" /> + + + /assets/css/icons.min.css" rel="stylesheet" type="text/css" /> + + + + + + + + + + + /assets/css/jodit.css" rel="stylesheet" type="text/css" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ /assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading..."> +
+
+ + + +
+ + + + + + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + + +
+
+ + +
\ No newline at end of file diff --git a/app/Models/CDMasterModel.php b/app/Models/CDMasterModel.php index 0e5c39a1..b936650f 100644 --- a/app/Models/CDMasterModel.php +++ b/app/Models/CDMasterModel.php @@ -61,24 +61,33 @@ class CDMasterModel extends Model return $data; } - public function getCDMasterList(){ + public function getCDMasterList() + { $query = $this->db->table('cd_master') - ->select('cd_master.*, clients.client_name, clients.short_name, insurers.name AS insurer_name, user_profiles.first_name AS user_name, IFNULL(cd_ac_counts.cd_ac_no_count, 0) AS cd_ac_no_count') - ->join('clients', 'clients.id = cd_master.client_id') - ->join('insurers', 'insurers.id = cd_master.insurer_id') - ->join('user_profiles', 'user_profiles.id = cd_master.created_by') - ->join( - '(SELECT cd_master.cd_ac_no, COUNT(client_policy.cd_ac_no) AS cd_ac_no_count - FROM cd_master - JOIN client_policy ON client_policy.cd_ac_no = cd_master.cd_ac_no - GROUP BY cd_master.cd_ac_no) AS cd_ac_counts', - 'cd_ac_counts.cd_ac_no = cd_master.cd_ac_no', - 'left' - ) - ->where('cd_master.is_active', 1) - ->get(); - + ->select('cd_master.*, clients.client_name, clients.short_name, insurers.name AS insurer_name, user_profiles.first_name AS user_name, IFNULL(cd_ac_counts.cd_ac_no_count, 0) AS cd_ac_no_count, IFNULL(cd_ac_counts_for_cdt.cd_ac_no_count_cd_tranction, 0) AS cd_ac_no_count_cd_tranction') + ->join('clients', 'clients.id = cd_master.client_id') + ->join('insurers', 'insurers.id = cd_master.insurer_id') + ->join('user_profiles', 'user_profiles.id = cd_master.created_by') + ->join( + '(SELECT cd_master.cd_ac_no, COUNT(client_policy.cd_ac_no) AS cd_ac_no_count + FROM cd_master + JOIN client_policy ON client_policy.cd_ac_no = cd_master.cd_ac_no + GROUP BY cd_master.cd_ac_no) AS cd_ac_counts', + 'cd_ac_counts.cd_ac_no = cd_master.cd_ac_no', + 'left' + ) + ->join( + '(SELECT cd_master.cd_ac_no, COUNT(cash_deposit.cd_ac_no) AS cd_ac_no_count_cd_tranction + FROM cd_master + JOIN cash_deposit ON cash_deposit.cd_ac_no = cd_master.cd_ac_no + GROUP BY cd_master.cd_ac_no) AS cd_ac_counts_for_cdt', + 'cd_ac_counts_for_cdt.cd_ac_no = cd_master.cd_ac_no', + 'left' + ) + ->where('cd_master.is_active', 1) + ->get(); + $result = $query->getResultArray(); return $result; } diff --git a/app/Models/ChatBotModel.php b/app/Models/ChatBotModel.php index caae27a5..65270779 100644 --- a/app/Models/ChatBotModel.php +++ b/app/Models/ChatBotModel.php @@ -11,6 +11,7 @@ class ChatBotModel extends Model "id", "request", "options", + "is_option", "created_by", "updated_by", "is_active", diff --git a/app/Models/ClientBranchModel.php b/app/Models/ClientBranchModel.php index 1ace7a2a..c6083a49 100644 --- a/app/Models/ClientBranchModel.php +++ b/app/Models/ClientBranchModel.php @@ -19,6 +19,11 @@ class ClientBranchModel extends Model "created_by", "updated_by", "is_active", + "pincode", + "address1", + "address2", + "gst", + "sez", ]; public function getBranchAndContactByBranchId($branch_id){ diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php index 8d2af103..65bb32cd 100644 --- a/app/Models/ClientPolicyModel.php +++ b/app/Models/ClientPolicyModel.php @@ -131,11 +131,12 @@ class ClientPolicyModel extends Model public function getinsurerswithclientid($id){ return $this->db->table('client_policy') - ->select('client_policy.*') + ->select('client_policy.*, cd_master.cd_ac_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 = client_policy.insurer_id') ->where('client_policy.client_id', $id) ->groupBy('client_policy.insurer_id') ->groupBy('client_policy.client_id', $id) // Group by insurer_id @@ -186,15 +187,18 @@ class ClientPolicyModel extends Model ->select('cash_deposit.*') ->select('insurers.name as insurer_name, insurers.short_name as insurer_short') ->select('clients.client_name as clientname, clients.short_name as clientshort') - ->select('policies.name as policy_name') + // ->select('policies.name as policy_name') + ->select('policy_type.policy_type') ->select('user_profiles.first_name as username') ->join('user_profiles', 'user_profiles.id = cash_deposit.created_by', 'left') ->join('insurers', 'insurers.id = cash_deposit.insurer_id', 'left') ->join('clients', 'clients.id = cash_deposit.client_id', 'left') ->join('client_policy', 'client_policy.id = cash_deposit.client_policy_id', 'left') - ->join('policies', 'policies.id = client_policy.policy_id', 'left') + // ->join('policies', 'policies.id = client_policy.policy_id', 'left') + ->join('policy_type', 'policy_type.id = client_policy.policy_type_id', 'left') ->where('cash_deposit.client_id', $clientId) ->where('cash_deposit.insurer_id', $insurerId) + ->where('cash_deposit.is_active', 1) ->orderBy('cash_deposit.id', 'DESC') ->get() ->getResult(); diff --git a/app/Models/InsurerModel.php b/app/Models/InsurerModel.php index 6c5d3617..f388b93b 100644 --- a/app/Models/InsurerModel.php +++ b/app/Models/InsurerModel.php @@ -23,21 +23,22 @@ class InsurerModel extends Model - public function getCreatedByUserName(){ + public function getCreatedByUserName() + { return $this->db->table('insurers') ->select('insurers.*') // ->select('user_profiles.first_name as user_name') // ->join('user_profiles', 'user_profiles.id = clients.created_by') ->get() - ->getResult(); - + ->getResult(); } public function getInsurerName($insurerId) { // Fetch the insurer name based on the insurer ID - $query = $this->select('id,name') - ->where('id', $insurerId) + $query = $this->select('insurers.id,insurers.name, cd_master.cd_ac_no') + ->join('cd_master', 'cd_master.insurer_id = insurers.id') + ->where('insurers.id', $insurerId) ->get(); if ($query->resultID->num_rows > 0) { @@ -47,19 +48,6 @@ class InsurerModel extends Model return null; // or handle accordingly if the insurer is not found } - // public function getdepositData($id) - // { - // // Fetch the insurer name based on the insurer ID - // $query = $this->db->table('cash_deposit') - - - // ->get() - - - // ->getResult(); - - // } - - } +} \ No newline at end of file diff --git a/app/Views/add_image_list.php b/app/Views/add_image_list.php new file mode 100644 index 00000000..9658053d --- /dev/null +++ b/app/Views/add_image_list.php @@ -0,0 +1,210 @@ + + +
+
+
+
+
+
+

Advertisement Image List

+
+
+ ADD +
+
+ + + + + + + + + + + + + + + + + + + + +
Advertisement Image NameStatusAction
+ + + +
+
+
+
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/app/Views/cd_master_list.php b/app/Views/cd_master_list.php index 21e599ce..30c848f6 100644 --- a/app/Views/cd_master_list.php +++ b/app/Views/cd_master_list.php @@ -40,7 +40,7 @@ table.dataTable thead th { Insurer Name Opening Date CD Account No - Deposite Amount + Opening Amount Date/User Action @@ -60,7 +60,9 @@ table.dataTable thead th {