From 20a1cdfda1b53a39db41ec3c36111879cdcb7fdb Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 4 Jun 2024 17:08:19 +0530 Subject: [PATCH 1/6] FEAT_INSURER_ADD_ADDITION_SWITCH_AND_NUMBER_FORMATE_AND_OTHERS : RV --- app/Controllers/EmpDataServiceController.php | 1 + app/Controllers/MasterController.php | 11 + app/Helpers/excel_import_export_helper.php | 4 +- app/Views/batch_list.php | 12 +- app/Views/employee_data_list.php | 143 +++++----- app/Views/employee_upload.php | 39 ++- app/Views/file_list.php | 268 ++++++++++--------- app/Views/insurer_basic_info.php | 74 +++++ 8 files changed, 342 insertions(+), 210 deletions(-) diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index f5ade0fb..3c7b8860 100644 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -1221,6 +1221,7 @@ class EmpDataServiceController extends BaseController //Endorsement Correction + public function importCorrectionValidation($params) { 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/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/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/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 @@ } ?> - - - - + + + + ulgDpnx=HJRG^k{h#iTa<2poT!!2jh)mCm3SwQ+-VOhJ-+UxBb$1 z;4OP?BqHy^9)GnA8h&wo9jHY`Qu7!&Hw^`3e+V!M=b}f`J3}MdZCRoI;NIkKc%Wp_ zVt=}eNRJ@F66p*jqgrk7oArk(vn3YkmF%Gg7goTP)@?$G9Y+wxZc8uyzfx+^*Z)GBokCUjAdvb%61U* zOL>YWFkOpORG|07(lDwaO=%c^oPHr2?2^;)w=_spMCBX_Q`l|`Chs2tDzH}Mz>fUU zuSxh#p=C*c;aNfVwqDXme z8q_Q=VBWt8(kz}gpk_(rNqtVR53S=J&Y3YOvn&maM`|ak9x_)RcpJq2Qqlb%rC1~X zgO4t5))}?yx1ND;2aE;QD<@Oiou9~yAUr!D6!?OKG}VC>*f*W0wcJ?ilUXl3D;hzy zpxM9B%acAv^T;lUA@`#QXOolp{f}{d`o;eq4Ke{$51D&w!=+O{F!n^ShErdYjg9~C z=mcHq=xv(`VS05*%9ZPy_dWx z9(}>?7YeC(u`h%qM%cCG(K_!yBkRo%K>Nia?T594u^4ifKnb}Ej*?72Z*&?{@}dcw zOW~?8W!okRj!S@33X=%0$-bX#u{>dbccUj;K$k@(!smVMR&^=$?Y9qtG^P&wmdLd= zZl#rV%(AGvC)>RA66385;3+WAQFmi`dA(=WQdL();z`a=XZ$)f+%0A<_foU*D^6-w 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 literal 0 HcmV?d00001 diff --git a/public/e_card_imgs/ios.png b/public/e_card_imgs/ios.png new file mode 100644 index 0000000000000000000000000000000000000000..0de017513d5eb318a5442012fd84eb05c671bf4f GIT binary patch literal 10435 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 NdkLULuVO6?{ueloj%)w` literal 0 HcmV?d00001 diff --git a/public/e_card_imgs/niva_babu.jpg b/public/e_card_imgs/niva_babu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72d4464ea50c4c8d9d44a664a91cd00b8fbc01ed GIT binary patch literal 49521 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 z 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

yts`nxtCxIeRYy!d%!TGGc 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 J;M^z9zX8($XPE#1 literal 0 HcmV?d00001 diff --git a/public/e_card_imgs/play_store.png b/public/e_card_imgs/play_store.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceade2390e87e0f0470a7f95fc8de0670d5624a GIT binary patch literal 2512 zcmV;>2`~1EP)^+NSIjvXpFPFT}mi>)!L5t9j7( zkMEq{`JVGx-tYJ4bIva|IXOAzPES(mV{qffjdbbK#m2_Q{Oe;`TwI)G@$vDue~sKe z6&!op^Y`C>U%PhAmEpty15lbOibqNS<96#pF3x+rHhyR z{`>EF^X8QqPyC%cdGe1x{wPqOfC$c>J$fil9OyoA0LU2iA_#QzH#%0 zHR;o*59UG=LG+;j%p3nRdh=1xEIoewIKhORY_kXf*>mI&{Ly2_6Y}P}aQ^(w8#fd3 zC-`bHPf?kqS~tj-FW<$B7q48ol2$!dvW&dg5H;C>-YzdmWwq)nSP&6qLc*I$2?{a=6mMRGJo^h=g3`R1E%UVQPzV#SK_ z$E-jP9z3{j-@Zr)gmWgQO`G=f&p-e9=b!i8ci)dc{wQP?ixeqRqecxgojZ4a^wCE* zZrnI))+}D}f9%+?6)RS>Y}v9+n>JgvY!Mu54?g(d8*jYft1PQjsnWZ5Z@@;J9OyKty{Nh z)vAdph!7HAfBkh-X@mi2h{-X4CY8*o4{6PuIkR->(yzb%x;GO~Jn_Vc5hEr{m;g6l zDUiUBbmq(%vi$A0-vWA()Iv5cQ>IL`9>w+Y%P)tHt2;gY^wUHM4WJPoKo%}sC>oIx zy%@jx>MI&+)~p#H=z*lXPn|ktnKEDjHwg&|;%L&ON%`{SV?q}|SK-2ickSBs*=L_U z_Sj=nrc9wxqU_YE)4T7!8+6>UV@HjWtq(r<0O*q^PaZXD)B_JZ@a?zXiUvKbFJ8P@ zk@=}s0H{kb3#wbK6EXUd4D1KOmtTIlXwf32XX(B7-fJ*q$Pnq8T(DpPPaFubQKLpQ z^2{^OK+pWJVZ->FJ9jQ32Micsfodg+_&48tGbjxiV39J2V5m5VqG7{^B*2qKLR!e{ z*RP*t7Aspqm_L91wr$(MAkiH=b_l#;#fo5XAYr9TmoDf`DHv{~f`HkxXR9VcBCzGl zmm5HU!1nCfqrx9~r) zPMylJ9*CZB)>*85JpTCOefso~SzOv_CLxtSXwV=Wl9^iR-@iZHXcyvk(wlg>q=G_) z3Q1Sp6)jp+q5!m>S7O20^Upv3-FM$n$Nv5M6;sMxCkPr{mTHbLS+i!1K$v*xrI&Ot z;rHm#gE~L|{BvRzIF-Np>Z@u%uC~(%N<@hR1-D_thUcDpj!?;G?AWnFT)%$(t!85# zy)&xO`l&6FFY6N3S2TZ^s8_FE${T0e4;HDzPc4oL zXjQkx?z7K6D<`{d9nv}#S^KCxgn~743+`fG~t!pg+wC26{-UFb>^a$DD zUqT92PeQvgqChp2QZ(U^PJ6;N%G(Dt!b*!pyK1mgj6~(wmMcn>BxLjsprL_A)H2Rc zNLmEtv_&%uDl`fj(*SX`K(CsRCX_hPHe3V}Qyl`X37tei2+_Jhz6**LBoAZC;n)oH905>eJrCbm~zc}40N zwH^85z`qMj^a7>OR4f8QX2KCWpmb$TB~$9-;E|JxgQpB|MgqBW=hjbsRVYM(C$zb9 z!!1-j-?wg^;cQlqPAVc1DT{#CY&2kZ4A+m+z)vH%4dkO@gCL&xd zJm4SwE5iZM5uh;X)#0HsoHXPs7G>=EsWR|MpyF`;J4hr=jhdro<4mG4EIQ_iP>0kB z`4~5DoUo$zv~b-<8X<*yIx845NwR8Qm1)@WqcPn@_;h8GxdR6dxNj&j>e6-{C1`dx zCNtSXHRbXg1dS_kG2u$*txt2NwIDzzty8CtHI!`+v2nvXy=pevSAzx(7$OH>VF++1 zv_$nSw-J*pL_rHTG|s|3G^7aA&{b2U5{ZOP5u|8k=p8Barv4vF`*Rb-5-w@sU%bKp a1Q-A;;7=B$u}l^K0000 - -

-
- -
-
{INSURER_NAME}
- -
( - - )( - )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POLICY NO:{TPA_ID}
Name:{NAME}
Gender:{NAME}
age:{AGE}
Employee code:{EMP_ID}
Corporate name:{CORPORATE_NAME}
Valid form:{POLICY_DATE}
- -
- -
- -
-
Terms&conditions
-
    -
  • Submit this card & photo ID for availing cashless insurrer empanelled hospitals
  • -
  • Cashless facility is subject to approved by TPA as per policy terms and conditions
  • -
  • Validdity of this card is subject to valid policy renewal of policy
  • -
-
- - -
- - - - - \ No newline at end of file diff --git a/writable/e_card_template/phs_tpa.html b/writable/e_card_template/phs_tpa.html index 2180891c..00e4e45a 100644 --- a/writable/e_card_template/phs_tpa.html +++ b/writable/e_card_template/phs_tpa.html @@ -3,25 +3,25 @@
- +
- + - + - + - + - +
Haamira Banu{NAME}
Xoriant Solutions Pvt Ltd{CORPORATE_NAME}
Dob : 02/05/2000EMP ID : 73496Dob : {DOB}EMP ID : {EMP_ID}
PHS ID : MBHI CHE 38728183 XSP EPHS ID : {TPA_ID}
Valid upto : 31/01/2024Valid upto : {POLICY_DATE}
@@ -47,9 +47,9 @@
- + - +
Mobile App
diff --git a/writable/e_card_template/vh_tpa.html b/writable/e_card_template/vh_tpa.html index 79279c59..8009cc09 100644 --- a/writable/e_card_template/vh_tpa.html +++ b/writable/e_card_template/vh_tpa.html @@ -3,7 +3,7 @@
-
+
{INSURER_NAME}
@@ -60,9 +60,6 @@
  • imidiate intimation to vidal health is must incase of any hospitalisation
  • Download the vidal health mobile app from android iOS to get an E-Card check your policy claim status, Hospital list and more, Give a missed call to 022-4892-6099 from your registered mobile number, or visit www.vidalhealthpa.com,or scan << Qr code on corner >>
  • -
    - -
    24x7 help line no
    @@ -96,8 +93,8 @@
    -
    -
    +
    +
    From c0a6a99b20172c0a61389cbf041c5d18bb51a109 Mon Sep 17 00:00:00 2001 From: velz Date: Thu, 6 Jun 2024 14:13:59 +0530 Subject: [PATCH 6/6] CHANGE_DEP_ADD_ENHANCEMENT&DB_CONN_CLOSE_FILTER --- app/Config/Filters.php | 7 +- app/Controllers/EmployeeServiceController.php | 76 ++++++++++--------- app/Filters/CloseDbConnection.php | 25 ++++++ app/Helpers/excel_util_helper.php | 69 +++++++++-------- app/Models/EmployeeModel.php | 3 +- app/Views/layout/footer.php | 2 +- 6 files changed, 108 insertions(+), 74 deletions(-) create mode 100644 app/Filters/CloseDbConnection.php 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/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index fb141d4b..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'] == 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) + 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' && $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)) @@ -967,8 +967,10 @@ class EmployeeServiceController extends AdminController //make endorsement entry if action is addition OR Dependt addition 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_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']]); - $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 via DA','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' => 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/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_util_helper.php b/app/Helpers/excel_util_helper.php index b1458e9e..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]; } } @@ -730,7 +733,9 @@ if (!function_exists('calculate_premimum')) //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 @@ -900,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); @@ -917,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; @@ -937,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; @@ -956,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; @@ -980,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; @@ -1000,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; @@ -1021,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; @@ -1042,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; @@ -1065,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; @@ -1086,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; @@ -1113,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; @@ -1143,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; @@ -1168,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; @@ -1193,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,'.','')); 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/Views/layout/footer.php b/app/Views/layout/footer.php index 35093e66..a4458cb1 100644 --- a/app/Views/layout/footer.php +++ b/app/Views/layout/footer.php @@ -139,7 +139,7 @@