diff --git a/app/Config/Filters.php b/app/Config/Filters.php index 40324597..0855ec3e 100644 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -11,6 +11,7 @@ use CodeIgniter\Filters\SecureHeaders; use App\Filters\AuthMVC; use App\Filters\HttpRequestLog; +use App\Filters\CloseDbConnection; use App\Filters\AuthJWT; @@ -32,7 +33,8 @@ class Filters extends BaseConfig 'secureheaders' => SecureHeaders::class, 'authMVC' => AuthMVC::class, 'HttpRequestLog' => HttpRequestLog::class, - 'authJWT' => AuthJWT::class + 'authJWT' => AuthJWT::class, + 'CloseDbConnection' => CloseDbConnection::class ]; /** @@ -49,8 +51,7 @@ class Filters extends BaseConfig // 'invalidchars', ], 'after' => [ - // 'HttpRequestLog', - //'authMVC', + 'CloseDbConnection' // 'secureheaders', ], ]; diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b4380b4b..7917751a 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -254,9 +254,7 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) { $routes->post("getId", "RestAuthenticationController::getUserIdFromToken"); }); -$routes->get("/getEmployeeProfile", "EmployeeRestController::getEmployeeProfile/$1"); -$routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfile"); -$routes->post("/calculatePremium", "EmployeeRestController::calculatePremium"); + @@ -288,11 +286,14 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getEmployeeOldPolicy", "EmployeeRestController::getEmployeeOldPolicy"); $routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEmployeeActiveOrInactivePolicy"); + $routes->get("getFEContent", "EmployeeRestController::getFEContent"); + $routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage"); }); $routes->post("sendEmail", "EmployeeRestController::send_email"); + diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index f5ade0fb..1b3fa587 100644 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -146,19 +146,20 @@ class EmpDataServiceController extends BaseController $totals = round($totals, 2); - $this->removeOldExportInfoFromBatchFile($export_data); - - 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); + + // Log the count of exported data $count = count($objects); $export_data['count'] = $count; @@ -1221,6 +1222,7 @@ class EmpDataServiceController extends BaseController //Endorsement Correction + public function importCorrectionValidation($params) { diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 644c97ff..61c66278 100644 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -974,6 +974,14 @@ class EmployeeController extends AdminController '{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', + '{MEDI_BARCODE}' => base_url() . 'public/e_card_imgs/borcode.jpeg', + '{QR_ANDROID}' => base_url() . 'public/e_card_imgs/android.png', + '{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 @@ -1198,6 +1206,14 @@ class EmployeeController extends AdminController '{BACK_CARD}' => base_url() . 'public/uploads/template_bg/' . $tpa_id['back_card'], '{TPA_LOGO}' => base_url() . 'public/uploads/logo/' . $tpa_id['tpa_logo'], '{INSURER_LOGO}' => base_url() . 'public/assets/images/sample_logo_3.png', + '{MEDI_USER}' => base_url() . 'public/e_card_imgs/medi_uesr.jpg', + '{MEDI_INSURER}' => base_url() . 'public/e_card_imgs/Magma.png', + '{MEDI_BARCODE}' => base_url() . 'public/e_card_imgs/borcode.jpeg', + '{QR_ANDROID}' => base_url() . 'public/e_card_imgs/android.png', + '{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', + ]; // Get the values to replace the placeholders diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index b6fbcf86..a14aac42 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -25,6 +25,9 @@ use App\Models\PolicyPremium2Model; use App\Models\PolicyTypeModel; use App\Models\NotificationModel; use App\Models\UserModel; +use App\Models\FEContentModel; +use App\Models\AddImgModel; + use App\Controllers\Jobs ; use App\Controllers\JobWorker ; @@ -57,6 +60,8 @@ class EmployeeRestController extends AdminController protected $policyTypeModel; protected $notificationModel; protected $userModel; + protected $feContentModel; + protected $addImgModel; public function __construct() { @@ -76,6 +81,8 @@ class EmployeeRestController extends AdminController $this->policyTypeModel = new PolicyTypeModel(); $this->notificationModel = new NotificationModel(); $this->userModel = new UserModel(); + $this->feContentModel = new FEContentModel(); + $this->addImgModel = new AddImgModel(); } @@ -355,7 +362,7 @@ class EmployeeRestController extends AdminController $Gender = $this->employeeModel->where('emp_code',$empCode)->where('relationship','Self')->get()->getRow()->gender; if($Gender == 'M'){ return 'F'; }else{ return 'M'; } } -} + } private function convertDateFormatYMD($dateString) { @@ -1363,16 +1370,17 @@ public function getAddOnPolicy() ->where('client_branch_id',$this->request->getGet('client_branch_id')) ->where('is_addon_value',1)->findAll(); - + $clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id')) ->where('client_branch_id',$this->request->getGet('client_branch_id')) ->where('policy_status', 1) ->findAll(); - + if(count($clientPolicy)) { $band = $this->employeeModel->where('is_active', 1 )->where('emp_code',$this->request->getGet('emp_code'))->where('client_id',$this->request->getGet('client_id'))->where('client_branch_id',$this->request->getGet('client_branch_id'))->where('family_floater_key','self')->get()->getRow()->band; + $PolicyData = []; foreach ($clientPolicy as $key => $array) { $responce = []; @@ -1388,9 +1396,16 @@ public function getAddOnPolicy() $uniqueData[] = $item; } }else{ - if (!in_array($item['si'], $siValues)) { - $uniqueData[] = $item; - $siValues[] = $item['si']; + if (!in_array($item['si'], $siValues) ) { + + if ($item['policy_grid_id'] == 11 && ($item['max_si'] != 0 || $item['max_si'] != null)) { + $uniqueData[] = $item; + $siValues[] = $item['si']; + }else if($item['policy_grid_id'] != 11){ + $uniqueData[] = $item; + $siValues[] = $item['si']; + } + } } @@ -2136,41 +2151,20 @@ function policyTermsFiter($terms , $type) $gmc = [ "sum_insured" => "Sum Insured", - "member_count" => "Elders Count:", - "other_member_min_age" => "Min Age:", - "other_member_max_age" => "Min Age:", "waiverofpreexistingdiseases" => "Waiver of Pre-existing Diseases", + "maternitycoverage" => "Maternity Coverage", + "babyday1cover" => "Baby Day 1 Cover", "9monthwaitingperiodwaived" => "9-month waiting Period –waived", "coverfromthedateofjoining" => "Cover from the date of Joining", "waiverof1,2,3&4thyearexclusions" => "Waiver of 1, 2, 3 & 4th year Exclusions", "waiverof30dayswaitingperiod" => "Waiver of 30 days waiting period", "prehospitalizationcover" => "Pre Hospitalization Cover", - "congenitaldiseasesinternal" => "Congenital Diseases - Internal", "copayzonewisecopay" => "Co-Pay/Zone wise Co Pay", - "bioabsorbablestenttoriclensmultifocallens" => "Bio absorbable stent / Toric lens/ Multi Focal lens", "roomrentlimit" => "Room Rent Limit", - "proportionatedeductionclause" => "Proportionate Deduction Clause", - "nursingallowance" => "Nursing Allowance", "ailmentcapping" => "Ailment capping", - "ambulancecharges" => "Ambulance Charges", - "airambulance" => "Air Ambulance", - "familytransportationbenefit" => "Family Transportation Benefit", - "reasonableandcustomarycharges" => "Reasonable and Customary Charges", - "daycaretreatment" => "Day Care Treatment", - "ayudhtreatmentcover" => "AYUSH treatment cover", - "armdcovered" => "ARMD Covered", - "suminsuredenhancement" => "Sum Insured enhancement", - "automaticsuminsuredreinstatement" => "Automatic Sum Insured reinstatement", - "additionalsicknessbenefit" => "Additional Sickness Benefit", - "lasiksurgery" => "Lasik Surgery", - "midterminclusion" => "Mid Term inclusion", - "capd" => "CAPD", - "organdonorexpenses" => "Organ donor expenses", - "moderntreatmentsasperirdai" => "Modern treatments as per IRDAI", - "days_of_discharge" => "Claim Intimation Clause", - "days_from_dod" => "Claim Submission", - "cataract" => "Cataract" ]; + + $finalarray = []; if($type == 'gpa'){ @@ -2203,4 +2197,46 @@ private function convertDateFormatDisplay($dateString) } } +public function getFEContent() +{ + try { + + $feContentData = $this->feContentModel->findAll(); + if (count($feContentData) > 0) { + + return $this->respond(['status' => 'success','code' => 200,'data' => $feContentData ],200); + + } else { + + return $this->respond(['status' => 'failed','code' => 404,'data' => 'No Data'],404); + } + } catch (\Throwable $th) { + return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + } +} + +public function getAdvertisementImage() +{ + try { + + $img = $this->addImgModel->where('is_active',1)->findAll(); + + if (count($img) > 0) { + $data=[]; + foreach ($img as $key => $value) { + $url = base_url('public/uploads/add_image_upload/').$value['name']; + array_push($data,$url); + } + + return $this->respond(['status' => 'success','code' => 200,'data' => $data ],200); + + } else { + + return $this->respond(['status' => 'failed','code' => 404,'data' => 'No Data'],404); + } + } catch (\Throwable $th) { + return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + } +} + } \ No newline at end of file diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index 929ce04f..ed6bf76e 100644 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -665,14 +665,14 @@ class EmployeeServiceController extends AdminController $group_key = rand(100000, 999999); //for emp table - $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'emp_status','old_value' => $data['emp_status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]); + $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'emp_status','old_value' => $data['emp_status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); // dd( $this->empEndorsementModel->getLastQuery()); // $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'change_event','old_value' => $data['change_event'],'new_value' => 'deletion','created_by' => $file['created_by'],'remarks' => 'general deletion']); // for employee policy table - $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'reason_for_exit','old_value' => $data['reason_for_exit'],'new_value' => $row[5],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'status','old_value' => $data['status'],'new_value' => 'inactive','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]); + $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); + $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'reason_for_exit','old_value' => $data['reason_for_exit'],'new_value' => $row[5],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); + $this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'status','old_value' => $data['status'],'new_value' => 'inactive','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); }; //iterate each row foreach ($excel_data as $col_key => $row) @@ -794,7 +794,7 @@ class EmployeeServiceController extends AdminController if(!count($existing_endorsements)) { $group_key = rand(100000, 999999); - $this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employees','actions' => 'c','name' => $employee['name'],'field_name' => $field_name,'old_value' => $employee[ $field_name ],'new_value' => $field_value,'created_by' => $file['created_by'],'remarks' => $row[7],'date_of_correction' => change_date_format($row[5],'d-M-Y','Y-m-d'),'group_key' => $group_key,'file_id' => $file['id']]); + $this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employees','actions' => 'c','name' => $employee['name'],'field_name' => $field_name,'old_value' => $employee[ $field_name ],'new_value' => $field_value,'created_by' => $file['created_by'],'remarks' => $row[7],'date_of_correction' => change_date_format($row[5],'d-M-Y','Y-m-d'),'group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); } @@ -855,15 +855,15 @@ class EmployeeServiceController extends AdminController //make entry in endorsement table if(!count($existing_endorsements)) { - + //transform data to send foreach ($slab_details['slab_rates'] as $skey => $slab_value) { if($slab_value['si'] == $row[3]) { $group_key = rand(100000, 999999); - $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $row[3],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $slab_value['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]); + $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $row[3],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); + $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $slab_value['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); + $this->empEndorsementModel->save(['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id'],'status' => 'pending']); break; } } @@ -889,7 +889,7 @@ class EmployeeServiceController extends AdminController $slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($file['policy_id'],$file['client_id']); foreach($familiy_data as $fkey => $value) { - if($file['id'] == null || $value['temp']['source'] == 'excel' || (($file['action'] == 'dependent_addition' && in_array($value['temp']['source'],[10,11]) && ($slab_details['slab_rates'][0]['premium_type'] == 1 && strtolower($value['relationship']) == 'self') || ($slab_details['slab_rates'][0]['premium_type'] == 1 || $slab_details['slab_rates'][0]['premium_type'] == null)))) //insert data come from excel and from db i.e. ( $file['id'] == null for enrollment data) + if($file['id'] == null || $value['temp']['source'] == 'excel' || (($file['action'] == 'dependent_addition' && ($slab_details['slab_rates'][0]['premium_type'] == 1 && strtolower($value['relationship']) == 'self') || ($slab_details['slab_rates'][0]['premium_type'] == 2 || $slab_details['slab_rates'][0]['premium_type'] == null)))) //insert data come from excel and from db i.e. ( $file['id'] == null for enrollment data) { $employee = $this->employeeModel->checkExistingEmp($value,$file['client_branch_id']); @@ -898,20 +898,20 @@ class EmployeeServiceController extends AdminController unset($value['policy_details']); unset($value['temp']); // Kint::dump($value); + // Kint::dump($temp); // Kint::dump($policy_data); + // echo '---------------------------------------'; + //start implemet of si enhancement of grid type 10,11 - if(count($employee) && $file['action'] == 'dependent_addition' && $value['temp']['source'] == 'db' && ( ($slab_details['slab_rates'][0]['premium_type'] == 1 && (strtolower($value['relationship']) == 'self' || $temp['additional_rack_rate_acting_self'])) || ($slab_details['slab_rates'][0]['premium_type'] == 2 || $slab_details['slab_rates'][0]['premium_type'] == null))) + if(count($employee) && $file['action'] == 'dependent_addition' && $temp['source'] == 'db' && in_array($value['temp']['grid_id'],[10,11]) && ( ($slab_details['slab_rates'][0]['premium_type'] == 1 && (strtolower($value['relationship']) == 'self' || $temp['additional_rack_rate_acting_self'])) || ($slab_details['slab_rates'][0]['premium_type'] == 2 || $slab_details['slab_rates'][0]['premium_type'] == null))) { $log_message = 'Employee record from DB,Checking SI for - '.$employee[0]['name'].'('.$employee[0]['emp_code'].')'; $this->myLogger->logme('error',$log_message); $res = $this->employeesSIEnhanceProcessWhileOnbboard(employee:$employee[0],policy_data: $policy_data,file:$file);// where employee holds existing emp data and policy_data holds new si enhancement - if(!$res) - { - //if endorsement not happend no need to update emp/policy details in DB. - break; - } + + break;//skip db employee } - //end implemet of si enhancement of grid type 10,11 + //end implemet of si enhancement of grid type //save employee table if(count($employee)) @@ -965,10 +965,12 @@ class EmployeeServiceController extends AdminController $log_message .= ' with PK ' . $emp_policy_id; //make endorsement entry if action is addition OR Dependt addition - if(($file['action'] == 'dependent_addition' || $file['action'] == 'addition') && $value['temp']['source'] == 'excel') + if(($file['action'] == 'dependent_addition' || $file['action'] == 'addition') && $temp['source'] == 'excel') { + $log_message = $file['action'].' - endorsement'. $value['emp_code'].' - '.$value['name'].' - with policy id'.$emp_policy_id; + $this->myLogger->logme('error',$log_message); $actions = ($file['action'] == 'dependent_addition' ? 'da' : ($file['action'] == 'addition' ? 'a' : NULL)); - $addition_endorse_data = ['pk' => $emp_policy_id,'group_key' => rand(100000, 999999),'emp_cdoe' => $value['emp_code'],'table_name' => 'employee_polices','actions' => $actions,'field_name' => 'basic_cover_si','old_value' => NULL,'new_value' => $policy_data['basic_cover_si'],'remarks' => 'addition endorsement','file_id' => $file['id'],'created_by' => $file['created_by']]; + $addition_endorse_data = ['pk' => $emp_policy_id,'group_key' => rand(100000, 999999),'emp_code' => $value['emp_code'],'table_name' => 'employee_polices','actions' => $actions,'name' => $value['name'],'field_name' => 'basic_cover_si','old_value' => NULL,'new_value' => $policy_data['basic_cover_si'],'remarks' => 'addition endorsement','file_id' => $file['id'],'created_by' => $file['created_by']]; $this->employeeEndorsementforAddtionAndDependentAddition($addition_endorse_data); } @@ -990,14 +992,18 @@ class EmployeeServiceController extends AdminController // $employee -> holds existing emp model obj and $policy_data holds new policy changes as array public function employeesSIEnhanceProcessWhileOnbboard(array $employee,array $policy_data,array $file) { - $employee = $this->employeeModel->where('emp_code', $employee['emp_code'])->where('name',$employee['name'])->where('client_id',$employee['client_id'])->where('client_branch_id',$file['client_id'])->where('is_active',1)->first(); - + + $employee = $this->employeeModel->where('emp_code', $employee['emp_code'])->where('name',$employee['name'])->where('client_id',$employee['client_id'])->where('client_branch_id',$file['client_branch_id'])->where('is_active',1)->first(); + // Kint::dump($this->employeeModel->getLastQuery()); + // dd($employee); $employee_policy = $this->employeePolicyModel->where('employee_id',$employee['id'])->where('client_policy_id',$file['policy_id'])->first(); // dd($employee_policy); - $slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($employee_policy['client_policy_id'],$employee['client_id']); + // $slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($employee_policy['client_policy_id'],$employee['client_id']); + // dd($slab_details); + // $temp_slab_details = ($temp['grid_type'] == 'primary' ? $slab_details['slab_rates'] : $slab_details['additional_slab_info']['slab_rates']); //check si has changed in normal case OR check premium only changed, still treat as SI enhancement in grid type 10 - if($employee_policy['basic_cover_si'] != $policy_data['basic_cover_si'] || ($policy_data['premimum'] != null && $policy_data['premimum'] != "" && $employee_policy['premimum'] != $policy_data['premimum'])) + if($employee_policy['basic_cover_si'] != $policy_data['basic_cover_si'] || ($policy_data['premium'] != null && $policy_data['premium'] != "" && $employee_policy['premium'] != $policy_data['premium'])) { $existing_endorsements = $this->empEndorsementModel->where('actions','si') ->where('table_name','employee_polices') @@ -1006,26 +1012,22 @@ class EmployeeServiceController extends AdminController ->where('name',$employee['name']) ->where('field_name','basic_cover_si') ->findAll(); - // dd($existing_endorsements); //make entry in endorsement table if(!count($existing_endorsements)) { - - foreach ($slab_details['slab_rates'] as $skey => $slab_value) - { - if($slab_value['si'] == $policy_data['basic_cover_si']) - { - $group_key = rand(100000, 999999); - $this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $policy_data['basic_cover_si'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $slab_value['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']]); - $this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => date('Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']]); - $this->myLogger->logme('error',($employee['emp_code'].' - '.$employee['name'].'- ( NEW/OLD SI - '.$employee_policy['basic_cover_si'].'/'.$policy_data['basic_cover_si'].')'. '( NEW/OLD PREMIUM - '.$employee_policy['premium'].'/'.$policy_data['premimum'].') '.' - si enhancement via DA')); - $log_message = 'SI enhancement done during dependent_addition - '.$employee[0]['name'].'('.$employee[0]['emp_code'].')'; + $group_key = rand(100000, 999999); + $data = array( + ['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $policy_data['basic_cover_si'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']], + ['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $policy_data['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']], + ['pk' => (int)$employee_policy['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => date('Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement via DA','group_key' => $group_key,'file_id' => $file['id']] + ); + + $this->empEndorsementModel->insertBatch($data); + $this->myLogger->logme('error',($employee['emp_code'].' - '.$employee['name'].'- ( NEW/OLD SI - '.$employee_policy['basic_cover_si'].'/'.$policy_data['basic_cover_si'].')'. '( NEW/OLD PREMIUM - '.$employee_policy['premium'].'/'.$policy_data['premium'].') '.' - si enhancement via DA')); + $log_message = 'SI enhancement done during dependent_addition - '.$employee['name'].'('.$employee['emp_code'].')'; $this->myLogger->logme('error',$log_message); return true; //retun true when endorsement inserted - - } - } + } return false; //retun false when endorsement not happend } diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index b652d3eb..8afffb88 100644 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -190,6 +190,11 @@ class MasterController extends AdminController $uploadFilePath = ROOTPATH . 'public/uploads/logo/'; $file_name = file_Upload($this->request->getFile('insurer_logo'), $uploadFilePath); $data = $this->request->getPost(); + + if($this->request->getPost('addition_add_day')){ + $data['addition_add_day'] = 1; + } + $data['created_by'] = get_session_userid(); $data['insurer_logo'] = $file_name; @@ -265,6 +270,12 @@ class MasterController extends AdminController $data['insurer_logo'] = $file_name; } + if($this->request->getPost('addition_add_day')){ + $data['addition_add_day'] = 1; + }else{ + $data['addition_add_day'] = 0; + } + $update = $this->insurerModel->update($id,$data); if($update){ echo json_encode(array("status" => true , 'data' => $data)); diff --git a/app/Filters/CloseDbConnection.php b/app/Filters/CloseDbConnection.php new file mode 100644 index 00000000..ad49eb86 --- /dev/null +++ b/app/Filters/CloseDbConnection.php @@ -0,0 +1,25 @@ +logme('error','CloseDbConnections....!'); + $db->close(); + } +} diff --git a/app/Helpers/excel_import_export_helper.php b/app/Helpers/excel_import_export_helper.php index c7cec62d..65e44eaa 100644 --- a/app/Helpers/excel_import_export_helper.php +++ b/app/Helpers/excel_import_export_helper.php @@ -212,10 +212,10 @@ if (! function_exists('transform_objects_to_array_for_si_enhancement')) { $obj->no_of_days, $obj->old_si_premium, $obj->new_si_premium, - $obj->difference_premium, + round($obj->difference_premium, 2), $obj->pro_rata_premimum, $obj->gst, - $obj->total , + round($obj->total, 2), $endorsement_id, ]; diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php index 200ada56..ca88b7f1 100644 --- a/app/Helpers/excel_util_helper.php +++ b/app/Helpers/excel_util_helper.php @@ -15,11 +15,13 @@ if(!function_exists('calculate_days_bw_dates')) else{ $passedDateTime = new DateTime($from_date); } $interval = $currentDateTime->diff($passedDateTime); - if ($include_start_date) { - $interval->days += 1; - } + // $totalDays = $interval->days; + // if ($include_start_date) { + // $totalDays += 1; + // } + //$interval->totalDays = $totalDays; + return $interval; - return $interval; } } @@ -601,8 +603,9 @@ if (!function_exists('generate_relationship_code')) $relationship = ['self' => 1,'spouse' => 2,'son' => 3,'daughter' => 4,'father' => 5,'mother' => 6,'father-in-law' => 7,'mother-in-law' => 8]; $slug = \Config\Services::slug(); $relationship_code = $slug->slugify($arr['relationship']); + $emp_type_code = ($relationship_code == 'self' ? 'EMP_TYP_01' : 'EMP_TYP_03'); $relationship_code = $gender[ $arr['gender'] ] . $relationship[ $relationship_code ] ; - return $relationship_code; + return ['relationship_code' => $relationship_code,'emp_type_code' => $emp_type_code]; } } @@ -709,14 +712,30 @@ if (!function_exists('calculate_premimum')) $transformed_familiy_member_data['temp']['additional_rack_rate_acting_self'] = false; if(!isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['additional_rack_rate_acting_self']) && $current_grid_info['type'] == 'additional') { - $transformed_familiy_member_data['temp']['additional_rack_rate_acting_self'] = true; - $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['additional_rack_rate_acting_self'] = true; + + if($transformed_familiy_member_data['temp']['action'] != 'DA') + { + $transformed_familiy_member_data['temp']['additional_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['additional_rack_rate_acting_self'] = true; + } + else// if dependent addition then set employee from db is an acting self + { + + if($transformed_familiy_member_data['temp']['source'] == 'db' && $transformed_familiy_member_data['temp']['rata_premimum']) + { + // echo 'SETTING'; + $transformed_familiy_member_data['temp']['additional_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['additional_rack_rate_acting_self'] = true; + } + } } //generate relationship code if($transformed_familiy_member_data['temp']['action'] != 'D' && $transformed_familiy_member_data['temp']['action'] != 'C' && $transformed_familiy_member_data['temp']['action'] != 'SI') { - $transformed_familiy_member_data['relationship_code'] = generate_relationship_code($transformed_familiy_member_data); + $temp_res = generate_relationship_code($transformed_familiy_member_data); + $transformed_familiy_member_data['relationship_code'] = $temp_res['relationship_code']; + $transformed_familiy_member_data['emp_type'] = $temp_res['emp_type_code']; } //calculate primimum based on grid type @@ -728,7 +747,15 @@ if (!function_exists('calculate_premimum')) $transformed_familiy_member_data['temp']['maxage'] = $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['maxage']; $transformed_familiy_member_data['temp']['maxcount'] = $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['maxcount']; - $transformed_familiy_member_data['policy_details']['basic_cover_si'] = isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['si']) ? $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['si'] : $transformed_familiy_member_data['policy_details']['basic_cover_si']; + //set self si to all familiy members, except they've come from DB + // if(isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['si'])) + // { + if($transformed_familiy_member_data['temp']['source'] != 'db') + { + $transformed_familiy_member_data['policy_details']['basic_cover_si'] = isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['si']) ? $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['si'] : $transformed_familiy_member_data['policy_details']['basic_cover_si']; + } + // } + // this array hold conditions to allow calculate premium amt $conditions = [ @@ -740,9 +767,12 @@ if (!function_exists('calculate_premimum')) 'isPrimaryGridPremiumTypeSingle' => $slab_details['slab_rates'][0]['premium_type'] == 1, 'isAdditionalPremiumTypeSingle' => isset($slab_details['additional_slab_info']['slab_rates'][0]['premium_type']) ? ( $slab_details['additional_slab_info']['slab_rates'][0]['premium_type'] == 1) : 0, 'isCurrentRelationshipSelf' => strtolower($transformed_familiy_member_data['relationship']) == 'self', - 'isBasicCoverCalculatedToCurrentEmployee' => strtolower($transformed_familiy_member_data['policy_details']['basic_cover_si']) != null + 'isBasicCoverCalculatedToCurrentEmployee' => ($transformed_familiy_member_data['policy_details']['basic_cover_si'] != null && $transformed_familiy_member_data['policy_details']['basic_cover_si'] != 0) ]; - + // Kint::dump($transformed_familiy_member_data['policy_details']); + // echo ($transformed_familiy_member_data['policy_details']['basic_cover_si'] != null && $transformed_familiy_member_data['policy_details']['basic_cover_si'] != 0); + // echo ($conditions['isBasicCoverCalculatedToCurrentEmployee']); + // echo "
"; // same logic for both primay and additional grid type $primaryGridTypeCondition = $conditions['isCurrentActionDependentAddition'] && $conditions['isPrimaryGridType'] && $conditions['isPrimaryGridPremiumTypeSingle'] && $conditions['isCurrentRelationshipSelf']; $additionalGridTypeCondition = $conditions['isCurrentActionDependentAddition'] && $conditions['isAdditionalGridType'] && $conditions['isAdditionalPremiumTypeSingle'] && $conditions['isBasicCoverCalculatedToCurrentEmployee']; @@ -814,6 +844,7 @@ if (!function_exists('transform_excel_data_to_db')) $result['temp']['emp_policy_id'] = isset($memArr['temp']['emp_policy_id']) ? $memArr['temp']['emp_policy_id'] : null; $result['temp']['policy_status'] = isset($memArr['temp']['policy_status']) ? $memArr['temp']['policy_status'] : null; $result['temp']['emp_status'] = isset($memArr['temp']['emp_status']) ? $memArr['temp']['emp_status'] : null; + $result['temp']['rata_premimum'] = isset($memArr['temp']['rata_premimum']) ? $memArr['temp']['rata_premimum'] : 0; $result['policy_details'] = $policy; return $result; @@ -874,7 +905,7 @@ if (!function_exists('premium_calculation_manager')) $insurer = ($insurer->find($policy_terms['insurer_id'])); if($insurer['addition_add_day'] == true) { - $emp_data['policy_details']['date_coverage'] = (new DateTime($emp_data['policy_details']['date_coverage']))->modify('-1 day')->format('Y-m-d'); + $emp_data['policy_details']['date_coverage'] = (new DateTime($emp_data['policy_details']['date_coverage']))->modify('+1 day')->format('Y-m-d'); } } // dd($emp_data); @@ -891,9 +922,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -911,9 +942,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -930,9 +961,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -954,9 +985,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -974,9 +1005,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -995,9 +1026,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -1016,9 +1047,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; @@ -1039,9 +1070,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -1060,9 +1091,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = (float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''); $is_match_found = true; break; @@ -1087,9 +1118,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; $emp_data['policy_details']['date_coverage'] = isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']; $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = ((float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.','')); $is_match_found = true; break; @@ -1117,9 +1148,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $familiy_si_covered; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = get_premium_for_si(slab_details: $slab_details,si_amount: $familiy_si_covered,band: $employee_received_band); - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = ((float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.','')); $is_match_found = true; break; @@ -1142,9 +1173,9 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; - $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); + $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],(calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days + 1)); $emp_data['policy_details']['gst'] = ((float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.','')); $is_match_found = true; break; @@ -1167,7 +1198,7 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date']; - $emp_data['policy_details']['days'] = calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days; + $emp_data['policy_details']['days'] = (calculate_days_bw_dates($emp_data['policy_details']['date_coverage'],$policy_terms['policy_end_date'])->days + 1); $emp_data['policy_details']['premium'] = $slab_value['premium']; $emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($emp_data['policy_details']['premium'],$emp_data['policy_details']['days'],calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days); $emp_data['policy_details']['gst'] = ((float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.','')); @@ -1267,6 +1298,7 @@ if (!function_exists('transform_db_data_to_excel')) $row['temp']['emp_policy_id'] = $value['emp_policy_id']; $row['temp']['emp_status'] = $value['emp_status']; $row['temp']['policy_status'] = $value['status']; + $row['temp']['rata_premimum'] = $value['rata_premimum']; array_push($return_data, ($row)); } diff --git a/app/Models/AddImgModel.php b/app/Models/AddImgModel.php new file mode 100644 index 00000000..130da9f6 --- /dev/null +++ b/app/Models/AddImgModel.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/app/Models/EmployeeModel.php b/app/Models/EmployeeModel.php index cbde9e88..adffe7ff 100644 --- a/app/Models/EmployeeModel.php +++ b/app/Models/EmployeeModel.php @@ -39,7 +39,8 @@ class EmployeeModel extends Model "is_addon_value", "is_createdby_hr", "client_branch_id", - "token_time_out" + "token_time_out", + "emp_type" ]; // Callbacks diff --git a/app/Models/FEContentModel.php b/app/Models/FEContentModel.php new file mode 100644 index 00000000..c1b572d3 --- /dev/null +++ b/app/Models/FEContentModel.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/app/Views/UserList.php b/app/Views/UserList.php index 238d3122..c1794990 100644 --- a/app/Views/UserList.php +++ b/app/Views/UserList.php @@ -44,7 +44,7 @@ table.dataTable tbody td {

User List

-
+
diff --git a/app/Views/batch_list.php b/app/Views/batch_list.php index e55bc755..0b28f477 100644 --- a/app/Views/batch_list.php +++ b/app/Views/batch_list.php @@ -18,7 +18,7 @@
- +
@@ -48,7 +48,7 @@ @@ -58,11 +58,9 @@ - - +
SNO - 5 ? substr($file['file_name'], 0, 10) . "..." : $file['file_name'] ?> + - - 5 ? substr(date('d-M-Y H:i:a', strtotime($file['created_at'])), 0, 6) . "..." : $file['created_at'] ?> - + + by diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php index 18d6ee36..34a1cd9e 100644 --- a/app/Views/client_policy.php +++ b/app/Views/client_policy.php @@ -1018,7 +1018,7 @@ 80: "Eighty", 90: "Ninety" }; - + function convertNumberToWords(number) { if (number === 0) { return numberWords[number]; @@ -1027,22 +1027,34 @@ let word = ''; if (number >= 10000000) { - word += convertNumberToWords(Math.floor(number / 10000000)) + " Crore "; + const crore = Math.floor(number / 10000000); + if (crore > 0) { + word += convertNumberToWords(crore) + " Crore "; + } number %= 10000000; } if (number >= 100000) { - word += convertNumberToWords(Math.floor(number / 100000)) + " Lakh "; + const lakh = Math.floor(number / 100000); + if (lakh > 0) { + word += convertNumberToWords(lakh) + " Lakh "; + } number %= 100000; } if (number >= 1000) { - word += convertNumberToWords(Math.floor(number / 1000)) + " Thousand "; + const thousand = Math.floor(number / 1000); + if (thousand > 0) { + word += convertNumberToWords(thousand) + " Thousand "; + } number %= 1000; } if (number >= 100) { - word += convertNumberToWords(Math.floor(number / 100)) + " Hundred "; + const hundred = Math.floor(number / 100); + if (hundred > 0) { + word += convertNumberToWords(hundred) + " Hundred "; + } number %= 100; } @@ -1059,44 +1071,66 @@ return word.trim(); } + function convertCommaNumberToWords(input) { + let number; if (input instanceof HTMLElement) { const inputValue = input.value; - number = parseInt(inputValue.replace(/,/g, ''), 10); - var convert_word_value = convertNumberToWords(number); - - if (input.nextElementSibling !== null) { - input.nextElementSibling.textContent = convert_word_value; - } + number = parseFloat(inputValue.replace(/,/g, ''), 10); } else { - number = parseInt(input.replace(/,/g, ''), 10); + number = parseFloat(input.replace(/,/g, ''), 10); } - var convert_word_value = convertNumberToWords(number); - return convert_word_value; + const [integerPart, decimalPart] = number.toFixed(2).split('.'); + const integerWord = convertNumberToWords(parseInt(integerPart, 10)); + let result = `${integerWord}`; + + console.log('decimalPart',decimalPart) + console.log('decimalPart',typeof decimalPart) + + if (decimalPart != '00' && decimalPart != undefined) { + result += ` and `; + let decimalWord = convertNumberToWords(parseInt(decimalPart, 10)) + result += `${decimalWord}` + result += ` Paisa`; + } + + return result.trim(); } + function onlyNumbers(event) { var charcode; charcode = event.which || event.keyCode; - if (charcode >= 48 && charcode <= 57) return true; + if (charcode >= 48 && charcode <= 57 || charcode == 46) return true; return false; } function formatNumber(input, maxLength) { - // console.log("input", input); + console.log("input", input); + console.log("input value", input.value); + maxLength = 16; - let value = input.value.replace(/\D/g, ''); // Remove non-numeric characters + let value = input.value.replace(/[^\d.]/g, ''); // Remove non-numeric characters + console.log('Remove non-numeric characters', value) + // Limit the number of digits value = value.slice(0, maxLength); + console.log('Limited value', value); + // Format the number with commas using Indian numbering system - value = Number(value).toLocaleString('en-IN'); - input.value = value; + value = parseFloat(value).toLocaleString("en-IN",{ + maximumFractionDigits: 2 + }); + + console.log('formetted value', value); + + input.value = (value); basicPayMultiple(input) if (input.id == 'gpa_si') { diff --git a/app/Views/employee_data_list.php b/app/Views/employee_data_list.php index f1f3d935..f59eb1c7 100644 --- a/app/Views/employee_data_list.php +++ b/app/Views/employee_data_list.php @@ -24,8 +24,16 @@ .table-responsive { overflow-x: auto; } + +.word-wrap { + word-wrap: break-word; + white-space: normal; +} + + +
@@ -37,7 +45,7 @@
- @@ -67,8 +75,7 @@ - + @@ -90,10 +97,10 @@ } ?> - - - - + + + +
( - - )( - )