11/* eslint-disable no-param-reassign */
2- import React , { useEffect } from 'react' ;
2+ import React , { useEffect , useState } from 'react' ;
33import { bindActionCreators } from 'redux' ;
44import { connect } from 'react-redux' ;
55
@@ -27,17 +27,21 @@ function BenefitConsumptionPayrollSearcher({
2727 fetchedBenefitsSummary,
2828 benefitsSummary,
2929 individualUuid,
30+ benefitPlan,
31+ groupBeneficiaries,
32+ paymentCycleUuid,
3033} ) {
3134 const modulesManager = useModulesManager ( ) ;
3235 const { formatMessage, formatMessageWithValues } = useTranslations ( 'payroll' , modulesManager ) ;
36+ const [ totalNumberOfBenefits , setTotalNumberOfBenefits ] = useState ( 0 ) ;
3337
3438 const fetch = ( params ) => fetchPayrollBenefitConsumptions ( modulesManager , params ) ;
3539
3640 const headers = ( ) => [
3741 'benefitConsumption.payroll.name' ,
3842 'benefitConsumption.payroll.benefitPlan' ,
39- 'benefitConsumption.payroll.runMonth ' ,
40- 'benefitConsumption.payroll.runYear ' ,
43+ 'benefitConsumption.payroll.startDate ' ,
44+ 'benefitConsumption.payroll.endDate ' ,
4145 'benefitConsumption.status' ,
4246 'benefitConsumption.code' ,
4347 'benefitConsumption.receipt' ,
@@ -64,8 +68,8 @@ function BenefitConsumptionPayrollSearcher({
6468 ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. name ,
6569 ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. benefitPlanNameCode ,
6670 // eslint-disable-next-line max-len
67- ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. paymentCycle ?. runMonth ,
68- ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. paymentCycle ?. runYear ,
71+ ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. paymentCycle ?. startDate ,
72+ ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. payroll ?. paymentCycle ?. endDate ,
6973 ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. benefit ?. status ,
7074 ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. benefit ?. code ,
7175 ( payrollBenefitConsumption ) => payrollBenefitConsumption ?. benefit ?. receipt ,
@@ -85,8 +89,8 @@ function BenefitConsumptionPayrollSearcher({
8589 const sorts = ( ) => [
8690 [ 'payroll_Name' , true ] ,
8791 [ 'payroll_benefitPlanName' , false ] ,
88- [ 'payroll_PaymentCycle_RunMonth ' , true ] ,
89- [ 'payroll_PaymentCycle_RunYear ' , true ] ,
92+ [ 'payroll_PaymentCycle_StartDate ' , true ] ,
93+ [ 'payroll_PaymentCycle_EndDate ' , true ] ,
9094 [ 'benefit_Status' , true ] ,
9195 [ 'benefit_Code' , true ] ,
9296 [ 'benefit_Receipt' , true ] ,
@@ -103,24 +107,61 @@ function BenefitConsumptionPayrollSearcher({
103107 'isDeleted: false' ,
104108 } ,
105109 } ;
106- if ( individualUuid !== null && individualUuid !== undefined ) {
110+ if ( groupBeneficiaries !== null && groupBeneficiaries !== undefined ) {
111+ // TO-DO fetching benefits for group once enrollment of group flow will be developed
112+ } else if ( individualUuid !== null && individualUuid !== undefined ) {
107113 filters . benefit_Individual_Id = {
108114 value : individualUuid ,
109115 filter : `benefit_Individual_Id: "${ individualUuid } "` ,
110116 } ;
111117 }
118+ if ( benefitPlan ?. id ) {
119+ filters . benefitPlanUuid = {
120+ value : benefitPlan . id ,
121+ filter : `benefitPlanUuid: "${ benefitPlan . id } "` ,
122+ } ;
123+ }
124+ if ( paymentCycleUuid ) {
125+ filters . paymentCycleUuid = {
126+ value : paymentCycleUuid ,
127+ filter : `paymentCycleUuid: "${ paymentCycleUuid } "` ,
128+ } ;
129+ }
112130 return filters ;
113131 } ;
114132
115133 useEffect ( ( ) => {
116- const params = [
117- `individualId: "${ individualUuid } "` ,
118- ] ;
134+ const params = [ ] ;
135+ if ( individualUuid ) {
136+ params . push (
137+ `individualId: "${ individualUuid } "` ,
138+ ) ;
139+ }
140+ if ( benefitPlan ?. id ) {
141+ params . push (
142+ `benefitPlanUuid: "${ benefitPlan . id } "` ,
143+ ) ;
144+ }
145+ if ( paymentCycleUuid ) {
146+ params . push (
147+ `paymentCycleUuid: "${ paymentCycleUuid } "` ,
148+ ) ;
149+ }
119150 fetchBenefitsSummary ( params ) ;
120151 } , [ ] ) ;
121152
153+ useEffect ( ( ) => {
154+ if ( payrollBenefitConsumptionsTotalCount > totalNumberOfBenefits ) {
155+ setTotalNumberOfBenefits ( payrollBenefitConsumptionsTotalCount ) ;
156+ }
157+ } , [ payrollBenefitConsumptionsTotalCount ] ) ;
158+
122159 const benefitConsumptionPayrollFilter = ( { filters, onChangeFilters } ) => (
123- < BenefitConsumptionPayrollFilter filters = { filters } onChangeFilters = { onChangeFilters } />
160+ < BenefitConsumptionPayrollFilter
161+ filters = { filters }
162+ onChangeFilters = { onChangeFilters }
163+ benefitPlan = { benefitPlan }
164+ />
124165 ) ;
125166
126167 return (
@@ -133,7 +174,7 @@ function BenefitConsumptionPayrollSearcher({
133174 { formatMessage ( 'payroll.summary.totalNumberOfBenefits' ) }
134175 </ Typography >
135176 < Typography variant = "body1" >
136- { payrollBenefitConsumptionsTotalCount }
177+ { totalNumberOfBenefits }
137178 </ Typography >
138179 </ Paper >
139180 </ Grid >
0 commit comments