diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 77cf4c62..acb2757f 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -14,6 +14,8 @@ $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); $routes->get("reminder_mail", "NotificationController::reminder_mail"); $routes->get("testing", "ClientController::Testing"); $routes->get("update-policy-terms-for-corrections", "ClientController::updatePolicyTermsForCorrections"); +$routes->get("update_rack_rate_json", "ClientController::updateRackRateJson"); +$routes->get("updatajson", "EmpDataServiceController::updatajson"); $routes->post("add_advertise_image", "AppContentManagementController::add_advertise_image"); @@ -260,6 +262,8 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $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->get("get_policy_type_for_base_policy/(:any)", "ClientController::getPolicyTypeForBasePolicy/$1"); + $routes->get("get_client_details/(:any)", "ClientController::getClientDetails/$1"); }); $routes->cli('cli/processjob', 'JobWorker::processJob'); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index e7e80b36..788a31ca 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -172,8 +172,8 @@ class ClientController extends AdminController } - - public function updatePolicyTermsForCorrections(){ + public function updatePolicyTermsForCorrections() + { $results = $this->clientPolicyModel ->select('id, policy_terms') @@ -240,7 +240,6 @@ class ClientController extends AdminController } } - public function removeClientBranch($id = null) { $this->myLogger->logme('error','Client Branch Remove function called'); @@ -269,6 +268,7 @@ class ClientController extends AdminController $data['state'] = $this->stateModel->getAllStates(); $data['RM'] = $this->userModel->findAll(); $data['policyGridData'] = $this->policyGridModel->findAll(); + $data['policy_types'] = $this->policyTypeModel->findAll(); $data['policy_type'] = ['1'=>'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon']; // echo "
";
@@ -318,6 +318,7 @@ class ClientController extends AdminController
4 => 'Debit',
5 => 'Non EB',
6 => 'Refund By Insurer',
+ 7 => 'Opening Amount',
];
$data['subTypeOptions'] = $subTypeOptions;
@@ -330,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
@@ -338,7 +340,6 @@ class ClientController extends AdminController
echo view('layout/footer');
}
-
public function saveDeposit()
{
// Retrieve form data from POST request
@@ -375,7 +376,6 @@ class ClientController extends AdminController
return $this->response->setJSON(['success' => $response['success']]);
}
-
public function editClientOnboarding($id = null)
{
@@ -390,8 +390,10 @@ class ClientController extends AdminController
$editData['insurer'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
$editData['kyc_docs'] = $this->kycDocsModel->findAll();
$editData['policyGridData'] = $this->policyGridModel->findAll();
+ $editData['policy_types'] = $this->policyTypeModel->findAll();
$editData['policy_type'] = ['1'=>'Base Policy', '2' => 'SI Topup', '3' => 'Dependent Addon'];
+ // dd($editData['policy_types']);
$editData['client'] = $this->clientModel->where(['id' => $id])->first();
$editData['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $id)->findAll();
@@ -720,9 +722,11 @@ class ClientController extends AdminController
$this->myLogger->logme('error','Client policy CREATE function called');
- $policy_type_id = $this->request->getPost('policy_type_id');
+ $policy_type_id = $this->request->getPost('policy_type_id');
$client_branch_id = $this->request->getPost('client_branch_id');
- $client_id = $this->request->getPost('client_id');
+ $client_id = $this->request->getPost('client_id');
+ $policy_type_id = $this->request->getPost('policy_type_id');
+ $base_policy = $this->request->getPost('base_policy');
$insurerValue = (string) $this->request->getPost('insurer');
@@ -745,7 +749,7 @@ class ClientController extends AdminController
$data['client_id'] = $client_id;
$data['tpa_branch_id'] = $tpaBranchId;
$data['tpa_id'] = $tpaId;
- $data['policy_id'] = $this->request->getPost('policy_id');
+ // $data['policy_id'] = $this->request->getPost('policy_id');
$data['policy_type_id'] = $this->request->getPost('policy_type_id');
$data['no_of_lives'] = $this->request->getPost('no_of_lives');
@@ -759,17 +763,30 @@ class ClientController extends AdminController
$data['claims_experience_for_last_3_years'] = $this->request->getPost('claims_experience_for_last_3_years');
$data['earned_premium_amount'] = $this->request->getPost('earned_premium_amount');
$data['claims_incurred_amount'] = $this->request->getPost('claims_incurred_amount');
- $data['is_addon'] = $this->request->getPost('is_addon');
- $data['base_policy'] = $this->request->getPost('base_policy');
+ $data['base_policy'] = ($this->request->getPost('base_policy') === '' || $this->request->getPost('base_policy') == 0) ? null : $this->request->getPost('base_policy');
$data['policy_status'] = 1;
$data['inception_type'] = $this->request->getPost('inception_type') ? 2 : 1;
$data['client_branch_id'] = $this->request->getPost('client_branch_id');
$data['cd_ac_no'] = $this->request->getPost('cd_ac_no');
$data['gst'] = $this->request->getPost('gst');
+
+ if($policy_type_id == 1 || $policy_type_id == 2 || $policy_type_id == 6 || $policy_type_id == 7){
+ $data['is_addon'] = 1;
+ }else if($policy_type_id == 4 || $policy_type_id == 5){
+ $data['is_addon'] = 2;
+ }else if($policy_type_id == 3){
+
+ if($base_policy){
+ $data['is_addon'] = 3;
+ }else{
+ $data['is_addon'] = 1;
+ }
+ }
+
$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) {
@@ -804,12 +821,7 @@ class ClientController extends AdminController
$insert = $this->clientPolicyModel->insert($data);
if($insert){
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($this->request->getPost('client_id'));
- // foreach ($clientPoliceData as $key => $value) {
-
- // $clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
- // $clientPoliceData[$key]->policy_end_date = date('d-M-Y', strtotime($value->policy_end_date));
- // }
- return $this->respond(['status' => true,'code' => 200,'data' => $clientPoliceData, 'method' => 'CERATE'], 200);
+ return $this->respond(['status' => true,'code' => 200,'data' => $clientPoliceData, 'method' => 'CERATE', 'post_data' => $data], 200);
}else{
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
}
@@ -823,8 +835,7 @@ class ClientController extends AdminController
$id = $this->request->getPost('PrimaryKey');
$client_id = $this->request->getPost('client_id');
-
-
+ $policy_type_id = $this->request->getPost('policy_type_id');
$insurerValue = (string) $this->request->getPost('insurer');
list($insurerBranchId, $insurerId) = explode('-', $insurerValue);
@@ -838,7 +849,6 @@ class ClientController extends AdminController
$data['tpa_branch_id'] = $tpaBranchId;
$data['client_id'] = $client_id;
$data['tpa_id'] = $tpaId;
- $data['policy_id'] = $this->request->getPost('policy_id');
$data['policy_type_id'] = $this->request->getPost('policy_type_id');
$data['policy_no'] = $this->request->getPost('policy_no');
$data['policy_start_date'] = change_date_format($this->request->getPost('policy_start_date'), 'd-m-Y', 'Y-m-d');
@@ -856,14 +866,28 @@ class ClientController extends AdminController
$data['claims_experience_for_last_3_years'] = $this->request->getPost('claims_experience_for_last_3_years');
$data['earned_premium_amount'] = $this->request->getPost('earned_premium_amount');
$data['claims_incurred_amount'] = $this->request->getPost('claims_incurred_amount');
- $data['is_addon'] = $this->request->getPost('is_addon');
- $data['base_policy'] = $this->request->getPost('base_policy');
+ $data['base_policy'] = ($this->request->getPost('base_policy') === '' || $this->request->getPost('base_policy') == 0) ? null : $this->request->getPost('base_policy');
$data['policy_status'] = 1;
$data['inception_type'] = $this->request->getPost('inception_type') ? 2 : 1;
+ $data['enrolment_visibility'] = $this->request->getPost('enrolment_visibility') ? 1 : 0;
$data['client_branch_id'] = $this->request->getPost('client_branch_id');
$data['cd_ac_no'] = $this->request->getPost('cd_ac_no');
$data['gst'] = $this->request->getPost('gst');
+ if($policy_type_id == 1 || $policy_type_id == 2 || $policy_type_id == 3 || $policy_type_id == 6 || $policy_type_id == 7){
+
+ $data['is_addon'] = 1;
+
+ }else if($policy_type_id == 4){
+
+ $data['is_addon'] = 2;
+
+ }else if($policy_type_id == 5){
+
+ $data['is_addon'] = 3;
+ }
+
+
$policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first();
@@ -916,40 +940,43 @@ class ClientController extends AdminController
// echo json_encode(['key' => $this->request->getPost()]); die;
try {
- $policy_type = $this->request->getPost('policy_type');
$client_id = $this->request->getPost('client_id');
$client_policy_id = $this->request->getPost('client_policy_id');
+ $record = $this->clientPolicyModel->where('client_policy.id', $client_policy_id)->first();
$premium_type = $this->request->getPost('premium_type');
if (!empty($client_id) && $client_id != null) {
$client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
$client_id = $client_policy_data['client_id'];
}
+ $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']);
+ $branch_units = json_decode($branch_units);
+
+
$policy_grid_id = $this->request->getPost('policy_grid_id');
- $rack_rate_type = $this->request->getPost('rack_rate_type');
+ $rack_rate_name = $this->request->getPost('rack_rate_name');
- $self = $this->request->getPost('self') ? 1 : 0;
- $spouse = $this->request->getPost('spouse')? 1 : 0;
- $childrens = $this->request->getPost('childrens')? 1 : 0;
- $parents = $this->request->getPost('parents')? 1 : 0;
- $parents_in_law = $this->request->getPost('parents-in-law')? 1 : 0;
- $either_parents_pil = $this->request->getPost('either-parents-pil')? 1 : 0;
+ $self = $this->request->getPost('self') ? 1 : 0;
+ $spouse = $this->request->getPost('spouse');
+ $childrens = $this->request->getPost('childrens');
+ $parents = $this->request->getPost('parents');
+ $parents_in_law = $this->request->getPost('parents-in-law');
- $relation_data['self'] = $self;
- $relation_data['spouse'] = $spouse;
- $relation_data['childrens'] = $childrens;
- $relation_data['parents'] = $parents;
- $relation_data['parents-in-law'] = $parents_in_law;
- $relation_data['either-parents-pil'] = $either_parents_pil;
+ if($policy_grid_id == 1 || $policy_grid_id == 2){
+ $self = 1;
+ $spouse = 'NA';
+ $childrens = 'NA';
+ $parents = 'NA';
+ $parents_in_law = 'NA';
+ }
+ $relation_data['self'] = $self;
+ $relation_data['spouse'] = $spouse;
+ $relation_data['childrens'] = $childrens;
+ $relation_data['parents'] = $parents;
+ $relation_data['parents-in-law'] = $parents_in_law;
$jsonDataForRelation = json_encode($relation_data);
- // if($policy_grid_id == 10 || $policy_grid_id == 11){
- // $premium_type = 1;
- // }else{
- // $premium_type = 2;
- // }
-
$si_or_bp = $this->request->getPost('si_or_bp');
$basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier'));
$premium_multiplier = str_replace(',', '', $this->request->getPost('premium_multiplier'));
@@ -961,36 +988,36 @@ class ClientController extends AdminController
$data['client_policy_id'] = $client_policy_id;
$data['policy_grid_id'] = $policy_grid_id;
$data['premium_type'] = $premium_type;
- $data['rack_rate_type'] = $rack_rate_type;
-
- if($rack_rate_type == 1){
- $data['additional_relationship'] = $jsonDataForRelation;
- }
-
+ $data['rack_rate_name'] = $rack_rate_name;
+ $data['additional_relationship'] = $jsonDataForRelation;
$premium = [];
if ($policy_grid_id == '1' || $policy_grid_id == '2') {
$this->policyPremium1Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update();
} else {
- $this->policyPremium2Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->where('rack_rate_type', $rack_rate_type)->set('is_active', 0)->update();
+ $this->policyPremium2Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->where('rack_rate_name', $rack_rate_name)->set('is_active', 0)->update();
}
-
if ($policy_grid_id == '1') {
-
if ($si_or_bp == '1') {
$premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier');
+ $unit = $this->request->getPost('gpa_unit[]');
for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i];
$data['premium'] = $premium[$i];
$data['multiplier'] = $multiplier;
$data['si_or_bp'] = $this->request->getPost('si_or_bp');
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$policyPremium = $this->policyPremium1Model->insert($data);
}
@@ -1001,6 +1028,8 @@ class ClientController extends AdminController
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier2');
$grade = $this->request->getPost('gpa_band[]');
+ $unit = $this->request->getPost('gpa_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i];
@@ -1008,6 +1037,11 @@ class ClientController extends AdminController
$data['grade'] = $grade[$i];
$data['multiplier'] = $multiplier;
$data['si_or_bp'] = $this->request->getPost('si_or_bp');
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$policyPremium = $this->policyPremium1Model->insert($data);
}
@@ -1017,6 +1051,8 @@ class ClientController extends AdminController
$premium = str_replace(',', '', $this->request->getPost('gpa_basic_premium[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_basic_si[]'));
$basic_pay = str_replace(',', '', $this->request->getPost('basic_pay[]'));
+ $unit = $this->request->getPost('gpa_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
@@ -1026,6 +1062,11 @@ class ClientController extends AdminController
$data['basic_pay'] = $basic_pay[$i];
$data['si'] = $sum_insure[$i];
$data['premium'] = $premium[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$policyPremium = $this->policyPremium1Model->insert($data);
}
@@ -1047,33 +1088,55 @@ class ClientController extends AdminController
} else if ($policy_grid_id == '2') {
$data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium'));
$data['si'] = str_replace(',', '', $this->request->getPost('gpa_si'));
+ $unit = $this->request->getPost('gpa_unit');
+ if (empty($unit)) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit;
+ }
$policyPremium = $this->policyPremium1Model->insert($data);
$data = $this->request->getPost();
$insert = true;
} else if ($policy_grid_id == '3') {
+
$premium = $this->request->getPost('3_premium[]');
$sum_insure = $this->request->getPost('3_si[]');
+ $unit = $this->request->getPost('3_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
$insert = true;
- } else if ($policy_grid_id == '4') {
+ } else if ($policy_grid_id == '4') {
$premium = $this->request->getPost('4_premium[]');
$sum_insure = $this->request->getPost('4_si');
$age_from = $this->request->getPost('4_age_from[]');
$age_to = $this->request->getPost('4_age_to[]');
+ $unit = $this->request->getPost('4_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1085,30 +1148,42 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('5_si[]');
$age_from = $this->request->getPost('5_age_from[]');
$age_to = $this->request->getPost('5_age_to[]');
+ $unit = $this->request->getPost('5_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
$insert = true;
} else if ($policy_grid_id == '6') {
-
$premium = $this->request->getPost('6_premium[]');
-
- print_r($premium);
-
$sum_insure = $this->request->getPost('6_si');
$age_from = $this->request->getPost('6_age_from[]');
$age_to = $this->request->getPost('6_age_to[]');
+ $unit = $this->request->getPost('6_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1120,11 +1195,19 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('7_si[]');
$age_from = $this->request->getPost('7_age_from[]');
$age_to = $this->request->getPost('7_age_to[]');
+ $unit = $this->request->getPost('7_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1133,10 +1216,18 @@ class ClientController extends AdminController
$premium = $this->request->getPost('8_premium[]');
$sum_insure = $this->request->getPost('8_si[]');
$grade = $this->request->getPost('8_grade[]');
+ $unit = $this->request->getPost('8_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['grade'] = $grade[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1145,6 +1236,12 @@ class ClientController extends AdminController
$data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium'));
$data['si'] = str_replace(',', '', $this->request->getPost('gpa_si'));
+ $unit = $this->request->getPost('gpa_unit');
+ if (empty($unit)) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit;
+ }
$policyPremium = $this->policyPremium2Model->insert($data);
// $premium = $this->request->getPost('9_premium[]');
@@ -1163,11 +1260,20 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('10_si[]');
$age_from = $this->request->getPost('10_age_from[]');
$age_to = $this->request->getPost('10_age_to[]');
+ $unit = $this->request->getPost('10_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
+
$policyPremium = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1178,11 +1284,19 @@ class ClientController extends AdminController
$sum_insure = $this->request->getPost('11_si[]');
$grade = $this->request->getPost('11_grade[]');
$max_sum_insure = $this->request->getPost('11_max_si[]');
+ $unit = $this->request->getPost('11_max_si[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['grade'] = $grade[$i];
$data['max_si'] = str_replace(',', '', $max_sum_insure[$i]);
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
+
$dataa = $this->policyPremium2Model->insert($data);
}
$data = $this->request->getPost();
@@ -1192,10 +1306,17 @@ class ClientController extends AdminController
$premium = $this->request->getPost('12_premium[]');
$sum_insure = $this->request->getPost('12_si[]');
$relationship = $this->request->getPost('12_relationship[]');
+ $unit = $this->request->getPost('12_unit[]');
+
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['relationship'] = $relationship[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$dataa = $this->policyPremium2Model->insert($data);
}
@@ -1208,6 +1329,7 @@ class ClientController extends AdminController
$age_from = $this->request->getPost('13_age_from[]');
$age_to = $this->request->getPost('13_age_to[]');
$relationship = $this->request->getPost('13_relationship[]');
+ $unit = $this->request->getPost('13_unit[]');
for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]);
@@ -1215,6 +1337,11 @@ class ClientController extends AdminController
$data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i];
$data['relationship'] = $relationship[$i];
+ if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) {
+ $data['unit'] = $branch_units[0];
+ } else {
+ $data['unit'] = $unit[$i];
+ }
$dataa = $this->policyPremium2Model->insert($data);
}
@@ -1223,18 +1350,23 @@ class ClientController extends AdminController
}
if ($insert) {
- return $this->respond(['status' => true, 'code' => 200, 'data' => $data], 200);
+ return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json'=>$jsonDataForRelation,], 200);
} else {
return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200);
}
+
} catch (\Exception $e) {
- // Handle exceptions here
echo 'Error: ' . $e->getMessage();
}
}
+
+
+
+
+
public function getKycDocsById($id=null)
{
@@ -1286,20 +1418,23 @@ class ClientController extends AdminController
$insurer_id = $client_policy_data['insurer_id'];
$client_id = $client_policy_data['client_id'];
- $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 );
+ $client_policy_list = $this->clientPolicyModel->getPolicyTypeForPolicyBinding($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, 'base_policy_type_id' => $base_policy_policy_type_id['policy_type_id']], 200);
+ return $this->respond([
+ 'status' => true,
+ 'code' => 200,
+ 'data' => $client_policy_data,
+ 'cd_data' => $cd_data,
+ "insurer_id" => $client_policy_data['insurer_id'],
+ 'policy' => $polices,
+ 'client_policy_list' => $client_policy_list
+ ], 200);
}else{
return $this->respond(['status' => false,'code' => 404, 'message' => 'no data found'], 200);
}
@@ -1310,7 +1445,13 @@ class ClientController extends AdminController
{
$client_policy_id = $this->request->getGet('client_policy_id');
- $record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
+ $terms_si_amount_array = $this->getPolicyTerms($client_policy_id);
+
+ $record = $this->clientPolicyModel
+ ->select('client_policy.*, policy_type.policy_type')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.id', $client_policy_id)
+ ->first();
$family_floater = '';
if (isset(json_decode($record['policy_terms'])->family_floater)) {
$family_floater = json_decode($record['policy_terms'])->family_floater;
@@ -1322,16 +1463,7 @@ class ClientController extends AdminController
$self = $policy_terms_data->family_floaters;
}
- // $emp_count = $this->employeeModel
- // ->join('client_policy cp', "employees.client_id = cp.client_id")
- // ->join('employee_polices ep', "cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
- // ->where("employees.client_id", $record['client_id'])
- // ->where("employees.emp_status", 'active')
- // ->where("ep.status", 'active')
- // ->where("employees.is_active", 1)
- // ->where("ep.is_active", 1)
- // ->countAllResults();
-
+ $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']);
$emp_count = $this->employeePolicyModel
->join('client_policy cp', "cp.id = employee_polices.client_policy_id")
@@ -1340,13 +1472,10 @@ class ClientController extends AdminController
->where("employee_polices.is_active", 1)
->countAllResults();
-
- $data = $this->policesModel->getPolicyPremium($record['policy_id']);
- $policy_name = $data[0]->policy_name;
$gmc_pattern = '/gmc/i';
$gpa_pattern = '/gpa/i';
- $subject = $data[0]->policy_type;
- $policy_type_id = $data[0]->id;
+ $subject = $record['policy_type'];
+ $policy_type_id = $record['policy_type_id'];
if (preg_match($gmc_pattern, $subject)) {
$search_term = 'GMC';
@@ -1440,14 +1569,47 @@ class ClientController extends AdminController
// print_r($premium1);
// print_r($premium2); die;
- return $this->respond(['status' => true, 'code' => 200, 'data' => $resultss, 'premiumData' => json_encode($premiumDataa), 'count' => $emp_count, 'policy_name' => $policy_name, 'family_floater' => $family_floater, 'self' => $self, 'client_policy_id' => $client_policy_id], 200);
+ return $this->respond([
+ 'status' => true,
+ 'code' => 200,
+ 'data' => $resultss,
+ 'premiumData' => json_encode($premiumDataa),
+ 'count' => $emp_count,
+ 'family_floater' => $family_floater,
+ 'self' => $self,
+ 'client_policy_id' => $client_policy_id,
+ 'terms_si_amount_array' => $terms_si_amount_array,
+ 'branch_units' => $branch_units
+ ], 200);
} else if ($search_term === 'GPA' || $policy_type_id == 6 || $policy_type_id == 7) {
- return $this->respond(['status' => true, 'code' => 200, 'data' => $results, 'premiumData' => json_encode($premiumData), 'count' => $emp_count, 'policy_name' => $policy_name, 'family_floater' => $family_floater, 'self' => $self, 'client_policy_id' => $client_policy_id], 200);
+ return $this->respond([
+ 'status' => true,
+ 'code' => 200,
+ 'data' => $results,
+ 'premiumData' => json_encode($premiumData),
+ 'count' => $emp_count,
+ 'family_floater' => $family_floater,
+ 'self' => $self,
+ 'client_policy_id' => $client_policy_id,
+ 'terms_si_amount_array' => $terms_si_amount_array,
+ 'branch_units' => $branch_units
+ ], 200);
} else {
- return $this->respond(['status' => false, 'code' => 200, 'data' => $results, 'premiumData' => json_encode($premiumData), 'count' => $emp_count, 'policy_name' => $policy_name, 'family_floater' => $family_floater, 'self' => $self, 'client_policy_id' => $client_policy_id], 200);
+ return $this->respond([
+ 'status' => false,
+ 'code' => 200,
+ 'data' => $results,
+ 'premiumData' => json_encode($premiumData),
+ 'count' => $emp_count,
+ 'family_floater' => $family_floater,
+ 'self' => $self,
+ 'client_policy_id' => $client_policy_id,
+ 'terms_si_amount_array' => $terms_si_amount_array,
+ 'branch_units' => $branch_units
+ ], 200);
}
}
@@ -1657,7 +1819,6 @@ class ClientController extends AdminController
{
$client_policy_id = $this->request->getVar('client_policy_id');
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
- $policy_name = $this->policesModel->select('name')->where('id', $record['policy_id'])->first();
// $emp_count = $this->employeeModel ->join('client_policy cp',"employees.client_id = cp.client_id")
// ->join('employee_polices ep',"cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
@@ -1677,12 +1838,11 @@ class ClientController extends AdminController
'Status' => true,
'code' => 200,
'data' => $record['policy_terms'],
- 'policy_name' => $policy_name,
'policy_addon' => $record['is_addon'],
'emp_count_by_policy'=>$emp_count_by_policy],
200);
} else {
- return $this->respond(['Status' => false,'code' => 200,'message' => 'Record not found.', 'policy_name' => $policy_name], 200);
+ return $this->respond(['Status' => false,'code' => 200,'message' => 'Record not found.'], 200);
}
}
@@ -1875,7 +2035,6 @@ class ClientController extends AdminController
return $this->respond(['status' => true, 'code' => 200, 'message' => $message, 'data' => $termsData, 'racRate' => $racRate, 'open_for_enrollment' => $json_data, 'client_policy_data' => $record], 200);
}
-
public function getClientPolicyList($client_id = null)
{
@@ -1889,7 +2048,6 @@ class ClientController extends AdminController
}
-
public function fetchPolicyDataForPolicyType($client_policy_id){
$client_policy_id = $this->request->getGet('client_policy_id');
@@ -1923,7 +2081,6 @@ class ClientController extends AdminController
}
-
public function downloadKYCDocument($file_name)
{
@@ -1936,7 +2093,6 @@ class ClientController extends AdminController
}
}
-
public function getClientBranch($client_id){
$branchs = $this->clientBranchModel
@@ -2165,8 +2321,6 @@ class ClientController extends AdminController
}
-
-
public function transformArray($data, $mapping)
{
@@ -2214,7 +2368,6 @@ class ClientController extends AdminController
return json_encode($transformedData, JSON_PRETTY_PRINT);
}
-
public function transformFamilyFloaters($familyFloaters, $json)
{
$result = [];
@@ -2259,7 +2412,6 @@ class ClientController extends AdminController
return implode(", ", $result);
}
-
public function deleteAdditionalRackRate($client_id, $client_policy_id, $rack_rate_type)
{
try {
@@ -2284,8 +2436,6 @@ class ClientController extends AdminController
return $this->respond(['status' => true,'code' => 200, 'message' => 'Additionaly Rack Rate Data Remove Successfully'], 200);
}
-
-
public function get_cd_ac($client_id, $insurer_id)
{
@@ -2303,7 +2453,6 @@ class ClientController extends AdminController
}
-
public function otherPolicyTermsFormSubmit()
{
@@ -2327,7 +2476,6 @@ class ClientController extends AdminController
}
}
-
public function checkPolicyType($policy_type_id, $client_branch_id, $client_id)
{
@@ -2346,31 +2494,36 @@ class ClientController extends AdminController
}
-
public function getPolicyTerms($client_policy_id)
{
$policy_terms = $this->clientPolicyModel->where('id', $client_policy_id)->first();
if (!$policy_terms) {
- return $this->respond(['status' => false, 'error' => 'Policy not found'], 404);
+ // return $this->respond(['status' => false, 'error' => 'Policy not found'], 404);
+ return [];
}
if (is_array($policy_terms)) {
if (!isset($policy_terms['policy_terms'])) {
- return $this->respond(['status' => false, 'error' => 'Policy terms not found in array'], 500);
+ // return $this->respond(['status' => false, 'error' => 'Policy terms not found in array'], 500);
+ return [];
+
}
$JSON = json_decode($policy_terms['policy_terms']);
} elseif (is_object($policy_terms)) {
if (!isset($policy_terms->policy_terms)) {
- return $this->respond(['status' => false, 'error' => 'Policy terms not found in object'], 500);
+ // return $this->respond(['status' => false, 'error' => 'Policy terms not found in object'], 500);
+ return [];
}
$JSON = json_decode($policy_terms->policy_terms);
} else {
- return $this->respond(['status' => false, 'error' => 'Unexpected data type for policy terms'], 500);
+ // return $this->respond(['status' => false, 'error' => 'Unexpected data type for policy terms'], 500);
+ return [];
}
if (!$JSON) {
- return $this->respond(['status' => false, 'error' => 'Invalid JSON format in policy terms'], 500);
+ // return $this->respond(['status' => false, 'error' => 'Invalid JSON format in policy terms'], 500);
+ return [];
}
$multi_si = [];
@@ -2389,11 +2542,10 @@ class ClientController extends AdminController
}
}
- return $this->respond(['status' => true, 'data' => $multi_si], 200);
+ // return $this->respond(['status' => true, 'data' => $multi_si], 200);
+ return $multi_si;
}
-
-
public function getPolicyTermsFormJson($policy_type_id)
{
@@ -2401,9 +2553,10 @@ class ClientController extends AdminController
return $this->respond(['status' => true, 'data' => $JSON], 200);
}
- public function createPolicyTermsHtmlAsJSON(){
+ public function createPolicyTermsHtmlAsJSON()
+ {
-
+ echo 'hi';
}
public function checkHRNumber($mobileNumber)
@@ -2425,7 +2578,6 @@ class ClientController extends AdminController
}
}
-
public function checkAdditionPremiumJSON($client_id, $client_policy_id)
{
@@ -2439,4 +2591,173 @@ class ClientController extends AdminController
return $this->respond(['status' => true, 'data' => $get_additional_rack_rate_relationship_json, 'message' => "try"], 200);
}
+ public function getPolicyTypeForBasePolicy($client_id)
+ {
+
+ $result = $this->clientPolicyModel->getPolicyTypeForPolicyBinding($client_id);
+ return $this->respond(['status' => true, 'data' => $result], 200);
+
+ }
+
+ public function getClientDetails($client_id)
+ {
+
+ $result = $this->clientModel->where('id', $client_id)->first();
+ return $this->respond(['status' => true, 'data' => $result], 200);
+ }
+
+ public function getBranchUnitsByBranchId($branch_id)
+ {
+
+ $units = $this->clientBranchModel->select('units')->where('id', $branch_id)->first();
+
+ if($units){
+ return $units['units'];
+ }else{
+ return [];
+ }
+
+ }
+
+ public function updateRackRateJson()
+ {
+ // $client_policy_id = 13;
+
+ $results = $this->policyPremium2Model
+ ->select('*')
+ // ->where('client_policy_id', $client_policy_id)
+ ->where('is_active', 1)
+ ->groupBy('client_policy_id')
+ ->get()
+ ->getResultArray();
+
+
+ $results2 = $this->policyPremium1Model
+ ->select('*')
+ // ->where('client_policy_id', $client_policy_id)
+ ->where('is_active', 1)
+ ->groupBy('client_policy_id')
+ ->get()
+ ->getResultArray();
+
+
+ $client_policy_ids = [];
+ $json = [];
+ $json1 = [];
+
+ foreach ($results as $key => $result)
+ {
+ $client_policy_id = $result['client_policy_id'];
+ $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
+ $policy_terms = [];
+
+ if(isset($client_policy_data['policy_terms']))
+ {
+ $policy_terms = json_decode($client_policy_data['policy_terms'], true);
+ }
+
+ if (isset($policy_terms['family_floaters'])) {
+ $family_floaters = $policy_terms['family_floaters'];
+
+ if(isset($family_floaters['self']) && isset($family_floaters['spouse']) && isset($family_floaters['childrens']) && isset($family_floaters['parents']) && isset($family_floaters['parents-in-law']) && isset($family_floaters['either-parents-pil']) && isset($family_floaters['elders_count'])) {
+
+ $json1[] = $family_floaters;
+
+ $self = 1;
+ $spouse = 'any';
+ $childrens = 'any';
+ $parents = 'any';
+ $parents_in_law = 'any';
+
+ if($family_floaters['self'] == 0){
+ $self = 'NA';
+ }
+ if($family_floaters['spouse'] == 0){
+ $spouse = 'NA';
+ }
+ if($family_floaters['childrens'] == 0){
+ $childrens = 'NA';
+ }
+ if($family_floaters['parents'] == 0){
+ $parents = 'NA';
+ }
+ if($family_floaters['parents-in-law'] == 0){
+ $parents_in_law = 'NA';
+ }
+
+ $transformed_family_floaters = [
+ "self" => $self,
+ "spouse" => $spouse,
+ "childrens" => $childrens,
+ "parents" => $parents,
+ "parents-in-law" => $parents_in_law,
+ ];
+
+ $formatedJSON = json_encode($transformed_family_floaters);
+ $json[] = $formatedJSON;
+
+ $forUpdateData = [
+ "additional_relationship" => $formatedJSON,
+ "rack_rate_name" => 'Primary',
+ ];
+
+ $this->policyPremium2Model
+ ->where('client_policy_id', $client_policy_id)
+ ->set($forUpdateData)
+ ->update();
+ }
+
+ $client_policy_ids[] = $client_policy_id;
+ }
+ }
+
+ foreach ($results2 as $key => $result)
+ {
+ $client_policy_id = $result['client_policy_id'];
+ $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first();
+
+ if($client_policy_data['policy_terms']){
+
+ $self = 1;
+ $spouse = 'NA';
+ $childrens = 'NA';
+ $parents = 'NA';
+ $parents_in_law = 'NA';
+
+ $transformed_family_floaters = [
+ "self" => $self,
+ "spouse" => $spouse,
+ "childrens" => $childrens,
+ "parents" => $parents,
+ "parents-in-law" => $parents_in_law,
+ ];
+
+ $formatedJSON = json_encode($transformed_family_floaters);
+ $json[] = $formatedJSON;
+
+ $forUpdateData = [
+ "additional_relationship" => $formatedJSON,
+ "rack_rate_name" => 'Primary',
+ ];
+
+ $this->policyPremium1Model
+ ->where('client_policy_id', $client_policy_id)
+ ->set($forUpdateData)
+ ->update();
+ }
+ }
+
+ $client_policy_ids[] = $client_policy_id;
+
+
+ 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.';
+ }
+
+ }
+
}
\ No newline at end of file
diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php
index 96537b76..e472ef43 100644
--- a/app/Controllers/EmpDataServiceController.php
+++ b/app/Controllers/EmpDataServiceController.php
@@ -25,6 +25,7 @@ use App\Models\NotificationModel;
use App\Models\MessageModel;
use App\Models\UserMessageModel;
use App\Models\CDMasterModel;
+use App\Models\InsurerExcelExportTemplateModel;
use App\Controllers\Jobs;
use App\Controllers\JobWorker;
@@ -54,6 +55,7 @@ class EmpDataServiceController extends BaseController
protected $messageModel;
protected $userMessageModel;
protected $CDMasterModel;
+ protected $excelExportTemplateModel;
public function __construct()
@@ -74,6 +76,7 @@ class EmpDataServiceController extends BaseController
$this->messageModel = new MessageModel();
$this->userMessageModel = new UserMessageModel();
$this->CDMasterModel = new CDMasterModel();
+ $this->excelExportTemplateModel = new InsurerExcelExportTemplateModel();
}
@@ -110,7 +113,8 @@ class EmpDataServiceController extends BaseController
}
- public function insertBatchList($params){
+ public function insertBatchList($params)
+ {
foreach ($params['batch_list_data'] as $value) {
@@ -142,10 +146,7 @@ class EmpDataServiceController extends BaseController
$objects = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
$policy_details = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
- // dd($export_data, $policy_details['cd_ac_no']);
-
if ($policy_details['cd_ac_no'] == null) {
- // dd("The policy does not have a CD account number");
$this->myLogger->logme('error', 'The policy does not have a CD account number.');
return 5;
}
@@ -153,7 +154,6 @@ class EmpDataServiceController extends BaseController
$cash_balance = $this->clientDepositModel->where('cd_ac_no', $policy_details['cd_ac_no'])->orderBy('id', 'DESC')->first();
if ($cash_balance == null) {
-
$balance = $this->CDMasterModel
->where('client_id', $export_data['client_id'])
->where('insurer_id', $policy_details['insurer_id'])
@@ -163,17 +163,14 @@ class EmpDataServiceController extends BaseController
$cash_balance['balance'] = $balance['opening_bal'];
}
- // dd($cash_balance);
-
// Calculate the total amount from the objects
- $totals = array_reduce($objects, function ($carry, $item) {
- return $carry + $item->total;
- }, 0);
-
+ $totals = 0;
+ foreach ($objects as $item) {
+ $totals = $totals + $item->total;
+ }
+
$totals = round($totals, 2);
-
if (!empty($cash_balance)) {
-
if ((int) $cash_balance['balance'] < (int) $totals) {
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount.');
$this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount. CASH BALANCE : {balance} and TOTAL AMOUNT : {total}', ['balance' => $cash_balance['balance'], 'total' => $totals]);
@@ -181,22 +178,16 @@ class EmpDataServiceController extends BaseController
}
}
-
- $this->removeOldExportInfoFromBatchFile($export_data);
-
-
// Log the count of exported data
$count = count($objects);
$export_data['count'] = $count;
$export_data['amount'] = $totals;
$export_data['status'] = 'success';
-
$this->myLogger->logme('error', 'Inception export data count : {data}', ['data' => $count]);
// If no data is found for export, return false
if ($count == 0) {
-
$this->myLogger->logme('error', 'No Record found. TPA ID or UHID are Alread Updated. Correction export data count : {data}', ['data' => $count]);
return false;
}
@@ -204,37 +195,249 @@ class EmpDataServiceController extends BaseController
// Log the export file name
$this->myLogger->logme('error', 'Inception export file name : {data}', ['data' => $export_data['file_name']]);
- // Transform retrieved objects to an array suitable for export
- $data = transform_objects_to_array_for_inception($objects);
+ // remove existing batch file anf batch list data every time export
+ $this->removeOldExportInfoFromBatchFile($export_data);
- // Define headers for the Excel file
- $headers = [
- 'S.No',
- 'NAME OF EMP/DEP',
- 'EMP ID',
- 'EMP/DEP TYPE',
- 'RELATIONSHIP CODE',
- 'DOB',
- 'GENDER',
- 'PRE EXISTING AILMENTS',
- 'BASIC COVER SI',
- 'DATE OF COVERAGE',
- 'AGE',
- 'RELATIONSHIP',
- 'REMARKS',
- 'POLICY END DATE',
- 'NO OF DAYS',
- 'TPA ID',
- 'UHID',
- 'PREMIUM',
- 'PR0 RATA PREMIUM',
- 'GST',
- 'TOTAL'
+ // default excel header information
+ $excel_header_columns = [
+ [
+ 'column_index' => 0,
+ 'column_name' => 'S.No',
+ 'db_column_name' => 'index'
+ ],
+ [
+ 'column_index' => 1,
+ 'column_name' => 'NAME OF EMP/DEP',
+ 'db_column_name' => 'emp_name'
+ ],
+ [
+ 'column_index' => 2,
+ 'column_name' => 'EMP ID',
+ 'db_column_name' => 'emp_code'
+ ],
+ [
+ 'column_index' => 3,
+ 'column_name' => 'EMP/DEP TYPE',
+ 'db_column_name' => 'emp_type'
+ ],
+ [
+ 'column_index' => 4,
+ 'column_name' => 'RELATIONSHIP CODE',
+ 'db_column_name' => 'emp_relationship_code'
+ ],
+ [
+ 'column_index' => 5,
+ 'column_name' => 'DOB',
+ 'db_column_name' => 'emp_dob'
+ ],
+ [
+ 'column_index' => 6,
+ 'column_name' => 'GENDER',
+ 'db_column_name' => 'emp_gender'
+ ],
+ [
+ 'column_index' => 7,
+ 'column_name' => 'PRE EXISTING AILMENTS',
+ 'db_column_name' => 'pre_existing_alignments'
+ ],
+ [
+ 'column_index' => 8,
+ 'column_name' => 'BASIC COVER SI',
+ 'db_column_name' => 'basic_cover_si'
+ ],
+ [
+ 'column_index' => 9,
+ 'column_name' => 'DATE OF COVERAGE',
+ 'db_column_name' => 'date_coverage'
+ ],
+ [
+ 'column_index' => 10,
+ 'column_name' => 'AGE',
+ 'db_column_name' => 'emp_age'
+ ],
+ [
+ 'column_index' => 11,
+ 'column_name' => 'RELATIONSHIP',
+ 'db_column_name' => 'emp_relationship'
+ ],
+ [
+ 'column_index' => 12,
+ 'column_name' => 'REMARKS',
+ 'db_column_name' => 'remarks'
+ ],
+ [
+ 'column_index' => 13,
+ 'column_name' => 'POLICY END DATE',
+ 'db_column_name' => 'policy_end_date'
+ ],
+ [
+ 'column_index' => 14,
+ 'column_name' => 'NO OF DAYS',
+ 'db_column_name' => 'days'
+ ],
+ [
+ 'column_index' => 15,
+ 'column_name' => 'TPA ID',
+ 'db_column_name' => 'tpa_id'
+ ],
+ [
+ 'column_index' => 16,
+ 'column_name' => 'UHID',
+ 'db_column_name' => 'uhid'
+ ],
+ [
+ 'column_index' => 17,
+ 'column_name' => 'PREMIUM',
+ 'db_column_name' => 'premium'
+ ],
+ [
+ 'column_index' => 18,
+ 'column_name' => 'PR0 RATA PREMIUM',
+ 'db_column_name' => 'rata_premimum'
+ ],
+ [
+ 'column_index' => 19,
+ 'column_name' => 'GST',
+ 'db_column_name' => 'gst'
+ ],
+ [
+ 'column_index' => 20,
+ 'column_name' => 'TOTAL AMOUNT',
+ 'db_column_name' => 'total'
+ ]
];
+ // get excel export format structure array
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', $export_data['event_type'])
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+ if(!empty($template_json) && $template_json != null){
+ $excel_header_columns = json_decode($template_json['jsoncolumns'], true);
+ }else{
+ return 6;
+ }
+
+ if( $export_data['insurer_or_tpa'] == 'tpa'){
+
+ $excel_header_columns = [
+ [
+ 'column_index' => 0,
+ 'column_name' => 'S.No',
+ 'header_name' => 'index'
+ ],
+ [
+ 'column_index' => 1,
+ 'column_name' => 'NAME OF EMP/DEP',
+ 'db_column_name' => 'emp_name'
+ ],
+ [
+ 'column_index' => 2,
+ 'column_name' => 'EMP ID',
+ 'db_column_name' => 'emp_code'
+ ],
+ [
+ 'column_index' => 3,
+ 'column_name' => 'EMP/DEP TYPE',
+ 'db_column_name' => 'emp_type'
+ ],
+ [
+ 'column_index' => 4,
+ 'column_name' => 'RELATIONSHIP CODE',
+ 'db_column_name' => 'emp_relationship_code'
+ ],
+ [
+ 'column_index' => 5,
+ 'column_name' => 'DOB',
+ 'db_column_name' => 'emp_dob'
+ ],
+ [
+ 'column_index' => 6,
+ 'column_name' => 'GENDER',
+ 'db_column_name' => 'emp_gender'
+ ],
+ [
+ 'column_index' => 7,
+ 'column_name' => 'PRE EXISTING AILMENTS',
+ 'db_column_name' => 'pre_existing_alignments'
+ ],
+ [
+ 'column_index' => 8,
+ 'column_name' => 'BASIC COVER SI',
+ 'db_column_name' => 'basic_cover_si'
+ ],
+ [
+ 'column_index' => 9,
+ 'column_name' => 'DATE OF COVERAGE',
+ 'db_column_name' => 'date_of_coverage'
+ ],
+ [
+ 'column_index' => 10,
+ 'column_name' => 'AGE',
+ 'db_column_name' => 'emp_age'
+ ],
+ [
+ 'column_index' => 11,
+ 'column_name' => 'RELATIONSHIP',
+ 'db_column_name' => 'emp_relationship'
+ ],
+ [
+ 'column_index' => 12,
+ 'column_name' => 'REMARKS',
+ 'db_column_name' => 'remarks'
+ ],
+ [
+ 'column_index' => 13,
+ 'column_name' => 'POLICY END DATE',
+ 'db_column_name' => 'policy_end_date'
+ ],
+ [
+ 'column_index' => 14,
+ 'column_name' => 'NO OF DAYS',
+ 'db_column_name' => 'no_of_days'
+ ],
+ [
+ 'column_index' => 15,
+ 'column_name' => 'TPA ID',
+ 'db_column_name' => 'tpa_id'
+ ],
+ [
+ 'column_index' => 16,
+ 'column_name' => 'UHID',
+ 'db_column_name' => 'uhid'
+ ],
+ [
+ 'column_index' => 17,
+ 'column_name' => 'PREMIUM',
+ 'db_column_name' => 'premium'
+ ],
+ [
+ 'column_index' => 18,
+ 'column_name' => 'PR0 RATA PREMIUM',
+ 'db_column_name' => 'pro_rata_premium'
+ ],
+ [
+ 'column_index' => 19,
+ 'column_name' => 'GST',
+ 'db_column_name' => 'gst'
+ ],
+ [
+ 'column_index' => 20,
+ 'column_name' => 'TOTAL AMOUNT',
+ 'db_column_name' => 'total'
+ ]
+ ];
+ }
+
+ $excel_data_info = generate_insurer_based_excel($excel_header_columns, $objects);
+
// Generate Excel file
$tempFile = tmpfile();
- $success = generate_excel($headers, $data, $tempFile, 1);
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile);
// If Excel generation is successful
if ($success) {
@@ -305,42 +508,59 @@ class EmpDataServiceController extends BaseController
if ($count == 0) {
$this->myLogger->logme('error', 'No Record found. Endorsement ID Alread Updated. Correction export data count : {data}', ['data' => $count]);
- return false;
+ // return false;
}
+
$this->removeOldExportInfoFromBatchFile($export_data);
$this->myLogger->logme('error', 'Correction export file name : {data}', ['data' => $export_data['file_name']]);
+
+
+ // get excel export format structure array
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', $export_data['event_type'])
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+ if(!empty($template_json) && $template_json != null){
+ $excel_header_columns = json_decode($template_json['jsoncolumns'], true);
+ }else{
+ return 6;
+ }
- $correction_data = transform_objects_to_array_for_correction($objects);
- $headers = [
- 'Emp Code',
- 'RISK ID',
- 'NAME OF EMP/DEP',
- 'EMP/DEP TYPE',
- 'RELATION',
- 'DOB',
- 'GENDER',
- 'Wrong Data',
- 'Correct Data',
- 'Remarks',
- 'Endorsement_Id'
- ];
+ if( $export_data['insurer_or_tpa'] == 'tpa'){
+
+ $excel_header_columns = [
+ ['column_index' => 0, 'column_name' => 'Emp Code', 'db_column_name' => 'emp_code'],
+ ['column_index' => 1, 'column_name' => 'RISK ID', 'db_column_name' => 'uhid'],
+ ['column_index' => 1, 'column_name' => 'NAME OF EMP/DEP', 'db_column_name' => 'emp_name'],
+ ['column_index' => 3, 'column_name' => 'EMP/DEP TYPE', 'db_column_name' => 'emp_type'],
+ ['column_index' => 4, 'column_name' => 'RELATION', 'db_column_name' => 'relationship_code'],
+ ['column_index' => 5, 'column_name' => 'DOB', 'db_column_name' => 'emp_dob'],
+ ['column_index' => 6, 'column_name' => 'GENDER', 'db_column_name' => 'emp_gender'],
+ ['column_index' => 7, 'column_name' => 'Wrong Data', 'db_column_name' => 'old_value'],
+ ['column_index' => 8, 'column_name' => 'Correct Data', 'db_column_name' => 'new_value'],
+ ['column_index' => 9, 'column_name' => 'Remarks', 'db_column_name' => 'remarks'],
+ ['column_index' => 10, 'column_name' => 'Endorsement_Id', 'db_column_name' => null]
+ ];
+ }
- // Create a temporary file in memory
+
+ $excel_data_info = generate_insurer_based_excel($excel_header_columns, $objects);
+
+ // Generate Excel file
$tempFile = tmpfile();
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile);
- // Generate Excel file with the temporary file
- $value = generate_excel($headers, $correction_data, $tempFile);
-
- if ($value) {
-
-
+ if ($success) {
$return = $this->batchFilesAndBatchListEntry($export_data, $objects);
-
if ($return) {
foreach ($ids as $key => $id) {
@@ -432,39 +652,57 @@ class EmpDataServiceController extends BaseController
$this->removeOldExportInfoFromBatchFile($export_data);
$this->myLogger->logme('error', 'SI_Enhancement export file name : {data}', ['data' => $export_data['file_name']]);
- $si_data = transform_objects_to_array_for_si_enhancement($objects);
- $headers = [
- 'S.No',
- 'NAME OF EMP/DEP',
- 'EMP ID',
- 'EMP/DEP TYPE',
- 'RELATION',
- 'DOB',
- 'GENDER',
- 'PRE EXISTING AILMENTS',
- 'BASIC COVER SI',
- 'Old Sum Insured',
- 'Date of Coverage',
- 'Policy End Date',
- 'No Of Days',
- 'Old SI Premium',
- 'New SI premium',
- 'Difference premium',
- 'Pro Rata Premium',
- 'GST',
- 'Total',
- 'ENDORSEMENT_ID'
- ];
+ // get excel export format structure array
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', $export_data['event_type'])
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+ if(!empty($template_json) && $template_json != null){
+ $excel_header_columns = json_decode($template_json['jsoncolumns'], true);
+ }else{
+ return 6;
+ }
+
+ if( $export_data['insurer_or_tpa'] == 'tpa'){
+
+ $excel_header_columns = [
+ ['column_index' => 0, 'column_name' => 'S.No', 'db_column_name' => 'index'],
+ ['column_index' => 1, 'column_name' => 'NAME OF EMP/DEP', 'db_column_name' => 'emp_name'],
+ ['column_index' => 2, 'column_name' => 'EMP ID', 'db_column_name' => 'emp_code'],
+ ['column_index' => 3, 'column_name' => 'EMP/DEP TYPE', 'db_column_name' => 'emp_type'],
+ ['column_index' => 4, 'column_name' => 'RELATION', 'db_column_name' => 'emp_relationship_code'],
+ ['column_index' => 5, 'column_name' => 'DOB', 'db_column_name' => 'emp_dob'],
+ ['column_index' => 6, 'column_name' => 'GENDER', 'db_column_name' => 'emp_gender'],
+ ['column_index' => 7, 'column_name' => 'PRE EXISTING AILMENTS', 'db_column_name' => 'pre_existing_alignments'],
+ ['column_index' => 8, 'column_name' => 'BASIC COVER SI', 'db_column_name' => 'new_basic_cover_si'],
+ ['column_index' => 9, 'column_name' => 'Old Sum Insured', 'db_column_name' => 'old_basic_cover_si'],
+ ['column_index' => 10, 'column_name' => 'Date of Coverage', 'db_column_name' => 'date_of_coverage'],
+ ['column_index' => 11, 'column_name' => 'Policy End Date', 'db_column_name' => 'policy_end_date'],
+ ['column_index' => 12, 'column_name' => 'No Of Days', 'db_column_name' => 'no_of_days'],
+ ['column_index' => 13, 'column_name' => 'Old SI Premium', 'db_column_name' => 'old_si_premium'],
+ ['column_index' => 14, 'column_name' => 'New SI premium', 'db_column_name' => 'new_si_premium'],
+ ['column_index' => 15, 'column_name' => 'Difference premium', 'db_column_name' => 'difference_premium'],
+ ['column_index' => 16, 'column_name' => 'Pro Rata Premium', 'db_column_name' => 'pro_rata_premium'],
+ ['column_index' => 17, 'column_name' => 'GST', 'db_column_name' => 'gst'],
+ ['column_index' => 18, 'column_name' => 'Total', 'db_column_name' => 'total'],
+ ['column_index' => 19, 'column_name' => 'ENDORSEMENT_ID', 'db_column_name' => null]
+ ];
+
+ }
- // Create a temporary file in memory
+ $excel_data_info = generate_insurer_based_excel($excel_header_columns, $objects);
+
+ // Generate Excel file
$tempFile = tmpfile();
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile);
- // Generate Excel file with the temporary file
- $value = generate_excel($headers, $si_data, $tempFile);
-
- if ($value) {
+ if ($success) {
$return = $this->batchFilesAndBatchListEntry($export_data, $objects);
if ($return) {
@@ -526,35 +764,51 @@ class EmpDataServiceController extends BaseController
$this->removeOldExportInfoFromBatchFile($export_data);
$this->myLogger->logme('error', 'Deletion export file name : {data}', ['data' => $export_data['file_name']]);
- $si_data = transform_objects_to_array_for_deletion($objects);
- // dd($si_data);
- $headers = [
- 'S.No',
- 'EMP ID',
- 'EMP NAME',
- 'DOB',
- 'GENDER',
- 'RELATIONSHIP',
- 'SUM INSURED',
- 'Date of Leaving',
- 'Policy End Date',
- 'No Of Days',
- 'Premium',
- 'Pro Rata Premium',
- 'GST',
- 'Total',
- 'Claim Status',
- 'ENDORSEMENT_ID'
- ];
+ // get excel export format structure array
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', $export_data['event_type'])
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+ if(!empty($template_json) && $template_json != null){
+ $excel_header_columns = json_decode($template_json['jsoncolumns'], true);
+ }else{
+ return 6;
+ }
+ if( $export_data['insurer_or_tpa'] == 'tpa'){
+
+ $excel_header_columns = [
+ ['column_index' => 0, 'column_name' => 'S.No', 'db_column_name' => 'index'],
+ ['column_index' => 1, 'column_name' => 'EMP ID', 'db_column_name' => 'emp_code'],
+ ['column_index' => 2, 'column_name' => 'EMP NAME', 'db_column_name' => 'emp_name'],
+ ['column_index' => 3, 'column_name' => 'DOB', 'db_column_name' => 'emp_dob'],
+ ['column_index' => 4, 'column_name' => 'GENDER', 'db_column_name' => 'emp_gender'],
+ ['column_index' => 5, 'column_name' => 'RELATIONSHIP', 'db_column_name' => 'emp_relationship_code'],
+ ['column_index' => 6, 'column_name' => 'SUM INSURED', 'db_column_name' => 'basic_cover_si'],
+ ['column_index' => 7, 'column_name' => 'Date of Leaving', 'db_column_name' => 'date_of_leaving'],
+ ['column_index' => 8, 'column_name' => 'Policy End Date', 'db_column_name' => 'policy_end_date'],
+ ['column_index' => 9, 'column_name' => 'No Of Days', 'db_column_name' => 'no_of_days'],
+ ['column_index' => 10, 'column_name' => 'Premium', 'db_column_name' => 'premium'],
+ ['column_index' => 11, 'column_name' => 'Pro Rata Premium', 'db_column_name' => 'pro_rata_premium'],
+ ['column_index' => 12, 'column_name' => 'GST', 'db_column_name' => 'gst'],
+ ['column_index' => 13, 'column_name' => 'Total', 'db_column_name' => 'total'],
+ ['column_index' => 14, 'column_name' => 'Claim Status', 'db_column_name' => null],
+ ['column_index' => 15, 'column_name' => 'ENDORSEMENT_ID', 'db_column_name' => null]
+ ];
- // Create a temporary file in memory
+ }
+
+ $excel_data_info = generate_insurer_based_excel($excel_header_columns, $objects);
+
+ // Generate Excel file
$tempFile = tmpfile();
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile);
- // Generate Excel file with the temporary file
- $value = generate_excel($headers, $si_data, $tempFile, 2);
-
- if ($value) {
+ if ($success) {
$return = $this->batchFilesAndBatchListEntry($export_data, $objects);
if ($return) {
@@ -587,6 +841,281 @@ class EmpDataServiceController extends BaseController
}
+ public function generateExcelForAllEventType($export_data)
+ {
+
+ $additionData = [];
+ $deletionData = [];
+ $inceptionData = [];
+ $correctionData = [];
+ $enhancementData = [];
+ $dependentAdditionData = [];
+
+ $event_type_array = $export_data['event_type'];
+
+ foreach ($export_data['event_type'] as $value)
+ {
+
+ if($value == 'addition'){
+ $export_data['event_type'] = 'addition';
+ $additionData = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
+
+ }else if($value == 'inception'){
+ $export_data['event_type'] = 'inception';
+ $dependentAdditionData = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
+
+ }else if($value == 'dependent_addition'){
+ $export_data['event_type'] = 'dependent_addition';
+ $dependentAdditionData = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
+
+ }else if($value == 'deletion'){
+ $export_data['event_type'] = 'deletion';
+ $deletionData = $this->employeePolicyModel->getDeletionEmployeeDataForExportExcel($export_data);
+
+ }else if($value == 'si_enhancement'){
+ $export_data['event_type'] = 'si_enhancement';
+ $enhancementData = $this->employeePolicyModel->getSIEnhancementEmployeesDataForExportExcel($export_data);
+
+ }else if($value == 'correction'){
+ $export_data['event_type'] = 'correction';
+ $correctionData = $this->employeePolicyModel->getCorrectionEmployeesDataForExportExcel($export_data);
+
+ }
+
+ }
+
+ if(empty($additionData) && empty($deletionData) && empty($inceptionData) && empty($correctionData) && empty($enhancementData) && empty($dependentAdditionData)){
+
+ return 0;
+ }
+
+ //for cd tranction and cd master data is empty check
+ if(!empty($inceptionData) && $inceptionData != null){
+
+ $policy_details = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
+
+ if ($policy_details['cd_ac_no'] == null) {
+ $this->myLogger->logme('error', 'The policy does not have a CD account number.');
+ return 5;
+ }
+
+ $cash_balance = $this->clientDepositModel->where('cd_ac_no', $policy_details['cd_ac_no'])->orderBy('id', 'DESC')->first();
+
+ if ($cash_balance == null) {
+ $balance = $this->CDMasterModel
+ ->where('client_id', $export_data['client_id'])
+ ->where('insurer_id', $policy_details['insurer_id'])
+ ->where('cd_ac_no', $policy_details['cd_ac_no'])
+ ->first();
+
+ $cash_balance['balance'] = $balance['opening_bal'];
+ }
+
+ // Calculate the total amount from the objects
+ $totals = 0;
+ foreach ($inceptionData as $item) {
+ $totals = $totals + $item->total;
+ }
+
+ $totals = round($totals, 2);
+ if (!empty($cash_balance)) {
+ if ((int) $cash_balance['balance'] < (int) $totals) {
+ $this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount.');
+ $this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount. CASH BALANCE : {balance} and TOTAL AMOUNT : {total}', ['balance' => $cash_balance['balance'], 'total' => $totals]);
+ return 0;
+ }
+ }
+ }
+
+ $this->removeOldExportInfoFromBatchFile($export_data);
+
+
+ // Merging all data into a single array
+ $mergedData = array_merge($inceptionData, $additionData, $dependentAdditionData, $correctionData, $enhancementData, $deletionData);
+
+ // dd($inceptionData, $additionData, $dependentAdditionData, $correctionData, $enhancementData, $deletionData, $mergedData);
+
+
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', 'inception')
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+
+ if(!empty($template_json) && $template_json != null){
+ $excel_header_columns = json_decode($template_json['jsoncolumns'], true);
+ }else{
+ return 6;
+ }
+
+
+ // Generating Excel data
+ $excel_data_info = generate_insurer_based_excel($excel_header_columns, $mergedData);
+
+ // Generate Excel file
+ $tempFile = tmpfile();
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile);
+
+ // If Excel generation is successful
+ if ($success) {
+
+ $random_number_count = 4;
+ $batch_code = generate_random_string($random_number_count);
+ session()->set('batch_code', $batch_code);
+
+ foreach ($event_type_array as $value)
+ {
+ $random_number_count = 4;
+ $export_data['batch_code'] = session()->get('batch_code');
+ $export_data['created_by'] = get_session_userid();
+
+ if($value == 'addition'){
+
+ if(!empty($additionData) && $additionData != null){
+
+ $count = count($additionData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'addition';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $additionData]]);
+
+ }
+
+ }else if($value == 'inception'){
+
+ if(!empty($inceptionData) && $inceptionData != null){
+
+ $count = count($inceptionData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'inception';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $inceptionData]]);
+ }
+
+ }else if($value == 'dependent_addition'){
+
+ if(!empty($dependentAdditionData) && $dependentAdditionData != null){
+
+ $count = count($dependentAdditionData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'dependent_addition';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $dependentAdditionData]]);
+ }
+ }else if($value == 'deletion'){
+
+ if(!empty($deletionData) && $deletionData != null){
+
+ $count = count($deletionData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'deletion';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $deletionData]]);
+ }
+
+ }else if($value == 'si_enhancement'){
+
+ if(!empty($enhancementData) && $enhancementData != null){
+
+ $count = count($enhancementData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'si_enhancement';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $enhancementData]]);
+ }
+
+ }else if($value == 'correction'){
+
+ if(!empty($correctionData) && $correctionData != null){
+
+ $count = count($correctionData);
+ $export_data['count'] = $count;
+ $export_data['status'] = 'success';
+ $export_data['event_type'] = 'correction';
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $correctionData]]);
+ }
+ }
+
+ }
+
+ session()->remove('batch_code');
+
+ // If batch operation is successful
+ if (true) {
+
+ // Clear the output buffer to avoid any unwanted output
+ if (ob_get_level()) {
+ ob_end_clean();
+ }
+
+ // Set headers for Excel file download
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ header('Content-Disposition: attachment; filename="' . $export_data['file_name'] . '"');
+ header('Content-Transfer-Encoding: binary');
+ header('Cache-Control: must-revalidate');
+ header('Pragma: public');
+ header('Expires: 0');
+
+ // Output file contents
+ rewind($tempFile);
+ fpassthru($tempFile);
+
+ // Close and remove temporary file
+ fclose($tempFile);
+
+ return true; // Excel file successfully generated and exported
+
+ } else {
+
+ return false; // Batch operation failed
+ }
+ }
+
+ return false; // Excel generation failed
+
+
+
+ }
+
//not in use
public function generateExcelForAdditionAndDependentAddition($export_data)
{
@@ -1229,7 +1758,7 @@ class EmpDataServiceController extends BaseController
$this->myLogger->logme('error', 'Inception Update TPA and UHID -- total amount for cash deposite : {data}', ['data' => $totals]);
- if ($file['insurer_or_tpa'] == 'tpa') {
+ if ($file['insurer_or_tpa'] == 'insurer') {
$this->myLogger->logme('error', 'Inception Update TPA and UHID -- set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE');
@@ -3378,8 +3907,8 @@ class EmpDataServiceController extends BaseController
public function getPolicyNameUsingClientPolicyId($client_policy_id)
{
- return $this->clientPolicyModel->select('policies.name as policy_name')
- ->join('policies', 'policies.id = client_policy.policy_id')
+ return $this->clientPolicyModel->select('policy_type.policy_type as policy_name')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->where('client_policy.id', $client_policy_id)
->first();
}
@@ -3701,8 +4230,6 @@ class EmpDataServiceController extends BaseController
}
}
-
-
public function readExcelFileToArray($path)
{
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($path);
@@ -3725,9 +4252,8 @@ class EmpDataServiceController extends BaseController
return $filtered_data;
}
-
-
- public function removeOldExportInfoFromBatchFile($params){
+ public function removeOldExportInfoFromBatchFile($params)
+ {
$client_id = $params['client_id'];
$client_policy_id = $params['client_policy_id'];
@@ -3750,21 +4276,18 @@ class EmpDataServiceController extends BaseController
$batch_code = $batch_data['batch_code'];
$this->batchFileModel->where('id', $id)->delete();
$this->batchListModel->where('batch_code', $batch_code)->delete();
-
}
-
-
}
-
- public function getDataByFileId($file_id, $status = 'success'){
+ public function getDataByFileId($file_id, $status = 'success')
+ {
$data = $this->batchFileModel
- ->select('batch_files.*, clients.client_name, clients.short_name, policies.name as policy_name, client_branch.branch_name')
+ ->select('batch_files.*, clients.client_name, clients.short_name, policy_type.policy_type as policy_name, client_branch.branch_name')
->join('clients', 'clients.id = batch_files.client_id')
->join('client_policy', 'client_policy.id = batch_files.client_policy_id')
->join('client_branch', 'client_branch.id = batch_files.client_branch_id')
- ->join('policies', 'policies.id = client_policy.policy_id')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->where('batch_files.id', $file_id)
->first();
@@ -3786,8 +4309,8 @@ class EmpDataServiceController extends BaseController
return ['msg_txt' => $msg_txt, 'user_id' => $user_id, 'url' => $url, 'status' => $status, 'title' => $msg_title];
}
-
- public function setPullNotification($data){
+ public function setPullNotification($data)
+ {
$array = ['message_text' => $data['msg_txt'], 'action_url' => $data['url'], 'msg_status' => $data['status'], 'msg_title' => $data['title']];
@@ -3808,6 +4331,60 @@ class EmpDataServiceController extends BaseController
}
+ public function updatajson()
+ {
+
+ // $columns = [
+ // ["column_index" => 0, "column_name" => "MEMBERID / EMPID", "db_column_name" => "emp_code"],
+ // ["column_index" => 1, "column_name" => "UHID", "db_column_name" => "uhid"],
+ // ["column_index" => 2, "column_name" => "GRADE", "db_column_name" => null],
+ // ["column_index" => 3, "column_name" => "DOJ", "db_column_name" => "emp_doj"],
+ // ["column_index" => 4, "column_name" => "INSURED NAME", "db_column_name" => "insured_name"],
+ // ["column_index" => 5, "column_name" => "ADDRESS 1", "db_column_name" => null],
+ // ["column_index" => 6, "column_name" => "ADDRESS 2", "db_column_name" => null],
+ // ["column_index" => 7, "column_name" => "CITY", "db_column_name" => null],
+ // ["column_index" => 8, "column_name" => "STATE", "db_column_name" => null],
+ // ["column_index" => 9, "column_name" => "PINCODE", "db_column_name" => null],
+ // ["column_index" => 10, "column_name" => "Age", "db_column_name" => "emp_age"],
+ // ["column_index" => 11, "column_name" => "DOB", "db_column_name" => "emp_dob"],
+ // ["column_index" => 12, "column_name" => "RELATION SHIP", "db_column_name" => "emp_relationship"],
+ // ["column_index" => 13, "column_name" => "Gender", "db_column_name" => "emp_gender"],
+ // ["column_index" => 14, "column_name" => "DOC", "db_column_name" => "doc"],
+ // ["column_index" => 15, "column_name" => "DOE", "db_column_name" => "doe"],
+ // ["column_index" => 16, "column_name" => "SUM INSURED", "db_column_name" => "basic_cover_si"],
+ // ["column_index" => 17, "column_name" => "PROPOSER NAME", "db_column_name" => null],
+ // ["column_index" => 18, "column_name" => "DOS", "db_column_name" => "dos"],
+ // ["column_index" => 19, "column_name" => "MOBILE NO", "db_column_name" => null],
+ // ["column_index" => 20, "column_name" => "EMAIL ID", "db_column_name" => null],
+ // ["column_index" => 21, "column_name" => "FATHER/HUSBAND NAME", "db_column_name" => null],
+ // ["column_index" => 22, "column_name" => "REMARKS", "db_column_name" => null],
+ // ["column_index" => 23, "column_name" => "FLAG STATUS", "db_column_name" => "flag_status"],
+ // ["column_index" => 24, "column_name" => "EXCEPTIONS", "db_column_name" => "exceptions"],
+ // ["column_index" => 25, "column_name" => "ABHA", "db_column_name" => null]
+ // ];
+
+ // $columns = [
+ // ["column_index" => 0, "column_name" => "Sr.No", "db_column_name" => "index"],
+ // ["column_index" => 1, "column_name" => "Tata Aig Ref. No", "db_column_name" => "uhid"],
+ // ["column_index" => 2, "column_name" => "EMP ID", "db_column_name" => "emp_code"],
+ // ["column_index" => 3, "column_name" => "Name of Insured", "db_column_name" => "emp_name"],
+ // ["column_index" => 4, "column_name" => "GC Current Details", "db_column_name" => "old_value"],
+ // ["column_index" => 5, "column_name" => "Modified Details", "db_column_name" => "new_value"],
+ // ["column_index" => 6, "column_name" => "Revision W.E.F (DD/MM/YYYY)", "db_column_name" => null],
+ // ["column_index" => 7, "column_name" => "NEW TTD", "db_column_name" => null],
+ // ["column_index" => 8, "column_name" => "New Category's", "db_column_name" => null],
+ // ["column_index" => 9, "column_name" => "Remarks", "db_column_name" => "remarks"],
+ // ["column_index" => 10, "column_name" => "DOC", "db_column_name" => null],
+ // ["column_index" => 11, "column_name" => "Errors", "db_column_name" => null]
+ // ];
+
+
+
+ // $json = json_encode($columns);
+ // $this->excelExportTemplateModel->where('id', 31)->set('jsoncolumns', $json)->update();
+
+ }
+
}
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index ec8467e6..99b54b88 100644
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -18,6 +18,9 @@ use App\Models\BatchFileModel;
use App\Models\EmpEndorsementModel;
use App\Models\ClientPolicyModel;
use App\Models\TPAModel;
+use App\Models\InsurerExcelExportTemplateModel;
+use App\Models\InsurerModel;
+
use App\Controllers\Jobs;
use App\Controllers\JobWorker;
@@ -51,6 +54,8 @@ class EmployeeController extends AdminController
protected $clientPolicyModel;
protected $TPAModel;
protected $policiesModel;
+ protected $excelExportTemplateModel;
+ protected $insurerModel;
public function __construct()
{
@@ -67,6 +72,7 @@ class EmployeeController extends AdminController
$this->clientPolicyModel = new ClientPolicyModel();
$this->TPAModel = new TPAModel();
$this->policiesModel = new PolicesModel();
+ $this->insurerModel = new InsurerModel();
}
public function list()
@@ -257,7 +263,6 @@ class EmployeeController extends AdminController
'files.*',
'up.emp_code',
'up.first_name',
- 'pm.name as policy_name',
'c.short_name',
'cb.branch_name',
'cp.id as client_policy_id',
@@ -275,8 +280,7 @@ class EmployeeController extends AdminController
->join('user_profiles up', 'files.created_by = up.id')
->join('client_policy cp', 'files.policy_id = cp.id', 'left')
->join('client_branch cb', 'files.client_branch_id = cb.id', 'left')
- ->join('policies pm', 'cp.policy_id = pm.id', 'left')
- ->join('policy_type', 'policy_type.id = pm.policy_type_id')
+ ->join('policy_type', 'policy_type.id = cp.policy_type_id')
->join('clients c', 'files.client_id = c.id and files.client_id = cp.client_id', 'left')
->where('files.created_by', get_session_userid())
->orderBy('files.created_at', 'desc')
@@ -285,7 +289,6 @@ class EmployeeController extends AdminController
$data['batch_list'] = $this->batchFileModel->select(
'batch_files.*,
- policies.name as policy_name,
clients.short_name as client_short_name,
client_branch.branch_name,
client_policy.policy_no,
@@ -293,8 +296,7 @@ class EmployeeController extends AdminController
')
->join('client_policy', 'client_policy.id = batch_files.client_policy_id')
->join('client_branch', 'client_branch.id = batch_files.client_branch_id')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->join('clients', 'clients.id = client_policy.client_id')
->orderBy('batch_files.id', 'desc')
->findAll();
@@ -387,6 +389,15 @@ class EmployeeController extends AdminController
public function importExport()
{
+ $array = $this->request->getPost('event_type');
+
+ if (is_array($array)) {
+ $event_type = 'MultipleEvents';
+ } else {
+ $event_type = $this->request->getPost('event_type');
+ }
+
+
$this->myLogger->logme('error', 'Import Export -- Function called');
$empDataServiceController = new EmpDataServiceController();
@@ -394,16 +405,12 @@ class EmployeeController extends AdminController
$client_policy_id = $this->request->getPost('client_policy_id');
$client_branch_id = $this->request->getPost('client_branch_id');
$insurer_or_tpa = $this->request->getPost('insurer_or_tpa');
- $event_type = $this->request->getPost('event_type');
$actions = $this->request->getPost('action_type');
- $client_data = $this->clientModel->where('id', $client_id)->first();
- $policy_name_and_branch_name = $this->clientPolicyModel->select('policies.name, client_branch.branch_code')
- ->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->where('client_policy.id', $client_policy_id)
- ->first();
- $file_name = generate_filename($client_data['short_name'], $event_type, $actions, $insurer_or_tpa, $policy_name_and_branch_name['name'], $policy_name_and_branch_name['branch_code']);
+ $client_data = $this->clientPolicyModel->getCliendDataForExcelFileName($client_policy_id);
+ $file_name = generate_filename($client_data['short_name'], $event_type, $actions, $insurer_or_tpa, $client_data['policy_type'], $client_data['branch_code']);
+
+ // dd($client_data, $file_name);
$batch_data = [
'client_id' => $client_id,
@@ -415,7 +422,6 @@ class EmployeeController extends AdminController
'file_name' => $file_name,
];
-
if ($actions == 'export') {
if ($event_type == 'inception' || $event_type == 'addition' || $event_type == 'dependent_addition') {
@@ -432,6 +438,11 @@ class EmployeeController extends AdminController
session()->setFlashdata('error', "The policy does not have a CD account number.");
return redirect()->to(base_url('employee/upload'));
}
+ else if($return === 6){
+
+ session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
+ return redirect()->to(base_url('employee/upload'));
+ }
if (!$return) {
@@ -448,6 +459,12 @@ class EmployeeController extends AdminController
} else if ($event_type == 'correction') {
$return = $empDataServiceController->generateExcelForCorrection($batch_data);
+
+ if($return === 6){
+ session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
+ return redirect()->to(base_url('employee/upload'));
+ }
+
if (!$return) {
session()->setFlashdata('error', 'No data found about this action');
return redirect()->to(base_url('employee/upload'));
@@ -466,6 +483,10 @@ class EmployeeController extends AdminController
session()->setFlashdata('error', "The policy does not have a CD account number.");
return redirect()->to(base_url('employee/upload'));
+ }else if($return === 6){
+
+ session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
+ return redirect()->to(base_url('employee/upload'));
}
if (!$return) {
@@ -477,12 +498,38 @@ class EmployeeController extends AdminController
} else if ($event_type == 'deletion') {
$return = $empDataServiceController->generateExcelForDeletion($batch_data);
+
+ if($return === 6){
+
+ session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
+ return redirect()->to(base_url('employee/upload'));
+ }
+
if (!$return) {
session()->setFlashdata('error', 'No data found about this action');
return redirect()->to(base_url('employee/upload'));
} else {
$this->myLogger->logme('error', 'Successfully exported Excel file in Deletion.');
}
+ } else if($event_type == 'MultipleEvents'){
+
+ $batch_data['event_type'] = $array;
+ $return = $empDataServiceController->generateExcelForAllEventType($batch_data);
+
+
+ if($return === 6){
+
+ session()->setFlashdata('error', "The Insurer does not have an Excel export template format.");
+ return redirect()->to(base_url('employee/upload'));
+ }
+
+ if (!$return) {
+ session()->setFlashdata('error', 'No data found about this action');
+ return redirect()->to(base_url('employee/upload'));
+ } else {
+ $this->myLogger->logme('error', 'Excel exported successfully.');
+ }
+
}
} else if ($actions == 'import') {
@@ -908,13 +955,14 @@ class EmployeeController extends AdminController
return $response;
}
-
public function generateIDCardForEmployee($rand_string, $people = 0)
{
// dd($rand_string, $people);
-
try {
-
+ $this->myLogger->logme('error', 'generateIDCardForEmployee function started.');
+
+ // Step 1: Attempt to fetch employee code and client policy ID
+ $this->myLogger->logme('error', 'Fetching employee code and client policy ID.');
$get_emp_code_and_client_policy_id = $this->employeePolicyModel
->select('employee_polices.client_policy_id, employees.emp_code, tpa.short_name')
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
@@ -925,53 +973,51 @@ class EmployeeController extends AdminController
->where("employee_polices.tpa_id IS NOT NULL AND employee_polices.tpa_id <> ''")
->where('employee_polices.status', 'active')
->where('employee_polices.is_active', '1')
- ->where('employee_polices.rand_string', $rand_string)->first();
-
- // dd($get_emp_code_and_client_policy_id);
-
-
+ ->where('employee_polices.rand_string', $rand_string)
+ ->first();
+
if ($get_emp_code_and_client_policy_id == null || $get_emp_code_and_client_policy_id == "") {
-
+ $this->myLogger->logme('error', 'Member not found in this rand_string: ' . $rand_string);
$data['message'] = 'Record Not Found';
return view('errors/404', $data);
}
-
+
+ $this->myLogger->logme('error', 'Member found. Client policy ID: ' . $get_emp_code_and_client_policy_id['client_policy_id']);
+
$client_policy_id = $get_emp_code_and_client_policy_id['client_policy_id'];
$emp_code = $get_emp_code_and_client_policy_id['emp_code'];
-
-
+
+ // Step 2: Fetch ECard data
+ $this->myLogger->logme('error', 'Fetching ECard data using client_policy_id: ' . $client_policy_id . ' and emp_code: ' . $emp_code);
$data = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
-
- if($people == 0){
- $data = $this->employeePolicyModel->getECardSingleData($rand_string, $emp_code);
+
+ if ($people == 0) {
+ $this->myLogger->logme('error', 'Fetching single ECard data using rand_string: ' . $rand_string . ' and emp_code: ' . $emp_code);
+ $data = $this->employeePolicyModel->getECardSingleData($rand_string, $emp_code);
}
-
- // dd($data);
-
- $template_data_path = WRITEPATH . 'e_card_template/';
+
+ // Step 3: Prepare template path
+ $template_data_path = WRITEPATH . 'e_card_template/';
$tpa_short_name = strtolower(str_replace(' ', '_', $get_emp_code_and_client_policy_id['short_name'])) . '.html';
- $final_path = $template_data_path . $tpa_short_name;
-
- // dd($template_data_path, $tpa_short_name, $final_path);
-
+ $final_path = $template_data_path . $tpa_short_name;
+
+ $this->myLogger->logme('error', 'Checking if template file exists at: ' . $final_path);
+
if (!file_exists($final_path)) {
-
- $data['message'] = 'Record Not Found';
+ $this->myLogger->logme('error', 'Template file not found: ' . $final_path);
+ $data['message'] = 'Template File Not Found';
return view('errors/404', $data);
- }
-
+ }
+
+ $this->myLogger->logme('error', 'Template file found. Reading template data.');
$tmplt_data = file_get_contents($final_path);
-
- // dd($tmplt_data);
-
- $html = ""; // Initialize the HTML variable
+
+ // Step 4: Generate HTML content
+ $this->myLogger->logme('error', 'Generating HTML content from template.');
+ $html = "";
foreach ($data as $key => $value) {
-
- // Get the HTML content from the template
- // $htmlContent = view('ecard_template/md_tpa');
$htmlContent = $tmplt_data;
-
- // Define the placeholders and their corresponding values
+
$placeholders = [
'{TPA_ID}' => $value['tpa_id'],
'{NAME}' => $value['name'],
@@ -986,12 +1032,12 @@ class EmployeeController extends AdminController
'{INSURER_LOGO}' => base_url() . 'public/uploads/logo/' . $value['insurer_logo'],
'{FRONT_CARD}' => base_url() . 'public/uploads/template_bg/' . $value['front_card'],
'{BACK_CARD}' => base_url() . 'public/uploads/template_bg/' . $value['back_card'],
- '{EMP_ID}' =>$value['emp_code'],
- '{CORPORATE_NAME}' =>$value['client_name'],
- '{AGE}' =>$value['emp_age'],
- '{TPA_NAME}' =>$value['tpa_name'],
- '{INSURER_BRANCH}' =>$value['insurer_branch_city'],
- '{RELATION}' =>$value['relationship'],
+ '{EMP_ID}' => $value['emp_code'],
+ '{CORPORATE_NAME}' => $value['client_name'],
+ '{AGE}' => $value['emp_age'],
+ '{TPA_NAME}' => $value['tpa_name'],
+ '{INSURER_BRANCH}' => $value['insurer_branch_city'],
+ '{RELATION}' => $value['relationship'],
'{TPA_LOGO}' => base_url() . 'public/uploads/logo/' . $value['tpa_logo'],
'{MEDI_USER}' => base_url() . 'public/e_card_imgs/medi_uesr.jpg',
'{MEDI_INSURER}' => base_url() . 'public/e_card_imgs/Magma.png',
@@ -1000,17 +1046,17 @@ class EmployeeController extends AdminController
'{QR_IOS}' => base_url() . 'public/e_card_imgs/ios.png',
'{QR_ANDROID_2}' => base_url() . 'public/e_card_imgs/play_store.png',
'{QR_IOS_2}' => base_url() . 'public/e_card_imgs/appstore.png',
-
];
-
- // Replace placeholders with values in HTML content
+
foreach ($placeholders as $placeholder => $replaceValue) {
$htmlContent = str_replace($placeholder, $replaceValue, $htmlContent);
}
-
+
$html .= $htmlContent;
}
-
+
+ // Step 5: Output HTML and script for printing
+ $this->myLogger->logme('error', 'Generating HTML output with print button.');
echo '' . $html . '
';
-
-
-
- // $file_name = $get_emp_code_and_client_policy_id['short_names'] ?? 'md_tpa';
- // $file_name = strtolower(str_replace(' ', '_', $file_name));
-
-
-
- // $file_path = ROOTPATH . 'app/Views/ecard_template/' . $file_name . '.php';
-
- // if (is_file($file_path)) {
- // $view_file = 'ecard_template/' . $file_name;
-
- // } else {
- // $view_file = 'ecard_template/default_ecard';
-
- // }
-
-
- // $dpi = 132;
- // $html = view('ecard_template/md_tpa');
- // // echo $html; die;
-
- // $options = new Options();
- // $options->set('isRemoteEnabled', true);
- // $options->set('isPhpEnabled', true);
- // $options->setDpi($dpi);
- // $dompdf = new Dompdf($options);
-
- // $dompdf->loadHtml($html);
- // $dompdf->setPaper('A4', 'portrait');
- // $dompdf->render();
-
-
- // $filename = 'ECard.pdf'; // Default filename
-
- // foreach ($data['data'] as $key => $value) {
-
- // if ($value['relationship'] == "Self") {
-
- // $filename = $value['tpa_id'] . '.pdf'; // Update filename if relationship is "Self"
- // } elseif (!empty($value['tpa_id']) && $filename == 'ECard.pdf') {
-
- // $filename = $value['tpa_id'] . '.pdf';
- // }
- // }
-
- // $dompdf->stream($filename, array("Attachment" => false));
-
+
+ $this->myLogger->logme('error', 'generateIDCardForEmployee function completed successfully.');
+
} catch (\Exception $e) {
-
- $data['message'] = 'Record Not Founds';
+ $this->myLogger->logme('error', 'Exception occurred: ' . $e->getMessage());
+ $data['message'] = 'Record Not Found';
return view('errors/404', $data);
}
+
}
-
public function viewECard()
{
@@ -1084,7 +1084,7 @@ class EmployeeController extends AdminController
$empDataServiceController = new EmpDataServiceController();
$file_name = generate_filename("TCS", 'inception', 'export', 'insurer', 'policy', 'branch');
- $batch_data = [
+ $export_data = [
'client_id' => 12,
'client_policy_id' => 12,
'client_branch_id' => 1,
@@ -1094,24 +1094,88 @@ class EmployeeController extends AdminController
'file_name' => $file_name,
];
- $return = $empDataServiceController->generateExcelForAdditionandInception($batch_data);
+ $template_json = $this->clientPolicyModel
+ ->select('insurer_excel_export_template.jsoncolumns')
+ ->join('insurer_excel_export_template', 'insurer_excel_export_template.insurer_id = client_policy.insurer_id and insurer_excel_export_template.policy_type_id = client_policy.policy_type_id')
+ ->where('client_policy.id', $export_data['client_policy_id'])
+ ->where('insurer_excel_export_template.event_name', $export_data['event_type'])
+ ->where('insurer_excel_export_template.type_name', $export_data['actions'])
+ ->first();
+
+ $template_array = json_decode($template_json['jsoncolumns'], true);
+
+ // dd($template_array);
+
+ $objects = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
+
+ $totals = 0;
+ foreach ($objects as $item) {
+ $totals += $item->total;
+ }
+
+ dd($objects, $totals);
+
+ $excel_data_info = generate_insurer_based_excel($template_array, $objects);
+
+ // Generate Excel file
+ $tempFile = tmpfile();
+ $success = generate_excel($excel_data_info['header'], $excel_data_info['data'], $tempFile, 1);
+
+ // If Excel generation is successful
+ if ($success) {
+
+ $random_number_count = 4;
+ $export_data['batch_code'] = generate_random_string($random_number_count);
+ $export_data['created_by'] = get_session_userid();
+
+ $insert = $this->batchFileModel->insert($export_data);
+ $batch_file_batch_code = $this->batchFileModel->where('id', $insert)->first();
+ $batch_code = $batch_file_batch_code['batch_code'];
+
+ // $this->insertBatchList(['batch_code' => $batch_code, 'batch_list_data' => $objects ]);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'insertBatchList', 'payload' => ['batch_code' => $batch_code, 'user_id' => get_session_userid(), 'batch_list_data' => $objects]]);
+
+
+ // If batch operation is successful
+ if (true) {
+
+ // Clear the output buffer to avoid any unwanted output
+ if (ob_get_level()) {
+ ob_end_clean();
+ }
+
+ // Set headers for Excel file download
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ header('Content-Disposition: attachment; filename="' . $export_data['file_name'] . '"');
+ header('Content-Transfer-Encoding: binary');
+ header('Cache-Control: must-revalidate');
+ header('Pragma: public');
+ header('Expires: 0');
+
+ // Output file contents
+ rewind($tempFile);
+ fpassthru($tempFile);
+
+ // Close and remove temporary file
+ fclose($tempFile);
+
+ return true; // Excel file successfully generated and exported
+
+ } else {
+
+ return false; // Batch operation failed
+ }
+ }
- if ($return == 0) {
- dd('error', "Insufficient deposit amount.");
- }else if($return == 1){
- dd('error', "The policy does not have a CD account number.");
- }
- if (!$return) {
- dd('error', "No data was found");
- }
}
-
public function truncateFileData() //truncateFileDataIn DB (de activate rows)
{
$file_id = $this->request->uri->getSegment(3);
@@ -1164,9 +1228,6 @@ class EmployeeController extends AdminController
}
}
-
-
-
public function previewTemplate($id = null)
{
@@ -1249,7 +1310,6 @@ class EmployeeController extends AdminController
echo $htmlContent;
}
-
public function errorListExportImport($file_id)
{
@@ -1340,6 +1400,7 @@ class EmployeeController extends AdminController
{
$client_policy_id = $this->request->uri->getSegment(3);
$policy_details = $this->clientPolicyModel->find($client_policy_id);
+ $insurer_details = $this->insurerModel->where('id', $policy_details['insurer_id'])->first();
$policy_terms = isset($policy_details['policy_terms']) ? true : false;
$si_enhancement_true_or_false = 1;
@@ -1366,7 +1427,7 @@ class EmployeeController extends AdminController
}
$message = isset($message) ? ($message . ' not defined for choosed policy') : null;
- return $this->respond(['dataStatus' => true, 'code' => 200, 'message' => $message, 'si_enhancement' => $si_enhancement_true_or_false], 200);
+ return $this->respond(['dataStatus' => true, 'code' => 200, 'message' => $message, 'si_enhancement' => $si_enhancement_true_or_false, 'insurer_multi_event' => $insurer_details['is_multi_event']], 200);
}
diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php
index 9ba53688..3cbcb39b 100644
--- a/app/Controllers/EmployeeServiceController.php
+++ b/app/Controllers/EmployeeServiceController.php
@@ -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
@@ -1748,10 +1748,10 @@ class EmployeeServiceController extends AdminController
public function getFileMetaDataByFileId($file_id, $status = 'success'){
$data = $this->fileModel
- ->select('files.*, clients.client_name, clients.short_name, policies.name as policy_name,client_branch.branch_code')
+ ->select('files.*, clients.client_name, clients.short_name, policy_type.policy_type as policy_name,client_branch.branch_code')
->join('clients', 'clients.id = files.client_id')
->join('client_policy', 'client_policy.id = files.policy_id')
- ->join('policies', 'policies.id = client_policy.policy_id')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->join('client_branch', 'client_branch.id = files.client_branch_id','left')
->where('files.id', $file_id)
->first();
diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php
index 0d7fde57..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,7 +130,6 @@ class MasterController extends AdminController
}
}
-
public function editInsurerOnboarding($id = null)
{
@@ -156,7 +161,6 @@ class MasterController extends AdminController
}
-
public function insurerOnboarding()
{
@@ -187,7 +191,6 @@ class MasterController extends AdminController
}
-
public function createInsurerGeneralInfo()
{
@@ -244,7 +247,6 @@ class MasterController extends AdminController
}
}
-
public function insurerBranchList($id = null)
{
$this->myLogger->logme('error','Edit Insurer Onboarding function called');
@@ -257,9 +259,6 @@ class MasterController extends AdminController
exit();
}
-
-
-
public function editInsurerGeneralInfo()
{
$this->myLogger->logme('error','edit Insurer general info function called');
@@ -289,7 +288,6 @@ class MasterController extends AdminController
}
}
-
public function editInsurerGet($id = null)
{
$this->myLogger->logme('error','Edit TPA Onboarding function called');
@@ -339,15 +337,12 @@ class MasterController extends AdminController
}
}
-
-
-// Insurer Ends
+ // Insurer Ends
-// TPA Start
-
+ // TPA Start
public function tpaList()
{
@@ -707,7 +702,6 @@ class MasterController extends AdminController
}
}
-
public function removeKYCDocs($id = null)
{
$this->myLogger->logme('error','KYC Docs Remove function called');
@@ -748,9 +742,6 @@ class MasterController extends AdminController
}
-
-
-
public function createKYCInfo()
{
@@ -767,9 +758,6 @@ class MasterController extends AdminController
}
}
-
-
-
public function createKycDocs()
{
@@ -794,7 +782,6 @@ class MasterController extends AdminController
}
}
-
public function editKYCOnboarding($id = null)
{
@@ -814,9 +801,6 @@ class MasterController extends AdminController
}
-
-
-
public function kycDocsList($id = null)
{
@@ -831,8 +815,6 @@ class MasterController extends AdminController
exit();
}
-
-
public function editKYCInfo()
{
$this->myLogger->logme('error','edit KYC general info function called');
@@ -847,7 +829,6 @@ class MasterController extends AdminController
}
}
-
public function editKYCGet($id = null)
{
$this->myLogger->logme('error','Edit KYC Onboarding function called');
@@ -860,8 +841,6 @@ class MasterController extends AdminController
exit();
}
-
-
public function editKYCDocs()
{
$this->myLogger->logme('error','edit KYC Docs function called');
@@ -875,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');
@@ -901,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');
@@ -956,9 +930,6 @@ class MasterController extends AdminController
}
-
-
-
public function createPolicies()
{
$this->myLogger->logme('error','Policies CREATE function called');
@@ -980,9 +951,6 @@ class MasterController extends AdminController
}
}
-
-
-
public function createPolicyType()
{
$this->myLogger->logme('error','Policy Type CREATE function called');
@@ -999,7 +967,6 @@ class MasterController extends AdminController
}
}
-
public function editPolicyTypeOnboarding($id = null)
{
@@ -1020,7 +987,6 @@ class MasterController extends AdminController
}
-
public function editPolicyType()
{
$this->myLogger->logme('error','edit Policy general info function called');
@@ -1035,7 +1001,6 @@ class MasterController extends AdminController
}
}
-
public function policesList($id = null)
{
$this->myLogger->logme('error','Edit Policies Onboarding function called');
@@ -1066,8 +1031,6 @@ class MasterController extends AdminController
exit();
}
-
-
public function editPoliciesGet($id = null)
{
$this->myLogger->logme('error','Edit Policies Onboarding function called');
@@ -1078,7 +1041,6 @@ class MasterController extends AdminController
exit();
}
-
public function editPolicies()
{
$this->myLogger->logme('error','edit Policy general info function called');
@@ -1093,9 +1055,11 @@ class MasterController extends AdminController
echo json_encode(array("status" => false));
}
}
+
+ //end policies
-
+ //start CD Master list
public function CDMasterList()
{
@@ -1105,7 +1069,6 @@ class MasterController extends AdminController
$this->loadLayout('cd_master_list', $data);
}
-
public function createCDMasterData()
{
@@ -1113,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 {
@@ -1134,7 +1114,6 @@ class MasterController extends AdminController
}
}
-
public function editCDMasterData($id = null)
{
@@ -1147,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");
@@ -1187,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/PendingActionsController.php b/app/Controllers/PendingActionsController.php
index c7764902..b47a4b2f 100644
--- a/app/Controllers/PendingActionsController.php
+++ b/app/Controllers/PendingActionsController.php
@@ -86,7 +86,7 @@ class PendingActionsController extends AdminController
$builder = $this->db->table('client_policy cp');
$builder->select('
clients.client_name,
- policies.name as policy_name,
+ policy_type.policy_type as policy_name,
cp.id as client_policy_id,
cp.client_id,
cp.policy_id,
@@ -102,7 +102,7 @@ class PendingActionsController extends AdminController
$builder->join('employee_polices ep', 'cp.id = ep.client_policy_id AND ep.is_active = 1', 'left');
$builder->join('clients', 'cp.client_id = clients.id');
$builder->join('client_branch cb', 'cb.id = cp.client_branch_id');
- $builder->join('policies', 'cp.policy_id = policies.id');
+ $builder->join('policy_type', 'cp.policy_type_id = policy_type.id');
$builder->where('cp.is_active', 1);
$builder->where('cp.open_for_enrollment', 1);
$builder->where('cp.is_addon', 1);
@@ -234,8 +234,7 @@ class PendingActionsController extends AdminController
client_branch.id as branch_id,
client_branch.branch_name,
client_policy.id as client_policy_id,
- policies.name as policy_name,
- policies.id as pid,
+ policy_type.policy_type as policy_name,
emp_endorsement.id,
emp_endorsement.pk,
emp_endorsement.endorsement_id,
@@ -250,7 +249,7 @@ class PendingActionsController extends AdminController
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1')
->join('clients', 'client_policy.client_id = clients.id AND clients.is_active = 1')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
- ->join('policies', 'client_policy.policy_id = policies.id AND policies.is_active = 1')
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id')
->where([
'emp_endorsement.actions' => 'si',
'emp_endorsement.is_active' => 1,
@@ -322,8 +321,7 @@ class PendingActionsController extends AdminController
client_branch.id as branch_id,
client_branch.branch_name,
client_policy.id as client_policy_id,
- policies.name as policy_name,
- policies.id as pid,
+ policy_type.policy_type as policy_name,
emp_endorsement.pk,
emp_endorsement.id,
emp_endorsement.group_key,
@@ -338,7 +336,7 @@ class PendingActionsController extends AdminController
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1', 'left')
->join('clients', 'client_policy.client_id = clients.id AND clients.is_active = 1', 'left')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id', 'left')
- ->join('policies', 'client_policy.policy_id = policies.id AND policies.is_active = 1', 'left')
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
->where([
'emp_endorsement.actions' => 'd',
'emp_endorsement.is_active' => 1,
@@ -346,7 +344,7 @@ class PendingActionsController extends AdminController
'emp_endorsement.endorsement_id' => null,
'emp_endorsement.table_name' => 'employee_polices'
])
- ->groupBy('emp_endorsement.pk, emp_endorsement.emp_code, emp_endorsement.actions, emp_endorsement.name');
+ ->groupBy('emp_endorsement.pk, emp_endorsement.emp_code, emp_endorsement.actions, emp_endorsement.name');
// Build the main query
$builder = $this->db->table('clients');
@@ -406,7 +404,7 @@ class PendingActionsController extends AdminController
->select('ep.client_policy_id')
->select('c.client_name')
->select('c.short_name')
- ->select('p.name as policy_name')
+ ->select('policy_type.policy_type as policy_name')
->select('ep.uhid')
->select('cb.branch_name, cb.id as branch_id')
->select("($subQueryExport) AS batch_export_count", false)
@@ -414,11 +412,11 @@ class PendingActionsController extends AdminController
->join('client_policy cp', 'ep.client_policy_id = cp.id AND cp.is_active = 1 AND cp.policy_status = 1')
->join('clients c', 'c.id = cp.client_id')
->join('client_branch cb', 'cb.id = cp.client_branch_id')
- ->join('policies p', 'p.id = cp.policy_id')
+ ->join('policy_type', 'policy_type.id = cp.policy_type_id')
->where('ep.uhid IS NULL')
->where('ep.status', 'active')
->where('ep.is_active', 1)
- ->groupBy('ep.client_policy_id, ep.uhid, c.short_name, p.name')
+ ->groupBy('ep.client_policy_id, ep.uhid, c.short_name, policy_type.policy_type')
->get();
// Fetch the results
@@ -459,7 +457,7 @@ class PendingActionsController extends AdminController
employee_polices.tpa_id,
clients.short_name,
clients.client_name,
- policies.name as policy_name,
+ policy_type.policy_type as policy_name,
clients.id as client_id,
client_branch.id as branch_id,
client_branch.branch_name
@@ -470,7 +468,7 @@ class PendingActionsController extends AdminController
$builder->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1');
$builder->join('clients', 'clients.id = client_policy.client_id');
$builder->join('client_branch', 'client_branch.id = client_policy.client_branch_id');
- $builder->join('policies', 'policies.id = client_policy.policy_id');
+ $builder->join('policy_type', 'policy_type.id = client_policy.policy_type_id');
$builder->where('employee_polices.tpa_id', null);
$builder->where('employee_polices.uhid IS NOT NULL');
$builder->where('employee_polices.status', 'active');
diff --git a/app/Helpers/excel_import_export_helper.php b/app/Helpers/excel_import_export_helper.php
index a86e5d80..b7eb87c8 100644
--- a/app/Helpers/excel_import_export_helper.php
+++ b/app/Helpers/excel_import_export_helper.php
@@ -665,7 +665,7 @@ if(!function_exists('generate_insurer_based_excel')){
$rowData = [];
foreach ($excel_header_array as $header) {
- $fieldName = $header['header_name'];
+ $fieldName = $header['db_column_name'];
if ($fieldName === 'index') {
$value = $serialNumber;
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/ClientBranchModel.php b/app/Models/ClientBranchModel.php
index c6083a49..ee36cbb4 100644
--- a/app/Models/ClientBranchModel.php
+++ b/app/Models/ClientBranchModel.php
@@ -24,6 +24,7 @@ class ClientBranchModel extends Model
"address2",
"gst",
"sez",
+ "units",
];
public function getBranchAndContactByBranchId($branch_id){
diff --git a/app/Models/ClientModel.php b/app/Models/ClientModel.php
index d1d35a2f..a43c1812 100644
--- a/app/Models/ClientModel.php
+++ b/app/Models/ClientModel.php
@@ -68,11 +68,11 @@ class ClientModel extends Model
'client_policy.id as client_policy_id',
'client_policy.policy_terms',
'client_policy.policy_no',
- 'p.name',
+ // 'p.name',
'pt.policy_type',
])
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
- ->join('policies p', 'p.id = client_policy.policy_id')
+ // ->join('policies p', 'p.id = client_policy.policy_id')
->join('policy_type pt','client_policy.policy_type_id = pt.id')
->where('client_policy.client_id',$client['id'])
->where('client_policy.is_active', 1)
diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php
index b75ca69c..05d09c98 100644
--- a/app/Models/ClientPolicyModel.php
+++ b/app/Models/ClientPolicyModel.php
@@ -45,6 +45,7 @@ class ClientPolicyModel extends Model
"client_branch_id",
"cd_ac_no",
"gst",
+ "enrolment_visibility",
];
public function getClientPolicyById($id){
@@ -73,7 +74,6 @@ class ClientPolicyModel extends Model
->select('client_policy.*')
->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
- ->select('policies.name as policy_name, policies.policy_type_id')
->select('policy_type.policy_type as policy_type_name')
->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
@@ -83,8 +83,7 @@ class ClientPolicyModel extends Model
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
->join('tpa', 'tpa.id = client_policy.tpa_id', 'left')
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
- ->join('policies', 'policies.id = client_policy.policy_id')
- ->join('policy_type', 'policy_type.id = policies.policy_type_id')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
->where('client_policy.client_id', $client_id)
->where('client_policy.policy_status', 1)
@@ -186,14 +185,16 @@ class ClientPolicyModel extends Model
return $this->db->table('cash_deposit')
->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('clients.client_name as clientname, clients.short_name as clientshort, client_policy.policy_no')
+ // ->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)
@@ -263,25 +264,13 @@ public function getBalances($clientId)
public function getDepositlistsummary($id)
{
- // return $this->db->table('cash_deposit')
- // ->select('insurer_id')
- // ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
- // ->where('client_id', $id)
- // ->groupBy('insurer_id')
- // ->get()
- // ->getResult();
-
return $this->db->table('cash_deposit')
- ->select('cash_deposit.insurer_id, cash_deposit.cd_ac_no')
- ->select('(SUM(CASE WHEN cash_deposit.transaction_type = \'Credit\' THEN cash_deposit.amount ELSE -cash_deposit.amount END) + cd_master.opening_bal) AS balance')
- ->join('cd_master', 'cd_master.cd_ac_no = cash_deposit.cd_ac_no')
- ->where('cash_deposit.client_id', $id)
- ->groupBy(['cash_deposit.insurer_id', 'cash_deposit.cd_ac_no', 'cd_master.opening_bal'])
- ->orderBy('cash_deposit.insurer_id', 'DESC')
- ->orderBy('cash_deposit.cd_ac_no', 'DESC')
- ->get()
- ->getResult();
-
+ ->select('insurer_id')
+ ->select('SUM(CASE WHEN transaction_type = "Credit" THEN amount ELSE -amount END) AS balance')
+ ->where('client_id', $id)
+ ->groupBy('insurer_id')
+ ->get()
+ ->getResult();
}
@@ -365,6 +354,34 @@ public function getClientPolicyByPolicyType($client_id, $type){
}
+public function getPolicyTypeForPolicyBinding($client_id){
+
+ $result = $this->table('client_policy')
+ ->select('policy_type.*, client_policy.id as client_policy_id, client_policy.policy_no')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.client_id', $client_id)
+ ->where('client_policy.is_active', 1)
+ ->whereIn('policy_type.id', [2,3])
+ ->findAll();
+
+ return $result;
+
+
+}
+
+
+public function getCliendDataForExcelFileName($client_policy_id){
+
+ return $this->table('client_policy')
+ ->select('clients.short_name, policy_type.policy_type, client_branch.branch_code')
+ ->join('clients', 'clients.id = client_policy.client_id')
+ ->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
+ ->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
+ ->where('client_policy.id', $client_policy_id)
+ ->where('client_policy.is_active', 1)
+ ->first();
+
+}
}
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 160eb71e..7f2b5fd0 100644
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -75,7 +75,7 @@ class EmployeePolicyModel extends Model
return $data;
}
-// -----------------------------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------------------------------------
public function getEmployeePolicy($client_id = 0, $policy_id=0, $status=0, $branch_id=0, $emp_code="", $emp_name="")
{
@@ -143,8 +143,6 @@ class EmployeePolicyModel extends Model
return $result->findAll();
}
-
-
//for emp onboard do not change
public function checkExistingEmpPolicy($arr)
{
@@ -153,8 +151,7 @@ class EmployeePolicyModel extends Model
->where('is_active',1)
->find();
}
-
- //------------------------------------------------------------------
+//-------------------------------------------------------------------------------------------------------
public function getInceptionEmployeeDataForExportExcel($ref_data)
@@ -173,6 +170,21 @@ class EmployeePolicyModel extends Model
$id = 'uhid';
}
+ $datas = '';
+ if($event === 'inception'){
+
+ $datas = 'I';
+
+ }else if($event === 'dependent_addition'){
+
+ $datas = 'DA';
+
+ }else if($event === 'addition'){
+
+ $datas = 'A';
+
+ }
+
$sql = "
SELECT
employees.name AS emp_name,
@@ -182,8 +194,19 @@ class EmployeePolicyModel extends Model
employees.change_event AS change_event,
employees.relationship AS emp_relationship,
employees.relationship_code AS emp_relationship_code,
+ '$datas' as event_type_data,
+
+ employees.doj AS emp_doj,
+ employees.mobile AS emp_mobile,
+ employees.email_corporate AS emp_email_c,
+ employees.email_personal AS emp_email_p,
+ employees.band AS emp_grade,
+ employees.designation AS emp_designation,
+ employees.basic_pay AS emp_basic_pay,
+
TIMESTAMPDIFF(YEAR, employees.dob, CURDATE()) AS emp_age,
employees.emp_type as emp_type,
+
employee_polices.id as primaryKey,
employee_polices.tpa_id,
@@ -192,16 +215,23 @@ class EmployeePolicyModel extends Model
employee_polices.basic_cover_si,
employee_polices.date_coverage,
employee_polices.policy_end_date,
- employee_polices.days,
+ employee_polices.days as no_of_days,
employee_polices.premium,
- employee_polices.rata_premimum,
+ employee_polices.rata_premimum as pro_rata_premium,
employee_polices.gst,
(employee_polices.rata_premimum + employee_polices.gst) AS total,
batch_data.emp_policy_id,
batch_data.bl AS batch_list_batch_code,
- batch_data.bf AS batch_files_batch_code
+ batch_data.bf AS batch_files_batch_code,
+
+ CASE
+ WHEN client_branch.sez = 0 THEN 'NON-SEZ'
+ WHEN client_branch.sez = 1 THEN 'SEZ'
+ END as sez
+
FROM employee_polices
LEFT JOIN employees ON employees.id = employee_polices.employee_id
+ LEFT JOIN client_branch ON client_branch.id = employees.client_branch_id
LEFT JOIN (
SELECT
batch_list.emp_policy_id,
@@ -220,7 +250,6 @@ class EmployeePolicyModel extends Model
AND employee_polices.status = 'active'
AND employees.is_active = 1
AND employees.emp_status = 'active'
-
";
// Get the result set
@@ -254,9 +283,20 @@ class EmployeePolicyModel extends Model
employees.dob AS emp_dob,
employees.gender AS emp_gender,
employees.client_id AS emp_client_id,
- employees.emp_type as emp_type,
+ employees.emp_type as emp_temp_codeype,
employee_polices.uhid,
employees.relationship_code,
+ employees.relationship,
+ 'C' as event_type_data,
+
+ employees.doj AS emp_doj,
+ employees.mobile AS emp_mobile,
+ employees.email_corporate AS emp_email_c,
+ employees.email_personal AS emp_email_p,
+ employees.band AS emp_grade,
+ employees.designation AS emp_designation,
+ employees.basic_pay AS emp_basic_pay,
+
batch_data.emp_policy_id,
batch_data.bl AS batch_list_batch_code,
batch_data.bf AS batch_files_batch_code
@@ -321,7 +361,19 @@ class EmployeePolicyModel extends Model
employees.dob AS emp_dob,
employees.gender AS emp_gender,
employees.relationship_code AS emp_relationship_code,
+ employees.relationship AS emp_relationship,
employees.emp_type as emp_type,
+ 'SI' as event_type_data,
+
+
+ employees.doj AS emp_doj,
+ employees.mobile AS emp_mobile,
+ employees.email_corporate AS emp_email_c,
+ employees.email_personal AS emp_email_p,
+ employees.band AS emp_grade,
+ employees.designation AS emp_designation,
+ employees.basic_pay AS emp_basic_pay,
+
employee_polices.uhid AS risk_id,
employee_polices.pre_existing_alignments,
employee_polices.policy_end_date,
@@ -338,11 +390,18 @@ class EmployeePolicyModel extends Model
sidata.new_si_premium - employee_polices.rata_premimum AS difference_premium,
- ROUND((sidata.new_si_premium - employee_polices.rata_premimum) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365, 2) AS pro_rata_premimum,
+ ROUND((sidata.new_si_premium - employee_polices.rata_premimum) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365, 2) AS pro_rata_premium,
ROUND(((sidata.new_si_premium - employee_polices.rata_premimum) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2) AS gst,
- ((sidata.new_si_premium - employee_polices.rata_premimum) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) + ROUND(((sidata.new_si_premium - employee_polices.rata_premimum) * (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2) AS total
+ ROUND(
+ ((sidata.new_si_premium - employee_polices.rata_premimum) *
+ (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) +
+ ROUND(
+ ((sidata.new_si_premium - employee_polices.rata_premimum) *
+ (DATEDIFF(employee_polices.policy_end_date, sidata.date_of_coverage) + 1) / 365) * 0.18, 2
+ ), 2
+ ) AS total
FROM
emp_endorsement a
@@ -438,12 +497,23 @@ class EmployeePolicyModel extends Model
employees.dob AS emp_dob,
employees.gender AS emp_gender,
employees.relationship AS emp_relationship,
+ employees.relationship_code AS emp_relationship_code,
employees.emp_type as emp_type,
+ 'D' as event_type_data,
+
+ employees.doj AS emp_doj,
+ employees.mobile AS emp_mobile,
+ employees.email_corporate AS emp_email_c,
+ employees.email_personal AS emp_email_p,
+ employees.band AS emp_grade,
+ employees.designation AS emp_designation,
+ employees.basic_pay AS emp_basic_pay,
employee_polices.basic_cover_si,
- employee_polices.uhid as risk_id,
+ employee_polices.uhid as uhid,
employee_polices.policy_end_date,
- employee_polices.rata_premimum as premium,
+ employee_polices.premium,
+ employee_polices.rata_premimum as pro_rata_premium,
batch_data.emp_policy_id AS emp_policy_id,
batch_data.bl AS batch_list_batch_code,
@@ -516,96 +586,6 @@ class EmployeePolicyModel extends Model
}
- public function updateTPAIDorUHID($update_data)
- {
- $client_id = $update_data['client_id'];
- $client_policy_id = $update_data['client_policy_id'];
- $name = $update_data['name'];
- $emp_code = $update_data['emp_code'];
- $uhid = $update_data['uhid'];
- $tpa_id = $update_data['tpa_id'];
-
- $query = "
- UPDATE employee_polices
- JOIN employees ON employees.id = employee_polices.employee_id
- SET employee_polices.tpa_id = '{$tpa_id}',
- employee_polices.uhid = '{$uhid}'
- WHERE employees.emp_code = '{$emp_code}'
- AND employees.name = '{$name}'
- AND employees.client_id = '{$client_id}'
- AND employee_polices.client_policy_id = '{$client_policy_id}'
- ";
-
- $this->query($query);
-
- }
-
-
- public function updateCorrectionData($update_data)
- {
-
- $emp_code = $update_data['emp_code'];
- $uhid = $update_data['uhid'];
- $endorsement_id = $update_data['tpa_id'];
-
- $sql = "
- UPDATE emp_endorsement
- JOIN employees ON employees.id = emp_endorsement.pk
- JOIN employee_polices ON employees.id = employee_polices.employee_id
- SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
- WHERE employees.emp_code = '$emp_code'
- AND employee_polices.uhid = '$uhid'
- ";
- $query = $this->query($sql);
- }
-
-
- public function updateEndoresmentIdForSIEnhancement($update_data){
-
- $client_id = $update_data['client_id'];
- $client_policy_id = $update_data['client_policy_id'];
- $emp_name = $update_data['emp_name'];
- $emp_code = $update_data['emp_code'];
- $endorsement_id = $update_data['endorsement_id'];
-
- $sql = "
- UPDATE emp_endorsement
- JOIN employee_polices ON employee_polices.id = emp_endorsement.pk
- JOIN employees ON employee_polices.employee_id = employees.id
- SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
- WHERE emp_endorsement.emp_code = '$emp_code'
- AND employees.client_id = '$client_id'
- AND employee_polices.client_policy_id = '$client_policy_id'
- AND emp_endorsement.actions = 'si'
- AND emp_endorsement.name = '$emp_name'
- ";
- $query = $this->query($sql);
-
- }
-
-
- public function updateEndoresmentIdForDeletion($update_data)
- {
-
- $client_id = $update_data['client_id'];
- $client_policy_id = $update_data['client_policy_id'];
- $emp_name = $update_data['emp_name'];
- $emp_code = $update_data['emp_code'];
- $endorsement_id = $update_data['endorsement_id'];
-
- $sql = "
- UPDATE emp_endorsement
- JOIN employee_polices ON employee_polices.id = emp_endorsement.pk
- JOIN employees ON employee_polices.employee_id = employees.id
- SET emp_endorsement.endorsement_id = '$endorsement_id', emp_endorsement.status = 'complete'
- WHERE employees.emp_code = '$emp_code'
- AND employees.client_id = '$client_id'
- AND employee_polices.client_policy_id = '$client_policy_id'
- AND employees.name = '$emp_name'
- ";
- $query = $this->query($sql);
- }
-
public function fetchEmpEndorsementData($fetch_data)
{
@@ -668,7 +648,8 @@ class EmployeePolicyModel extends Model
}
- // //for emp onboard do not change
+ //for emp onboard do not change
+
// public function checkExistingEmpPolicy($arr)
// {
// return $this->where('employee_id',$arr['employee_id'])
@@ -814,7 +795,8 @@ class EmployeePolicyModel extends Model
->get()->getResultArray();
}
- public function getECardDataUsingMd5($client_policy_id, $emp_code){
+ public function getECardDataUsingMd5($client_policy_id, $emp_code)
+ {
$result = $this->db->table('employees e')
->select('e.id,
diff --git a/app/Models/InsurerExcelExportTemplateModel.php b/app/Models/InsurerExcelExportTemplateModel.php
new file mode 100644
index 00000000..749a818a
--- /dev/null
+++ b/app/Models/InsurerExcelExportTemplateModel.php
@@ -0,0 +1,23 @@
+
- - -
+
+ -
diff --git a/app/Views/cd_master_list.php b/app/Views/cd_master_list.php
index 6f781f49..30c848f6 100644
--- a/app/Views/cd_master_list.php
+++ b/app/Views/cd_master_list.php
@@ -60,7 +60,9 @@ table.dataTable thead th {