@stssocialst-stp/fe-payroll 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +48 -11
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +48 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/constants.js","../src/utils/action-type.js","../src/reducer.js","../src/utils/advanced-filters-utils.js","../src/actions.js","../src/utils/string-utils.js","../src/pages/payment-point/PaymentPointHeadPanel.js","../src/pages/payment-point/PaymentPointPage.js","../src/components/payment-point/PaymentPointFilter.js","../src/components/payment-point/PaymentPointSearcher.js","../src/pages/payment-point/PaymentPointsPage.js","../src/components/payroll/AdvancedFiltersRowValue.js","../src/components/payroll/AdvancedFiltersDialog.js","../src/components/payroll/PayrollStatusPicker.js","../src/pickers/PaymentMethodPicker.js","../src/components/payroll/PayrollHeadPanel.js","../src/components/payroll/dialogs/PayrollPaymentDataUploadDialog.js","../src/components/payroll/BenefitConsumptionFilterModal.js","../src/components/payroll/dialogs/ErrorSummaryModal.js","../src/components/payroll/dialogs/AdditionalFieldsDialog.js","../src/components/PayrollBenefitPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcherModal.js","../src/utils/export.js","../src/components/payroll/dialogs/PaymentApproveForPaymentSummary.js","../src/components/payroll/PayrollTab.js","../src/pages/payroll/PayrollPage.js","../src/components/payroll/PayrollFilter.js","../src/components/payroll/PayrollSearcher.js","../src/pages/payroll/PayrollsPage.js","../src/components/payroll/PayrollPaymentFilesSearcher.js","../src/components/payroll/dialogs/PayrollReconciliationFilesDialog.js","../src/components/payroll/PayrollSearcherApproved.js","../src/pages/payroll/ApprovedPayrollsPage.js","../src/components/payroll/dialogs/PaymentReconciliationSummaryDialog.js","../src/components/payroll/PayrollSearcherReconciled.js","../src/pages/payroll/ReconciledPayrollsPage.js","../src/components/payment-point/PaymentPointPicker.js","../src/pickers/BenefitConsumptionStatusPicker.js","../src/components/payroll/BenefitConsumptionPayrollFilter.js","../src/components/payroll/BenefitConsumptionPayrollSearcher.js","../src/components/tasks/PayrollTasks.js","../src/components/tasks/PayrollReconciliationTasks.js","../src/components/payroll/BenefitConsumptionFilter.js","../src/components/PayrollPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcher.js","../src/components/payroll/BenefitConsumptionTabPanel.js","../src/components/tasks/PayrollRejectedTasks.js","../src/components/payroll/PayrollTaskTabPanel.js","../src/components/tasks/PayrollDeleteTasks.js","../src/components/payroll/PayrollPaymentFilesTab.js","../src/components/payroll/BistpPaymentStatusPanel.js","../src/components/payroll/dialogs/PayrollPendingPayrollSummary.js","../src/components/payroll/PayrollSearcherPending.js","../src/pages/payroll/PendingPayrollsPage.js","../src/hooks/useBeneficiarios.js","../src/pages/payroll/BeneficiaryManagementPage.js","../src/index.js"],"sourcesContent":["// TODO: Change to proper rights after BE implementation\nexport const RIGHT_PAYROLL_SEARCH = 202001;\nexport const RIGHT_PAYROLL_CREATE = 202002;\nexport const RIGHT_PAYROLL_DELETE = 202004;\n\nexport const PAYROLL_PAYMENT_POINT_ROUTE = 'payroll.route.paymentPoint';\nexport const PAYROLL_PAYROLL_ROUTE = 'payroll.route.payroll';\nexport const RIGHT_PAYMENT_POINT_SEARCH = 201001;\nexport const RIGHT_PAYMENT_POINT_CREATE = 201002;\nexport const RIGHT_PAYMENT_POINT_UPDATE = 201003;\nexport const RIGHT_PAYMENT_POINT_DELETE = 201004;\n\nexport const DEFAULT_DEBOUNCE_TIME = 500;\nexport const DEFAULT_PAGE_SIZE = 10;\nexport const CONTAINS_LOOKUP = 'Icontains';\nexport const ROWS_PER_PAGE_OPTIONS = [10, 20, 50, 100];\nexport const EMPTY_STRING = '';\n\nexport const MAX_LENGTH = {\n NAME: 50,\n};\n\nexport const MODULE_NAME = 'payroll';\n\nexport const BENEFIT_CONSUMPTION_LIST_TAB_VALUE = 'benefitConsumptionsTab';\nexport const BISTP_PAYMENT_STATUS_TAB_VALUE = 'bistpPaymentStatusTab';\nexport const PAYROLL_TASK_TAB_VALUE = 'payrollTaskTab';\nexport const PAYROLL_PAYMENT_FILES_TAB_VALUE = 'payrollPaymentFilesTab';\nexport const PAYROLL_TABS_LABEL_CONTRIBUTION_KEY = 'payroll.TabPanel.label';\nexport const PAYROLL_TABS_PANEL_CONTRIBUTION_KEY = 'payroll.TabPanel.panel';\n\nexport const RIGHT_BILL_SEARCH = 156101;\nexport const RIGHT_BILL_CREATE = 156102;\nexport const RIGHT_BILL_UPDATE = 156103;\nexport const RIGHT_BILL_DELETE = 156104;\n\nexport const INVOICE_BILL_ROUTE = 'bill.route.bill';\nexport const GET_SUBJECT_AND_THIRDPARTY_TYPE_PICKER_REF = 'bill.util.getSubjectAndThirdpartyTypePicker';\nexport const ENUM_PREFIX_LENGTH = 2;\n\nexport const STATUS = {\n DRAFT: '0',\n VALIDATED: '1',\n PAYED: '2',\n CANCELLED: '3',\n DELETED: '4',\n SUSPENDED: '5',\n};\n\nexport const CLEARED_STATE_FILTER = {\n field: '', filter: '', type: '', value: '',\n};\nexport const BENEFIT_PLAN = 'BenefitPlan';\nexport const INTEGER = 'integer';\nexport const STRING = 'string';\nexport const BOOLEAN = 'boolean';\nexport const DATE = 'date';\nexport const BOOL_OPTIONS = [\n { value: 'True', label: 'True' },\n { value: 'False', label: 'False' },\n];\n\nexport const PAYROLL_STATUS = {\n PENDING_APPROVAL: 'PENDING_APPROVAL',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n RECONCILIATED: 'RECONCILIATED',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_STATUS_LIST = [\n PAYROLL_STATUS.PENDING_APPROVAL,\n PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n PAYROLL_STATUS.REJECTED,\n PAYROLL_STATUS.RECONCILIATED,\n PAYROLL_STATUS.RECONCILED,\n];\n\nexport const BENEFIT_CONSUMPTION_STATUS = {\n ACCEPTED: 'ACCEPTED',\n CREATED: 'CREATED',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n DUPLICATE: 'DUPLICATE',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_PAYMENT_FILE_STATUS = {\n TRIGGERED: 'TRIGGERED',\n IN_PROGRESS: 'IN_PROGRESS',\n SUCCESS: 'SUCCESS',\n PARTIAL_SUCCESS: 'PARTIAL_SUCCESS',\n WAITING_FOR_VERIFICATION: 'WAITING_FOR_VERIFICATION',\n FAIL: 'FAIL',\n};\n\nexport const BENEFIT_CONSUMPTION_STATUS_LIST = [\n BENEFIT_CONSUMPTION_STATUS.ACCEPTED, BENEFIT_CONSUMPTION_STATUS.CREATED,\n BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT, BENEFIT_CONSUMPTION_STATUS.REJECTED,\n BENEFIT_CONSUMPTION_STATUS.DUPLICATE, BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n];\n\nexport const PAYROLL_PAYMENT_FILE_STATUS_LIST = [\n PAYROLL_PAYMENT_FILE_STATUS.TRIGGERED, PAYROLL_PAYMENT_FILE_STATUS.IN_PROGRESS, PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.WAITING_FOR_VERIFICATION, PAYROLL_PAYMENT_FILE_STATUS.FAIL,\n];\n\nexport const BENEFIT_PLAN_CONTENT_TYPE_ID = 175;\n\nexport const PAYROLL_FROM_FAILED_INVOICES_URL_PARAM = 'createPayrollFromFailedInvoices=true';\n\nexport const PAYMENT_METHOD = {\n STRATEGY_OFFLINE_PAYMENT: 'StrategyOfflinePayment',\n STRATEGY_ONLINE_PAYMENT: 'StrategyOnlinePayment',\n STRATEGY_BISTP_PAYMENT: 'StrategyBistpPayment',\n};\n\nexport const BISTP_SUMMARY_STATUS = {\n RECONCILED: 'reconciled',\n REJECTED: 'rejected',\n PENDING: 'pending',\n SKIPPED_NIB: 'skippedNib',\n SEND_FAILED: 'sendFailed',\n};\n","export const REQUEST = (actionTypeName) => `${actionTypeName}_REQ`;\nexport const SUCCESS = (actionTypeName) => `${actionTypeName}_RESP`;\nexport const ERROR = (actionTypeName) => `${actionTypeName}_ERR`;\nexport const CLEAR = (actionTypeName) => `${actionTypeName}_CLEAR`;\nexport const VALID = (actionTypeName) => `${actionTypeName}_VALID`;\n","/* eslint-disable default-param-last */\n\nimport {\n dispatchMutationErr,\n dispatchMutationReq,\n dispatchMutationResp,\n formatGraphQLError,\n formatServerError,\n pageInfo,\n parseData,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\n\nexport const ACTION_TYPE = {\n MUTATION: 'PAYROLL_MUTATION',\n CREATE_PAYMENT_POINT: 'PAYROLL_MUTATION_CREATE_PAYMENT_POINT',\n DELETE_PAYMENT_POINT: 'PAYROLL_MUTATION_DELETE_PAYMENT_POINT',\n UPDATE_PAYMENT_POINT: 'PAYROLL_MUTATION_UPDATE_PAYMENT_POINT',\n SEARCH_PAYMENT_POINTS: 'PAYROLL_PAYMENT_POINTS',\n CREATE_PAYROLL: 'PAYROLL_MUTATION_CREATE_PAYROLL',\n DELETE_PAYROLL: 'PAYROLL_MUTATION_DELETE_PAYROLL',\n SEARCH_PAYROLLS: 'PAYROLL_PAYROLLS',\n GET_PAYMENT_POINT: 'PAYROLL_PAYMENT_POINT',\n GET_PAYROLL: 'PAYROLL_GET_PAYROLL',\n GET_BENEFIT_CONSUMPTION: 'PAYROLL_BENEFIT_CONSUMPTION',\n GET_PAYROLL_BENEFIT_CONSUMPTION: 'PAYROLL_PAYROLL_BENEFIT_CONSUMPTION',\n GET_BENEFIT_ATTACHMENT: 'PAYROLL_BENEFIT_ATTACHMENT',\n GET_PAYMENT_METHODS: 'PAYROLL_PAYMENT_METHODS',\n CLOSE_PAYROLL: 'PAYROLL_MUTATION_CLOSE_PAYROLL',\n REJECT_PAYROLL: 'PAYROLL_MUTATION_REJECT_PAYROLL',\n MAKE_PAYMENT_PAYROLL: 'PAYROLL_MUTATION_MAKE_PAYMENT_PAYROLL',\n GET_PAYROLL_PAYMENT_FILES: 'GET_PAYROLL_PAYMENT_FILES',\n BENEFITS_SUMMARY: 'PAYROLL_BENEFITS_SUMMARY',\n DELETE_BENEFIT_CONSUMPTION: 'BENEFIT_CONSUMPTION_MUTATION_DELETE_BENEFIT_CONSUMPTION',\n};\n\nexport const MUTATION_SERVICE = {\n PAYMENT_POINT: {\n CREATE: 'createPaymentPoint',\n DELETE: 'deletePaymentPoint',\n UPDATE: 'updatePaymentPoint',\n },\n PAYROLL: {\n CREATE: 'createPayroll',\n DELETE: 'deletePayroll',\n CLOSE: 'closePayroll',\n REJECT: 'rejectPayroll',\n MAKE_PAYMENT: 'makePaymentForPayroll',\n },\n BENEFIT_CONSUMPTION: {\n DELETE: 'deleteBenefitConsumption',\n },\n};\n\nconst STORE_STATE = {\n submittingMutation: false,\n mutation: {},\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: false,\n errorPaymentPoints: null,\n paymentPoints: [],\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n\n fetchingPayrolls: false,\n fetchedPayrolls: false,\n errorPayrolls: null,\n payrolls: [],\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n\n fetchingPayroll: false,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n\n fetchingBenefitConsumptions: true,\n benefitConsumption: [],\n benefitConsumptionTotalCount: 0,\n fetchedBenefitConsumption: false,\n errorBenefitConsumption: null,\n benefitConsumptionsPageInfo: {},\n\n fetchingBenefitAttachments: false,\n benefitAttachments: [],\n benefitAttachmentsTotalCount: 0,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n\n fetchingPaymentMethods: true,\n paymentMethods: [],\n fetchedPaymentMethods: false,\n errorPaymentMethods: null,\n\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n\n fetchingPayrollBenefitConsumptions: true,\n payrollBenefitConsumption: [],\n payrollBenefitConsumptionTotalCount: 0,\n fetchedPayrollBenefitConsumption: false,\n errorPayrollBenefitConsumption: null,\n payrollBenefitConsumptionsPageInfo: {},\n\n benefitsSummary: [],\n benefitsSummaryError: null,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n};\n\nfunction reducer(\n state = STORE_STATE,\n action,\n) {\n switch (action.type) {\n case REQUEST(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: true,\n fetchedPaymentPoints: false,\n paymentPoints: [],\n errorPaymentPoints: null,\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n paymentPoints: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n })),\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: true,\n errorPaymentPoints: formatGraphQLError(action.payload),\n paymentPointsPageInfo: pageInfo(action.payload.data.paymentPoint),\n paymentPointsTotalCount: action.payload.data.paymentPoint?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: false,\n errorPaymentPoints: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: true,\n fetchedPayrolls: false,\n payrolls: [],\n errorPayrolls: null,\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n payrolls: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n })),\n fetchingPayrolls: false,\n fetchedPayrolls: true,\n errorPayrolls: formatGraphQLError(action.payload),\n payrollsPageInfo: pageInfo(action.payload.data.payroll),\n payrollsTotalCount: action.payload.data.payroll?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: false,\n errorPayrolls: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: true,\n fetchedPaymentPoint: false,\n paymentPoint: [],\n errorPaymentPoint: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: true,\n paymentPoint: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n }))?.[0],\n errorPaymentPoint: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n errorPaymentPoint: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n fetchedPayroll: true,\n payroll: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n dateValidTo: payroll?.dateValidTo ? payroll?.dateValidTo.split('T')[0] : null,\n dateValidFrom: payroll?.dateValidFrom ? payroll?.dateValidFrom.split('T')[0] : null,\n }))?.[0],\n errorPayroll: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n errorPayroll: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: null,\n errorPayroll: null,\n payrollBills: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: true,\n fetchedBenefitConsumptions: false,\n benefitConsumptions: [],\n errorBenefitConsumptions: null,\n benefitConsumptionsPageInfo: {},\n benefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: true,\n benefitConsumptions: parseData(action.payload.data.benefitConsumptionByPayroll)?.map((benefitConsumption) => ({\n ...benefitConsumption,\n id: decodeId(benefitConsumption.id),\n })),\n benefitConsumptionsPageInfo: pageInfo(action.payload.data.benefitConsumptionByPayroll),\n benefitConsumptionsTotalCount: action.payload.data.benefitConsumptionByPayroll?.totalCount ?? 0,\n errorBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n errorBenefitConsumptions: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: false,\n errorBenefitConsumptions: null,\n benefitConsumptions: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: true,\n fetchedBenefitAttachments: false,\n benefitAttachments: [],\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n benefitAttachmentsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: true,\n benefitAttachments: parseData(action.payload.data.benefitAttachmentByPayroll)?.map((benefitAttachment) => ({\n ...benefitAttachment,\n })),\n benefitAttachmentsPageInfo: pageInfo(action.payload.data.benefitAttachmentByPayroll),\n benefitAttachmentsTotalCount: action.payload.data.benefitAttachmentByPayroll?.totalCount ?? 0,\n errorBenefitAttachments: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n errorBenefitAttachments: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachments: [],\n };\n\n case REQUEST(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: true,\n fetchedPaymentMethods: false,\n paymentMethods: [],\n errorPaymentMethods: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n fetchedPaymentMethods: true,\n paymentMethods: action.payload.data.paymentMethods ? action.payload.data.paymentMethods.paymentMethods : [],\n errorPaymentMethods: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n errorPaymentMethods: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: true,\n fetchedPayrollBenefitConsumptions: false,\n payrollBenefitConsumptions: [],\n errorPayrollBenefitConsumptions: null,\n payrollBenefitConsumptionsPageInfo: {},\n payrollBenefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n fetchedPayrollBenefitConsumptions: true,\n // eslint-disable-next-line max-len\n payrollBenefitConsumptions: parseData(action.payload.data.payrollBenefitConsumption)?.map((payrollBenefitConsumption) => ({\n ...payrollBenefitConsumption,\n id: decodeId(payrollBenefitConsumption.id),\n })),\n payrollBenefitConsumptionsPageInfo: pageInfo(action.payload.data.payrollBenefitConsumption),\n payrollBenefitConsumptionsTotalCount: action.payload.data.payrollBenefitConsumption?.totalCount ?? 0,\n errorPayrollBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n errorPayrollBenefitConsumptions: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: true,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: true,\n errorPayrollFiles: formatGraphQLError(action.payload),\n payrollFiles: parseData(action.payload.data.csvReconciliationUpload)?.map((file) => ({\n ...file,\n })),\n payrollFilesPageInfo: pageInfo(action.payload.data.csvReconciliationUpload),\n payrollFilesTotalCount: action.payload.data.csvReconciliationUpload?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n errorPayrollFiles: formatGraphQLError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case REQUEST(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n benefitsSummary: {},\n benefitsSummaryError: null,\n };\n case SUCCESS(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n fetchedBenefitsSummary: true,\n benefitsSummary: action.payload.data.benefitsSummary,\n benefitsSummaryError: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n benefitsSummaryError: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.MUTATION):\n return dispatchMutationReq(state, action);\n case ERROR(ACTION_TYPE.MUTATION):\n return dispatchMutationErr(state, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.DELETE, action);\n case SUCCESS(ACTION_TYPE.UPDATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.UPDATE, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.DELETE, action);\n case SUCCESS(ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION):\n return dispatchMutationResp(state, MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE, action);\n default:\n return state;\n }\n}\n\nexport default reducer;\n","// eslint-disable-next-line import/prefer-default-export\nexport function isBase64Encoded(str) {\n // Base64 encoded strings can only contain characters from [A-Za-z0-9+/=]\n const base64RegExp = /^[A-Za-z0-9+/=]+$/;\n return base64RegExp.test(str);\n}\n","/* eslint-disable max-len */\nimport {\n decodeId,\n formatGQLString,\n formatMutation,\n formatPageQueryWithCount,\n formatQuery,\n graphql,\n} from '@stssocialst-stp/fe-core';\n\nimport { ACTION_TYPE, MUTATION_SERVICE } from './reducer';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\nimport { isBase64Encoded } from './utils/advanced-filters-utils';\nimport { PAYROLL_STATUS } from './constants';\n\nexport const PAYMENT_POINT_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'isDeleted',\n `location ${modulesManager.getProjection('location.Location.FlatProjection')}`,\n `ppm ${modulesManager.getProjection('admin.UserPicker.projection')}`,\n];\n\nconst BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n 'jsonExt',\n 'code',\n 'individual {firstName, lastName, nib}',\n 'benefitAttachment {bill {id, code, terms, amountTotal, datePayed}}',\n 'receipt',\n 'photo',\n 'amount',\n 'type',\n 'status',\n 'dateDue',\n];\n\nconst PAYROLL_BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n // eslint-disable-next-line max-len\n 'benefit{id,isDeleted,jsonExt,dateCreated,dateUpdated,dateValidFrom,dateValidTo,id,code,individual {firstName, lastName},benefitAttachment {bill {id, code, terms, datePayed}},receipt,photo,amount,type,status,dateDue}',\n 'payroll {id, name, status, paymentCycle {code, startDate, endDate}, paymentMethod, benefitPlanNameCode}',\n];\n\nconst BENEFIT_CONSUMPTION_SUMMARY_PROJECTION = () => [\n 'totalAmountReceived', 'totalAmountDue',\n];\n\nconst BENEFIT_ATTACHMENT_PROJECTION = () => [\n 'benefit{id, status, code, dateDue, receipt, individual {firstName, lastName}, jsonExt, type, status, amount, receipt}',\n 'bill{id, code, terms, amountTotal, datePayed}',\n];\n\nconst BISTP_SUMMARY_PROJECTION = () => [\n 'bistpSummary { total reconciled rejected pending skippedNib sendFailed }',\n];\n\nconst PAYROLL_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlanType }',\n 'benefitPlanNameCode',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n ...BISTP_SUMMARY_PROJECTION(),\n];\n\nconst PAYROLL_SEARCHER_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlanType }',\n 'benefitPlanNameCode',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n ...BISTP_SUMMARY_PROJECTION(),\n];\n\nconst CSV_RECONCILIATION_PROJECTION = () => [\n 'fileName',\n 'status',\n 'error',\n 'jsonExt',\n];\n\nconst PAYMENT_METHOD_PROJECTION = () => [\n 'paymentMethods {name}',\n];\n\nconst formatPaymentPointGQL = (paymentPoint) => `\n ${paymentPoint?.id ? `id: \"${paymentPoint.id}\"` : ''}\n ${paymentPoint?.name ? `name: \"${formatGQLString(paymentPoint.name)}\"` : ''}\n ${paymentPoint?.location ? `locationId: ${decodeId(paymentPoint.location.id)}` : ''}\n ${paymentPoint?.ppm ? `ppmId: \"${decodeId(paymentPoint.ppm.id)}\"` : ''}\n `;\n\nconst formatPayrollGQL = (payroll) => `\n ${payroll?.id ? `id: \"${payroll.id}\"` : ''}\n ${payroll?.name ? `name: \"${formatGQLString(payroll.name)}\"` : ''}\n ${payroll?.paymentPoint ? `paymentPointId: \"${decodeId(payroll.paymentPoint.id)}\"` : ''}\n ${payroll?.paymentPlan ? `paymentPlanId: \"${decodeId(payroll.paymentPlan.id)}\"` : ''}\n ${payroll?.paymentCycle ? `paymentCycleId: \"${decodeId(payroll.paymentCycle.id)}\"` : ''}\n ${payroll?.paymentMethod ? `paymentMethod: \"${payroll.paymentMethod}\"` : ''}\n ${`status: ${PAYROLL_STATUS.PENDING_APPROVAL}`}\n ${\n payroll?.jsonExt\n ? `jsonExt: ${JSON.stringify(payroll.jsonExt)}`\n : ''\n}\n ${\n payroll?.dateValidFrom\n ? `dateValidFrom: \"${payroll.dateValidFrom}\"`\n : ''\n}\n ${\n payroll?.dateValidTo\n ? `dateValidTo: \"${payroll.dateValidTo}\"`\n : ''\n}\n ${\n payroll?.fromFailedInvoicesPayrollId\n ? `fromFailedInvoicesPayrollId: \"${payroll.fromFailedInvoicesPayrollId}\"`\n : ''\n}\n `;\n\nconst PERFORM_MUTATION = (mutationType, mutationInput, ACTION, clientMutationLabel) => {\n const mutation = formatMutation(mutationType, mutationInput, clientMutationLabel);\n const requestedDateTime = new Date();\n return graphql(\n mutation.payload,\n [REQUEST(ACTION_TYPE.MUTATION), SUCCESS(ACTION), ERROR(ACTION_TYPE.MUTATION)],\n {\n actionType: ACTION,\n clientMutationId: mutation.clientMutationId,\n clientMutationLabel,\n requestedDateTime,\n },\n );\n};\n\nexport function fetchPaymentPoints(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYMENT_POINTS);\n}\n\nexport function fetchPaymentPoint(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_POINT);\n}\n\nexport function fetchPayrollPaymentFiles(modulesManager, params) {\n const payload = formatPageQueryWithCount('csvReconciliationUpload', params, CSV_RECONCILIATION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES);\n}\n\nexport const clearPaymentPoint = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYMENT_POINT),\n });\n};\n\nexport function deletePaymentPoint(paymentPoint, clientMutationLabel) {\n const paymentPointUuids = `ids: [\"${paymentPoint?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.DELETE,\n paymentPointUuids,\n ACTION_TYPE.DELETE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function createPaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.CREATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.CREATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function updatePaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.UPDATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.UPDATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function fetchPayrolls(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_SEARCHER_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYROLLS);\n}\n\nexport function fetchPayroll(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYROLL);\n}\n\nexport function deletePayrolls(payroll, clientMutationLabel) {\n const uuid = isBase64Encoded(payroll.id) ? decodeId(payroll?.id) : payroll?.id;\n const payrollUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.DELETE,\n payrollUuids,\n ACTION_TYPE.DELETE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function deleteBenefitConsumption(benefit, clientMutationLabel) {\n const uuid = isBase64Encoded(benefit.id) ? decodeId(benefit?.id) : benefit?.id;\n const benefitUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE,\n benefitUuids,\n ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION,\n clientMutationLabel,\n );\n}\n\nexport function createPayroll(payroll, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CREATE,\n formatPayrollGQL(payroll),\n ACTION_TYPE.CREATE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function fetchBenefitConsumptions(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitConsumptionByPayroll', params, BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitAttachments(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitAttachmentByPayroll', params, BENEFIT_ATTACHMENT_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_ATTACHMENT);\n}\n\nexport function fetchPayrollBenefitConsumptions(modulesManager, params) {\n // eslint-disable-next-line max-len\n const payload = formatPageQueryWithCount('payrollBenefitConsumption', params, PAYROLL_BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitsSummary(params) {\n const payload = formatQuery(\n 'benefitsSummary',\n params,\n BENEFIT_CONSUMPTION_SUMMARY_PROJECTION(),\n );\n return graphql(payload, ACTION_TYPE.BENEFITS_SUMMARY);\n}\n\nexport const clearPayrollBills = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION),\n });\n};\n\nexport const clearPayroll = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYROLL),\n });\n};\n\nexport function fetchPaymentMethods(params) {\n const payload = formatQuery('paymentMethods', params, PAYMENT_METHOD_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_METHODS);\n}\n\nexport function closePayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CLOSE,\n payrollUuids,\n ACTION_TYPE.CLOSE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function rejectPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.REJECT,\n payrollUuids,\n ACTION_TYPE.REJECT_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function makePaymentForPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.MAKE_PAYMENT,\n payrollUuids,\n ACTION_TYPE.MAKE_PAYMENT_PAYROLL,\n clientMutationLabel,\n );\n}\n","export const pageTitle = (item) => ({\n name: item?.name,\n});\n\nexport const mutationLabel = (item) => ({\n id: item?.id,\n});\n","import React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\n\nimport {\n TextInput,\n FormPanel,\n withModulesManager,\n PublishedComponent,\n} from '@stssocialst-stp/fe-core';\nimport { MAX_LENGTH } from '../../constants';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PaymentPointHeadPanel extends FormPanel {\n render() {\n const { edited, classes, readOnly } = this.props;\n const paymentPoint = { ...edited };\n return (\n <Grid container className={classes.item}>\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocation\"\n withNull\n required\n readOnly={readOnly}\n filterLabels={false}\n value={paymentPoint?.location}\n onChange={(locations) => this.updateAttribute('location', locations)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n required\n withPlaceholder\n withLabel\n readOnly={readOnly}\n value={paymentPoint?.ppm}\n onChange={(ppm) => this.updateAttribute('ppm', ppm)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"paymentPoint.name\"\n required\n readOnly={readOnly}\n inputProps={{ maxLength: MAX_LENGTH.NAME }}\n value={paymentPoint?.name}\n onChange={(name) => this.updateAttribute('name', name)}\n />\n </Grid>\n </Grid>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PaymentPointHeadPanel))));\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport {\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n fetchPaymentPoint,\n updatePaymentPoint,\n} from '../../actions';\nimport {\n MODULE_NAME,\n RIGHT_PAYMENT_POINT_UPDATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointHeadPanel from './PaymentPointHeadPanel';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n lockedPage: theme.page.locked,\n}));\n\nfunction PaymentPointPage({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n paymentPointUuid,\n fetchPaymentPoint,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n paymentPoint,\n coreConfirm,\n clearConfirm,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPaymentPoint, setEditedPaymentPoint] = useState({});\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n const pageLocked = editedPaymentPoint?.isDeleted;\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (paymentPointUuid) {\n fetchPaymentPoint(modulesManager, [`id: \"${paymentPointUuid}\"`]);\n }\n }, [paymentPointUuid]);\n\n useEffect(() => {\n if (confirmed) confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYMENT_POINT) {\n back();\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => setEditedPaymentPoint(paymentPoint), [paymentPoint]);\n\n useEffect(() => () => clearPaymentPoint(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPaymentPoint?.name\n && editedPaymentPoint?.location\n && editedPaymentPoint?.ppm\n && !editedPaymentPoint?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty();\n\n const handleSave = () => {\n if (paymentPoint?.id) {\n updatePaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.updateLabel', mutationLabel(paymentPoint)),\n );\n } else {\n createPaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.createLabel', mutationLabel(paymentPoint)),\n );\n }\n back();\n };\n\n const deletePaymentPointCallback = () => deletePaymentPoint(\n paymentPoint,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPoint)),\n );\n\n const openDeletePaymentPointConfirmDialog = () => {\n setConfirmedAction(() => deletePaymentPointCallback);\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPoint)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n const actions = [\n !!paymentPointUuid && !pageLocked && {\n doIt: openDeletePaymentPointConfirmDialog,\n icon: <DeleteIcon />,\n tooltip: formatMessage('tooltip.delete'),\n },\n ];\n\n return (\n rights.includes(RIGHT_PAYMENT_POINT_UPDATE) && (\n <div className={pageLocked ? classes.lockedPage : null}>\n <div className={classes.page}>\n <Form\n module=\"payroll\"\n title={formatMessageWithValues('PaymentPointPage.title', pageTitle(paymentPoint))}\n titleParams={pageTitle(paymentPoint)}\n openDirty\n edited={editedPaymentPoint}\n onEditedChanged={setEditedPaymentPoint}\n back={back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PaymentPointHeadPanel}\n readOnly={pageLocked}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n saveTooltip={formatMessage('tooltip.save')}\n />\n </div>\n\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n fetchPaymentPoint,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n paymentPointUuid: props.match.params.payment_point_uuid,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n paymentPoint: state.payroll.paymentPoint,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PaymentPointFilter({\n filters, onChangeFilters,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <ControlledField\n module=\"payroll\"\n id=\"PaymentPointFilter.location\"\n field={(\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocationFilter\"\n withNull\n filters={filters}\n onChangeFilters={onChangeFilters}\n anchor=\"parentLocation\"\n />\n </Grid>\n )}\n />\n <ControlledField\n module=\"payroll\"\n id=\"admin.PaymentPointManagerPicker\"\n field={(\n <Grid className={classes.item} xs={3}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n value={filterValue('ppm_Id')}\n withPlaceholder\n withLabel\n onChange={(ppm) => onChangeFilters([\n {\n id: 'ppm_Id',\n value: ppm,\n filter: `ppm_Id: \"${ppm?.id && decodeId(ppm?.id)}\"`,\n },\n ])}\n />\n </Grid>\n )}\n />\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('paymentPoint.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"paymentPointFilter.isDeleted\"\n field={(\n <Grid xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PaymentPointFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect, useSelector } from 'react-redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport { deletePaymentPoint, fetchPaymentPoints } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYMENT_POINT_ROUTE, RIGHT_PAYMENT_POINT_SEARCH, ROWS_PER_PAGE_OPTIONS,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointFilter from './PaymentPointFilter';\n\nfunction PaymentPointSearcher({\n fetchPaymentPoints,\n fetchingPaymentPoints,\n fetchedPaymentPoints,\n errorPaymentPoints,\n deletePaymentPoint,\n paymentPoints,\n coreConfirm,\n clearConfirm,\n pageInfo,\n totalCount,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [paymentPointToDelete, setPaymentPointToDelete] = useState(null);\n const [deletedPaymentPointUuids, setDeletedPaymentPointUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePaymentPointConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPointToDelete)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n useEffect(() => paymentPointToDelete && openDeletePaymentPointConfirmDialog(), [paymentPointToDelete]);\n\n useEffect(() => {\n if (paymentPointToDelete && confirmed) {\n deletePaymentPoint(\n paymentPointToDelete,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPointToDelete)),\n );\n setDeletedPaymentPointUuids([...deletedPaymentPointUuids, paymentPointToDelete.id]);\n }\n if (paymentPointToDelete && confirmed !== null) {\n setPaymentPointToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'paymentPoint.name',\n 'paymentPoint.ppm',\n 'paymentPoint.location',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['ppm', true],\n ['location', true],\n ];\n\n const fetch = (params) => fetchPaymentPoints(modulesManager, params);\n\n const rowIdentifier = (paymentPoint) => paymentPoint.id;\n\n const openPaymentPoint = (paymentPoint) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}/${paymentPoint?.id}`,\n );\n\n const onDelete = (paymentPoint) => setPaymentPointToDelete(paymentPoint);\n\n const itemFormatters = () => [\n (paymentPoint) => paymentPoint.name,\n ({ ppm }) => `${ppm?.username} ${ppm?.iUser?.lastName} ${ppm?.iUser?.otherNames}`,\n ({ location }) => `${location?.code} ${location?.name}`,\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPaymentPoint(paymentPoint)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(paymentPoint)}\n disabled={deletedPaymentPointUuids.includes(paymentPoint.id)}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (paymentPoint) => openPaymentPoint(paymentPoint);\n\n const paymentPointFilter = ({ filters, onChangeFilters }) => (\n <PaymentPointFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const isRowDisabled = (_, paymentPoint) => deletedPaymentPointUuids.includes(paymentPoint.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={paymentPointFilter}\n fetch={fetch}\n items={paymentPoints}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPaymentPoints}\n fetchingItems={fetchingPaymentPoints}\n errorItems={errorPaymentPoints}\n tableTitle={formatMessageWithValues('PaymentPointSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPaymentPoints: state.payroll.fetchingPaymentPoints,\n fetchedPaymentPoints: state.payroll.fetchedPaymentPoints,\n errorPaymentPoints: state.payroll.errorPaymentPoints,\n paymentPoints: state.payroll.paymentPoints,\n pageInfo: state.payroll.paymentPointsPageInfo,\n totalCount: state.payroll.paymentPointsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentPoints,\n deletePaymentPoint,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYMENT_POINT_ROUTE,\n RIGHT_PAYMENT_POINT_CREATE,\n RIGHT_PAYMENT_POINT_SEARCH,\n} from '../../constants';\nimport PaymentPointSearcher from '../../components/payment-point/PaymentPointSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PaymentPointsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYMENT_POINT_SEARCH)\n && <PaymentPointSearcher />}\n {rights.includes(RIGHT_PAYMENT_POINT_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('tooltip.createButton'),\n )}\n </div>\n );\n}\n\nexport default PaymentPointsPage;\n","/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport {\n PublishedComponent,\n TextInput,\n NumberInput,\n SelectInput,\n CustomFilterTypeStatusPicker,\n CustomFilterFieldStatusPicker,\n} from '@stssocialst-stp/fe-core';\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport {\n BOOLEAN,\n INTEGER,\n STRING,\n CLEARED_STATE_FILTER,\n DATE,\n BOOL_OPTIONS,\n} from '../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersRowValue({\n classes,\n customFilters,\n currentFilter,\n setCurrentFilter,\n index,\n filters,\n setFilters,\n readOnly,\n}) {\n const onAttributeChange = (attribute) => (value) => {\n let updatedFilter = { ...currentFilter };\n\n if (attribute === 'field') {\n updatedFilter = {\n ...{ filter: '', value: '', type: value.type },\n };\n }\n\n const attributeValue = attribute === 'field' ? value.field : value;\n updatedFilter = {\n ...updatedFilter,\n [attribute]: attributeValue,\n ...(attribute === 'filter' && { value: '' }),\n };\n\n setCurrentFilter(updatedFilter);\n\n setFilters((prevFilters) => {\n const updatedRows = [...prevFilters];\n updatedRows[index] = { ...updatedFilter };\n return updatedRows;\n });\n };\n\n const removeFilter = () => {\n const newArray = [...filters];\n newArray.splice(index, 1);\n setFilters(newArray.length === 0 ? [CLEARED_STATE_FILTER] : newArray);\n };\n\n const renderInputBasedOnType = (type) => {\n const commonProps = {\n module: 'payroll',\n label: 'payroll.advancedFilters.value',\n value: currentFilter.value,\n onChange: onAttributeChange('value'),\n };\n\n switch (type) {\n case BOOLEAN:\n return (\n <SelectInput\n options={BOOL_OPTIONS}\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case INTEGER:\n return (\n <NumberInput\n min={0}\n displayZero\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case STRING:\n default:\n if (currentFilter.field.toLowerCase().includes(DATE)) {\n return (\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n return (\n <TextInput\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n };\n\n return (\n <Grid\n container\n direction=\"row\"\n className={classes.item}\n style={{ backgroundColor: '#DFEDEF' }}\n >\n {filters.length > 0 && !readOnly ? (\n <div style={{\n backgroundColor: '#DFEDEF', width: '10px', height: '25px', marginTop: '25px',\n }}\n >\n <span\n style={{\n transform: 'translate(-50%, -50%)',\n fontSize: '16px',\n color: '#006273',\n }}\n onClick={removeFilter}\n >\n ✖\n </span>\n </div>\n ) : (<></>)}\n <Grid item xs={3} className={classes.item}>\n <CustomFilterFieldStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.field\"\n value={{ field: currentFilter.field, type: currentFilter.type }}\n onChange={onAttributeChange('field')}\n customFilters={customFilters}\n readOnly={readOnly}\n />\n </Grid>\n {currentFilter.field !== '' ? (\n <Grid item xs={3} className={classes.item}>\n <CustomFilterTypeStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.filter\"\n value={currentFilter.filter}\n onChange={onAttributeChange('filter')}\n customFilters={customFilters}\n customFilterField={currentFilter.field}\n readOnly={readOnly}\n />\n </Grid>\n ) : (<></>) }\n {currentFilter.field !== '' && currentFilter.filter !== '' ? (\n <Grid item xs={3} className={classes.item}>\n {renderInputBasedOnType(currentFilter.type)}\n </Grid>\n ) : (<></>) }\n </Grid>\n );\n}\n\nexport default injectIntl(withTheme(withStyles(styles)(connect(null, null)(AdvancedFiltersRowValue))));\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable no-prototype-builtins */\nimport React, { useEffect, useState } from 'react';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport {\n decodeId,\n formatMessage,\n fetchCustomFilter,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport AddCircle from '@material-ui/icons/Add';\nimport _ from 'lodash';\nimport AdvancedFiltersRowValue from './AdvancedFiltersRowValue';\nimport { BENEFIT_PLAN, CLEARED_STATE_FILTER } from '../../constants';\nimport { isBase64Encoded } from '../../utils/advanced-filters-utils';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersDialog({\n intl,\n classes,\n object,\n objectToSave,\n fetchCustomFilter,\n customFilters,\n moduleName,\n objectType,\n setAppliedCustomFilters,\n // eslint-disable-next-line no-unused-vars\n appliedFiltersRowStructure,\n setAppliedFiltersRowStructure,\n updateAttributes,\n getDefaultAppliedCustomFilters,\n readOnly,\n additionalParams,\n confirmed,\n edited,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [currentFilter, setCurrentFilter] = useState({\n field: '', filter: '', type: '', value: '', amount: '',\n });\n const [filters, setFilters] = useState(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n\n useEffect(() => {\n setFilters(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n }, [objectToSave.jsonExt]);\n\n useEffect(() => {\n }, [edited]);\n\n const createParams = (moduleName, objectTypeName, uuidOfObject = null, additionalParams = null) => {\n const params = [\n `moduleName: \"${moduleName}\"`,\n `objectTypeName: \"${objectTypeName}\"`,\n ];\n if (uuidOfObject) {\n params.push(`uuidOfObject: \"${uuidOfObject}\"`);\n }\n if (additionalParams) {\n params.push(`additionalParams: ${JSON.stringify(JSON.stringify(additionalParams))}`);\n }\n return params;\n };\n\n const fetchFilters = (params) => fetchCustomFilter(params);\n\n const handleClose = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n };\n\n const handleRemoveFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setAppliedFiltersRowStructure([CLEARED_STATE_FILTER]);\n setFilters([]);\n };\n\n const handleAddFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setFilters([...filters, CLEARED_STATE_FILTER]);\n };\n\n function updateJsonExt(inputJsonExt, outputFilters) {\n const existingData = JSON.parse(inputJsonExt || '{}');\n if (!existingData.hasOwnProperty('advanced_criteria')) {\n existingData.advanced_criteria = [];\n }\n const filterData = JSON.parse(outputFilters);\n existingData.advanced_criteria = filterData;\n const updatedJsonExt = JSON.stringify(existingData);\n return updatedJsonExt;\n }\n\n const saveCriteria = () => {\n setAppliedFiltersRowStructure(filters);\n const outputFilters = JSON.stringify(\n filters.map(({\n filter, value, field, type,\n }) => ({\n custom_filter_condition: `${field}__${filter}__${type}=${value}`,\n })),\n );\n const jsonExt = updateJsonExt(objectToSave.jsonExt, outputFilters);\n updateAttributes(jsonExt);\n setAppliedCustomFilters(outputFilters);\n handleClose();\n };\n\n useEffect(() => {\n if (object && _.isEmpty(object) === false) {\n let paramsToFetchFilters = [];\n if (objectType === BENEFIT_PLAN) {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n isBase64Encoded(object.id) ? decodeId(object.id) : object.id,\n additionalParams,\n );\n } else {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n additionalParams,\n );\n }\n fetchFilters(paramsToFetchFilters);\n }\n }, [object]);\n return (\n <>\n {filters.map((filter, index) => (\n <AdvancedFiltersRowValue\n customFilters={customFilters}\n currentFilter={filter}\n setCurrentFilter={setCurrentFilter}\n index={index}\n filters={filters}\n setFilters={setFilters}\n readOnly={readOnly || confirmed}\n />\n ))}\n { !readOnly && !confirmed ? (\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <AddCircle\n style={{\n border: 'thin solid',\n borderRadius: '40px',\n width: '16px',\n height: '16px',\n }}\n onClick={handleAddFilter}\n disabled={readOnly || confirmed}\n />\n <Button\n onClick={handleAddFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n marginBottom: '6px',\n fontSize: '0.8rem',\n }}\n disabled={readOnly || confirmed}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.addFilters')}\n </Button>\n </div>\n ) : (<></>) }\n <div>\n { !readOnly && !confirmed ? (\n <>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleRemoveFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.clearAllFilters')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={saveCriteria}\n variant=\"contained\"\n color=\"primary\"\n autoFocus\n disabled={!object || confirmed || readOnly}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.filter')}\n </Button>\n </div>\n </>\n ) : <></> }\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state, props) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingCustomFilters: state.core.fetchingCustomFilters,\n errorCustomFilters: state.core.errorCustomFilters,\n fetchedCustomFilters: state.core.fetchedCustomFilters,\n customFilters: state.core.customFilters,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchCustomFilter,\n}, dispatch);\n\nexport default injectIntl(\n withTheme(withStyles(styles)(connect(mapStateToProps, mapDispatchToProps)(AdvancedFiltersDialog))),\n);\n","import React from 'react';\nimport { ConstantBasedPicker } from '@stssocialst-stp/fe-core';\n\nimport { PAYROLL_STATUS_LIST } from '../../constants';\n\nfunction PayrollStatusPicker({\n required,\n withNull,\n readOnly,\n onChange,\n value,\n nullLabel,\n withLabel,\n}) {\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.payroll.payrollStatusPicker\"\n constants={PAYROLL_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default PayrollStatusPicker;\n","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { SelectInput } from '@stssocialst-stp/fe-core';\nimport { fetchPaymentMethods } from '../actions';\n\nfunction PaymentMethodPicker({\n value,\n label,\n onChange,\n readOnly = false,\n withNull = false,\n nullLabel = null,\n withLabel = true,\n required = false,\n paymentMethods,\n fetchPaymentMethods,\n}) {\n const fetch = () => {\n fetchPaymentMethods({});\n };\n\n useEffect(() => {\n fetch();\n }, []);\n\n const options = Array.isArray(paymentMethods) && paymentMethods !== undefined ? [\n ...paymentMethods.map((paymentMethod) => ({\n value: paymentMethod.name,\n label: paymentMethod.name,\n })),\n ] : [];\n\n if (withNull) {\n options.unshift({\n value: null,\n label: nullLabel || '',\n });\n }\n\n return (\n <SelectInput\n module=\"payroll\"\n label={withLabel && label}\n options={options}\n value={value}\n onChange={onChange}\n readOnly={readOnly}\n required={required}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingPaymentMethods: state.payroll.fetchingPaymentMethods,\n errorPaymentMethods: state.payroll.errorPaymentMethods,\n fetchedPaymentMethods: state.payroll.fetchedPaymentMethods,\n paymentMethods: state.payroll.paymentMethods,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentMethods,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentMethodPicker);\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid, Divider, Typography } from '@material-ui/core';\nimport { withStyles, withTheme } from '@material-ui/core/styles';\n\nimport {\n formatMessage,\n FormPanel,\n PublishedComponent,\n TextInput,\n withModulesManager,\n FormattedMessage,\n} from '@stssocialst-stp/fe-core';\nimport AdvancedFiltersDialog from './AdvancedFiltersDialog';\nimport { CLEARED_STATE_FILTER } from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PayrollHeadPanel extends FormPanel {\n constructor(props) {\n super(props);\n this.state = {\n appliedCustomFilters: [CLEARED_STATE_FILTER],\n appliedFiltersRowStructure: [CLEARED_STATE_FILTER],\n };\n }\n\n componentDidMount() {\n this.setStateFromProps(this.props);\n }\n\n setStateFromProps = (props) => {\n const { jsonExt } = props?.edited ?? {};\n if (jsonExt) {\n const filters = this.getDefaultAppliedCustomFilters(jsonExt);\n this.setState({ appliedCustomFilters: filters, appliedFiltersRowStructure: filters });\n }\n };\n\n updateJsonExt = (value) => {\n this.updateAttributes({\n jsonExt: value,\n });\n };\n\n // eslint-disable-next-line class-methods-use-this\n getDefaultAppliedCustomFilters = (jsonExt) => {\n try {\n const jsonData = JSON.parse(jsonExt);\n const advancedCriteria = jsonData.advanced_criteria || [];\n const transformedCriteria = advancedCriteria.map(({ custom_filter_condition }) => {\n const [field, filter, typeValue] = custom_filter_condition.split('__');\n const [type, value] = typeValue.split('=');\n return {\n custom_filter_condition,\n field,\n filter,\n type,\n value,\n };\n });\n return transformedCriteria;\n } catch (error) {\n return [];\n }\n };\n\n setAppliedCustomFilters = (appliedCustomFilters) => {\n this.setState({ appliedCustomFilters });\n };\n\n setAppliedFiltersRowStructure = (appliedFiltersRowStructure) => {\n this.setState({ appliedFiltersRowStructure });\n };\n\n render() {\n const {\n edited, classes, intl, readOnly, isPayrollFromFailedInvoices, benefitPlanId,\n } = this.props;\n const payroll = { ...edited };\n const { appliedCustomFilters, appliedFiltersRowStructure } = this.state;\n return (\n <>\n <Grid container className={classes.item}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage(intl, 'payroll', 'paymentPoint.name')}\n value={payroll?.name}\n required\n onChange={(name) => this.updateAttribute('name', name)}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n required\n filterLabels={false}\n onChange={(paymentPlan) => this.updateAttribute('paymentPlan', paymentPlan)}\n value={payroll?.paymentPlan}\n readOnly={readOnly}\n benefitPlanId={benefitPlanId}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n required\n withPlaceholder\n filterLabels={false}\n onChange={(paymentCycle) => this.updateAttribute('paymentCycle', paymentCycle)}\n value={payroll?.paymentCycle}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n {readOnly && !isPayrollFromFailedInvoices && (\n <Grid item xs={3} className={classes.item}>\n <PayrollStatusPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.status && payroll.status}\n />\n </Grid>\n )}\n <Grid item xs={3} className={classes.item}>\n <PaymentMethodPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.paymentMethod && payroll.paymentMethod}\n onChange={(paymentMethod) => this.updateAttribute('paymentMethod', paymentMethod)}\n label={formatMessage(intl, 'payroll', 'paymentMethod')}\n />\n </Grid>\n </Grid>\n <Divider />\n {!isPayrollFromFailedInvoices\n && (\n <>\n <>\n <Typography>\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria\" />\n </div>\n </Typography>\n {!readOnly && (\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria.tip\" />\n </div>\n )}\n <Divider />\n <Grid container className={classes.item}>\n\n <AdvancedFiltersDialog\n object={null}\n objectToSave={payroll}\n moduleName=\"social_protection\"\n objectType=\"BenefitPlan\"\n setAppliedCustomFilters={this.setAppliedCustomFilters}\n appliedCustomFilters={appliedCustomFilters}\n appliedFiltersRowStructure={appliedFiltersRowStructure}\n setAppliedFiltersRowStructure={this.setAppliedFiltersRowStructure}\n updateAttributes={this.updateJsonExt}\n getDefaultAppliedCustomFilters={() => this.getDefaultAppliedCustomFilters(payroll.jsonExt)}\n readOnly={readOnly}\n edited={this.props.edited}\n />\n\n </Grid>\n </>\n <Divider />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PayrollHeadPanel))));\n","import React, { useState } from 'react';\nimport { Input, Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n apiHeaders,\n baseApiUrl,\n formatMessage,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction PayrollPaymentDataUploadDialog({\n intl,\n classes,\n payrollUuid,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const [forms, setForms] = useState({});\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setForms({});\n setIsOpen(false);\n };\n\n const handleFieldChange = (formName, fieldName, value) => {\n setForms({\n ...forms,\n [formName]: {\n ...(forms[formName] ?? {}),\n [fieldName]: value,\n },\n });\n };\n\n const onSubmit = async (values) => {\n const fileFormat = values.file.type;\n const formData = new FormData();\n\n formData.append('file', values.file);\n\n let urlImport;\n if (fileFormat.includes('/csv')) {\n urlImport = `${baseApiUrl}/payroll/csv_reconciliation/?payroll_id=${payrollUuid}`;\n }\n\n try {\n const response = await fetch(urlImport, {\n headers: apiHeaders,\n body: formData,\n method: 'POST',\n credentials: 'same-origin',\n });\n\n await response.json();\n\n if (response.status >= 400) {\n handleClose();\n return;\n }\n handleClose();\n } catch (error) {\n handleClose();\n }\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 600,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid item>\n <Grid container spacing={4} direction=\"column\">\n <Grid item>\n <Input\n onChange={(event) => handleFieldChange('paymentData', 'file', event.target.files[0])}\n required\n id=\"import-button\"\n inputProps={{\n accept: '.csv, application/csv, text/csv',\n }}\n type=\"file\"\n />\n </Grid>\n </Grid>\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n Cancel\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => onSubmit(forms.paymentData)}\n disabled={!(forms.paymentData?.file && payrollUuid)}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentDataUploadDialog),\n ),\n ),\n);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilterModal({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('benefit_Individual_FirstName')}\n onChange={onChangeStringFilter('benefit_Individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('benefit_Individual_LastName')}\n onChange={onChangeStringFilter('benefit_Individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('bill_AmountTotal')}\n onChange={onChangeFilter('bill_AmountTotal')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.paymentDate')}\n value={filterValue('bill_DatePayed_Gte')}\n onChange={(v) => onChangeFilters([\n {\n id: 'bill_DatePayed_Gte',\n value: v,\n filter: `bill_DatePayed_Gte: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilterModal;\n","import React from 'react';\nimport {\n Modal, Backdrop, Fade, Box, Typography, Button,\n} from '@material-ui/core';\nimport { useTranslations, useModulesManager } from '@stssocialst-stp/fe-core';\n\nfunction ErrorSummaryModal({ open, onClose, benefitAttachment }) {\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const jsonExt = benefitAttachment?.benefit?.jsonExt ? JSON.parse(benefitAttachment.benefit.jsonExt) : {};\n const outputGateway = `${jsonExt?.output_gateway}`;\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n closeAfterTransition\n BackdropComponent={Backdrop}\n BackdropProps={{\n timeout: 500,\n }}\n >\n <Fade in={open}>\n <Box\n p={4}\n style={{\n backgroundColor: 'white', margin: 'auto', maxWidth: 400, outline: 'none',\n }}\n >\n <Typography variant=\"h6\">{formatMessage('payroll.errorSummary.title')}</Typography>\n {/* Conditional rendering based on output_gateway */}\n {outputGateway === null || outputGateway === 'undefined' ? (\n <Typography>\n {formatMessage('payroll.errorSummary.outputGateway.noInfo')}\n </Typography>\n ) : (\n <Typography>\n {outputGateway}\n </Typography>\n )}\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Button onClick={onClose} variant=\"contained\" color=\"primary\">\n {formatMessage('payroll.errorSummary.close')}\n </Button>\n </Box>\n </Box>\n </Fade>\n </Modal>\n );\n}\n\nexport default ErrorSummaryModal;\n","import React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n formatMessage,\n renderInputComponent,\n createFieldsBasedOnJSON,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME } from '../../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdditionalFieldsDialog({\n intl,\n classes,\n jsonExt,\n buttonLabel,\n title,\n}) {\n // eslint-disable-next-line no-param-reassign\n if (!jsonExt) jsonExt = '{}';\n const [isOpen, setIsOpen] = useState(false);\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n const jsonExtFields = createFieldsBasedOnJSON(JSON.stringify(JSON.parse(jsonExt).extra_info));\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', buttonLabel)}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1200,\n maxWidth: 1200,\n maxHeight: 900,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', title)}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid container className={classes.item}>\n {jsonExtFields?.map((jsonExtField) => (\n <Grid item xs={6} className={classes.item}>\n {renderInputComponent(MODULE_NAME, jsonExtField)}\n </Grid>\n ))}\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.additonalFields.close')}\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }} />\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(AdditionalFieldsDialog),\n ),\n ),\n);\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollBenefitPrintTemplate = forwardRef(({ benefitAttachments }, ref) => {\n if (!benefitAttachments) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitAttachments.map((benefitAttachment, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitAttachment.benefit.code} - ${benefitAttachment.benefit.individual.firstName}, ${benefitAttachment.benefit.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.payedOnTime')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.payedOnTime ? 'Yes' : 'No'}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollBenefitPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-param-reassign */\nimport React, { useState, useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport Typography from '@material-ui/core/Typography';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitAttachments, deleteBenefitConsumption } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport BenefitConsumptionFilterModal from './BenefitConsumptionFilterModal';\nimport ErrorSummaryModal from './dialogs/ErrorSummaryModal';\nimport { mutationLabel } from '../../utils/string-utils';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollBenefitPrintTemplate from '../PayrollBenefitPrintTemplate';\n\nfunction BenefitConsumptionSearcherModal({\n fetchBenefitAttachments,\n fetchingBenefitAttachments,\n fetchedBenefitAttachments,\n errorBenefitAttachments,\n benefitAttachments,\n benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount,\n payrollUuid,\n reconciledMode,\n payrollDetail,\n deleteBenefitConsumption,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [selectedBenefitAttachment, setSelectedBenefitAttachment] = useState(null);\n const [openConfirmDialog, setOpenConfirmDialog] = useState(false);\n const [benefitToDelete, setBenefitToDelete] = useState(null);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => {\n fetchBenefitAttachments(modulesManager, params);\n };\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter: `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (reconciledMode && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) {\n filters.benefit_Status = {\n value: 'RECONCILED',\n filter: `benefit_Status: ${PAYROLL_STATUS.RECONCILED}`,\n };\n }\n return filters;\n };\n\n const defaultFiltersArray = () => {\n const filters = [\n 'isDeleted: false',\n `first: ${DEFAULT_PAGE_SIZE}`,\n `payrollUuid: \"${payrollUuid}\"`,\n ];\n if (reconciledMode && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) {\n filters.push(`benefit_Status: ${PAYROLL_STATUS.RECONCILED}`);\n }\n return filters;\n };\n\n const headers = () => [\n 'benefitConsumption.photo',\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.amount',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n 'benefitConsumption.status',\n '',\n '',\n ];\n\n const confirmDeleteBenefitConsumption = (benefit) => {\n setBenefitToDelete(benefit);\n setOpenConfirmDialog(true);\n };\n\n const handleDeleteBenefitConsumption = () => {\n deleteBenefitConsumption(\n benefitToDelete.benefit,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(benefitToDelete.benefit.code)),\n );\n setOpenConfirmDialog(false);\n setBenefitToDelete(null);\n const filters = defaultFiltersArray();\n fetchBenefitAttachments(modulesManager, filters); // Refresh the searcher after deletion\n };\n\n const checkBenefitDueDate = (benefitAttachment) => {\n if (!benefitAttachment.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitAttachment.benefit && benefitAttachment.benefit.dateDue >= benefitAttachment.bill.datePayed\n ) ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (benefitAttachment) => (\n benefitAttachment.benefit.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.firstName,\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.lastName,\n (benefitAttachment) => benefitAttachment?.bill?.amountTotal,\n (benefitAttachment) => benefitAttachment?.benefit?.receipt,\n (benefitAttachment) => benefitAttachment?.benefit?.dateDue,\n (benefitAttachment) => checkBenefitDueDate(benefitAttachment),\n (benefitAttachment) => (\n !benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.status,\n (benefitAttachment) => (\n <AdditionalFieldsDialog\n jsonExt={benefitAttachment?.benefit?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n ),\n (benefitAttachment) => (\n <Button\n onClick={() => {}}\n variant=\"contained\"\n color=\"primary\"\n disabled={!!benefitAttachment.benefit.receipt}\n >\n {formatMessage('payroll.summary.confirm')}\n </Button>\n ),\n (benefitAttachment) => (\n (payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n || payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) && payrollDetail.status === PAYROLL_STATUS.RECONCILED\n && benefitAttachment.benefit.status !== 'RECONCILED' && (\n <Button\n onClick={() => setSelectedBenefitAttachment(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_error')}\n </Button>\n )\n ),\n (benefitAttachment) => (\n payrollDetail.status === PAYROLL_STATUS.PENDING_APPROVAL\n && benefitAttachment.benefit.status !== 'PENDING_DELETION' && (\n <Button\n onClick={() => confirmDeleteBenefitConsumption(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_delete')}\n </Button>\n )\n ),\n ];\n\n const rowIdentifier = (benefitAttachment) => benefitAttachment.id;\n\n const sorts = () => [\n ['benefit_photo', false],\n ['benefit_individual_FirstName', true],\n ['benefit_individual_LastName', true],\n ['bill_amountTotal', true],\n ['benefit_receipt', true],\n ['benefit_dateDue', true],\n ];\n\n const benefitConsumptionFilterModal = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilterModal filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionFilterModal}\n fetch={fetch}\n items={benefitAttachments}\n itemsPageInfo={benefitAttachmentsPageInfo}\n fetchingItems={fetchingBenefitAttachments}\n fetchedItems={fetchedBenefitAttachments}\n errorItems={errorBenefitAttachments}\n tableTitle={formatMessageWithValues('benefitAttachment.searcherResultsTitle', { benefitAttachmentsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n {selectedBenefitAttachment && (\n <ErrorSummaryModal\n open={!!selectedBenefitAttachment}\n onClose={() => setSelectedBenefitAttachment(null)}\n benefitAttachment={selectedBenefitAttachment}\n />\n )}\n <Dialog\n open={openConfirmDialog}\n onClose={() => setOpenConfirmDialog(false)}\n >\n <DialogTitle>{formatMessage('benefitConsumption.delete.confirm.title')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {formatMessage('benefitConsumption.delete.confirm.message')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpenConfirmDialog(false)} color=\"primary\">\n {formatMessage('benefitConsumption.cancel')}\n </Button>\n <Button onClick={handleDeleteBenefitConsumption} color=\"primary\" autoFocus>\n {formatMessage('benefitConsumption.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n <div style={{ display: 'none' }}>\n <PayrollBenefitPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitAttachments={benefitAttachments}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitAttachments: state.payroll.fetchingBenefitAttachments,\n fetchedBenefitAttachments: state.payroll.fetchedBenefitAttachments,\n errorBenefitAttachments: state.payroll.errorBenefitAttachments,\n benefitAttachments: state.payroll.benefitAttachments,\n benefitAttachmentsPageInfo: state.payroll.benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount: state.payroll.benefitAttachmentsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitAttachments, deleteBenefitConsumption },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcherModal);\n","import { baseApiUrl } from '@stssocialst-stp/fe-core';\n\nexport default function downloadPayroll(payrollId, payrollFileName, blank = true) {\n const url = new URL(\n `${window.location.origin}${baseApiUrl}/payroll/csv_reconciliation/`,\n );\n url.searchParams.append('payroll_id', payrollId);\n url.searchParams.append('blank', blank);\n url.searchParams.append('payroll_file_name', payrollFileName);\n\n fetch(url)\n .then((response) => response.blob())\n .then((blob) => {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = blank ? `reconciliation_${payrollFileName}.csv` : payrollFileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Export failed, reason: ', error);\n });\n}\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS, PAYMENT_METHOD } from '../../../constants';\nimport {\n closePayroll, fetchPayroll, makePaymentForPayroll, rejectPayroll,\n} from '../../../actions';\nimport { mutationLabel } from '../../../utils/string-utils';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\n\nfunction PaymentApproveForPaymentDialog({\n classes,\n payroll,\n closePayroll,\n rejectPayroll,\n payrollDetail,\n fetchPayroll,\n makePaymentForPayroll,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [approvedBeneficiaries, setApprovedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n const approved = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n setApprovedBeneficiaries(approved);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const closePayrollCallback = () => {\n handleClose();\n closePayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const rejectPayrollCallback = () => {\n handleClose();\n rejectPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const makePaymentForPayrollCallback = () => {\n handleClose();\n makePaymentForPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '75%',\n maxWidth: '75%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n (\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => closePayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n disabled={\n payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n ? approvedBeneficiaries === 0\n : selectedBeneficiaries === 0\n }\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.approveAndClose')}\n </Button>\n <Button\n onClick={() => makePaymentForPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n ? formatMessage('payroll.bistp.submitPayment')\n : formatMessage('payroll.summary.makePayment')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n <Button\n onClick={() => rejectPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.reject')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n closePayroll,\n rejectPayroll,\n fetchPayroll,\n makePaymentForPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentApproveForPaymentDialog);\n","/* eslint-disable max-len */\nimport React, { useState } from 'react';\nimport { Paper, Grid } from '@material-ui/core';\nimport {\n Contributions,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport { makeStyles } from '@material-ui/styles';\nimport Button from '@material-ui/core/Button';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n PAYROLL_TABS_LABEL_CONTRIBUTION_KEY,\n PAYROLL_TABS_PANEL_CONTRIBUTION_KEY,\n PAYROLL_STATUS,\n MODULE_NAME,\n PAYMENT_METHOD,\n} from '../../constants';\nimport PayrollPaymentDataUploadDialog from './dialogs/PayrollPaymentDataUploadDialog';\nimport PaymentApproveForPaymentSummary from './dialogs/PaymentApproveForPaymentSummary';\nimport downloadPayroll from '../../utils/export';\n\nconst useStyles = makeStyles((theme) => ({\n paper: theme.paper.paper,\n tableTitle: theme.table.title,\n tabs: {\n display: 'flex',\n alignItems: 'center',\n },\n selectedTab: {\n borderBottom: '4px solid white',\n },\n unselectedTab: {\n borderBottom: '4px solid transparent',\n },\n button: {\n marginLeft: 'auto',\n padding: theme.spacing(1),\n fontSize: '0.875rem',\n textTransform: 'none',\n },\n}));\n\nfunction PayrollTab({\n rights, setConfirmedAction, payrollUuid, isInTask, payroll, isPayrollFromFailedInvoices,\n}) {\n const classes = useStyles();\n\n const [activeTab, setActiveTab] = useState(BENEFIT_CONSUMPTION_LIST_TAB_VALUE);\n\n const isSelected = (tab) => tab === activeTab;\n\n const tabStyle = (tab) => (isSelected(tab) ? classes.selectedTab : classes.unselectedTab);\n\n const handleChange = (_, tab) => setActiveTab(tab);\n\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <Paper className={classes.paper}>\n <Grid container className={`${classes.tableTitle} ${classes.tabs}`}>\n <div style={{ width: '100%' }}>\n <div style={{ float: 'left' }}>\n <Contributions\n contributionKey={PAYROLL_TABS_LABEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n onChange={handleChange}\n isSelected={isSelected}\n tabStyle={tabStyle}\n payroll={payroll}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n {payrollUuid && !isPayrollFromFailedInvoices && (\n <Button\n onClick={() => downloadPayrollData(payrollUuid, payroll.name)}\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n textTransform: 'uppercase',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n )}\n {payrollUuid && payroll?.status === PAYROLL_STATUS.APPROVE_FOR_PAYMENT && payroll.paymentMethod === PAYMENT_METHOD.STRATEGY_OFFLINE_PAYMENT\n && (\n <PayrollPaymentDataUploadDialog\n payrollUuid={payrollUuid}\n />\n )}\n {payrollUuid && payroll?.status === PAYROLL_STATUS.APPROVE_FOR_PAYMENT && payroll.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n && (\n <PaymentApproveForPaymentSummary\n classes={{}}\n payrollDetail={payroll}\n />\n )}\n </div>\n </div>\n </Grid>\n <Contributions\n contributionKey={PAYROLL_TABS_PANEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n payroll={payroll}\n />\n </Paper>\n );\n}\n\nexport default PayrollTab;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport {\n fetchPayroll,\n clearPayroll,\n createPayroll,\n} from '../../actions';\nimport {\n MODULE_NAME, PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n RIGHT_PAYROLL_CREATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PayrollHeadPanel from '../../components/payroll/PayrollHeadPanel';\nimport PayrollTab from '../../components/payroll/PayrollTab';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n}));\n\nfunction PayrollPage({\n statePayrollUuid,\n taskPayrollUuid,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n payroll,\n fetchPayroll,\n createPayroll,\n clearPayroll,\n clearConfirm,\n createPayrollFromFailedInvoices,\n journalize,\n benefitPlanId,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPayroll, setEditedPayroll] = useState({});\n const [payrollUuid, setPayrollUuid] = useState(null);\n const [isInTask, setIsInTask] = useState(false);\n const [readOnly, setReadOnly] = useState(false);\n const [isPayrollFromFailedInvoices, setIsPayrollFromFailedInvoices] = useState(false);\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (createPayrollFromFailedInvoices === PAYROLL_FROM_FAILED_INVOICES_URL_PARAM) {\n setIsPayrollFromFailedInvoices(true);\n }\n }, [createPayrollFromFailedInvoices, payrollUuid]);\n\n useEffect(() => {\n setPayrollUuid(statePayrollUuid ?? taskPayrollUuid);\n setIsInTask(!!taskPayrollUuid);\n }, [taskPayrollUuid, statePayrollUuid]);\n\n useEffect(() => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n }, [payrollUuid]);\n\n useEffect(() => {\n if (confirmed && typeof confirmed === 'function') confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYROLL) {\n back();\n }\n if (mutation?.clientMutationId && (!payrollUuid || isPayrollFromFailedInvoices)) {\n fetchPayroll(modulesManager, [`clientMutationId: \"${mutation.clientMutationId}\"`]);\n setIsPayrollFromFailedInvoices(false);\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => {\n if (payroll) {\n setReadOnly(payroll?.id);\n if (isPayrollFromFailedInvoices) {\n setEditedPayroll({\n ...payroll, id: null, name: null, paymentCycle: null, status: null, fromFailedInvoicesPayrollId: payroll?.id,\n });\n } else {\n setEditedPayroll(payroll);\n }\n if (!payrollUuid && payroll?.id && !isPayrollFromFailedInvoices) {\n const payrollRouteRef = modulesManager.getRef('payroll.route.payroll');\n history.replace(`/${payrollRouteRef}/${payroll.id}`);\n }\n }\n }, [payroll]);\n\n useEffect(() => () => clearPayroll(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPayroll?.name\n && editedPayroll?.paymentPlan\n && editedPayroll?.paymentCycle\n && editedPayroll?.paymentMethod\n && !editedPayroll?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty() && (!readOnly || isPayrollFromFailedInvoices);\n\n const handleSave = () => {\n createPayroll(\n editedPayroll,\n formatMessageWithValues('payroll.mutation.create', mutationLabel(payroll)),\n );\n if (benefitPlanId) {\n back();\n }\n };\n\n const actions = [];\n\n return (\n rights.includes(RIGHT_PAYROLL_CREATE) && (\n <div className={classes.page}>\n <Form\n key={payrollUuid}\n module=\"payroll\"\n title={formatMessageWithValues('payrollPage.title', pageTitle(payroll))}\n titleParams={pageTitle(payroll)}\n openDirty={isPayrollFromFailedInvoices ? true : !payrollUuid}\n benefitPlan={editedPayroll}\n edited={editedPayroll}\n onEditedChanged={setEditedPayroll}\n back={!isInTask && back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PayrollHeadPanel}\n Panels={[PayrollTab]}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n saveTooltip={formatMessage('tooltip.save')}\n isInTask={!!taskPayrollUuid}\n payroll={payroll}\n readOnly={readOnly}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n benefitPlanId={benefitPlanId}\n />\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n createPayroll,\n clearPayroll,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n statePayrollUuid: props?.match?.params?.payroll_uuid === 'null' ? null : props?.match?.params.payroll_uuid,\n createPayrollFromFailedInvoices: props?.match?.params?.createPayrollFromFailedInvoices,\n benefitPlanId: props?.match?.params?.benefitPlanId,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n payroll: state.payroll.payroll,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PayrollFilter({\n filters, onChangeFilters, statusReadOnly = false,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('payroll.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n filters={filters}\n value={filterValue('paymentPlan_Id')}\n onChange={(paymentPlan) => onChangeFilters([\n {\n id: 'paymentPlan_Id',\n value: paymentPlan,\n filter: `paymentPlan_Id: \"${paymentPlan?.id && decodeId(paymentPlan.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n withPlaceholder\n filters={filters}\n value={filterValue('paymentCycle_Id')}\n onChange={(paymentCycle) => onChangeFilters([\n {\n id: 'paymentCycle_Id',\n value: paymentCycle,\n filter: `paymentCycle_Id: \"${paymentCycle?.id && decodeId(paymentCycle.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PayrollStatusPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('paymentMethod')}\n value={filterValue('status')}\n readOnly={statusReadOnly}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: value ? `status: ${value}` : EMPTY_STRING,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PaymentMethodPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('payroll.paymentMethod')}\n value={filterValue('paymentMethod')}\n onChange={(value) => onChangeFilters([\n {\n id: 'paymentMethod',\n value,\n filter: `paymentMethod: \"${value}\"`,\n },\n ])}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"payrollFilter.showHistory\"\n field={(\n <Grid item xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PayrollFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport { fetchPayrolls, deletePayrolls } from '../../actions';\n\nfunction PayrollSearcher({\n deletePayrolls,\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n coreConfirm,\n clearConfirm,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [payrollToDelete, setPayrollToDelete] = useState(null);\n const [deletedPayrollUuids, setDeletedPayrollUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePayrollConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('payroll.delete.confirm.title', pageTitle(payrollToDelete)),\n formatMessage('payroll.delete.confirm.message'),\n );\n };\n\n useEffect(() => payrollToDelete && openDeletePayrollConfirmDialog(), [payrollToDelete]);\n\n useEffect(() => {\n if (payrollToDelete && confirmed) {\n deletePayrolls(\n payrollToDelete,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(payrollToDelete)),\n );\n setDeletedPayrollUuids([...deletedPayrollUuids, payrollToDelete.id]);\n }\n if (payrollToDelete && confirmed !== null) {\n setPayrollToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.benefitPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['benefitPlanNameCode', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const onDelete = (payroll) => setPayrollToDelete(payroll);\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPayroll(payroll)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(payroll)}\n disabled={deletedPayrollUuids.includes(payroll.id) || payroll.status !== PAYROLL_STATUS.PENDING_APPROVAL}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const isRowDisabled = (_, payroll) => deletedPayrollUuids.includes(payroll.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n deletePayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_CREATE,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcher from '../../components/payroll/PayrollSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcher />}\n {rights.includes(RIGHT_PAYROLL_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('tooltip.createButton'),\n )}\n </div>\n );\n}\n\nexport default PayrollsPage;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport DownloadIcon from '@material-ui/icons/CloudDownload';\n\nimport {\n Searcher,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME,\n ROWS_PER_PAGE_OPTIONS, PAYROLL_PAYMENT_FILE_STATUS,\n} from '../../constants';\nimport { fetchPayrollPaymentFiles } from '../../actions';\nimport downloadPayroll from '../../utils/export';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\n\nfunction PayrollPaymentFilesSearcher({\n fetchingPayrollFiles,\n fetchedPayrollFiles,\n errorPayrollFiles,\n files,\n pageInfo,\n totalCount,\n fetchPayrollPaymentFiles,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const headers = () => [\n 'payrollPaymentFile.fileName',\n 'payrollPaymentFile.status',\n 'payrollPaymentFile.error',\n 'payrollPaymentFile.download',\n '',\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n };\n if (payrollUuid) {\n filters.payrollId = {\n value: payrollUuid,\n filter: `payroll_Id: \"${payrollUuid}\"`,\n };\n }\n return filters;\n };\n\n const download = (payrollId, fileName) => {\n downloadPayroll(payrollId, fileName, false);\n };\n\n const fetchFiles = (params) => fetchPayrollPaymentFiles(modulesManager, params);\n\n const rowIdentifier = (file) => file.fileName;\n\n const itemFormatters = () => [\n (file) => file.fileName,\n (file) => file.status,\n (file) => file.error,\n (file) => (\n <Tooltip title={formatMessage('tooltip.download')}>\n <IconButton\n onClick={() => download(payrollUuid, file.fileName)}\n disabled={![PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.PARTIAL_SUCCESS].includes(file.status)}\n >\n <DownloadIcon />\n </IconButton>\n </Tooltip>\n ),\n (file) => (\n <AdditionalFieldsDialog\n jsonExt={file?.jsonExt}\n buttonLabel=\"payroll.summaryUpload\"\n title=\"payroll.summaryUpload\"\n />\n ),\n ];\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={null}\n fetch={fetchFiles}\n items={files}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrollFiles}\n fetchingItems={fetchingPayrollFiles}\n errorItems={errorPayrollFiles}\n tableTitle={formatMessageWithValues('payrollPaymentFilesSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n );\n}\nconst mapStateToProps = (state) => ({\n fetchingPayrollFiles: state.payroll.fetchingPayrollFiles,\n fetchedPayrollFiles: state.payroll.fetchedPayrollFiles,\n errorPayrollFiles: state.payroll.errorPayrollFiles,\n files: state.payroll.payrollFiles,\n pageInfo: state.payroll.payrollFilesPageInfo,\n totalCount: state.payroll.payrollFilesTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrollPaymentFiles,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentFilesSearcher);\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport {\n useTranslations,\n useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport PayrollPaymentFilesSearcher from '../PayrollPaymentFilesSearcher';\nimport { MODULE_NAME } from '../../../constants';\n\nfunction PayrollReconciliationFilesDialog({\n payroll, classes,\n}) {\n const modulesManager = useModulesManager();\n const rights = useSelector((state) => state.core?.user?.i_user?.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationFiles')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1000,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogContent>\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payroll?.id}\n rights={rights}\n showFilters={false}\n />\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'right' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nexport default PayrollReconciliationFilesDialog;\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentApproveForPaymentSummary from './dialogs/PaymentApproveForPaymentSummary';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherApproved({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n filter: `status: ${PAYROLL_STATUS.APPROVE_FOR_PAYMENT}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentApproveForPaymentSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherApproved);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherApproved from '../../components/payroll/PayrollSearcherApproved';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ApprovedPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherApproved classes={classes} />}\n </div>\n );\n}\n\nexport default ApprovedPayrollsPage;\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n useHistory,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport {\n MODULE_NAME,\n BENEFIT_CONSUMPTION_STATUS,\n PAYROLL_PAYROLL_ROUTE,\n PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n} from '../../../constants';\nimport downloadPayroll from '../../../utils/export';\n\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport { fetchPayroll } from '../../../actions';\n\nfunction PaymentReconcilationSummarytDialog({\n classes,\n payroll,\n payrollDetail,\n fetchPayroll,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleCreatePaymentForFailedInvoice = () => {\n history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payrollDetail?.id}/${PAYROLL_FROM_FAILED_INVOICES_URL_PARAM}`,\n );\n };\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} reconciledMode />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleCreatePaymentForFailedInvoice}\n variant=\"contained\"\n color=\"primary\"\n disabled={totalBeneficiaries === selectedBeneficiaries}\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.createPaymentForFailedInvoice')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentReconcilationSummarytDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentReconciliationSummaryDialog from './dialogs/PaymentReconciliationSummaryDialog';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherReconciled({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.RECONCILED,\n filter: `status: ${PAYROLL_STATUS.RECONCILED}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentReconciliationSummaryDialog\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherReconciled);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherReconciled from '../../components/payroll/PayrollSearcherReconciled';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ReconciledPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherReconciled classes={classes} />}\n </div>\n );\n}\n\nexport default ReconciledPayrollsPage;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useState } from 'react';\n\nimport { TextField } from '@material-ui/core';\n\nimport {\n useGraphqlQuery, useTranslations, Autocomplete, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { PAYMENT_POINT_PROJECTION } from '../../actions';\n\nfunction PaymentPointPicker({\n readOnly,\n value,\n onChange,\n required,\n withLabel,\n withPlaceholder,\n filterOptions,\n filterSelectedOptions,\n}) {\n const [searchString, setSearchString] = useState();\n const { formatMessage } = useTranslations('payroll');\n\n const modulesManager = useModulesManager();\n\n const formatSuggestion = (paymentPoint) => [paymentPoint?.name].filter(Boolean).join(' ');\n\n const { isLoading, data, error } = useGraphqlQuery(\n `\n query paymentPoint {\n paymentPoint {\n edges {\n node {\n ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')}\n }\n }\n }\n }\n `,\n {},\n );\n\n const paymentPoints = data?.paymentPoint?.edges.map((edge) => edge.node) ?? [];\n\n return (\n <Autocomplete\n withLabel={withLabel}\n withPlaceholder={withPlaceholder}\n readOnly={readOnly}\n value={value}\n placeholder={formatMessage('paymentPointPicker.placeholder')}\n label={formatMessage('paymentPointPicker.label')}\n isLoading={isLoading}\n options={paymentPoints}\n error={error}\n getOptionLabel={(option) => formatSuggestion(option)}\n onChange={(user) => onChange(user)}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={() => setSearchString(searchString)}\n renderInput={(inputProps) => (\n <TextField\n {...inputProps}\n variant=\"standard\"\n required={required}\n label={withLabel && formatMessage('paymentPointPicker.label')}\n placeholder={withPlaceholder && formatMessage('paymentPointPicker.placeholder')}\n />\n )}\n />\n );\n}\n\nexport default PaymentPointPicker;\n","import React from 'react';\nimport { ConstantBasedPicker } from '@stssocialst-stp/fe-core';\n\nimport { BENEFIT_CONSUMPTION_STATUS_LIST } from '../constants';\n\nfunction BenefitConsumptionStatusPicker(props) {\n const {\n required, withNull, readOnly, onChange, value, nullLabel, withLabel,\n } = props;\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.benefitConsumptionStatusPicker\"\n constants={BENEFIT_CONSUMPTION_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default BenefitConsumptionStatusPicker;\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionPayrollFilter({ filters, onChangeFilters, benefitPlan }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.name\"\n value={filterTextFieldValue('payroll_Name')}\n onChange={onChangeStringFilter('payroll_Name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.benefitPlan\"\n value={filterTextFieldValue('benefitPlanName')}\n onChange={onChangeStringFilter('benefitPlanName')}\n readOnly={benefitPlan !== null && benefitPlan !== undefined}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.startDate')}\n value={filterValue('payroll_PaymentCycle_StartDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_StartDate',\n value: v,\n filter: `payroll_PaymentCycle_StartDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.endDate')}\n value={filterValue('payroll_PaymentCycle_EndDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_EndDate',\n value: v,\n filter: `payroll_PaymentCycle_EndDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('benefit_Status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'benefit_Status',\n value,\n filter: `benefit_Status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('benefit_Code')}\n onChange={onChangeStringFilter('benefit_Code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('benefit_Amount')}\n onChange={onChangeStringFilter('benefit_Amount')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('benefit_Type')}\n onChange={onChangeStringFilter('benefit_Type', CONTAINS_LOOKUP)}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionPayrollFilter;\n","/* eslint-disable no-param-reassign */\nimport React, { useEffect, useState } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { fetchPayrollBenefitConsumptions, fetchBenefitsSummary } from '../../actions';\nimport { DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS } from '../../constants';\nimport BenefitConsumptionPayrollFilter from './BenefitConsumptionPayrollFilter';\n\nfunction BenefitConsumptionPayrollSearcher({\n fetchPayrollBenefitConsumptions,\n fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount,\n fetchBenefitsSummary,\n fetchedBenefitsSummary,\n benefitsSummary,\n individualUuid,\n benefitPlan,\n groupBeneficiaries,\n paymentCycleUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [totalNumberOfBenefits, setTotalNumberOfBenefits] = useState(0);\n\n const fetch = (params) => fetchPayrollBenefitConsumptions(modulesManager, params);\n\n const headers = () => [\n 'benefitConsumption.payroll.name',\n 'benefitConsumption.payroll.benefitPlan',\n 'benefitConsumption.payroll.startDate',\n 'benefitConsumption.payroll.endDate',\n 'benefitConsumption.status',\n 'benefitConsumption.code',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n ];\n\n const checkBenefitDueDate = (payrollBenefitConsumption) => {\n if (!payrollBenefitConsumption.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n payrollBenefitConsumption.benefit\n && payrollBenefitConsumption.benefit.dateDue\n >= payrollBenefitConsumption.benefit.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.name,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.benefitPlanNameCode,\n // eslint-disable-next-line max-len\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.startDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.endDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.status,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.code,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.receipt,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.dateDue,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.amount,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.type,\n (payrollBenefitConsumption) => checkBenefitDueDate(payrollBenefitConsumption),\n (payrollBenefitConsumption) => (\n !payrollBenefitConsumption.benefit.receipt\n ? ''\n : payrollBenefitConsumption?.benefit?.benefitAttachment[0]?.bill?.datePayed\n ),\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['payroll_Name', true],\n ['payroll_benefitPlanName', false],\n ['payroll_PaymentCycle_StartDate', true],\n ['payroll_PaymentCycle_EndDate', true],\n ['benefit_Status', true],\n ['benefit_Code', true],\n ['benefit_Receipt', true],\n ['benefit_DateDue', true],\n ['benefit_Amount', true],\n ['benefit_Type', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n };\n if (groupBeneficiaries !== null && groupBeneficiaries !== undefined) {\n filters.benefit_Individual_Id = {\n value: groupBeneficiaries?.group?.head?.uuid,\n filter: `benefit_Individual_Id: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n };\n } else if (individualUuid !== null && individualUuid !== undefined) {\n filters.benefit_Individual_Id = {\n value: individualUuid,\n filter: `benefit_Individual_Id: \"${individualUuid}\"`,\n };\n }\n if (benefitPlan?.id) {\n filters.benefitPlanUuid = {\n value: benefitPlan.id,\n filter: `benefitPlanUuid: \"${benefitPlan.id}\"`,\n };\n }\n if (paymentCycleUuid) {\n filters.paymentCycleUuid = {\n value: paymentCycleUuid,\n filter: `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n };\n }\n return filters;\n };\n\n useEffect(() => {\n const params = [];\n if (individualUuid) {\n params.push(\n `individualId: \"${individualUuid}\"`,\n );\n }\n if (groupBeneficiaries) {\n params.push(\n `individualId: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n );\n }\n if (benefitPlan?.id) {\n params.push(\n `benefitPlanUuid: \"${benefitPlan.id}\"`,\n );\n }\n if (paymentCycleUuid) {\n params.push(\n `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n );\n }\n fetchBenefitsSummary(params);\n }, []);\n\n useEffect(() => {\n if (payrollBenefitConsumptionsTotalCount > totalNumberOfBenefits) {\n setTotalNumberOfBenefits(payrollBenefitConsumptionsTotalCount);\n }\n }, [payrollBenefitConsumptionsTotalCount]);\n\n const benefitConsumptionPayrollFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionPayrollFilter\n filters={filters}\n onChangeFilters={onChangeFilters}\n benefitPlan={benefitPlan}\n />\n );\n\n return (\n <div>\n {fetchedBenefitsSummary && (\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalNumberOfBenefits')}\n </Typography>\n <Typography variant=\"body1\">\n {totalNumberOfBenefits}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountDue')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountDue ?? 0}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountReceived')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountReceived ?? 0}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionPayrollFilter}\n fetch={fetch}\n items={payrollBenefitConsumptions}\n itemsPageInfo={payrollBenefitConsumptionsPageInfo}\n fetchingItems={fetchingPayrollBenefitConsumptions}\n fetchedItems={fetchedPayrollBenefitConsumptions}\n errorItems={errorPayrollBenefitConsumptions}\n tableTitle={\n // eslint-disable-next-line max-len\n formatMessageWithValues('payrollBenefitConsumption.searcherResultsTitle', { payrollBenefitConsumptionsTotalCount })\n }\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n </div>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrollBenefitConsumptions: state.payroll.fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions: state.payroll.fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions: state.payroll.errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions: state.payroll.payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo: state.payroll.payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount: state.payroll.payrollBenefitConsumptionsTotalCount,\n fetchingBenefitsSummary: state.payroll.fetchingBenefitsSummary,\n errorBenefitsSummary: state.payroll.errorBenefitsSummary,\n fetchedBenefitsSummary: state.payroll.fetchedBenefitsSummary,\n benefitsSummary: state.payroll.benefitsSummary,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchPayrollBenefitConsumptions, fetchBenefitsSummary },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionPayrollSearcher);\n","import React from 'react';\nimport PayrollPage from '../../pages/payroll/PayrollPage';\nimport { EMPTY_STRING } from '../../constants';\n\nconst PayrollTaskTableHeaders = () => [\n EMPTY_STRING,\n];\n\nconst PayrollTaskItemFormatters = () => [\n (payroll) => <PayrollPage taskPayrollUuid={payroll?.id} />,\n];\n\nexport { PayrollTaskTableHeaders, PayrollTaskItemFormatters };\n","const PayrollReconciliationTaskTableHeaders = () => [\n];\n\nconst PayrollReconciliationTaskItemFormatters = () => [\n];\n\nexport { PayrollReconciliationTaskTableHeaders, PayrollReconciliationTaskItemFormatters };\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilter({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('individual_FirstName')}\n onChange={onChangeStringFilter('individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('individual_LastName')}\n onChange={onChangeStringFilter('individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.photo\"\n value={filterTextFieldValue('photo')}\n onChange={onChangeStringFilter('photo', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('code')}\n onChange={onChangeStringFilter('code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('dateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'dateDue',\n value: v,\n filter: `dateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('receipt')}\n onChange={onChangeStringFilter('receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('type')}\n onChange={onChangeStringFilter('type', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: `status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('amount')}\n onChange={onChangeFilter('amount')}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilter;\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollPrintTemplate = forwardRef(({ benefitConsumptions }, ref) => {\n if (!benefitConsumptions) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitConsumptions.map((benefitConsumption, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitConsumption.code} - ${benefitConsumption.individual.firstName}, ${benefitConsumption.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitConsumption.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitConsumption.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitConsumption.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitConsumption.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitConsumption.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitConsumption.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-return-assign */\n/* eslint-disable no-param-reassign */\nimport React, { useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport {\n Typography, Button,\n} from '@material-ui/core';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport Chip from '@material-ui/core/Chip';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitConsumptions } from '../../actions';\nimport { BENEFIT_CONSUMPTION_STATUS, DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS, PAYMENT_METHOD } from '../../constants';\nimport BenefitConsumptionFilter from './BenefitConsumptionFilter';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollPrintTemplate from '../PayrollPrintTemplate';\n\nfunction BenefitConsumptionSearcher({\n fetchBenefitConsumptions,\n fetchingBenefitConsumptions,\n fetchedBenefitConsumptions,\n errorBenefitConsumptions,\n benefitConsumptions,\n benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount,\n isPayrollFromFailedInvoices,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => fetchBenefitConsumptions(modulesManager, params);\n\n const headers = () => {\n const cols = [\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.nib',\n 'benefitConsumption.photo',\n 'benefitConsumption.code',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.receipt',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.status',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n '',\n ];\n return cols;\n };\n\n const checkBenefitDueDate = (benefitConsumption) => {\n if (!benefitConsumption.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitConsumption\n && benefitConsumption.dateDue\n >= benefitConsumption.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const getBistpStatusBadge = (benefitConsumption) => {\n if (!benefitConsumption) return null;\n const jsonExt = benefitConsumption.jsonExt || {};\n const { status } = benefitConsumption;\n\n if (status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n return <Chip label={formatMessage('payroll.bistp.status.reconciled')} style={{ backgroundColor: '#4caf50', color: 'white' }} size=\"small\" />;\n }\n if (status === BENEFIT_CONSUMPTION_STATUS.REJECTED) {\n return <Chip label={`${formatMessage('payroll.bistp.status.rejected')}${jsonExt.bistp_rejection_reason ? `: ${jsonExt.bistp_rejection_reason}` : ''}`} style={{ backgroundColor: '#f44336', color: 'white' }} size=\"small\" />;\n }\n if (status === BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT) {\n return <Chip label={formatMessage('payroll.bistp.status.pending')} style={{ backgroundColor: '#ff9800', color: 'white' }} size=\"small\" />;\n }\n if (jsonExt.bistp_skip_reason === 'nib_ausente') {\n return <Chip label={formatMessage('payroll.bistp.status.skippedNib')} style={{ backgroundColor: '#9e9e9e', color: 'white' }} size=\"small\" />;\n }\n if (jsonExt.bistp_skip_reason === 'envio_falhou') {\n return <Chip label={formatMessage('payroll.bistp.status.sendFailed')} style={{ backgroundColor: '#f44336', color: 'white' }} size=\"small\" />;\n }\n return null;\n };\n\n const itemFormatters = () => [\n (benefitConsumption) => benefitConsumption?.individual?.firstName,\n (benefitConsumption) => benefitConsumption?.individual?.lastName,\n (benefitConsumption) => benefitConsumption?.individual?.nib || '',\n (benefitConsumption) => (\n benefitConsumption.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitConsumption) => benefitConsumption?.code,\n (benefitConsumption) => benefitConsumption?.dateDue,\n (benefitConsumption) => benefitConsumption?.receipt,\n (benefitConsumption) => benefitConsumption?.amount,\n (benefitConsumption) => benefitConsumption?.type,\n (benefitConsumption) => (isPayrollFromFailedInvoices\n ? BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT : benefitConsumption?.status),\n (benefitConsumption) => checkBenefitDueDate(benefitConsumption),\n (benefitConsumption) => (\n !benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed\n ),\n (benefitConsumption) => {\n const jsonExt = benefitConsumption?.jsonExt || {};\n const hasBistpFields = jsonExt.bistp_skip_reason || jsonExt.bistp_processed || jsonExt.bistp_rejection_reason;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 4 }}>\n {hasBistpFields && getBistpStatusBadge(benefitConsumption)}\n <AdditionalFieldsDialog\n jsonExt={benefitConsumption?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n </div>\n );\n },\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['individual_FirstName', true],\n ['individual_LastName', true],\n ['individual_Nib', true],\n ['photo', true],\n ['code', true],\n ['dateDue', true],\n ['receipt', true],\n ['amount', true],\n ['type', true],\n ['status', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter:\n `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (isPayrollFromFailedInvoices) {\n filters.status = {\n value: true,\n filter:\n `filterOnlyUnpaid: ${true}`,\n };\n }\n return filters;\n };\n\n const benefitConsumptionFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={!isPayrollFromFailedInvoices && benefitConsumptionFilter}\n fetch={fetch}\n items={benefitConsumptions}\n itemsPageInfo={benefitConsumptionsPageInfo}\n fetchingItems={fetchingBenefitConsumptions}\n fetchedItems={fetchedBenefitConsumptions}\n errorItems={errorBenefitConsumptions}\n tableTitle={formatMessageWithValues('benefitConsumption.searcherResultsTitle', { benefitConsumptionsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n <div style={{ display: 'none' }}>\n <PayrollPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitConsumptions={benefitConsumptions}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitConsumptions: state.payroll.fetchingBenefitConsumptions,\n fetchedBenefitConsumptions: state.payroll.fetchedBenefitConsumptions,\n errorBenefitConsumptions: state.payroll.errorBenefitConsumptions,\n benefitConsumptions: state.payroll.benefitConsumptions,\n benefitConsumptionsPageInfo: state.payroll.benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount: state.payroll.benefitConsumptionsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitConsumptions },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcher);\n","import React from 'react';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport BenefitConsumptionSearcher from './BenefitConsumptionSearcher';\n\nfunction BenefitConsumptionsTabLabel({\n onChange, tabStyle, isSelected, modulesManager,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n selected={isSelected(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n value={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n label={formatMessage('PayrollBenefitConsumptionTab.label')}\n />\n );\n}\n\nfunction BenefitConsumptionsTabPanel({\n value, rights, payrollUuid, isPayrollFromFailedInvoices,\n}) {\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n value={value}\n >\n {\n rights.includes(RIGHT_PAYROLL_SEARCH) && payrollUuid && (\n <BenefitConsumptionSearcher\n rights={rights}\n payrollUuid={payrollUuid}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { BenefitConsumptionsTabLabel, BenefitConsumptionsTabPanel };\n","const PayrollRejectedTaskTableHeaders = () => [\n];\n\nconst PayrollRejectedTaskItemFormatters = () => [\n];\n\nexport { PayrollRejectedTaskTableHeaders, PayrollRejectedTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME, PAYROLL_TASK_TAB_VALUE,\n} from '../../constants';\n\nfunction PayrollTaskTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_TASK_TAB_VALUE)}\n selected={isSelected(PAYROLL_TASK_TAB_VALUE)}\n value={PAYROLL_TASK_TAB_VALUE}\n label={formatMessage('PayrollTaskTab.label')}\n />\n );\n}\n\nfunction PayrollTaskTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_TASK_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PublishedComponent\n pubRef=\"tasksManagement.taskSearcher\"\n module=\"payroll\"\n entityId={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollTaskTabLabel, PayrollTaskTabPanel };\n","const PayrollDeleteTaskTableHeaders = () => [\n];\n\nconst PayrollDeleteTaskItemFormatters = () => [\n];\n\nexport { PayrollDeleteTaskTableHeaders, PayrollDeleteTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME, PAYROLL_PAYMENT_FILES_TAB_VALUE,\n} from '../../constants';\nimport PayrollPaymentFilesSearcher from './PayrollPaymentFilesSearcher';\n\nfunction PayrollPaymentFilesTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n selected={isSelected(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n value={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n label={formatMessage('PayrollPaymentFilesTab.label')}\n />\n );\n}\n\nfunction PayrollPaymentFilesTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel };\n","import React from 'react';\nimport {\n Grid, LinearProgress, Paper, Tab, Typography,\n} from '@material-ui/core';\nimport { PublishedComponent, useModulesManager, useTranslations } from '@stssocialst-stp/fe-core';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n BISTP_PAYMENT_STATUS_TAB_VALUE,\n MODULE_NAME,\n PAYMENT_METHOD,\n} from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n paper: theme.paper.paper,\n content: {\n padding: theme.spacing(2),\n },\n metric: {\n padding: theme.spacing(1.5),\n border: '1px solid rgba(0, 0, 0, 0.12)',\n },\n metricValue: {\n fontSize: '1.5rem',\n fontWeight: 600,\n },\n progress: {\n marginTop: theme.spacing(2),\n },\n}));\n\nfunction BistpPaymentStatusTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, payroll, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (\n !payrollUuid\n || payroll?.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n || isInTask\n || isPayrollFromFailedInvoices\n ) return null;\n\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(BISTP_PAYMENT_STATUS_TAB_VALUE)}\n selected={isSelected(BISTP_PAYMENT_STATUS_TAB_VALUE)}\n value={BISTP_PAYMENT_STATUS_TAB_VALUE}\n label={formatMessage('payroll.bistp.viewSummary')}\n />\n );\n}\n\nfunction BistpMetric({ label, value, classes }) {\n return (\n <Grid item xs={12} sm={6} md={3}>\n <div className={classes.metric}>\n <Typography variant=\"body2\">{label}</Typography>\n <Typography className={classes.metricValue}>{value}</Typography>\n </div>\n </Grid>\n );\n}\n\nfunction BistpPaymentStatusPanel({ value, payrollUuid, payroll }) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n if (payroll?.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n\n const summary = payroll?.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? Math.min((reconciled / total) * 100, 100) : 0;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={BISTP_PAYMENT_STATUS_TAB_VALUE}\n value={value}\n >\n {payrollUuid && (\n <Paper className={classes.paper}>\n <div className={classes.content}>\n <Grid container spacing={2}>\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.summary.totalNumberOfBenefits')}\n value={total}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.reconciled')}\n value={summary.reconciled || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.pending')}\n value={summary.pending || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.rejected')}\n value={summary.rejected || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.sendFailed')}\n value={summary.sendFailed || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.skippedNib')}\n value={summary.skippedNib || 0}\n />\n </Grid>\n <div className={classes.progress}>\n <Typography variant=\"body2\">\n {formatMessage('payroll.bistp.progress')}: {reconciled}/{total}\n </Typography>\n <LinearProgress variant=\"determinate\" value={progress} />\n </div>\n </div>\n </Paper>\n )}\n </PublishedComponent>\n );\n}\n\nexport { BistpPaymentStatusTabLabel, BistpPaymentStatusPanel };","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS } from '../../../constants';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\nimport { fetchPayroll, closePayroll } from '../../../actions';\nimport { mutationLabel } from '../../../utils/string-utils';\n\nfunction PaymentPendingPayrollPaymentDialog({\n classes,\n payroll,\n fetchPayroll,\n closePayroll,\n payrollDetail,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const closePayrollCallback = () => {\n closePayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n handleClose();\n };\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n <Button\n onClick={closePayrollCallback}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.approveAndClose')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n closePayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPendingPayrollPaymentDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\nimport PayrollPendingPayrollSummary from './dialogs/PayrollPendingPayrollSummary';\n\nfunction PayrollSearcherPending({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.PENDING_APPROVAL,\n filter: `status: ${PAYROLL_STATUS.PENDING_APPROVAL}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PayrollPendingPayrollSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherPending);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherPending from '../../components/payroll/PayrollSearcherPending';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PendingPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherPending classes={classes} />}\n </div>\n );\n}\n\nexport default PendingPayrollsPage;\n","import { useState } from 'react';\nimport { baseApiUrl } from '@stssocialst-stp/fe-core';\n\nconst BASE = `${baseApiUrl}/payroll/beneficiarios`;\n\nfunction buildHeaders() {\n return { 'Content-Type': 'application/json' };\n}\n\nexport function useBeneficiarios() {\n const [loading, setLoading] = useState(false);\n const [output, setOutput] = useState('');\n const [error, setError] = useState(null);\n\n async function request(path, { multipart = false, body = null } = {}) {\n setLoading(true);\n setError(null);\n try {\n const init = {\n method: 'POST',\n credentials: 'same-origin',\n };\n if (multipart) {\n init.body = body;\n } else {\n init.headers = buildHeaders();\n if (body) init.body = JSON.stringify(body);\n }\n const response = await fetch(`${BASE}${path}`, init);\n let data = null;\n const contentType = response.headers.get('content-type') || '';\n if (contentType.includes('application/json')) {\n data = await response.json();\n }\n if (!response.ok) {\n const message = data?.message || `HTTP ${response.status}`;\n setError(message);\n return { ok: false, message, data };\n }\n return { ok: true, data };\n } catch (e) {\n setError(e.message);\n return { ok: false, message: e.message };\n } finally {\n setLoading(false);\n }\n }\n\n async function backup(payrollId = null) {\n const { ok, data } = await request('/backup/', {\n body: payrollId ? { payroll_id: payrollId } : {},\n });\n if (ok) {\n const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = `backup_beneficiarios_${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.json`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(a.href);\n setOutput(`Backup concluído: ${JSON.stringify(data.counts)}`);\n }\n return { ok, data };\n }\n\n async function limpar({ dryRun = true, forceSkipFinancial = false } = {}) {\n const { ok, data } = await request('/limpar/', {\n body: { username: 'admin', dry_run: dryRun, force_skip_financial: forceSkipFinancial },\n });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n async function importar(\n file,\n { dryRun = false, payrollId, benefitPlanId, benefitType, sheet } = {},\n ) {\n const fd = new FormData();\n fd.append('file', file);\n fd.append('username', 'admin');\n fd.append('dry_run', String(dryRun));\n if (payrollId) fd.append('payroll_id', payrollId);\n if (benefitPlanId) fd.append('benefit_plan_id', benefitPlanId);\n if (benefitType) fd.append('benefit_type', benefitType);\n if (sheet) fd.append('sheet', sheet);\n const { ok, data } = await request('/importar/', { multipart: true, body: fd });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n async function restore(file, { dryRun = true, skipPhases = [] } = {}) {\n const fd = new FormData();\n fd.append('file', file);\n fd.append('username', 'admin');\n fd.append('dry_run', String(dryRun));\n if (skipPhases.length) fd.append('skip_phases', skipPhases.join(','));\n const { ok, data } = await request('/restore/', { multipart: true, body: fd });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n return {\n backup, limpar, importar, restore, loading, output, error, setOutput, setError,\n };\n}\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport Paper from '@material-ui/core/Paper';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport Divider from '@material-ui/core/Divider';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Alert } from '@material-ui/lab';\nimport { RIGHT_PAYROLL_SEARCH, MODULE_NAME } from '../../constants';\nimport { useBeneficiarios } from '../../hooks/useBeneficiarios';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n card: {\n padding: theme.spacing(3),\n marginBottom: theme.spacing(3),\n },\n sectionTitle: {\n marginBottom: theme.spacing(2),\n },\n field: {\n marginBottom: theme.spacing(2),\n },\n output: {\n marginTop: theme.spacing(2),\n padding: theme.spacing(2),\n backgroundColor: '#1e1e1e',\n color: '#d4d4d4',\n fontFamily: 'monospace',\n fontSize: 12,\n whiteSpace: 'pre-wrap',\n maxHeight: 320,\n overflow: 'auto',\n borderRadius: 4,\n },\n actions: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'wrap',\n },\n}));\n\nfunction Card({ title, children, classes }) {\n return (\n <Paper className={classes.card}>\n <Typography variant=\"h6\" className={classes.sectionTitle}>{title}</Typography>\n {children}\n </Paper>\n );\n}\n\nfunction BeneficiaryManagementPage() {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user?.i_user?.rights ?? []);\n const {\n backup, limpar, importar, restore, loading, output, error, setOutput, setError,\n } = useBeneficiarios();\n\n const [payrollId, setPayrollId] = useState('');\n const [backupPayrollId, setBackupPayrollId] = useState('');\n\n const [limparForce, setLimparForce] = useState(false);\n const [confirmLimpar, setConfirmLimpar] = useState(false);\n\n const [importFile, setImportFile] = useState(null);\n const [importPayrollId, setImportPayrollId] = useState('');\n const [importBenefitPlanId, setImportBenefitPlanId] = useState('');\n const [importDryRun, setImportDryRun] = useState(false);\n\n const [restoreFile, setRestoreFile] = useState(null);\n const [restoreDryRun, setRestoreDryRun] = useState(true);\n\n if (!rights.includes(RIGHT_PAYROLL_SEARCH)) {\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.beneficiaries.management.title')} />\n <Alert severity=\"warning\">\n {formatMessage('payroll.beneficiaries.management.noPermission')}\n </Alert>\n </div>\n );\n }\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.beneficiaries.management.title')} />\n <Typography variant=\"h5\" className={classes.sectionTitle}>\n {formatMessage('payroll.beneficiaries.management.title')}\n </Typography>\n\n {error && (\n <Alert severity=\"error\" onClose={() => setError(null)} className={classes.field}>\n {error}\n </Alert>\n )}\n\n <Card title={formatMessage('payroll.beneficiaries.backup.title')} classes={classes}>\n <TextField\n className={classes.field}\n fullWidth\n label={formatMessage('payroll.beneficiaries.payrollId.optional')}\n value={backupPayrollId}\n onChange={(e) => setBackupPayrollId(e.target.value)}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n onClick={() => backup(backupPayrollId || null)}\n >\n {formatMessage('payroll.beneficiaries.backup.button')}\n </Button>\n </div>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.limpar.title')} classes={classes}>\n <FormControlLabel\n control={(\n <Checkbox\n checked={limparForce}\n onChange={(e) => setLimparForce(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.limpar.forceSkipFinancial')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"outlined\"\n disabled={loading}\n onClick={() => limpar({ dryRun: true, forceSkipFinancial: limparForce })}\n >\n {formatMessage('payroll.beneficiaries.limpar.dryRun')}\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n disabled={loading}\n onClick={() => setConfirmLimpar(true)}\n >\n {formatMessage('payroll.beneficiaries.limpar.execute')}\n </Button>\n </div>\n <Dialog open={confirmLimpar} onClose={() => setConfirmLimpar(false)}>\n <DialogTitle>{formatMessage('payroll.beneficiaries.limpar.confirm.title')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {formatMessage('payroll.beneficiaries.limpar.confirm.message')}\n {limparForce && (\n ` ${formatMessage('payroll.beneficiaries.limpar.confirm.forceNote')}`\n )}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setConfirmLimpar(false)}>\n {formatMessage('payroll.beneficiaries.cancel')}\n </Button>\n <Button\n color=\"secondary\"\n variant=\"contained\"\n onClick={async () => {\n setConfirmLimpar(false);\n await limpar({ dryRun: false, forceSkipFinancial: limparForce });\n }}\n >\n {formatMessage('payroll.beneficiaries.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.import.title')} classes={classes}>\n <input\n className={classes.field}\n type=\"file\"\n accept=\".xlsx\"\n onChange={(e) => setImportFile(e.target.files[0])}\n />\n <TextField\n className={classes.field}\n fullWidth\n label=\"Payroll UUID\"\n value={importPayrollId}\n onChange={(e) => setImportPayrollId(e.target.value)}\n />\n <TextField\n className={classes.field}\n fullWidth\n label=\"Benefit Plan UUID\"\n value={importBenefitPlanId}\n onChange={(e) => setImportBenefitPlanId(e.target.value)}\n />\n <FormControlLabel\n control={(\n <Checkbox\n checked={importDryRun}\n onChange={(e) => setImportDryRun(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.dryRun')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || !importFile}\n onClick={() => importar(importFile, {\n dryRun: importDryRun,\n payrollId: importPayrollId || null,\n benefitPlanId: importBenefitPlanId || null,\n })}\n >\n {formatMessage('payroll.beneficiaries.import.button')}\n </Button>\n </div>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.restore.title')} classes={classes}>\n <input\n className={classes.field}\n type=\"file\"\n accept=\".json\"\n onChange={(e) => setRestoreFile(e.target.files[0])}\n />\n <FormControlLabel\n control={(\n <Checkbox\n checked={restoreDryRun}\n onChange={(e) => setRestoreDryRun(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.dryRun')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || !restoreFile}\n onClick={() => restore(restoreFile, { dryRun: restoreDryRun })}\n >\n {formatMessage('payroll.beneficiaries.restore.button')}\n </Button>\n </div>\n </Card>\n\n {output && (\n <Paper className={classes.card}>\n <Typography variant=\"subtitle1\" className={classes.sectionTitle}>\n {formatMessage('payroll.beneficiaries.output')}\n </Typography>\n <Divider className={classes.field} />\n {loading && <CircularProgress size={18} />}\n <Box className={classes.output}>{output}</Box>\n </Paper>\n )}\n </div>\n );\n}\n\nexport default BeneficiaryManagementPage;\n","/* eslint-disable import/prefer-default-export */\n/* eslint-disable camelcase */\n\nimport React from 'react';\n\nimport { PinDrop } from '@material-ui/icons';\nimport MonetizationOnIcon from '@material-ui/icons/MonetizationOn';\n\nimport { FormattedMessage } from '@stssocialst-stp/fe-core';\nimport {\n RIGHT_PAYMENT_POINT_SEARCH,\n RIGHT_PAYROLL_CREATE,\n RIGHT_PAYROLL_SEARCH,\n} from './constants';\nimport reducer from './reducer';\nimport messages_en from './translations/en.json';\nimport PaymentPointPage from './pages/payment-point/PaymentPointPage';\nimport PaymentPointsPage from './pages/payment-point/PaymentPointsPage';\nimport PayrollPage from './pages/payroll/PayrollPage';\nimport PayrollsPage from './pages/payroll/PayrollsPage';\nimport ApprovedPayrollsPage from './pages/payroll/ApprovedPayrollsPage';\nimport ReconciledPayrollsPage from './pages/payroll/ReconciledPayrollsPage';\nimport PaymentPointPicker from './components/payment-point/PaymentPointPicker';\nimport BenefitConsumptionPayrollSearcher from './components/payroll/BenefitConsumptionPayrollSearcher';\nimport {\n PayrollTaskItemFormatters,\n PayrollTaskTableHeaders,\n} from './components/tasks/PayrollTasks';\nimport {\n PayrollReconciliationTaskItemFormatters,\n PayrollReconciliationTaskTableHeaders,\n} from './components/tasks/PayrollReconciliationTasks';\nimport {\n BenefitConsumptionsTabLabel,\n BenefitConsumptionsTabPanel,\n} from './components/payroll/BenefitConsumptionTabPanel';\nimport {\n PayrollRejectedTaskItemFormatters,\n PayrollRejectedTaskTableHeaders,\n} from './components/tasks/PayrollRejectedTasks';\nimport {\n PayrollTaskTabLabel,\n PayrollTaskTabPanel,\n} from './components/payroll/PayrollTaskTabPanel';\nimport { PayrollDeleteTaskItemFormatters, PayrollDeleteTaskTableHeaders } from './components/tasks/PayrollDeleteTasks';\nimport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel } from './components/payroll/PayrollPaymentFilesTab';\nimport {\n BistpPaymentStatusTabLabel,\n BistpPaymentStatusPanel,\n} from './components/payroll/BistpPaymentStatusPanel';\nimport PendingPayrollsPage from './pages/payroll/PendingPayrollsPage';\nimport BeneficiaryManagementPage from './pages/payroll/BeneficiaryManagementPage';\n\nconst ROUTE_PAYMENT_POINTS = 'paymentPoints';\nconst ROUTE_PAYMENT_POINT = 'paymentPoints/paymentPoint';\nconst ROUTE_PAYROLLS = 'payrolls';\nconst ROUTE_PAYROLLS_APPROVED = 'payrollsApproved';\nconst ROUTE_PAYROLLS_PENDING = 'payrollsPending';\nconst ROUTE_PAYROLLS_RECONCILED = 'payrollsReconciled';\nconst ROUTE_BENEFICIARIES_MANAGEMENT = 'beneficiariesManagement';\nconst ROUTE_PAYROLL = 'payrolls/payroll';\n\nconst DEFAULT_CONFIG = {\n translations: [{ key: 'en', messages: messages_en }],\n reducers: [{ key: 'payroll', reducer }],\n refs: [\n { key: 'payroll.route.paymentPoints', ref: ROUTE_PAYMENT_POINTS },\n { key: 'payroll.route.paymentPoint', ref: ROUTE_PAYMENT_POINT },\n { key: 'payroll.route.payrolls', ref: ROUTE_PAYROLLS },\n { key: 'payroll.route.payrollsApproved', ref: ROUTE_PAYROLLS_APPROVED },\n { key: 'payroll.route.payrollsPending', ref: ROUTE_PAYROLLS_PENDING },\n { key: 'payroll.route.payrollsReconciled', ref: ROUTE_PAYROLLS_RECONCILED },\n { key: 'payroll.route.beneficiariesManagement', ref: ROUTE_BENEFICIARIES_MANAGEMENT },\n { key: 'payroll.route.payroll', ref: ROUTE_PAYROLL },\n { key: 'payroll.PaymentPointPicker', ref: PaymentPointPicker },\n { key: 'payroll.PaymentPointPicker.projection', ref: ['id', 'name', 'location'] },\n { key: 'payroll.benefitConsumptionPayrollSearcher', ref: BenefitConsumptionPayrollSearcher },\n { key: 'payroll.payrollCreateRight', ref: RIGHT_PAYROLL_CREATE },\n ],\n 'core.Router': [\n { path: ROUTE_PAYMENT_POINTS, component: PaymentPointsPage },\n { path: `${ROUTE_PAYMENT_POINT}/:payment_point_uuid?`, component: PaymentPointPage },\n { path: ROUTE_PAYROLLS, component: PayrollsPage },\n { path: ROUTE_PAYROLLS_APPROVED, component: ApprovedPayrollsPage },\n { path: ROUTE_PAYROLLS_PENDING, component: PendingPayrollsPage },\n {\n path: ROUTE_PAYROLLS_RECONCILED, component: ReconciledPayrollsPage },\n {\n path: ROUTE_BENEFICIARIES_MANAGEMENT, component: BeneficiaryManagementPage },\n {\n path: `${ROUTE_PAYROLL}/:payroll_uuid?/:createPayrollFromFailedInvoices?/:benefitPlanId?`,\n component: PayrollPage,\n },\n ],\n 'invoice.MainMenu': [\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.paymentPoint.route\" />,\n icon: <PinDrop />,\n route: `/${ROUTE_PAYMENT_POINTS}`,\n filter: (rights) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH),\n id: 'legalAndFinance.paymentPoint',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.payroll.route\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrolls',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsPending\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_PENDING}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsPending',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsApproved\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_APPROVED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsApproved',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsReconciled\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_RECONCILED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsReconciled',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.beneficiariesManagement\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_BENEFICIARIES_MANAGEMENT}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.beneficiariesManagement',\n },\n ],\n 'payroll.TabPanel.label': [\n BenefitConsumptionsTabLabel, PayrollTaskTabLabel, PayrollPaymentFilesTabLabel, BistpPaymentStatusTabLabel,\n ],\n 'payroll.TabPanel.panel': [\n BenefitConsumptionsTabPanel, PayrollTaskTabPanel, PayrollPaymentFilesTabPanel, BistpPaymentStatusPanel,\n ],\n 'tasksManagement.tasks': [{\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.update.title\" />,\n tableHeaders: PayrollTaskTableHeaders,\n itemFormatters: PayrollTaskItemFormatters,\n taskSource: ['payroll'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.reconciliation.title\" />,\n tableHeaders: PayrollReconciliationTaskTableHeaders,\n itemFormatters: PayrollReconciliationTaskItemFormatters,\n taskSource: ['payroll_reconciliation'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.rejected.title\" />,\n tableHeaders: PayrollRejectedTaskTableHeaders,\n itemFormatters: PayrollRejectedTaskItemFormatters,\n taskSource: ['payroll_reject'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.delete.title\" />,\n tableHeaders: PayrollDeleteTaskTableHeaders,\n itemFormatters: PayrollDeleteTaskItemFormatters,\n taskSource: ['payroll_delete'],\n }],\n};\n\nexport const PayrollModule = (cfg) => ({ ...DEFAULT_CONFIG, ...cfg });\n"],"names":["RIGHT_PAYROLL_SEARCH","RIGHT_PAYROLL_CREATE","PAYROLL_PAYMENT_POINT_ROUTE","PAYROLL_PAYROLL_ROUTE","RIGHT_PAYMENT_POINT_SEARCH","RIGHT_PAYMENT_POINT_CREATE","RIGHT_PAYMENT_POINT_UPDATE","DEFAULT_DEBOUNCE_TIME","DEFAULT_PAGE_SIZE","CONTAINS_LOOKUP","ROWS_PER_PAGE_OPTIONS","EMPTY_STRING","MAX_LENGTH","NAME","MODULE_NAME","BENEFIT_CONSUMPTION_LIST_TAB_VALUE","BISTP_PAYMENT_STATUS_TAB_VALUE","PAYROLL_TASK_TAB_VALUE","PAYROLL_PAYMENT_FILES_TAB_VALUE","PAYROLL_TABS_LABEL_CONTRIBUTION_KEY","PAYROLL_TABS_PANEL_CONTRIBUTION_KEY","CLEARED_STATE_FILTER","field","filter","type","value","BENEFIT_PLAN","INTEGER","STRING","BOOLEAN","DATE","BOOL_OPTIONS","label","PAYROLL_STATUS","PENDING_APPROVAL","APPROVE_FOR_PAYMENT","REJECTED","RECONCILIATED","RECONCILED","PAYROLL_STATUS_LIST","BENEFIT_CONSUMPTION_STATUS","ACCEPTED","CREATED","DUPLICATE","PAYROLL_PAYMENT_FILE_STATUS","TRIGGERED","IN_PROGRESS","SUCCESS","PARTIAL_SUCCESS","WAITING_FOR_VERIFICATION","FAIL","BENEFIT_CONSUMPTION_STATUS_LIST","PAYROLL_FROM_FAILED_INVOICES_URL_PARAM","PAYMENT_METHOD","STRATEGY_OFFLINE_PAYMENT","STRATEGY_ONLINE_PAYMENT","STRATEGY_BISTP_PAYMENT","REQUEST","actionTypeName","concat","ERROR","CLEAR","ACTION_TYPE","MUTATION","CREATE_PAYMENT_POINT","DELETE_PAYMENT_POINT","UPDATE_PAYMENT_POINT","SEARCH_PAYMENT_POINTS","CREATE_PAYROLL","DELETE_PAYROLL","SEARCH_PAYROLLS","GET_PAYMENT_POINT","GET_PAYROLL","GET_BENEFIT_CONSUMPTION","GET_PAYROLL_BENEFIT_CONSUMPTION","GET_BENEFIT_ATTACHMENT","GET_PAYMENT_METHODS","CLOSE_PAYROLL","REJECT_PAYROLL","MAKE_PAYMENT_PAYROLL","GET_PAYROLL_PAYMENT_FILES","BENEFITS_SUMMARY","DELETE_BENEFIT_CONSUMPTION","MUTATION_SERVICE","PAYMENT_POINT","CREATE","DELETE","UPDATE","PAYROLL","CLOSE","REJECT","MAKE_PAYMENT","BENEFIT_CONSUMPTION","STORE_STATE","submittingMutation","mutation","fetchingPaymentPoints","fetchedPaymentPoints","errorPaymentPoints","paymentPoints","paymentPointsPageInfo","paymentPointsTotalCount","fetchingPaymentPoint","fetchedPaymentPoint","paymentPoint","errorPaymentPoint","fetchingPayrolls","fetchedPayrolls","errorPayrolls","payrolls","payrollsPageInfo","payrollsTotalCount","fetchingPayroll","fetchedPayroll","payroll","errorPayroll","fetchingBenefitConsumptions","benefitConsumption","benefitConsumptionTotalCount","fetchedBenefitConsumption","errorBenefitConsumption","benefitConsumptionsPageInfo","fetchingBenefitAttachments","benefitAttachments","benefitAttachmentsTotalCount","fetchedBenefitAttachments","errorBenefitAttachments","benefitAttachmentsPageInfo","fetchingPaymentMethods","paymentMethods","fetchedPaymentMethods","errorPaymentMethods","fetchingPayrollFiles","fetchedPayrollFiles","errorPayrollFiles","payrollFiles","payrollFilesPageInfo","payrollFilesTotalCount","fetchingPayrollBenefitConsumptions","payrollBenefitConsumption","payrollBenefitConsumptionTotalCount","fetchedPayrollBenefitConsumption","errorPayrollBenefitConsumption","payrollBenefitConsumptionsPageInfo","benefitsSummary","benefitsSummaryError","fetchingBenefitsSummary","fetchedBenefitsSummary","reducer","_parseData","_action$payload$data$","_action$payload$data$2","_parseData2","_action$payload$data$3","_action$payload$data$4","_parseData3","_parseData4","_parseData5","_action$payload$data$5","_action$payload$data$6","_parseData6","_action$payload$data$7","_action$payload$data$8","_parseData7","_action$payload$data$9","_action$payload$data$0","_parseData8","_action$payload$data$1","_action$payload$data$10","state","arguments","length","undefined","action","_objectSpread","parseData","payload","data","map","id","decodeId","formatGraphQLError","pageInfo","totalCount","formatServerError","dateValidTo","split","dateValidFrom","payrollBills","fetchedBenefitConsumptions","benefitConsumptions","errorBenefitConsumptions","benefitConsumptionsTotalCount","benefitConsumptionByPayroll","benefitAttachmentByPayroll","benefitAttachment","fetchedPayrollBenefitConsumptions","payrollBenefitConsumptions","errorPayrollBenefitConsumptions","payrollBenefitConsumptionsTotalCount","csvReconciliationUpload","file","dispatchMutationReq","dispatchMutationErr","dispatchMutationResp","isBase64Encoded","str","base64RegExp","test","PAYMENT_POINT_PROJECTION","modulesManager","getProjection","BENEFIT_CONSUMPTION_PROJECTION","PAYROLL_BENEFIT_CONSUMPTION_PROJECTION","BENEFIT_CONSUMPTION_SUMMARY_PROJECTION","BENEFIT_ATTACHMENT_PROJECTION","BISTP_SUMMARY_PROJECTION","PAYROLL_PROJECTION","join","_toConsumableArray","PAYROLL_SEARCHER_PROJECTION","CSV_RECONCILIATION_PROJECTION","PAYMENT_METHOD_PROJECTION","formatPaymentPointGQL","name","formatGQLString","location","ppm","formatPayrollGQL","paymentPlan","paymentCycle","paymentMethod","jsonExt","JSON","stringify","fromFailedInvoicesPayrollId","PERFORM_MUTATION","mutationType","mutationInput","ACTION","clientMutationLabel","formatMutation","requestedDateTime","Date","graphql","actionType","clientMutationId","fetchPaymentPoints","params","formatPageQueryWithCount","fetchPaymentPoint","fetchPayrollPaymentFiles","clearPaymentPoint","dispatch","deletePaymentPoint","paymentPointUuids","createPaymentPoint","updatePaymentPoint","fetchPayrolls","fetchPayroll","deletePayrolls","uuid","payrollUuids","deleteBenefitConsumption","benefit","benefitUuids","createPayroll","fetchBenefitConsumptions","fetchBenefitAttachments","fetchPayrollBenefitConsumptions","fetchBenefitsSummary","formatQuery","clearPayroll","fetchPaymentMethods","closePayroll","rejectPayroll","makePaymentForPayroll","pageTitle","item","mutationLabel","styles","theme","tableTitle","table","title","paper","fullHeight","height","PaymentPointHeadPanel","_FormPanel","_classCallCheck","_callSuper","_inherits","_createClass","key","render","_this","_this$props","props","edited","classes","readOnly","React","createElement","Grid","container","className","xs","PublishedComponent","pubRef","withNull","required","filterLabels","onChange","locations","updateAttribute","withPlaceholder","withLabel","TextInput","module","inputProps","maxLength","FormPanel","withModulesManager","injectIntl","withTheme","withStyles","useStyles","makeStyles","page","lockedPage","locked","PaymentPointPage","_ref","paymentPointUuid","rights","confirmed","coreConfirm","clearConfirm","useModulesManager","history","useHistory","_useTranslations","useTranslations","formatMessage","formatMessageWithValues","_useState","useState","_useState2","_slicedToArray","editedPaymentPoint","setEditedPaymentPoint","_useState3","_useState4","confirmedAction","setConfirmedAction","prevSubmittingMutationRef","useRef","pageLocked","isDeleted","back","goBack","useEffect","current","journalize","mandatoryFieldsEmpty","canSave","handleSave","deletePaymentPointCallback","openDeletePaymentPointConfirmDialog","actions","doIt","icon","DeleteIcon","tooltip","includes","Form","titleParams","openDirty","onEditedChanged","save","HeadPanel","saveTooltip","mapDispatchToProps","bindActionCreators","mapStateToProps","_state$core$user$i_us","_state$core","match","payment_point_uuid","core","user","i_user","connect","form","padding","width","spacing","PaymentPointFilter","_filters$isDeleted","filters","onChangeFilters","debouncedOnChangeFilters","_debounce","filterValue","filterName","_filters$filterName$v","_filters$filterName","filterTextFieldValue","_filters$filterName$v2","_filters$filterName2","onChangeStringFilter","lookup","ControlledField","anchor","FormControlLabel","control","Checkbox","color","checked","_filters$isDeleted2","_filters$isDeleted3","PaymentPointSearcher","useSelector","store","_store$core$user$i_us","paymentPointToDelete","setPaymentPointToDelete","deletedPaymentPointUuids","setDeletedPaymentPointUuids","headers","sorts","fetch","rowIdentifier","openPaymentPoint","push","getRef","onDelete","itemFormatters","_ref2","_ppm$iUser","_ppm$iUser2","username","iUser","lastName","otherNames","_ref3","code","Tooltip","IconButton","onClick","VisibilityIcon","disabled","onDoubleClick","paymentPointFilter","_ref4","defaultFilters","isRowDisabled","_","Searcher","FilterPane","items","itemsPageInfo","fetchedItems","fetchingItems","errorItems","rowsPerPageOptions","defaultPageSize","rowDisabled","rowLocked","fab","PaymentPointsPage","onCreate","Helmet","withTooltip","Fab","AddIcon","AdvancedFiltersRowValue","customFilters","currentFilter","setCurrentFilter","index","setFilters","onAttributeChange","attribute","updatedFilter","attributeValue","_defineProperty","prevFilters","updatedRows","removeFilter","newArray","splice","renderInputBasedOnType","commonProps","SelectInput","_extends","options","NumberInput","min","displayZero","toLowerCase","direction","style","backgroundColor","marginTop","transform","fontSize","Fragment","CustomFilterFieldStatusPicker","CustomFilterTypeStatusPicker","customFilterField","AdvancedFiltersDialog","intl","object","objectToSave","fetchCustomFilter","moduleName","objectType","setAppliedCustomFilters","appliedFiltersRowStructure","setAppliedFiltersRowStructure","updateAttributes","getDefaultAppliedCustomFilters","additionalParams","isOpen","setIsOpen","amount","_useState5","_useState6","createParams","objectTypeName","uuidOfObject","fetchFilters","handleClose","handleRemoveFilter","handleAddFilter","updateJsonExt","inputJsonExt","outputFilters","existingData","parse","hasOwnProperty","advanced_criteria","filterData","updatedJsonExt","saveCriteria","custom_filter_condition","isEmpty","paramsToFetchFilters","paddingLeft","paddingBottom","AddCircle","border","borderRadius","Button","variant","marginBottom","paddingRight","autoFocus","fetchingCustomFilters","errorCustomFilters","fetchedCustomFilters","PayrollStatusPicker","nullLabel","ConstantBasedPicker","constants","PaymentMethodPicker","_ref$readOnly","_ref$withNull","_ref$nullLabel","_ref$withLabel","_ref$required","Array","isArray","unshift","PayrollHeadPanel","_props$edited","setState","appliedCustomFilters","jsonData","advancedCriteria","transformedCriteria","_custom_filter_condit","_custom_filter_condit2","typeValue","_typeValue$split","_typeValue$split2","error","componentDidMount","setStateFromProps","_this2","isPayrollFromFailedInvoices","benefitPlanId","_this$state","status","Divider","Typography","FormattedMessage","PayrollPaymentDataUploadDialog","_forms$paymentData","payrollUuid","forms","setForms","handleOpen","handleFieldChange","formName","fieldName","_forms$formName","onSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","fileFormat","formData","urlImport","response","wrap","_context","prev","next","FormData","append","baseApiUrl","apiHeaders","body","method","credentials","sent","json","abrupt","_t","stop","_x","apply","button","Dialog","open","onClose","PaperProps","maxWidth","noValidate","DialogTitle","DialogContent","Input","event","target","files","accept","DialogActions","display","margin","paymentData","BenefitConsumptionFilterModal","onChangeFilter","v","ErrorSummaryModal","_benefitAttachment$be","outputGateway","output_gateway","Modal","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","Box","p","outline","justifyContent","mt","AdditionalFieldsDialog","buttonLabel","jsonExtFields","createFieldsBasedOnJSON","extra_info","maxHeight","jsonExtField","renderInputComponent","topHeader","alignItems","minWidth","printContainer","flexDirection","fontWeight","date","detailsContainer","detailRow","detailName","textTransform","detailValue","containerPadding","dividerMargin","sectionTitle","PayrollBenefitPrintTemplate","forwardRef","ref","_benefitAttachment$bi","individual","firstName","dateDue","receipt","payedOnTime","bill","datePayed","BenefitConsumptionSearcherModal","reconciledMode","payrollDetail","selectedBenefitAttachment","setSelectedBenefitAttachment","openConfirmDialog","setOpenConfirmDialog","benefitToDelete","setBenefitToDelete","payrollPrintTemplateRef","handlePrint","useReactToPrint","documentTitle","benefit_Status","defaultFiltersArray","confirmDeleteBenefitConsumption","handleDeleteBenefitConsumption","checkBenefitDueDate","PhotoCameraOutlinedIcon","_benefitAttachment$be2","amountTotal","_benefitAttachment$be3","_benefitAttachment$be4","_benefitAttachment$bi2","_benefitAttachment$be5","_benefitAttachment$be6","benefitConsumptionFilterModal","size","startIcon","PrintIcon","e","preventDefault","DialogContentText","downloadPayroll","payrollId","payrollFileName","blank","url","URL","window","origin","searchParams","then","blob","link","document","href","createObjectURL","download","appendChild","click","removeChild","console","PaymentApproveForPaymentDialog","_payrollDetail$id","totalBeneficiaries","setTotalBeneficiaries","_useState7","_useState8","selectedBeneficiaries","setSelectedBeneficiaries","_useState9","_useState0","approvedBeneficiaries","setApprovedBeneficiaries","_useState1","_useState10","totalBillAmount","setTotalBillAmount","_useState11","_useState12","totalReconciledBillAmount","setTotalReconciledBillAmount","Object","keys","_payroll$benefitConsu","_payroll$benefitConsu2","_payroll$benefitConsu3","_payroll$benefitConsu4","total","selected","approved","totalAmount","reconciledAmount","forEach","attachment","parseFloat","closePayrollCallback","rejectPayrollCallback","makePaymentForPayrollCallback","downloadPayrollData","payrollName","position","top","left","Paper","elevation","gutterBottom","tabs","selectedTab","borderBottom","unselectedTab","marginLeft","PayrollTab","isInTask","activeTab","setActiveTab","isSelected","tab","tabStyle","handleChange","Contributions","contributionKey","PaymentApproveForPaymentSummary","PayrollPage","statePayrollUuid","taskPayrollUuid","createPayrollFromFailedInvoices","editedPayroll","setEditedPayroll","setPayrollUuid","setIsInTask","setReadOnly","setIsPayrollFromFailedInvoices","payrollRouteRef","replace","benefitPlan","Panels","_props$match","_props$match2","_props$match3","_props$match4","payroll_uuid","PayrollFilter","_ref$statusReadOnly","statusReadOnly","PayrollSearcher","payrollToDelete","setPayrollToDelete","deletedPayrollUuids","setDeletedPayrollUuids","openDeletePayrollConfirmDialog","renderBistpProgress","summary","bistpSummary","reconciled","progress","gap","LinearProgress","flex","whiteSpace","openPayroll","_payroll$benefitPlanN","benefitPlanNameCode","payrollFilter","PayrollsPage","PayrollPaymentFilesSearcher","fileName","fetchFiles","DownloadIcon","PayrollReconciliationFilesDialog","showFilters","PayrollSearcherApproved","ApprovedPayrollsPage","PaymentReconcilationSummarytDialog","handleCreatePaymentForFailedInvoice","PayrollSearcherReconciled","PaymentReconciliationSummaryDialog","ReconciledPayrollsPage","PaymentPointPicker","_data$paymentPoint$ed","_data$paymentPoint","filterOptions","filterSelectedOptions","searchString","setSearchString","formatSuggestion","Boolean","_useGraphqlQuery","useGraphqlQuery","isLoading","edges","edge","node","Autocomplete","placeholder","getOptionLabel","option","onInputChange","renderInput","TextField","BenefitConsumptionStatusPicker","BenefitConsumptionPayrollFilter","BenefitConsumptionPayrollSearcher","_benefitsSummary$tota","_benefitsSummary$tota2","individualUuid","groupBeneficiaries","paymentCycleUuid","totalNumberOfBenefits","setTotalNumberOfBenefits","_payrollBenefitConsum","_payrollBenefitConsum2","_payrollBenefitConsum3","startDate","_payrollBenefitConsum4","endDate","_payrollBenefitConsum5","_payrollBenefitConsum6","_payrollBenefitConsum7","_payrollBenefitConsum8","_payrollBenefitConsum9","_payrollBenefitConsum0","_payrollBenefitConsum1","_groupBeneficiaries$g","_groupBeneficiaries$g2","benefit_Individual_Id","group","head","benefitPlanUuid","_groupBeneficiaries$g3","benefitConsumptionPayrollFilter","totalAmountDue","totalAmountReceived","errorBenefitsSummary","PayrollTaskTableHeaders","PayrollTaskItemFormatters","PayrollReconciliationTaskTableHeaders","PayrollReconciliationTaskItemFormatters","BenefitConsumptionFilter","PayrollPrintTemplate","_benefitConsumption$b","BenefitConsumptionSearcher","cols","getBistpStatusBadge","Chip","bistp_rejection_reason","bistp_skip_reason","_benefitConsumption$i","_benefitConsumption$i2","_benefitConsumption$i3","nib","hasBistpFields","bistp_processed","benefitConsumptionFilter","BenefitConsumptionsTabLabel","Tab","BenefitConsumptionsTabPanel","PayrollRejectedTaskTableHeaders","PayrollRejectedTaskItemFormatters","PayrollTaskTabLabel","PayrollTaskTabPanel","_store$core","entityId","PayrollDeleteTaskTableHeaders","PayrollDeleteTaskItemFormatters","PayrollPaymentFilesTabLabel","PayrollPaymentFilesTabPanel","content","metric","metricValue","BistpPaymentStatusTabLabel","BistpMetric","sm","md","BistpPaymentStatusPanel","_useTranslations2","Math","pending","rejected","sendFailed","skippedNib","PaymentPendingPayrollPaymentDialog","PayrollSearcherPending","PayrollPendingPayrollSummary","PendingPayrollsPage","BASE","buildHeaders","useBeneficiarios","loading","setLoading","output","setOutput","setError","request","_request","path","_ref$multipart","multipart","_ref$body","init","contentType","_data","message","_args","get","ok","finish","backup","_backup","_callee2","_yield$request","a","_args2","_context2","payroll_id","Blob","toISOString","slice","revokeObjectURL","counts","limpar","_limpar","_callee3","_ref2$dryRun","dryRun","_ref2$forceSkipFinanc","forceSkipFinancial","_yield$request2","_args3","_context3","dry_run","force_skip_financial","importar","_x2","_importar","_callee4","_ref3$dryRun","benefitType","sheet","fd","_yield$request3","_args4","_context4","String","restore","_x3","_restore","_callee5","_ref4$dryRun","_ref4$skipPhases","skipPhases","_yield$request4","_args5","_context5","card","fontFamily","overflow","flexWrap","Card","children","BeneficiaryManagementPage","_store$core$user","_useBeneficiarios","setPayrollId","backupPayrollId","setBackupPayrollId","limparForce","setLimparForce","confirmLimpar","setConfirmLimpar","importFile","setImportFile","importPayrollId","setImportPayrollId","importBenefitPlanId","setImportBenefitPlanId","_useState13","_useState14","importDryRun","setImportDryRun","_useState15","_useState16","restoreFile","setRestoreFile","_useState17","_useState18","restoreDryRun","setRestoreDryRun","Alert","severity","fullWidth","CircularProgress","ROUTE_PAYMENT_POINTS","ROUTE_PAYMENT_POINT","ROUTE_PAYROLLS","ROUTE_PAYROLLS_APPROVED","ROUTE_PAYROLLS_PENDING","ROUTE_PAYROLLS_RECONCILED","ROUTE_BENEFICIARIES_MANAGEMENT","ROUTE_PAYROLL","DEFAULT_CONFIG","translations","messages","messages_en","reducers","refs","component","text","PinDrop","route","MonetizationOnIcon","tableHeaders","taskSource","PayrollModule","cfg"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/constants.js","../src/utils/action-type.js","../src/reducer.js","../src/utils/advanced-filters-utils.js","../src/actions.js","../src/utils/string-utils.js","../src/pages/payment-point/PaymentPointHeadPanel.js","../src/pages/payment-point/PaymentPointPage.js","../src/components/payment-point/PaymentPointFilter.js","../src/components/payment-point/PaymentPointSearcher.js","../src/pages/payment-point/PaymentPointsPage.js","../src/components/payroll/AdvancedFiltersRowValue.js","../src/components/payroll/AdvancedFiltersDialog.js","../src/components/payroll/PayrollStatusPicker.js","../src/pickers/PaymentMethodPicker.js","../src/components/payroll/PayrollHeadPanel.js","../src/components/payroll/dialogs/PayrollPaymentDataUploadDialog.js","../src/components/payroll/BenefitConsumptionFilterModal.js","../src/components/payroll/dialogs/ErrorSummaryModal.js","../src/components/payroll/dialogs/AdditionalFieldsDialog.js","../src/components/PayrollBenefitPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcherModal.js","../src/utils/export.js","../src/components/payroll/dialogs/PaymentApproveForPaymentSummary.js","../src/components/payroll/PayrollTab.js","../src/pages/payroll/PayrollPage.js","../src/components/payroll/PayrollFilter.js","../src/components/payroll/PayrollSearcher.js","../src/pages/payroll/PayrollsPage.js","../src/components/payroll/PayrollPaymentFilesSearcher.js","../src/components/payroll/dialogs/PayrollReconciliationFilesDialog.js","../src/components/payroll/PayrollSearcherApproved.js","../src/pages/payroll/ApprovedPayrollsPage.js","../src/components/payroll/dialogs/PaymentReconciliationSummaryDialog.js","../src/components/payroll/PayrollSearcherReconciled.js","../src/pages/payroll/ReconciledPayrollsPage.js","../src/components/payment-point/PaymentPointPicker.js","../src/pickers/BenefitConsumptionStatusPicker.js","../src/components/payroll/BenefitConsumptionPayrollFilter.js","../src/components/payroll/BenefitConsumptionPayrollSearcher.js","../src/components/tasks/PayrollTasks.js","../src/components/tasks/PayrollReconciliationTasks.js","../src/components/payroll/BenefitConsumptionFilter.js","../src/components/PayrollPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcher.js","../src/components/payroll/BenefitConsumptionTabPanel.js","../src/components/tasks/PayrollRejectedTasks.js","../src/components/payroll/PayrollTaskTabPanel.js","../src/components/tasks/PayrollDeleteTasks.js","../src/components/payroll/PayrollPaymentFilesTab.js","../src/components/payroll/BistpPaymentStatusPanel.js","../src/components/payroll/dialogs/PayrollPendingPayrollSummary.js","../src/components/payroll/PayrollSearcherPending.js","../src/pages/payroll/PendingPayrollsPage.js","../src/hooks/useBeneficiarios.js","../src/pages/payroll/BeneficiaryManagementPage.js","../src/index.js"],"sourcesContent":["// TODO: Change to proper rights after BE implementation\nexport const RIGHT_PAYROLL_SEARCH = 202001;\nexport const RIGHT_PAYROLL_CREATE = 202002;\nexport const RIGHT_PAYROLL_DELETE = 202004;\n\nexport const PAYROLL_PAYMENT_POINT_ROUTE = 'payroll.route.paymentPoint';\nexport const PAYROLL_PAYROLL_ROUTE = 'payroll.route.payroll';\nexport const RIGHT_PAYMENT_POINT_SEARCH = 201001;\nexport const RIGHT_PAYMENT_POINT_CREATE = 201002;\nexport const RIGHT_PAYMENT_POINT_UPDATE = 201003;\nexport const RIGHT_PAYMENT_POINT_DELETE = 201004;\n\nexport const DEFAULT_DEBOUNCE_TIME = 500;\nexport const DEFAULT_PAGE_SIZE = 10;\nexport const CONTAINS_LOOKUP = 'Icontains';\nexport const ROWS_PER_PAGE_OPTIONS = [10, 20, 50, 100];\nexport const EMPTY_STRING = '';\n\nexport const MAX_LENGTH = {\n NAME: 50,\n};\n\nexport const MODULE_NAME = 'payroll';\n\nexport const BENEFIT_CONSUMPTION_LIST_TAB_VALUE = 'benefitConsumptionsTab';\nexport const BISTP_PAYMENT_STATUS_TAB_VALUE = 'bistpPaymentStatusTab';\nexport const PAYROLL_TASK_TAB_VALUE = 'payrollTaskTab';\nexport const PAYROLL_PAYMENT_FILES_TAB_VALUE = 'payrollPaymentFilesTab';\nexport const PAYROLL_TABS_LABEL_CONTRIBUTION_KEY = 'payroll.TabPanel.label';\nexport const PAYROLL_TABS_PANEL_CONTRIBUTION_KEY = 'payroll.TabPanel.panel';\n\nexport const RIGHT_BILL_SEARCH = 156101;\nexport const RIGHT_BILL_CREATE = 156102;\nexport const RIGHT_BILL_UPDATE = 156103;\nexport const RIGHT_BILL_DELETE = 156104;\n\nexport const INVOICE_BILL_ROUTE = 'bill.route.bill';\nexport const GET_SUBJECT_AND_THIRDPARTY_TYPE_PICKER_REF = 'bill.util.getSubjectAndThirdpartyTypePicker';\nexport const ENUM_PREFIX_LENGTH = 2;\n\nexport const STATUS = {\n DRAFT: '0',\n VALIDATED: '1',\n PAYED: '2',\n CANCELLED: '3',\n DELETED: '4',\n SUSPENDED: '5',\n};\n\nexport const CLEARED_STATE_FILTER = {\n field: '', filter: '', type: '', value: '',\n};\nexport const BENEFIT_PLAN = 'BenefitPlan';\nexport const INTEGER = 'integer';\nexport const STRING = 'string';\nexport const BOOLEAN = 'boolean';\nexport const DATE = 'date';\nexport const BOOL_OPTIONS = [\n { value: 'True', label: 'True' },\n { value: 'False', label: 'False' },\n];\n\nexport const PAYROLL_STATUS = {\n PENDING_APPROVAL: 'PENDING_APPROVAL',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n RECONCILIATED: 'RECONCILIATED',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_STATUS_LIST = [\n PAYROLL_STATUS.PENDING_APPROVAL,\n PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n PAYROLL_STATUS.REJECTED,\n PAYROLL_STATUS.RECONCILIATED,\n PAYROLL_STATUS.RECONCILED,\n];\n\nexport const BENEFIT_CONSUMPTION_STATUS = {\n ACCEPTED: 'ACCEPTED',\n CREATED: 'CREATED',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n DUPLICATE: 'DUPLICATE',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_PAYMENT_FILE_STATUS = {\n TRIGGERED: 'TRIGGERED',\n IN_PROGRESS: 'IN_PROGRESS',\n SUCCESS: 'SUCCESS',\n PARTIAL_SUCCESS: 'PARTIAL_SUCCESS',\n WAITING_FOR_VERIFICATION: 'WAITING_FOR_VERIFICATION',\n FAIL: 'FAIL',\n};\n\nexport const BENEFIT_CONSUMPTION_STATUS_LIST = [\n BENEFIT_CONSUMPTION_STATUS.ACCEPTED, BENEFIT_CONSUMPTION_STATUS.CREATED,\n BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT, BENEFIT_CONSUMPTION_STATUS.REJECTED,\n BENEFIT_CONSUMPTION_STATUS.DUPLICATE, BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n];\n\nexport const PAYROLL_PAYMENT_FILE_STATUS_LIST = [\n PAYROLL_PAYMENT_FILE_STATUS.TRIGGERED, PAYROLL_PAYMENT_FILE_STATUS.IN_PROGRESS, PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.WAITING_FOR_VERIFICATION, PAYROLL_PAYMENT_FILE_STATUS.FAIL,\n];\n\nexport const BENEFIT_PLAN_CONTENT_TYPE_ID = 175;\n\nexport const PAYROLL_FROM_FAILED_INVOICES_URL_PARAM = 'createPayrollFromFailedInvoices=true';\n\nexport const PAYMENT_METHOD = {\n STRATEGY_OFFLINE_PAYMENT: 'StrategyOfflinePayment',\n STRATEGY_ONLINE_PAYMENT: 'StrategyOnlinePayment',\n STRATEGY_BISTP_PAYMENT: 'StrategyBistpPayment',\n};\n\nexport const BISTP_SUMMARY_STATUS = {\n RECONCILED: 'reconciled',\n REJECTED: 'rejected',\n PENDING: 'pending',\n SKIPPED_NIB: 'skippedNib',\n SEND_FAILED: 'sendFailed',\n};\n","export const REQUEST = (actionTypeName) => `${actionTypeName}_REQ`;\nexport const SUCCESS = (actionTypeName) => `${actionTypeName}_RESP`;\nexport const ERROR = (actionTypeName) => `${actionTypeName}_ERR`;\nexport const CLEAR = (actionTypeName) => `${actionTypeName}_CLEAR`;\nexport const VALID = (actionTypeName) => `${actionTypeName}_VALID`;\n","/* eslint-disable default-param-last */\n\nimport {\n dispatchMutationErr,\n dispatchMutationReq,\n dispatchMutationResp,\n formatGraphQLError,\n formatServerError,\n pageInfo,\n parseData,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\n\nexport const ACTION_TYPE = {\n MUTATION: 'PAYROLL_MUTATION',\n CREATE_PAYMENT_POINT: 'PAYROLL_MUTATION_CREATE_PAYMENT_POINT',\n DELETE_PAYMENT_POINT: 'PAYROLL_MUTATION_DELETE_PAYMENT_POINT',\n UPDATE_PAYMENT_POINT: 'PAYROLL_MUTATION_UPDATE_PAYMENT_POINT',\n SEARCH_PAYMENT_POINTS: 'PAYROLL_PAYMENT_POINTS',\n CREATE_PAYROLL: 'PAYROLL_MUTATION_CREATE_PAYROLL',\n DELETE_PAYROLL: 'PAYROLL_MUTATION_DELETE_PAYROLL',\n SEARCH_PAYROLLS: 'PAYROLL_PAYROLLS',\n GET_PAYMENT_POINT: 'PAYROLL_PAYMENT_POINT',\n GET_PAYROLL: 'PAYROLL_GET_PAYROLL',\n GET_BENEFIT_CONSUMPTION: 'PAYROLL_BENEFIT_CONSUMPTION',\n GET_PAYROLL_BENEFIT_CONSUMPTION: 'PAYROLL_PAYROLL_BENEFIT_CONSUMPTION',\n GET_BENEFIT_ATTACHMENT: 'PAYROLL_BENEFIT_ATTACHMENT',\n GET_PAYMENT_METHODS: 'PAYROLL_PAYMENT_METHODS',\n CLOSE_PAYROLL: 'PAYROLL_MUTATION_CLOSE_PAYROLL',\n REJECT_PAYROLL: 'PAYROLL_MUTATION_REJECT_PAYROLL',\n MAKE_PAYMENT_PAYROLL: 'PAYROLL_MUTATION_MAKE_PAYMENT_PAYROLL',\n GET_PAYROLL_PAYMENT_FILES: 'GET_PAYROLL_PAYMENT_FILES',\n BENEFITS_SUMMARY: 'PAYROLL_BENEFITS_SUMMARY',\n DELETE_BENEFIT_CONSUMPTION: 'BENEFIT_CONSUMPTION_MUTATION_DELETE_BENEFIT_CONSUMPTION',\n};\n\nexport const MUTATION_SERVICE = {\n PAYMENT_POINT: {\n CREATE: 'createPaymentPoint',\n DELETE: 'deletePaymentPoint',\n UPDATE: 'updatePaymentPoint',\n },\n PAYROLL: {\n CREATE: 'createPayroll',\n DELETE: 'deletePayroll',\n CLOSE: 'closePayroll',\n REJECT: 'rejectPayroll',\n MAKE_PAYMENT: 'makePaymentForPayroll',\n },\n BENEFIT_CONSUMPTION: {\n DELETE: 'deleteBenefitConsumption',\n },\n};\n\nconst STORE_STATE = {\n submittingMutation: false,\n mutation: {},\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: false,\n errorPaymentPoints: null,\n paymentPoints: [],\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n\n fetchingPayrolls: false,\n fetchedPayrolls: false,\n errorPayrolls: null,\n payrolls: [],\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n\n fetchingPayroll: false,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n\n fetchingBenefitConsumptions: true,\n benefitConsumption: [],\n benefitConsumptionTotalCount: 0,\n fetchedBenefitConsumption: false,\n errorBenefitConsumption: null,\n benefitConsumptionsPageInfo: {},\n\n fetchingBenefitAttachments: false,\n benefitAttachments: [],\n benefitAttachmentsTotalCount: 0,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n\n fetchingPaymentMethods: true,\n paymentMethods: [],\n fetchedPaymentMethods: false,\n errorPaymentMethods: null,\n\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n\n fetchingPayrollBenefitConsumptions: true,\n payrollBenefitConsumption: [],\n payrollBenefitConsumptionTotalCount: 0,\n fetchedPayrollBenefitConsumption: false,\n errorPayrollBenefitConsumption: null,\n payrollBenefitConsumptionsPageInfo: {},\n\n benefitsSummary: [],\n benefitsSummaryError: null,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n};\n\nfunction reducer(\n state = STORE_STATE,\n action,\n) {\n switch (action.type) {\n case REQUEST(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: true,\n fetchedPaymentPoints: false,\n paymentPoints: [],\n errorPaymentPoints: null,\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n paymentPoints: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n })),\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: true,\n errorPaymentPoints: formatGraphQLError(action.payload),\n paymentPointsPageInfo: pageInfo(action.payload.data.paymentPoint),\n paymentPointsTotalCount: action.payload.data.paymentPoint?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: false,\n errorPaymentPoints: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: true,\n fetchedPayrolls: false,\n payrolls: [],\n errorPayrolls: null,\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n payrolls: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n })),\n fetchingPayrolls: false,\n fetchedPayrolls: true,\n errorPayrolls: formatGraphQLError(action.payload),\n payrollsPageInfo: pageInfo(action.payload.data.payroll),\n payrollsTotalCount: action.payload.data.payroll?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: false,\n errorPayrolls: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: true,\n fetchedPaymentPoint: false,\n paymentPoint: [],\n errorPaymentPoint: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: true,\n paymentPoint: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n }))?.[0],\n errorPaymentPoint: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n errorPaymentPoint: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n fetchedPayroll: true,\n payroll: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n dateValidTo: payroll?.dateValidTo ? payroll?.dateValidTo.split('T')[0] : null,\n dateValidFrom: payroll?.dateValidFrom ? payroll?.dateValidFrom.split('T')[0] : null,\n }))?.[0],\n errorPayroll: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n errorPayroll: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: null,\n errorPayroll: null,\n payrollBills: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: true,\n fetchedBenefitConsumptions: false,\n benefitConsumptions: [],\n errorBenefitConsumptions: null,\n benefitConsumptionsPageInfo: {},\n benefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: true,\n benefitConsumptions: parseData(action.payload.data.benefitConsumptionByPayroll)?.map((benefitConsumption) => ({\n ...benefitConsumption,\n id: decodeId(benefitConsumption.id),\n })),\n benefitConsumptionsPageInfo: pageInfo(action.payload.data.benefitConsumptionByPayroll),\n benefitConsumptionsTotalCount: action.payload.data.benefitConsumptionByPayroll?.totalCount ?? 0,\n errorBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n errorBenefitConsumptions: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: false,\n errorBenefitConsumptions: null,\n benefitConsumptions: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: true,\n fetchedBenefitAttachments: false,\n benefitAttachments: [],\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n benefitAttachmentsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: true,\n benefitAttachments: parseData(action.payload.data.benefitAttachmentByPayroll)?.map((benefitAttachment) => ({\n ...benefitAttachment,\n })),\n benefitAttachmentsPageInfo: pageInfo(action.payload.data.benefitAttachmentByPayroll),\n benefitAttachmentsTotalCount: action.payload.data.benefitAttachmentByPayroll?.totalCount ?? 0,\n errorBenefitAttachments: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n errorBenefitAttachments: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachments: [],\n };\n\n case REQUEST(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: true,\n fetchedPaymentMethods: false,\n paymentMethods: [],\n errorPaymentMethods: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n fetchedPaymentMethods: true,\n paymentMethods: action.payload.data.paymentMethods ? action.payload.data.paymentMethods.paymentMethods : [],\n errorPaymentMethods: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n errorPaymentMethods: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: true,\n fetchedPayrollBenefitConsumptions: false,\n payrollBenefitConsumptions: [],\n errorPayrollBenefitConsumptions: null,\n payrollBenefitConsumptionsPageInfo: {},\n payrollBenefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n fetchedPayrollBenefitConsumptions: true,\n // eslint-disable-next-line max-len\n payrollBenefitConsumptions: parseData(action.payload.data.payrollBenefitConsumption)?.map((payrollBenefitConsumption) => ({\n ...payrollBenefitConsumption,\n id: decodeId(payrollBenefitConsumption.id),\n })),\n payrollBenefitConsumptionsPageInfo: pageInfo(action.payload.data.payrollBenefitConsumption),\n payrollBenefitConsumptionsTotalCount: action.payload.data.payrollBenefitConsumption?.totalCount ?? 0,\n errorPayrollBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n errorPayrollBenefitConsumptions: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: true,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: true,\n errorPayrollFiles: formatGraphQLError(action.payload),\n payrollFiles: parseData(action.payload.data.csvReconciliationUpload)?.map((file) => ({\n ...file,\n })),\n payrollFilesPageInfo: pageInfo(action.payload.data.csvReconciliationUpload),\n payrollFilesTotalCount: action.payload.data.csvReconciliationUpload?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n errorPayrollFiles: formatGraphQLError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case REQUEST(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n benefitsSummary: {},\n benefitsSummaryError: null,\n };\n case SUCCESS(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n fetchedBenefitsSummary: true,\n benefitsSummary: action.payload.data.benefitsSummary,\n benefitsSummaryError: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n benefitsSummaryError: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.MUTATION):\n return dispatchMutationReq(state, action);\n case ERROR(ACTION_TYPE.MUTATION):\n return dispatchMutationErr(state, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.DELETE, action);\n case SUCCESS(ACTION_TYPE.UPDATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.UPDATE, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.DELETE, action);\n case SUCCESS(ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION):\n return dispatchMutationResp(state, MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE, action);\n default:\n return state;\n }\n}\n\nexport default reducer;\n","// eslint-disable-next-line import/prefer-default-export\nexport function isBase64Encoded(str) {\n // Base64 encoded strings can only contain characters from [A-Za-z0-9+/=]\n const base64RegExp = /^[A-Za-z0-9+/=]+$/;\n return base64RegExp.test(str);\n}\n","/* eslint-disable max-len */\nimport {\n decodeId,\n formatGQLString,\n formatMutation,\n formatPageQueryWithCount,\n formatQuery,\n graphql,\n} from '@stssocialst-stp/fe-core';\n\nimport { ACTION_TYPE, MUTATION_SERVICE } from './reducer';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\nimport { isBase64Encoded } from './utils/advanced-filters-utils';\nimport { PAYROLL_STATUS } from './constants';\n\nexport const PAYMENT_POINT_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'isDeleted',\n `location ${modulesManager.getProjection('location.Location.FlatProjection')}`,\n `ppm ${modulesManager.getProjection('admin.UserPicker.projection')}`,\n];\n\nconst BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n 'jsonExt',\n 'code',\n 'individual {firstName, lastName, nib}',\n 'benefitAttachment {bill {id, code, terms, amountTotal, datePayed}}',\n 'receipt',\n 'photo',\n 'amount',\n 'type',\n 'status',\n 'dateDue',\n];\n\nconst PAYROLL_BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n // eslint-disable-next-line max-len\n 'benefit{id,isDeleted,jsonExt,dateCreated,dateUpdated,dateValidFrom,dateValidTo,id,code,individual {firstName, lastName},benefitAttachment {bill {id, code, terms, datePayed}},receipt,photo,amount,type,status,dateDue}',\n 'payroll {id, name, status, paymentCycle {code, startDate, endDate}, paymentMethod, benefitPlanNameCode}',\n];\n\nconst BENEFIT_CONSUMPTION_SUMMARY_PROJECTION = () => [\n 'totalAmountReceived', 'totalAmountDue',\n];\n\nconst BENEFIT_ATTACHMENT_PROJECTION = () => [\n 'benefit{id, status, code, dateDue, receipt, individual {firstName, lastName}, jsonExt, type, status, amount, receipt}',\n 'bill{id, code, terms, amountTotal, datePayed}',\n];\n\nconst BISTP_SUMMARY_PROJECTION = () => [\n 'bistpSummary { total reconciled rejected pending skippedNib sendFailed }',\n];\n\nconst PAYROLL_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlanType }',\n 'benefitPlanNameCode',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n ...BISTP_SUMMARY_PROJECTION(),\n];\n\nconst PAYROLL_SEARCHER_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlanType }',\n 'benefitPlanNameCode',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n ...BISTP_SUMMARY_PROJECTION(),\n];\n\nconst CSV_RECONCILIATION_PROJECTION = () => [\n 'fileName',\n 'status',\n 'error',\n 'jsonExt',\n];\n\nconst PAYMENT_METHOD_PROJECTION = () => [\n 'paymentMethods {name}',\n];\n\nconst formatPaymentPointGQL = (paymentPoint) => `\n ${paymentPoint?.id ? `id: \"${paymentPoint.id}\"` : ''}\n ${paymentPoint?.name ? `name: \"${formatGQLString(paymentPoint.name)}\"` : ''}\n ${paymentPoint?.location ? `locationId: ${decodeId(paymentPoint.location.id)}` : ''}\n ${paymentPoint?.ppm ? `ppmId: \"${decodeId(paymentPoint.ppm.id)}\"` : ''}\n `;\n\nconst formatPayrollGQL = (payroll) => `\n ${payroll?.id ? `id: \"${payroll.id}\"` : ''}\n ${payroll?.name ? `name: \"${formatGQLString(payroll.name)}\"` : ''}\n ${payroll?.paymentPoint ? `paymentPointId: \"${decodeId(payroll.paymentPoint.id)}\"` : ''}\n ${payroll?.paymentPlan ? `paymentPlanId: \"${decodeId(payroll.paymentPlan.id)}\"` : ''}\n ${payroll?.paymentCycle ? `paymentCycleId: \"${decodeId(payroll.paymentCycle.id)}\"` : ''}\n ${payroll?.paymentMethod ? `paymentMethod: \"${payroll.paymentMethod}\"` : ''}\n ${`status: ${PAYROLL_STATUS.PENDING_APPROVAL}`}\n ${\n payroll?.jsonExt\n ? `jsonExt: ${JSON.stringify(payroll.jsonExt)}`\n : ''\n}\n ${\n payroll?.dateValidFrom\n ? `dateValidFrom: \"${payroll.dateValidFrom}\"`\n : ''\n}\n ${\n payroll?.dateValidTo\n ? `dateValidTo: \"${payroll.dateValidTo}\"`\n : ''\n}\n ${\n payroll?.fromFailedInvoicesPayrollId\n ? `fromFailedInvoicesPayrollId: \"${payroll.fromFailedInvoicesPayrollId}\"`\n : ''\n}\n `;\n\nconst PERFORM_MUTATION = (mutationType, mutationInput, ACTION, clientMutationLabel) => {\n const mutation = formatMutation(mutationType, mutationInput, clientMutationLabel);\n const requestedDateTime = new Date();\n return graphql(\n mutation.payload,\n [REQUEST(ACTION_TYPE.MUTATION), SUCCESS(ACTION), ERROR(ACTION_TYPE.MUTATION)],\n {\n actionType: ACTION,\n clientMutationId: mutation.clientMutationId,\n clientMutationLabel,\n requestedDateTime,\n },\n );\n};\n\nexport function fetchPaymentPoints(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYMENT_POINTS);\n}\n\nexport function fetchPaymentPoint(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_POINT);\n}\n\nexport function fetchPayrollPaymentFiles(modulesManager, params) {\n const payload = formatPageQueryWithCount('csvReconciliationUpload', params, CSV_RECONCILIATION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES);\n}\n\nexport const clearPaymentPoint = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYMENT_POINT),\n });\n};\n\nexport function deletePaymentPoint(paymentPoint, clientMutationLabel) {\n const paymentPointUuids = `ids: [\"${paymentPoint?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.DELETE,\n paymentPointUuids,\n ACTION_TYPE.DELETE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function createPaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.CREATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.CREATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function updatePaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.UPDATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.UPDATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function fetchPayrolls(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_SEARCHER_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYROLLS);\n}\n\nexport function fetchPayroll(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYROLL);\n}\n\nexport function deletePayrolls(payroll, clientMutationLabel) {\n const uuid = isBase64Encoded(payroll.id) ? decodeId(payroll?.id) : payroll?.id;\n const payrollUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.DELETE,\n payrollUuids,\n ACTION_TYPE.DELETE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function deleteBenefitConsumption(benefit, clientMutationLabel) {\n const uuid = isBase64Encoded(benefit.id) ? decodeId(benefit?.id) : benefit?.id;\n const benefitUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE,\n benefitUuids,\n ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION,\n clientMutationLabel,\n );\n}\n\nexport function createPayroll(payroll, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CREATE,\n formatPayrollGQL(payroll),\n ACTION_TYPE.CREATE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function fetchBenefitConsumptions(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitConsumptionByPayroll', params, BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitAttachments(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitAttachmentByPayroll', params, BENEFIT_ATTACHMENT_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_ATTACHMENT);\n}\n\nexport function fetchPayrollBenefitConsumptions(modulesManager, params) {\n // eslint-disable-next-line max-len\n const payload = formatPageQueryWithCount('payrollBenefitConsumption', params, PAYROLL_BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitsSummary(params) {\n const payload = formatQuery(\n 'benefitsSummary',\n params,\n BENEFIT_CONSUMPTION_SUMMARY_PROJECTION(),\n );\n return graphql(payload, ACTION_TYPE.BENEFITS_SUMMARY);\n}\n\nexport const clearPayrollBills = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION),\n });\n};\n\nexport const clearPayroll = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYROLL),\n });\n};\n\nexport function fetchPaymentMethods(params) {\n const payload = formatQuery('paymentMethods', params, PAYMENT_METHOD_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_METHODS);\n}\n\nexport function closePayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CLOSE,\n payrollUuids,\n ACTION_TYPE.CLOSE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function rejectPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.REJECT,\n payrollUuids,\n ACTION_TYPE.REJECT_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function makePaymentForPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.MAKE_PAYMENT,\n payrollUuids,\n ACTION_TYPE.MAKE_PAYMENT_PAYROLL,\n clientMutationLabel,\n );\n}\n","export const pageTitle = (item) => ({\n name: item?.name,\n});\n\nexport const mutationLabel = (item) => ({\n id: item?.id,\n});\n","import React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\n\nimport {\n TextInput,\n FormPanel,\n withModulesManager,\n PublishedComponent,\n} from '@stssocialst-stp/fe-core';\nimport { MAX_LENGTH } from '../../constants';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PaymentPointHeadPanel extends FormPanel {\n render() {\n const { edited, classes, readOnly } = this.props;\n const paymentPoint = { ...edited };\n return (\n <Grid container className={classes.item}>\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocation\"\n withNull\n required\n readOnly={readOnly}\n filterLabels={false}\n value={paymentPoint?.location}\n onChange={(locations) => this.updateAttribute('location', locations)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n required\n withPlaceholder\n withLabel\n readOnly={readOnly}\n value={paymentPoint?.ppm}\n onChange={(ppm) => this.updateAttribute('ppm', ppm)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"paymentPoint.name\"\n required\n readOnly={readOnly}\n inputProps={{ maxLength: MAX_LENGTH.NAME }}\n value={paymentPoint?.name}\n onChange={(name) => this.updateAttribute('name', name)}\n />\n </Grid>\n </Grid>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PaymentPointHeadPanel))));\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport {\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n fetchPaymentPoint,\n updatePaymentPoint,\n} from '../../actions';\nimport {\n MODULE_NAME,\n RIGHT_PAYMENT_POINT_UPDATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointHeadPanel from './PaymentPointHeadPanel';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n lockedPage: theme.page.locked,\n}));\n\nfunction PaymentPointPage({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n paymentPointUuid,\n fetchPaymentPoint,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n paymentPoint,\n coreConfirm,\n clearConfirm,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPaymentPoint, setEditedPaymentPoint] = useState({});\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n const pageLocked = editedPaymentPoint?.isDeleted;\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (paymentPointUuid) {\n fetchPaymentPoint(modulesManager, [`id: \"${paymentPointUuid}\"`]);\n }\n }, [paymentPointUuid]);\n\n useEffect(() => {\n if (confirmed) confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYMENT_POINT) {\n back();\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => setEditedPaymentPoint(paymentPoint), [paymentPoint]);\n\n useEffect(() => () => clearPaymentPoint(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPaymentPoint?.name\n && editedPaymentPoint?.location\n && editedPaymentPoint?.ppm\n && !editedPaymentPoint?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty();\n\n const handleSave = () => {\n if (paymentPoint?.id) {\n updatePaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.updateLabel', mutationLabel(paymentPoint)),\n );\n } else {\n createPaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.createLabel', mutationLabel(paymentPoint)),\n );\n }\n back();\n };\n\n const deletePaymentPointCallback = () => deletePaymentPoint(\n paymentPoint,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPoint)),\n );\n\n const openDeletePaymentPointConfirmDialog = () => {\n setConfirmedAction(() => deletePaymentPointCallback);\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPoint)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n const actions = [\n !!paymentPointUuid && !pageLocked && {\n doIt: openDeletePaymentPointConfirmDialog,\n icon: <DeleteIcon />,\n tooltip: formatMessage('tooltip.delete'),\n },\n ];\n\n return (\n rights.includes(RIGHT_PAYMENT_POINT_UPDATE) && (\n <div className={pageLocked ? classes.lockedPage : null}>\n <div className={classes.page}>\n <Form\n module=\"payroll\"\n title={formatMessageWithValues('PaymentPointPage.title', pageTitle(paymentPoint))}\n titleParams={pageTitle(paymentPoint)}\n openDirty\n edited={editedPaymentPoint}\n onEditedChanged={setEditedPaymentPoint}\n back={back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PaymentPointHeadPanel}\n readOnly={pageLocked}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n saveTooltip={formatMessage('tooltip.save')}\n />\n </div>\n\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n fetchPaymentPoint,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n paymentPointUuid: props.match.params.payment_point_uuid,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n paymentPoint: state.payroll.paymentPoint,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PaymentPointFilter({\n filters, onChangeFilters,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <ControlledField\n module=\"payroll\"\n id=\"PaymentPointFilter.location\"\n field={(\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocationFilter\"\n withNull\n filters={filters}\n onChangeFilters={onChangeFilters}\n anchor=\"parentLocation\"\n />\n </Grid>\n )}\n />\n <ControlledField\n module=\"payroll\"\n id=\"admin.PaymentPointManagerPicker\"\n field={(\n <Grid className={classes.item} xs={3}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n value={filterValue('ppm_Id')}\n withPlaceholder\n withLabel\n onChange={(ppm) => onChangeFilters([\n {\n id: 'ppm_Id',\n value: ppm,\n filter: `ppm_Id: \"${ppm?.id && decodeId(ppm?.id)}\"`,\n },\n ])}\n />\n </Grid>\n )}\n />\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('paymentPoint.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"paymentPointFilter.isDeleted\"\n field={(\n <Grid xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PaymentPointFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect, useSelector } from 'react-redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport { deletePaymentPoint, fetchPaymentPoints } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYMENT_POINT_ROUTE, RIGHT_PAYMENT_POINT_SEARCH, ROWS_PER_PAGE_OPTIONS,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointFilter from './PaymentPointFilter';\n\nfunction PaymentPointSearcher({\n fetchPaymentPoints,\n fetchingPaymentPoints,\n fetchedPaymentPoints,\n errorPaymentPoints,\n deletePaymentPoint,\n paymentPoints,\n coreConfirm,\n clearConfirm,\n pageInfo,\n totalCount,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [paymentPointToDelete, setPaymentPointToDelete] = useState(null);\n const [deletedPaymentPointUuids, setDeletedPaymentPointUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePaymentPointConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPointToDelete)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n useEffect(() => paymentPointToDelete && openDeletePaymentPointConfirmDialog(), [paymentPointToDelete]);\n\n useEffect(() => {\n if (paymentPointToDelete && confirmed) {\n deletePaymentPoint(\n paymentPointToDelete,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPointToDelete)),\n );\n setDeletedPaymentPointUuids([...deletedPaymentPointUuids, paymentPointToDelete.id]);\n }\n if (paymentPointToDelete && confirmed !== null) {\n setPaymentPointToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'paymentPoint.name',\n 'paymentPoint.ppm',\n 'paymentPoint.location',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['ppm', true],\n ['location', true],\n ];\n\n const fetch = (params) => fetchPaymentPoints(modulesManager, params);\n\n const rowIdentifier = (paymentPoint) => paymentPoint.id;\n\n const openPaymentPoint = (paymentPoint) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}/${paymentPoint?.id}`,\n );\n\n const onDelete = (paymentPoint) => setPaymentPointToDelete(paymentPoint);\n\n const itemFormatters = () => [\n (paymentPoint) => paymentPoint.name,\n ({ ppm }) => `${ppm?.username} ${ppm?.iUser?.lastName} ${ppm?.iUser?.otherNames}`,\n ({ location }) => `${location?.code} ${location?.name}`,\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPaymentPoint(paymentPoint)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(paymentPoint)}\n disabled={deletedPaymentPointUuids.includes(paymentPoint.id)}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (paymentPoint) => openPaymentPoint(paymentPoint);\n\n const paymentPointFilter = ({ filters, onChangeFilters }) => (\n <PaymentPointFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const isRowDisabled = (_, paymentPoint) => deletedPaymentPointUuids.includes(paymentPoint.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={paymentPointFilter}\n fetch={fetch}\n items={paymentPoints}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPaymentPoints}\n fetchingItems={fetchingPaymentPoints}\n errorItems={errorPaymentPoints}\n tableTitle={formatMessageWithValues('PaymentPointSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPaymentPoints: state.payroll.fetchingPaymentPoints,\n fetchedPaymentPoints: state.payroll.fetchedPaymentPoints,\n errorPaymentPoints: state.payroll.errorPaymentPoints,\n paymentPoints: state.payroll.paymentPoints,\n pageInfo: state.payroll.paymentPointsPageInfo,\n totalCount: state.payroll.paymentPointsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentPoints,\n deletePaymentPoint,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYMENT_POINT_ROUTE,\n RIGHT_PAYMENT_POINT_CREATE,\n RIGHT_PAYMENT_POINT_SEARCH,\n} from '../../constants';\nimport PaymentPointSearcher from '../../components/payment-point/PaymentPointSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PaymentPointsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYMENT_POINT_SEARCH)\n && <PaymentPointSearcher />}\n {rights.includes(RIGHT_PAYMENT_POINT_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('tooltip.createButton'),\n )}\n </div>\n );\n}\n\nexport default PaymentPointsPage;\n","/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport {\n PublishedComponent,\n TextInput,\n NumberInput,\n SelectInput,\n CustomFilterTypeStatusPicker,\n CustomFilterFieldStatusPicker,\n} from '@stssocialst-stp/fe-core';\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport {\n BOOLEAN,\n INTEGER,\n STRING,\n CLEARED_STATE_FILTER,\n DATE,\n BOOL_OPTIONS,\n} from '../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersRowValue({\n classes,\n customFilters,\n currentFilter,\n setCurrentFilter,\n index,\n filters,\n setFilters,\n readOnly,\n}) {\n const onAttributeChange = (attribute) => (value) => {\n let updatedFilter = { ...currentFilter };\n\n if (attribute === 'field') {\n updatedFilter = {\n ...{ filter: '', value: '', type: value.type },\n };\n }\n\n const attributeValue = attribute === 'field' ? value.field : value;\n updatedFilter = {\n ...updatedFilter,\n [attribute]: attributeValue,\n ...(attribute === 'filter' && { value: '' }),\n };\n\n setCurrentFilter(updatedFilter);\n\n setFilters((prevFilters) => {\n const updatedRows = [...prevFilters];\n updatedRows[index] = { ...updatedFilter };\n return updatedRows;\n });\n };\n\n const removeFilter = () => {\n const newArray = [...filters];\n newArray.splice(index, 1);\n setFilters(newArray.length === 0 ? [CLEARED_STATE_FILTER] : newArray);\n };\n\n const renderInputBasedOnType = (type) => {\n const commonProps = {\n module: 'payroll',\n label: 'payroll.advancedFilters.value',\n value: currentFilter.value,\n onChange: onAttributeChange('value'),\n };\n\n switch (type) {\n case BOOLEAN:\n return (\n <SelectInput\n options={BOOL_OPTIONS}\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case INTEGER:\n return (\n <NumberInput\n min={0}\n displayZero\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case STRING:\n default:\n if (currentFilter.field.toLowerCase().includes(DATE)) {\n return (\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n return (\n <TextInput\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n };\n\n return (\n <Grid\n container\n direction=\"row\"\n className={classes.item}\n style={{ backgroundColor: '#DFEDEF' }}\n >\n {filters.length > 0 && !readOnly ? (\n <div style={{\n backgroundColor: '#DFEDEF', width: '10px', height: '25px', marginTop: '25px',\n }}\n >\n <span\n style={{\n transform: 'translate(-50%, -50%)',\n fontSize: '16px',\n color: '#006273',\n }}\n onClick={removeFilter}\n >\n ✖\n </span>\n </div>\n ) : (<></>)}\n <Grid item xs={3} className={classes.item}>\n <CustomFilterFieldStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.field\"\n value={{ field: currentFilter.field, type: currentFilter.type }}\n onChange={onAttributeChange('field')}\n customFilters={customFilters}\n readOnly={readOnly}\n />\n </Grid>\n {currentFilter.field !== '' ? (\n <Grid item xs={3} className={classes.item}>\n <CustomFilterTypeStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.filter\"\n value={currentFilter.filter}\n onChange={onAttributeChange('filter')}\n customFilters={customFilters}\n customFilterField={currentFilter.field}\n readOnly={readOnly}\n />\n </Grid>\n ) : (<></>) }\n {currentFilter.field !== '' && currentFilter.filter !== '' ? (\n <Grid item xs={3} className={classes.item}>\n {renderInputBasedOnType(currentFilter.type)}\n </Grid>\n ) : (<></>) }\n </Grid>\n );\n}\n\nexport default injectIntl(withTheme(withStyles(styles)(connect(null, null)(AdvancedFiltersRowValue))));\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable no-prototype-builtins */\nimport React, { useEffect, useState } from 'react';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport {\n decodeId,\n formatMessage,\n fetchCustomFilter,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport AddCircle from '@material-ui/icons/Add';\nimport _ from 'lodash';\nimport AdvancedFiltersRowValue from './AdvancedFiltersRowValue';\nimport { BENEFIT_PLAN, CLEARED_STATE_FILTER } from '../../constants';\nimport { isBase64Encoded } from '../../utils/advanced-filters-utils';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersDialog({\n intl,\n classes,\n object,\n objectToSave,\n fetchCustomFilter,\n customFilters,\n moduleName,\n objectType,\n setAppliedCustomFilters,\n // eslint-disable-next-line no-unused-vars\n appliedFiltersRowStructure,\n setAppliedFiltersRowStructure,\n updateAttributes,\n getDefaultAppliedCustomFilters,\n readOnly,\n additionalParams,\n confirmed,\n edited,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [currentFilter, setCurrentFilter] = useState({\n field: '', filter: '', type: '', value: '', amount: '',\n });\n const [filters, setFilters] = useState(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n\n useEffect(() => {\n setFilters(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n }, [objectToSave.jsonExt]);\n\n useEffect(() => {\n }, [edited]);\n\n const createParams = (moduleName, objectTypeName, uuidOfObject = null, additionalParams = null) => {\n const params = [\n `moduleName: \"${moduleName}\"`,\n `objectTypeName: \"${objectTypeName}\"`,\n ];\n if (uuidOfObject) {\n params.push(`uuidOfObject: \"${uuidOfObject}\"`);\n }\n if (additionalParams) {\n params.push(`additionalParams: ${JSON.stringify(JSON.stringify(additionalParams))}`);\n }\n return params;\n };\n\n const fetchFilters = (params) => fetchCustomFilter(params);\n\n const handleClose = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n };\n\n const handleRemoveFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setAppliedFiltersRowStructure([CLEARED_STATE_FILTER]);\n setFilters([]);\n };\n\n const handleAddFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setFilters([...filters, CLEARED_STATE_FILTER]);\n };\n\n function updateJsonExt(inputJsonExt, outputFilters) {\n const existingData = JSON.parse(inputJsonExt || '{}');\n if (!existingData.hasOwnProperty('advanced_criteria')) {\n existingData.advanced_criteria = [];\n }\n const filterData = JSON.parse(outputFilters);\n existingData.advanced_criteria = filterData;\n const updatedJsonExt = JSON.stringify(existingData);\n return updatedJsonExt;\n }\n\n const saveCriteria = () => {\n setAppliedFiltersRowStructure(filters);\n const outputFilters = JSON.stringify(\n filters.map(({\n filter, value, field, type,\n }) => ({\n custom_filter_condition: `${field}__${filter}__${type}=${value}`,\n })),\n );\n const jsonExt = updateJsonExt(objectToSave.jsonExt, outputFilters);\n updateAttributes(jsonExt);\n setAppliedCustomFilters(outputFilters);\n handleClose();\n };\n\n useEffect(() => {\n if (object && _.isEmpty(object) === false) {\n let paramsToFetchFilters = [];\n if (objectType === BENEFIT_PLAN) {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n isBase64Encoded(object.id) ? decodeId(object.id) : object.id,\n additionalParams,\n );\n } else {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n additionalParams,\n );\n }\n fetchFilters(paramsToFetchFilters);\n }\n }, [object]);\n return (\n <>\n {filters.map((filter, index) => (\n <AdvancedFiltersRowValue\n customFilters={customFilters}\n currentFilter={filter}\n setCurrentFilter={setCurrentFilter}\n index={index}\n filters={filters}\n setFilters={setFilters}\n readOnly={readOnly || confirmed}\n />\n ))}\n { !readOnly && !confirmed ? (\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <AddCircle\n style={{\n border: 'thin solid',\n borderRadius: '40px',\n width: '16px',\n height: '16px',\n }}\n onClick={handleAddFilter}\n disabled={readOnly || confirmed}\n />\n <Button\n onClick={handleAddFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n marginBottom: '6px',\n fontSize: '0.8rem',\n }}\n disabled={readOnly || confirmed}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.addFilters')}\n </Button>\n </div>\n ) : (<></>) }\n <div>\n { !readOnly && !confirmed ? (\n <>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleRemoveFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.clearAllFilters')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={saveCriteria}\n variant=\"contained\"\n color=\"primary\"\n autoFocus\n disabled={!object || confirmed || readOnly}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.filter')}\n </Button>\n </div>\n </>\n ) : <></> }\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state, props) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingCustomFilters: state.core.fetchingCustomFilters,\n errorCustomFilters: state.core.errorCustomFilters,\n fetchedCustomFilters: state.core.fetchedCustomFilters,\n customFilters: state.core.customFilters,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchCustomFilter,\n}, dispatch);\n\nexport default injectIntl(\n withTheme(withStyles(styles)(connect(mapStateToProps, mapDispatchToProps)(AdvancedFiltersDialog))),\n);\n","import React from 'react';\nimport { ConstantBasedPicker } from '@stssocialst-stp/fe-core';\n\nimport { PAYROLL_STATUS_LIST } from '../../constants';\n\nfunction PayrollStatusPicker({\n required,\n withNull,\n readOnly,\n onChange,\n value,\n nullLabel,\n withLabel,\n}) {\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.payroll.payrollStatusPicker\"\n constants={PAYROLL_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default PayrollStatusPicker;\n","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { SelectInput } from '@stssocialst-stp/fe-core';\nimport { fetchPaymentMethods } from '../actions';\n\nfunction PaymentMethodPicker({\n value,\n label,\n onChange,\n readOnly = false,\n withNull = false,\n nullLabel = null,\n withLabel = true,\n required = false,\n paymentMethods,\n fetchPaymentMethods,\n}) {\n const fetch = () => {\n fetchPaymentMethods({});\n };\n\n useEffect(() => {\n fetch();\n }, []);\n\n const options = Array.isArray(paymentMethods) && paymentMethods !== undefined ? [\n ...paymentMethods.map((paymentMethod) => ({\n value: paymentMethod.name,\n label: paymentMethod.name,\n })),\n ] : [];\n\n if (withNull) {\n options.unshift({\n value: null,\n label: nullLabel || '',\n });\n }\n\n return (\n <SelectInput\n module=\"payroll\"\n label={withLabel && label}\n options={options}\n value={value}\n onChange={onChange}\n readOnly={readOnly}\n required={required}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingPaymentMethods: state.payroll.fetchingPaymentMethods,\n errorPaymentMethods: state.payroll.errorPaymentMethods,\n fetchedPaymentMethods: state.payroll.fetchedPaymentMethods,\n paymentMethods: state.payroll.paymentMethods,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentMethods,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentMethodPicker);\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid, Divider, Typography } from '@material-ui/core';\nimport { withStyles, withTheme } from '@material-ui/core/styles';\n\nimport {\n formatMessage,\n FormPanel,\n PublishedComponent,\n TextInput,\n withModulesManager,\n FormattedMessage,\n} from '@stssocialst-stp/fe-core';\nimport AdvancedFiltersDialog from './AdvancedFiltersDialog';\nimport { CLEARED_STATE_FILTER } from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PayrollHeadPanel extends FormPanel {\n constructor(props) {\n super(props);\n this.state = {\n appliedCustomFilters: [CLEARED_STATE_FILTER],\n appliedFiltersRowStructure: [CLEARED_STATE_FILTER],\n };\n }\n\n componentDidMount() {\n this.setStateFromProps(this.props);\n }\n\n setStateFromProps = (props) => {\n const { jsonExt } = props?.edited ?? {};\n if (jsonExt) {\n const filters = this.getDefaultAppliedCustomFilters(jsonExt);\n this.setState({ appliedCustomFilters: filters, appliedFiltersRowStructure: filters });\n }\n };\n\n updateJsonExt = (value) => {\n this.updateAttributes({\n jsonExt: value,\n });\n };\n\n // eslint-disable-next-line class-methods-use-this\n getDefaultAppliedCustomFilters = (jsonExt) => {\n try {\n const jsonData = JSON.parse(jsonExt);\n const advancedCriteria = jsonData.advanced_criteria || [];\n const transformedCriteria = advancedCriteria.map(({ custom_filter_condition }) => {\n const [field, filter, typeValue] = custom_filter_condition.split('__');\n const [type, value] = typeValue.split('=');\n return {\n custom_filter_condition,\n field,\n filter,\n type,\n value,\n };\n });\n return transformedCriteria;\n } catch (error) {\n return [];\n }\n };\n\n setAppliedCustomFilters = (appliedCustomFilters) => {\n this.setState({ appliedCustomFilters });\n };\n\n setAppliedFiltersRowStructure = (appliedFiltersRowStructure) => {\n this.setState({ appliedFiltersRowStructure });\n };\n\n render() {\n const {\n edited, classes, intl, readOnly, isPayrollFromFailedInvoices, benefitPlanId,\n } = this.props;\n const payroll = { ...edited };\n const { appliedCustomFilters, appliedFiltersRowStructure } = this.state;\n return (\n <>\n <Grid container className={classes.item}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage(intl, 'payroll', 'paymentPoint.name')}\n value={payroll?.name}\n required\n onChange={(name) => this.updateAttribute('name', name)}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n required\n filterLabels={false}\n onChange={(paymentPlan) => this.updateAttribute('paymentPlan', paymentPlan)}\n value={payroll?.paymentPlan}\n readOnly={readOnly}\n benefitPlanId={benefitPlanId}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n required\n withPlaceholder\n filterLabels={false}\n onChange={(paymentCycle) => this.updateAttribute('paymentCycle', paymentCycle)}\n value={payroll?.paymentCycle}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n {readOnly && !isPayrollFromFailedInvoices && (\n <Grid item xs={3} className={classes.item}>\n <PayrollStatusPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.status && payroll.status}\n />\n </Grid>\n )}\n <Grid item xs={3} className={classes.item}>\n <PaymentMethodPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.paymentMethod && payroll.paymentMethod}\n onChange={(paymentMethod) => this.updateAttribute('paymentMethod', paymentMethod)}\n label={formatMessage(intl, 'payroll', 'paymentMethod')}\n />\n </Grid>\n </Grid>\n <Divider />\n {!isPayrollFromFailedInvoices\n && (\n <>\n <>\n <Typography>\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria\" />\n </div>\n </Typography>\n {!readOnly && (\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria.tip\" />\n </div>\n )}\n <Divider />\n <Grid container className={classes.item}>\n\n <AdvancedFiltersDialog\n object={null}\n objectToSave={payroll}\n moduleName=\"social_protection\"\n objectType=\"BenefitPlan\"\n setAppliedCustomFilters={this.setAppliedCustomFilters}\n appliedCustomFilters={appliedCustomFilters}\n appliedFiltersRowStructure={appliedFiltersRowStructure}\n setAppliedFiltersRowStructure={this.setAppliedFiltersRowStructure}\n updateAttributes={this.updateJsonExt}\n getDefaultAppliedCustomFilters={() => this.getDefaultAppliedCustomFilters(payroll.jsonExt)}\n readOnly={readOnly}\n edited={this.props.edited}\n />\n\n </Grid>\n </>\n <Divider />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PayrollHeadPanel))));\n","import React, { useState } from 'react';\nimport { Input, Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n apiHeaders,\n baseApiUrl,\n formatMessage,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction PayrollPaymentDataUploadDialog({\n intl,\n classes,\n payrollUuid,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const [forms, setForms] = useState({});\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setForms({});\n setIsOpen(false);\n };\n\n const handleFieldChange = (formName, fieldName, value) => {\n setForms({\n ...forms,\n [formName]: {\n ...(forms[formName] ?? {}),\n [fieldName]: value,\n },\n });\n };\n\n const onSubmit = async (values) => {\n const fileFormat = values.file.type;\n const formData = new FormData();\n\n formData.append('file', values.file);\n\n let urlImport;\n if (fileFormat.includes('/csv')) {\n urlImport = `${baseApiUrl}/payroll/csv_reconciliation/?payroll_id=${payrollUuid}`;\n }\n\n try {\n const response = await fetch(urlImport, {\n headers: apiHeaders,\n body: formData,\n method: 'POST',\n credentials: 'same-origin',\n });\n\n await response.json();\n\n if (response.status >= 400) {\n handleClose();\n return;\n }\n handleClose();\n } catch (error) {\n handleClose();\n }\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 600,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid item>\n <Grid container spacing={4} direction=\"column\">\n <Grid item>\n <Input\n onChange={(event) => handleFieldChange('paymentData', 'file', event.target.files[0])}\n required\n id=\"import-button\"\n inputProps={{\n accept: '.csv, application/csv, text/csv',\n }}\n type=\"file\"\n />\n </Grid>\n </Grid>\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n Cancel\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => onSubmit(forms.paymentData)}\n disabled={!(forms.paymentData?.file && payrollUuid)}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentDataUploadDialog),\n ),\n ),\n);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilterModal({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('benefit_Individual_FirstName')}\n onChange={onChangeStringFilter('benefit_Individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('benefit_Individual_LastName')}\n onChange={onChangeStringFilter('benefit_Individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('bill_AmountTotal')}\n onChange={onChangeFilter('bill_AmountTotal')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.paymentDate')}\n value={filterValue('bill_DatePayed_Gte')}\n onChange={(v) => onChangeFilters([\n {\n id: 'bill_DatePayed_Gte',\n value: v,\n filter: `bill_DatePayed_Gte: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilterModal;\n","import React from 'react';\nimport {\n Modal, Backdrop, Fade, Box, Typography, Button,\n} from '@material-ui/core';\nimport { useTranslations, useModulesManager } from '@stssocialst-stp/fe-core';\n\nfunction ErrorSummaryModal({ open, onClose, benefitAttachment }) {\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const jsonExt = benefitAttachment?.benefit?.jsonExt ? JSON.parse(benefitAttachment.benefit.jsonExt) : {};\n const outputGateway = `${jsonExt?.output_gateway}`;\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n closeAfterTransition\n BackdropComponent={Backdrop}\n BackdropProps={{\n timeout: 500,\n }}\n >\n <Fade in={open}>\n <Box\n p={4}\n style={{\n backgroundColor: 'white', margin: 'auto', maxWidth: 400, outline: 'none',\n }}\n >\n <Typography variant=\"h6\">{formatMessage('payroll.errorSummary.title')}</Typography>\n {/* Conditional rendering based on output_gateway */}\n {outputGateway === null || outputGateway === 'undefined' ? (\n <Typography>\n {formatMessage('payroll.errorSummary.outputGateway.noInfo')}\n </Typography>\n ) : (\n <Typography>\n {outputGateway}\n </Typography>\n )}\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Button onClick={onClose} variant=\"contained\" color=\"primary\">\n {formatMessage('payroll.errorSummary.close')}\n </Button>\n </Box>\n </Box>\n </Fade>\n </Modal>\n );\n}\n\nexport default ErrorSummaryModal;\n","import React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n formatMessage,\n renderInputComponent,\n createFieldsBasedOnJSON,\n} from '@stssocialst-stp/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME } from '../../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdditionalFieldsDialog({\n intl,\n classes,\n jsonExt,\n buttonLabel,\n title,\n}) {\n // eslint-disable-next-line no-param-reassign\n if (!jsonExt) jsonExt = '{}';\n const [isOpen, setIsOpen] = useState(false);\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n const jsonExtFields = createFieldsBasedOnJSON(JSON.stringify(JSON.parse(jsonExt).extra_info));\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', buttonLabel)}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1200,\n maxWidth: 1200,\n maxHeight: 900,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', title)}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid container className={classes.item}>\n {jsonExtFields?.map((jsonExtField) => (\n <Grid item xs={6} className={classes.item}>\n {renderInputComponent(MODULE_NAME, jsonExtField)}\n </Grid>\n ))}\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.additonalFields.close')}\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }} />\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(AdditionalFieldsDialog),\n ),\n ),\n);\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollBenefitPrintTemplate = forwardRef(({ benefitAttachments }, ref) => {\n if (!benefitAttachments) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitAttachments.map((benefitAttachment, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitAttachment.benefit.code} - ${benefitAttachment.benefit.individual.firstName}, ${benefitAttachment.benefit.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.payedOnTime')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.payedOnTime ? 'Yes' : 'No'}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollBenefitPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-param-reassign */\nimport React, { useState, useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport Typography from '@material-ui/core/Typography';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitAttachments, deleteBenefitConsumption } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport BenefitConsumptionFilterModal from './BenefitConsumptionFilterModal';\nimport ErrorSummaryModal from './dialogs/ErrorSummaryModal';\nimport { mutationLabel } from '../../utils/string-utils';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollBenefitPrintTemplate from '../PayrollBenefitPrintTemplate';\n\nfunction BenefitConsumptionSearcherModal({\n fetchBenefitAttachments,\n fetchingBenefitAttachments,\n fetchedBenefitAttachments,\n errorBenefitAttachments,\n benefitAttachments,\n benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount,\n payrollUuid,\n reconciledMode,\n payrollDetail,\n deleteBenefitConsumption,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [selectedBenefitAttachment, setSelectedBenefitAttachment] = useState(null);\n const [openConfirmDialog, setOpenConfirmDialog] = useState(false);\n const [benefitToDelete, setBenefitToDelete] = useState(null);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => {\n fetchBenefitAttachments(modulesManager, params);\n };\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter: `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (reconciledMode && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) {\n filters.benefit_Status = {\n value: 'RECONCILED',\n filter: `benefit_Status: ${PAYROLL_STATUS.RECONCILED}`,\n };\n }\n return filters;\n };\n\n const defaultFiltersArray = () => {\n const filters = [\n 'isDeleted: false',\n `first: ${DEFAULT_PAGE_SIZE}`,\n `payrollUuid: \"${payrollUuid}\"`,\n ];\n if (reconciledMode && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n && payrollDetail.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) {\n filters.push(`benefit_Status: ${PAYROLL_STATUS.RECONCILED}`);\n }\n return filters;\n };\n\n const headers = () => [\n 'benefitConsumption.photo',\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.amount',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n 'benefitConsumption.status',\n '',\n '',\n ];\n\n const confirmDeleteBenefitConsumption = (benefit) => {\n setBenefitToDelete(benefit);\n setOpenConfirmDialog(true);\n };\n\n const handleDeleteBenefitConsumption = () => {\n deleteBenefitConsumption(\n benefitToDelete.benefit,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(benefitToDelete.benefit.code)),\n );\n setOpenConfirmDialog(false);\n setBenefitToDelete(null);\n const filters = defaultFiltersArray();\n fetchBenefitAttachments(modulesManager, filters); // Refresh the searcher after deletion\n };\n\n const checkBenefitDueDate = (benefitAttachment) => {\n if (!benefitAttachment.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitAttachment.benefit && benefitAttachment.benefit.dateDue >= benefitAttachment.bill.datePayed\n ) ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (benefitAttachment) => (\n benefitAttachment.benefit.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.firstName,\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.lastName,\n (benefitAttachment) => benefitAttachment?.bill?.amountTotal,\n (benefitAttachment) => benefitAttachment?.benefit?.receipt,\n (benefitAttachment) => benefitAttachment?.benefit?.dateDue,\n (benefitAttachment) => checkBenefitDueDate(benefitAttachment),\n (benefitAttachment) => (\n !benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.status,\n (benefitAttachment) => (\n <AdditionalFieldsDialog\n jsonExt={benefitAttachment?.benefit?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n ),\n (benefitAttachment) => (\n <Button\n onClick={() => {}}\n variant=\"contained\"\n color=\"primary\"\n disabled={!!benefitAttachment.benefit.receipt}\n >\n {formatMessage('payroll.summary.confirm')}\n </Button>\n ),\n (benefitAttachment) => (\n (payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n || payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) && payrollDetail.status === PAYROLL_STATUS.RECONCILED\n && benefitAttachment.benefit.status !== 'RECONCILED' && (\n <Button\n onClick={() => setSelectedBenefitAttachment(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_error')}\n </Button>\n )\n ),\n (benefitAttachment) => (\n payrollDetail.status === PAYROLL_STATUS.PENDING_APPROVAL\n && benefitAttachment.benefit.status !== 'PENDING_DELETION' && (\n <Button\n onClick={() => confirmDeleteBenefitConsumption(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_delete')}\n </Button>\n )\n ),\n ];\n\n const rowIdentifier = (benefitAttachment) => benefitAttachment.id;\n\n const sorts = () => [\n ['benefit_photo', false],\n ['benefit_individual_FirstName', true],\n ['benefit_individual_LastName', true],\n ['bill_amountTotal', true],\n ['benefit_receipt', true],\n ['benefit_dateDue', true],\n ];\n\n const benefitConsumptionFilterModal = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilterModal filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionFilterModal}\n fetch={fetch}\n items={benefitAttachments}\n itemsPageInfo={benefitAttachmentsPageInfo}\n fetchingItems={fetchingBenefitAttachments}\n fetchedItems={fetchedBenefitAttachments}\n errorItems={errorBenefitAttachments}\n tableTitle={formatMessageWithValues('benefitAttachment.searcherResultsTitle', { benefitAttachmentsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n {selectedBenefitAttachment && (\n <ErrorSummaryModal\n open={!!selectedBenefitAttachment}\n onClose={() => setSelectedBenefitAttachment(null)}\n benefitAttachment={selectedBenefitAttachment}\n />\n )}\n <Dialog\n open={openConfirmDialog}\n onClose={() => setOpenConfirmDialog(false)}\n >\n <DialogTitle>{formatMessage('benefitConsumption.delete.confirm.title')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {formatMessage('benefitConsumption.delete.confirm.message')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpenConfirmDialog(false)} color=\"primary\">\n {formatMessage('benefitConsumption.cancel')}\n </Button>\n <Button onClick={handleDeleteBenefitConsumption} color=\"primary\" autoFocus>\n {formatMessage('benefitConsumption.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n <div style={{ display: 'none' }}>\n <PayrollBenefitPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitAttachments={benefitAttachments}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitAttachments: state.payroll.fetchingBenefitAttachments,\n fetchedBenefitAttachments: state.payroll.fetchedBenefitAttachments,\n errorBenefitAttachments: state.payroll.errorBenefitAttachments,\n benefitAttachments: state.payroll.benefitAttachments,\n benefitAttachmentsPageInfo: state.payroll.benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount: state.payroll.benefitAttachmentsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitAttachments, deleteBenefitConsumption },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcherModal);\n","import { baseApiUrl } from '@stssocialst-stp/fe-core';\n\nexport default function downloadPayroll(payrollId, payrollFileName, blank = true) {\n const url = new URL(\n `${window.location.origin}${baseApiUrl}/payroll/csv_reconciliation/`,\n );\n url.searchParams.append('payroll_id', payrollId);\n url.searchParams.append('blank', blank);\n url.searchParams.append('payroll_file_name', payrollFileName);\n\n fetch(url)\n .then((response) => response.blob())\n .then((blob) => {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = blank ? `reconciliation_${payrollFileName}.csv` : payrollFileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Export failed, reason: ', error);\n });\n}\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS, PAYMENT_METHOD } from '../../../constants';\nimport {\n closePayroll, fetchPayroll, makePaymentForPayroll, rejectPayroll,\n} from '../../../actions';\nimport { mutationLabel } from '../../../utils/string-utils';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\n\nfunction PaymentApproveForPaymentDialog({\n classes,\n payroll,\n closePayroll,\n rejectPayroll,\n payrollDetail,\n fetchPayroll,\n makePaymentForPayroll,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [approvedBeneficiaries, setApprovedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n const approved = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n setApprovedBeneficiaries(approved);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const closePayrollCallback = () => {\n handleClose();\n closePayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const rejectPayrollCallback = () => {\n handleClose();\n rejectPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const makePaymentForPayrollCallback = () => {\n handleClose();\n makePaymentForPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '75%',\n maxWidth: '75%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n (\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => closePayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n disabled={\n payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n ? approvedBeneficiaries === 0\n : selectedBeneficiaries === 0\n }\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.approveAndClose')}\n </Button>\n <Button\n onClick={() => makePaymentForPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n ? formatMessage('payroll.bistp.submitPayment')\n : formatMessage('payroll.summary.makePayment')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n <Button\n onClick={() => rejectPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.reject')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n closePayroll,\n rejectPayroll,\n fetchPayroll,\n makePaymentForPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentApproveForPaymentDialog);\n","/* eslint-disable max-len */\nimport React, { useState } from 'react';\nimport { Paper, Grid } from '@material-ui/core';\nimport {\n Contributions,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport { makeStyles } from '@material-ui/styles';\nimport Button from '@material-ui/core/Button';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n PAYROLL_TABS_LABEL_CONTRIBUTION_KEY,\n PAYROLL_TABS_PANEL_CONTRIBUTION_KEY,\n PAYROLL_STATUS,\n MODULE_NAME,\n PAYMENT_METHOD,\n} from '../../constants';\nimport PayrollPaymentDataUploadDialog from './dialogs/PayrollPaymentDataUploadDialog';\nimport PaymentApproveForPaymentSummary from './dialogs/PaymentApproveForPaymentSummary';\nimport downloadPayroll from '../../utils/export';\n\nconst useStyles = makeStyles((theme) => ({\n paper: theme.paper.paper,\n tableTitle: theme.table.title,\n tabs: {\n display: 'flex',\n alignItems: 'center',\n },\n selectedTab: {\n borderBottom: '4px solid white',\n },\n unselectedTab: {\n borderBottom: '4px solid transparent',\n },\n button: {\n marginLeft: 'auto',\n padding: theme.spacing(1),\n fontSize: '0.875rem',\n textTransform: 'none',\n },\n}));\n\nfunction PayrollTab({\n rights, setConfirmedAction, payrollUuid, isInTask, payroll, isPayrollFromFailedInvoices,\n}) {\n const classes = useStyles();\n\n const [activeTab, setActiveTab] = useState(BENEFIT_CONSUMPTION_LIST_TAB_VALUE);\n\n const isSelected = (tab) => tab === activeTab;\n\n const tabStyle = (tab) => (isSelected(tab) ? classes.selectedTab : classes.unselectedTab);\n\n const handleChange = (_, tab) => setActiveTab(tab);\n\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <Paper className={classes.paper}>\n <Grid container className={`${classes.tableTitle} ${classes.tabs}`}>\n <div style={{ width: '100%' }}>\n <div style={{ float: 'left' }}>\n <Contributions\n contributionKey={PAYROLL_TABS_LABEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n onChange={handleChange}\n isSelected={isSelected}\n tabStyle={tabStyle}\n payroll={payroll}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n {payrollUuid && !isPayrollFromFailedInvoices && (\n <Button\n onClick={() => downloadPayrollData(payrollUuid, payroll.name)}\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n textTransform: 'uppercase',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n )}\n {payrollUuid && payroll?.status === PAYROLL_STATUS.APPROVE_FOR_PAYMENT && payroll.paymentMethod === PAYMENT_METHOD.STRATEGY_OFFLINE_PAYMENT\n && (\n <PayrollPaymentDataUploadDialog\n payrollUuid={payrollUuid}\n />\n )}\n {payrollUuid && payroll?.status === PAYROLL_STATUS.APPROVE_FOR_PAYMENT && payroll.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n && (\n <PaymentApproveForPaymentSummary\n classes={{}}\n payrollDetail={payroll}\n />\n )}\n </div>\n </div>\n </Grid>\n <Contributions\n contributionKey={PAYROLL_TABS_PANEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n payroll={payroll}\n />\n </Paper>\n );\n}\n\nexport default PayrollTab;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport {\n fetchPayroll,\n clearPayroll,\n createPayroll,\n} from '../../actions';\nimport {\n MODULE_NAME, PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n RIGHT_PAYROLL_CREATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PayrollHeadPanel from '../../components/payroll/PayrollHeadPanel';\nimport PayrollTab from '../../components/payroll/PayrollTab';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n}));\n\nfunction PayrollPage({\n statePayrollUuid,\n taskPayrollUuid,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n payroll,\n fetchPayroll,\n createPayroll,\n clearPayroll,\n clearConfirm,\n createPayrollFromFailedInvoices,\n journalize,\n benefitPlanId,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPayroll, setEditedPayroll] = useState({});\n const [payrollUuid, setPayrollUuid] = useState(null);\n const [isInTask, setIsInTask] = useState(false);\n const [readOnly, setReadOnly] = useState(false);\n const [isPayrollFromFailedInvoices, setIsPayrollFromFailedInvoices] = useState(false);\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (createPayrollFromFailedInvoices === PAYROLL_FROM_FAILED_INVOICES_URL_PARAM) {\n setIsPayrollFromFailedInvoices(true);\n }\n }, [createPayrollFromFailedInvoices, payrollUuid]);\n\n useEffect(() => {\n setPayrollUuid(statePayrollUuid ?? taskPayrollUuid);\n setIsInTask(!!taskPayrollUuid);\n }, [taskPayrollUuid, statePayrollUuid]);\n\n useEffect(() => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n }, [payrollUuid]);\n\n useEffect(() => {\n if (confirmed && typeof confirmed === 'function') confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYROLL) {\n back();\n }\n if (mutation?.clientMutationId && (!payrollUuid || isPayrollFromFailedInvoices)) {\n fetchPayroll(modulesManager, [`clientMutationId: \"${mutation.clientMutationId}\"`]);\n setIsPayrollFromFailedInvoices(false);\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => {\n if (payroll) {\n setReadOnly(payroll?.id);\n if (isPayrollFromFailedInvoices) {\n setEditedPayroll({\n ...payroll, id: null, name: null, paymentCycle: null, status: null, fromFailedInvoicesPayrollId: payroll?.id,\n });\n } else {\n setEditedPayroll(payroll);\n }\n if (!payrollUuid && payroll?.id && !isPayrollFromFailedInvoices) {\n const payrollRouteRef = modulesManager.getRef('payroll.route.payroll');\n history.replace(`/${payrollRouteRef}/${payroll.id}`);\n }\n }\n }, [payroll]);\n\n useEffect(() => () => clearPayroll(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPayroll?.name\n && editedPayroll?.paymentPlan\n && editedPayroll?.paymentCycle\n && editedPayroll?.paymentMethod\n && !editedPayroll?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty() && (!readOnly || isPayrollFromFailedInvoices);\n\n const handleSave = () => {\n createPayroll(\n editedPayroll,\n formatMessageWithValues('payroll.mutation.create', mutationLabel(payroll)),\n );\n if (benefitPlanId) {\n back();\n }\n };\n\n const actions = [];\n\n return (\n rights.includes(RIGHT_PAYROLL_CREATE) && (\n <div className={classes.page}>\n <Form\n key={payrollUuid}\n module=\"payroll\"\n title={formatMessageWithValues('payrollPage.title', pageTitle(payroll))}\n titleParams={pageTitle(payroll)}\n openDirty={isPayrollFromFailedInvoices ? true : !payrollUuid}\n benefitPlan={editedPayroll}\n edited={editedPayroll}\n onEditedChanged={setEditedPayroll}\n back={!isInTask && back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PayrollHeadPanel}\n Panels={[PayrollTab]}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n saveTooltip={formatMessage('tooltip.save')}\n isInTask={!!taskPayrollUuid}\n payroll={payroll}\n readOnly={readOnly}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n benefitPlanId={benefitPlanId}\n />\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n createPayroll,\n clearPayroll,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n statePayrollUuid: props?.match?.params?.payroll_uuid === 'null' ? null : props?.match?.params.payroll_uuid,\n createPayrollFromFailedInvoices: props?.match?.params?.createPayrollFromFailedInvoices,\n benefitPlanId: props?.match?.params?.benefitPlanId,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n payroll: state.payroll.payroll,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@stssocialst-stp/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PayrollFilter({\n filters, onChangeFilters, statusReadOnly = false,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('payroll.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n filters={filters}\n value={filterValue('paymentPlan_Id')}\n onChange={(paymentPlan) => onChangeFilters([\n {\n id: 'paymentPlan_Id',\n value: paymentPlan,\n filter: `paymentPlan_Id: \"${paymentPlan?.id && decodeId(paymentPlan.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n withPlaceholder\n filters={filters}\n value={filterValue('paymentCycle_Id')}\n onChange={(paymentCycle) => onChangeFilters([\n {\n id: 'paymentCycle_Id',\n value: paymentCycle,\n filter: `paymentCycle_Id: \"${paymentCycle?.id && decodeId(paymentCycle.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PayrollStatusPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('paymentMethod')}\n value={filterValue('status')}\n readOnly={statusReadOnly}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: value ? `status: ${value}` : EMPTY_STRING,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PaymentMethodPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('payroll.paymentMethod')}\n value={filterValue('paymentMethod')}\n onChange={(value) => onChangeFilters([\n {\n id: 'paymentMethod',\n value,\n filter: `paymentMethod: \"${value}\"`,\n },\n ])}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"payrollFilter.showHistory\"\n field={(\n <Grid item xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PayrollFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport { fetchPayrolls, deletePayrolls } from '../../actions';\n\nfunction PayrollSearcher({\n deletePayrolls,\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n coreConfirm,\n clearConfirm,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [payrollToDelete, setPayrollToDelete] = useState(null);\n const [deletedPayrollUuids, setDeletedPayrollUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePayrollConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('payroll.delete.confirm.title', pageTitle(payrollToDelete)),\n formatMessage('payroll.delete.confirm.message'),\n );\n };\n\n useEffect(() => payrollToDelete && openDeletePayrollConfirmDialog(), [payrollToDelete]);\n\n useEffect(() => {\n if (payrollToDelete && confirmed) {\n deletePayrolls(\n payrollToDelete,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(payrollToDelete)),\n );\n setDeletedPayrollUuids([...deletedPayrollUuids, payrollToDelete.id]);\n }\n if (payrollToDelete && confirmed !== null) {\n setPayrollToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.benefitPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['benefitPlanNameCode', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const onDelete = (payroll) => setPayrollToDelete(payroll);\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPayroll(payroll)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(payroll)}\n disabled={deletedPayrollUuids.includes(payroll.id) || payroll.status !== PAYROLL_STATUS.PENDING_APPROVAL}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const isRowDisabled = (_, payroll) => deletedPayrollUuids.includes(payroll.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n deletePayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_CREATE,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcher from '../../components/payroll/PayrollSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcher />}\n {rights.includes(RIGHT_PAYROLL_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('tooltip.createButton'),\n )}\n </div>\n );\n}\n\nexport default PayrollsPage;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport DownloadIcon from '@material-ui/icons/CloudDownload';\n\nimport {\n Searcher,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME,\n ROWS_PER_PAGE_OPTIONS, PAYROLL_PAYMENT_FILE_STATUS,\n} from '../../constants';\nimport { fetchPayrollPaymentFiles } from '../../actions';\nimport downloadPayroll from '../../utils/export';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\n\nfunction PayrollPaymentFilesSearcher({\n fetchingPayrollFiles,\n fetchedPayrollFiles,\n errorPayrollFiles,\n files,\n pageInfo,\n totalCount,\n fetchPayrollPaymentFiles,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const headers = () => [\n 'payrollPaymentFile.fileName',\n 'payrollPaymentFile.status',\n 'payrollPaymentFile.error',\n 'payrollPaymentFile.download',\n '',\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n };\n if (payrollUuid) {\n filters.payrollId = {\n value: payrollUuid,\n filter: `payroll_Id: \"${payrollUuid}\"`,\n };\n }\n return filters;\n };\n\n const download = (payrollId, fileName) => {\n downloadPayroll(payrollId, fileName, false);\n };\n\n const fetchFiles = (params) => fetchPayrollPaymentFiles(modulesManager, params);\n\n const rowIdentifier = (file) => file.fileName;\n\n const itemFormatters = () => [\n (file) => file.fileName,\n (file) => file.status,\n (file) => file.error,\n (file) => (\n <Tooltip title={formatMessage('tooltip.download')}>\n <IconButton\n onClick={() => download(payrollUuid, file.fileName)}\n disabled={![PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.PARTIAL_SUCCESS].includes(file.status)}\n >\n <DownloadIcon />\n </IconButton>\n </Tooltip>\n ),\n (file) => (\n <AdditionalFieldsDialog\n jsonExt={file?.jsonExt}\n buttonLabel=\"payroll.summaryUpload\"\n title=\"payroll.summaryUpload\"\n />\n ),\n ];\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={null}\n fetch={fetchFiles}\n items={files}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrollFiles}\n fetchingItems={fetchingPayrollFiles}\n errorItems={errorPayrollFiles}\n tableTitle={formatMessageWithValues('payrollPaymentFilesSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n );\n}\nconst mapStateToProps = (state) => ({\n fetchingPayrollFiles: state.payroll.fetchingPayrollFiles,\n fetchedPayrollFiles: state.payroll.fetchedPayrollFiles,\n errorPayrollFiles: state.payroll.errorPayrollFiles,\n files: state.payroll.payrollFiles,\n pageInfo: state.payroll.payrollFilesPageInfo,\n totalCount: state.payroll.payrollFilesTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrollPaymentFiles,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentFilesSearcher);\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport {\n useTranslations,\n useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport PayrollPaymentFilesSearcher from '../PayrollPaymentFilesSearcher';\nimport { MODULE_NAME } from '../../../constants';\n\nfunction PayrollReconciliationFilesDialog({\n payroll, classes,\n}) {\n const modulesManager = useModulesManager();\n const rights = useSelector((state) => state.core?.user?.i_user?.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationFiles')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1000,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogContent>\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payroll?.id}\n rights={rights}\n showFilters={false}\n />\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'right' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nexport default PayrollReconciliationFilesDialog;\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentApproveForPaymentSummary from './dialogs/PaymentApproveForPaymentSummary';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherApproved({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n filter: `status: ${PAYROLL_STATUS.APPROVE_FOR_PAYMENT}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentApproveForPaymentSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherApproved);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherApproved from '../../components/payroll/PayrollSearcherApproved';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ApprovedPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherApproved classes={classes} />}\n </div>\n );\n}\n\nexport default ApprovedPayrollsPage;\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n useHistory,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport {\n MODULE_NAME,\n BENEFIT_CONSUMPTION_STATUS,\n PAYROLL_PAYROLL_ROUTE,\n PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n} from '../../../constants';\nimport downloadPayroll from '../../../utils/export';\n\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport { fetchPayroll } from '../../../actions';\n\nfunction PaymentReconcilationSummarytDialog({\n classes,\n payroll,\n payrollDetail,\n fetchPayroll,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleCreatePaymentForFailedInvoice = () => {\n history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payrollDetail?.id}/${PAYROLL_FROM_FAILED_INVOICES_URL_PARAM}`,\n );\n };\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} reconciledMode />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleCreatePaymentForFailedInvoice}\n variant=\"contained\"\n color=\"primary\"\n disabled={totalBeneficiaries === selectedBeneficiaries}\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.createPaymentForFailedInvoice')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentReconcilationSummarytDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentReconciliationSummaryDialog from './dialogs/PaymentReconciliationSummaryDialog';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherReconciled({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.RECONCILED,\n filter: `status: ${PAYROLL_STATUS.RECONCILED}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentReconciliationSummaryDialog\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherReconciled);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherReconciled from '../../components/payroll/PayrollSearcherReconciled';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ReconciledPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherReconciled classes={classes} />}\n </div>\n );\n}\n\nexport default ReconciledPayrollsPage;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useState } from 'react';\n\nimport { TextField } from '@material-ui/core';\n\nimport {\n useGraphqlQuery, useTranslations, Autocomplete, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { PAYMENT_POINT_PROJECTION } from '../../actions';\n\nfunction PaymentPointPicker({\n readOnly,\n value,\n onChange,\n required,\n withLabel,\n withPlaceholder,\n filterOptions,\n filterSelectedOptions,\n}) {\n const [searchString, setSearchString] = useState();\n const { formatMessage } = useTranslations('payroll');\n\n const modulesManager = useModulesManager();\n\n const formatSuggestion = (paymentPoint) => [paymentPoint?.name].filter(Boolean).join(' ');\n\n const { isLoading, data, error } = useGraphqlQuery(\n `\n query paymentPoint {\n paymentPoint {\n edges {\n node {\n ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')}\n }\n }\n }\n }\n `,\n {},\n );\n\n const paymentPoints = data?.paymentPoint?.edges.map((edge) => edge.node) ?? [];\n\n return (\n <Autocomplete\n withLabel={withLabel}\n withPlaceholder={withPlaceholder}\n readOnly={readOnly}\n value={value}\n placeholder={formatMessage('paymentPointPicker.placeholder')}\n label={formatMessage('paymentPointPicker.label')}\n isLoading={isLoading}\n options={paymentPoints}\n error={error}\n getOptionLabel={(option) => formatSuggestion(option)}\n onChange={(user) => onChange(user)}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={() => setSearchString(searchString)}\n renderInput={(inputProps) => (\n <TextField\n {...inputProps}\n variant=\"standard\"\n required={required}\n label={withLabel && formatMessage('paymentPointPicker.label')}\n placeholder={withPlaceholder && formatMessage('paymentPointPicker.placeholder')}\n />\n )}\n />\n );\n}\n\nexport default PaymentPointPicker;\n","import React from 'react';\nimport { ConstantBasedPicker } from '@stssocialst-stp/fe-core';\n\nimport { BENEFIT_CONSUMPTION_STATUS_LIST } from '../constants';\n\nfunction BenefitConsumptionStatusPicker(props) {\n const {\n required, withNull, readOnly, onChange, value, nullLabel, withLabel,\n } = props;\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.benefitConsumptionStatusPicker\"\n constants={BENEFIT_CONSUMPTION_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default BenefitConsumptionStatusPicker;\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionPayrollFilter({ filters, onChangeFilters, benefitPlan }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.name\"\n value={filterTextFieldValue('payroll_Name')}\n onChange={onChangeStringFilter('payroll_Name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.benefitPlan\"\n value={filterTextFieldValue('benefitPlanName')}\n onChange={onChangeStringFilter('benefitPlanName')}\n readOnly={benefitPlan !== null && benefitPlan !== undefined}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.startDate')}\n value={filterValue('payroll_PaymentCycle_StartDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_StartDate',\n value: v,\n filter: `payroll_PaymentCycle_StartDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.endDate')}\n value={filterValue('payroll_PaymentCycle_EndDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_EndDate',\n value: v,\n filter: `payroll_PaymentCycle_EndDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('benefit_Status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'benefit_Status',\n value,\n filter: `benefit_Status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('benefit_Code')}\n onChange={onChangeStringFilter('benefit_Code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('benefit_Amount')}\n onChange={onChangeStringFilter('benefit_Amount')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('benefit_Type')}\n onChange={onChangeStringFilter('benefit_Type', CONTAINS_LOOKUP)}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionPayrollFilter;\n","/* eslint-disable no-param-reassign */\nimport React, { useEffect, useState } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { fetchPayrollBenefitConsumptions, fetchBenefitsSummary } from '../../actions';\nimport { DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS } from '../../constants';\nimport BenefitConsumptionPayrollFilter from './BenefitConsumptionPayrollFilter';\n\nfunction BenefitConsumptionPayrollSearcher({\n fetchPayrollBenefitConsumptions,\n fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount,\n fetchBenefitsSummary,\n fetchedBenefitsSummary,\n benefitsSummary,\n individualUuid,\n benefitPlan,\n groupBeneficiaries,\n paymentCycleUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [totalNumberOfBenefits, setTotalNumberOfBenefits] = useState(0);\n\n const fetch = (params) => fetchPayrollBenefitConsumptions(modulesManager, params);\n\n const headers = () => [\n 'benefitConsumption.payroll.name',\n 'benefitConsumption.payroll.benefitPlan',\n 'benefitConsumption.payroll.startDate',\n 'benefitConsumption.payroll.endDate',\n 'benefitConsumption.status',\n 'benefitConsumption.code',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n ];\n\n const checkBenefitDueDate = (payrollBenefitConsumption) => {\n if (!payrollBenefitConsumption.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n payrollBenefitConsumption.benefit\n && payrollBenefitConsumption.benefit.dateDue\n >= payrollBenefitConsumption.benefit.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.name,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.benefitPlanNameCode,\n // eslint-disable-next-line max-len\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.startDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.endDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.status,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.code,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.receipt,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.dateDue,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.amount,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.type,\n (payrollBenefitConsumption) => checkBenefitDueDate(payrollBenefitConsumption),\n (payrollBenefitConsumption) => (\n !payrollBenefitConsumption.benefit.receipt\n ? ''\n : payrollBenefitConsumption?.benefit?.benefitAttachment[0]?.bill?.datePayed\n ),\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['payroll_Name', true],\n ['payroll_benefitPlanName', false],\n ['payroll_PaymentCycle_StartDate', true],\n ['payroll_PaymentCycle_EndDate', true],\n ['benefit_Status', true],\n ['benefit_Code', true],\n ['benefit_Receipt', true],\n ['benefit_DateDue', true],\n ['benefit_Amount', true],\n ['benefit_Type', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n };\n if (groupBeneficiaries !== null && groupBeneficiaries !== undefined) {\n filters.benefit_Individual_Id = {\n value: groupBeneficiaries?.group?.head?.uuid,\n filter: `benefit_Individual_Id: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n };\n } else if (individualUuid !== null && individualUuid !== undefined) {\n filters.benefit_Individual_Id = {\n value: individualUuid,\n filter: `benefit_Individual_Id: \"${individualUuid}\"`,\n };\n }\n if (benefitPlan?.id) {\n filters.benefitPlanUuid = {\n value: benefitPlan.id,\n filter: `benefitPlanUuid: \"${benefitPlan.id}\"`,\n };\n }\n if (paymentCycleUuid) {\n filters.paymentCycleUuid = {\n value: paymentCycleUuid,\n filter: `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n };\n }\n return filters;\n };\n\n useEffect(() => {\n const params = [];\n if (individualUuid) {\n params.push(\n `individualId: \"${individualUuid}\"`,\n );\n }\n if (groupBeneficiaries) {\n params.push(\n `individualId: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n );\n }\n if (benefitPlan?.id) {\n params.push(\n `benefitPlanUuid: \"${benefitPlan.id}\"`,\n );\n }\n if (paymentCycleUuid) {\n params.push(\n `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n );\n }\n fetchBenefitsSummary(params);\n }, []);\n\n useEffect(() => {\n if (payrollBenefitConsumptionsTotalCount > totalNumberOfBenefits) {\n setTotalNumberOfBenefits(payrollBenefitConsumptionsTotalCount);\n }\n }, [payrollBenefitConsumptionsTotalCount]);\n\n const benefitConsumptionPayrollFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionPayrollFilter\n filters={filters}\n onChangeFilters={onChangeFilters}\n benefitPlan={benefitPlan}\n />\n );\n\n return (\n <div>\n {fetchedBenefitsSummary && (\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalNumberOfBenefits')}\n </Typography>\n <Typography variant=\"body1\">\n {totalNumberOfBenefits}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountDue')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountDue ?? 0}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountReceived')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountReceived ?? 0}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionPayrollFilter}\n fetch={fetch}\n items={payrollBenefitConsumptions}\n itemsPageInfo={payrollBenefitConsumptionsPageInfo}\n fetchingItems={fetchingPayrollBenefitConsumptions}\n fetchedItems={fetchedPayrollBenefitConsumptions}\n errorItems={errorPayrollBenefitConsumptions}\n tableTitle={\n // eslint-disable-next-line max-len\n formatMessageWithValues('payrollBenefitConsumption.searcherResultsTitle', { payrollBenefitConsumptionsTotalCount })\n }\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n </div>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrollBenefitConsumptions: state.payroll.fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions: state.payroll.fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions: state.payroll.errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions: state.payroll.payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo: state.payroll.payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount: state.payroll.payrollBenefitConsumptionsTotalCount,\n fetchingBenefitsSummary: state.payroll.fetchingBenefitsSummary,\n errorBenefitsSummary: state.payroll.errorBenefitsSummary,\n fetchedBenefitsSummary: state.payroll.fetchedBenefitsSummary,\n benefitsSummary: state.payroll.benefitsSummary,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchPayrollBenefitConsumptions, fetchBenefitsSummary },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionPayrollSearcher);\n","import React from 'react';\nimport PayrollPage from '../../pages/payroll/PayrollPage';\nimport { EMPTY_STRING } from '../../constants';\n\nconst PayrollTaskTableHeaders = () => [\n EMPTY_STRING,\n];\n\nconst PayrollTaskItemFormatters = () => [\n (payroll) => <PayrollPage taskPayrollUuid={payroll?.id} />,\n];\n\nexport { PayrollTaskTableHeaders, PayrollTaskItemFormatters };\n","const PayrollReconciliationTaskTableHeaders = () => [\n];\n\nconst PayrollReconciliationTaskItemFormatters = () => [\n];\n\nexport { PayrollReconciliationTaskTableHeaders, PayrollReconciliationTaskItemFormatters };\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@stssocialst-stp/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilter({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('individual_FirstName')}\n onChange={onChangeStringFilter('individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('individual_LastName')}\n onChange={onChangeStringFilter('individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.photo\"\n value={filterTextFieldValue('photo')}\n onChange={onChangeStringFilter('photo', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('code')}\n onChange={onChangeStringFilter('code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('dateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'dateDue',\n value: v,\n filter: `dateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('receipt')}\n onChange={onChangeStringFilter('receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('type')}\n onChange={onChangeStringFilter('type', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: `status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('amount')}\n onChange={onChangeFilter('amount')}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilter;\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@stssocialst-stp/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollPrintTemplate = forwardRef(({ benefitConsumptions }, ref) => {\n if (!benefitConsumptions) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitConsumptions.map((benefitConsumption, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitConsumption.code} - ${benefitConsumption.individual.firstName}, ${benefitConsumption.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitConsumption.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitConsumption.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitConsumption.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitConsumption.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitConsumption.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitConsumption.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-return-assign */\n/* eslint-disable no-param-reassign */\nimport React, { useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport {\n Typography, Button,\n} from '@material-ui/core';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport Chip from '@material-ui/core/Chip';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitConsumptions } from '../../actions';\nimport { BENEFIT_CONSUMPTION_STATUS, DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS, PAYMENT_METHOD } from '../../constants';\nimport BenefitConsumptionFilter from './BenefitConsumptionFilter';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollPrintTemplate from '../PayrollPrintTemplate';\n\nfunction BenefitConsumptionSearcher({\n fetchBenefitConsumptions,\n fetchingBenefitConsumptions,\n fetchedBenefitConsumptions,\n errorBenefitConsumptions,\n benefitConsumptions,\n benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount,\n isPayrollFromFailedInvoices,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => fetchBenefitConsumptions(modulesManager, params);\n\n const headers = () => {\n const cols = [\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.nib',\n 'benefitConsumption.photo',\n 'benefitConsumption.code',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.receipt',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.status',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n '',\n ];\n return cols;\n };\n\n const checkBenefitDueDate = (benefitConsumption) => {\n if (!benefitConsumption.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitConsumption\n && benefitConsumption.dateDue\n >= benefitConsumption.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const getBistpStatusBadge = (benefitConsumption) => {\n if (!benefitConsumption) return null;\n const jsonExt = benefitConsumption.jsonExt || {};\n const { status } = benefitConsumption;\n\n if (status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n return <Chip label={formatMessage('payroll.bistp.status.reconciled')} style={{ backgroundColor: '#4caf50', color: 'white' }} size=\"small\" />;\n }\n if (status === BENEFIT_CONSUMPTION_STATUS.REJECTED) {\n return <Chip label={`${formatMessage('payroll.bistp.status.rejected')}${jsonExt.bistp_rejection_reason ? `: ${jsonExt.bistp_rejection_reason}` : ''}`} style={{ backgroundColor: '#f44336', color: 'white' }} size=\"small\" />;\n }\n if (status === BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT) {\n return <Chip label={formatMessage('payroll.bistp.status.pending')} style={{ backgroundColor: '#ff9800', color: 'white' }} size=\"small\" />;\n }\n if (jsonExt.bistp_skip_reason === 'nib_ausente') {\n return <Chip label={formatMessage('payroll.bistp.status.skippedNib')} style={{ backgroundColor: '#9e9e9e', color: 'white' }} size=\"small\" />;\n }\n if (jsonExt.bistp_skip_reason === 'envio_falhou') {\n return <Chip label={formatMessage('payroll.bistp.status.sendFailed')} style={{ backgroundColor: '#f44336', color: 'white' }} size=\"small\" />;\n }\n return null;\n };\n\n const itemFormatters = () => [\n (benefitConsumption) => benefitConsumption?.individual?.firstName,\n (benefitConsumption) => benefitConsumption?.individual?.lastName,\n (benefitConsumption) => benefitConsumption?.individual?.nib || '',\n (benefitConsumption) => (\n benefitConsumption.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitConsumption) => benefitConsumption?.code,\n (benefitConsumption) => benefitConsumption?.dateDue,\n (benefitConsumption) => benefitConsumption?.receipt,\n (benefitConsumption) => benefitConsumption?.amount,\n (benefitConsumption) => benefitConsumption?.type,\n (benefitConsumption) => (isPayrollFromFailedInvoices\n ? BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT : benefitConsumption?.status),\n (benefitConsumption) => checkBenefitDueDate(benefitConsumption),\n (benefitConsumption) => (\n !benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed\n ),\n (benefitConsumption) => {\n const jsonExt = benefitConsumption?.jsonExt || {};\n const hasBistpFields = jsonExt.bistp_skip_reason || jsonExt.bistp_processed || jsonExt.bistp_rejection_reason;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 4 }}>\n {hasBistpFields && getBistpStatusBadge(benefitConsumption)}\n <AdditionalFieldsDialog\n jsonExt={benefitConsumption?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n </div>\n );\n },\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['individual_FirstName', true],\n ['individual_LastName', true],\n ['individual_Nib', true],\n ['photo', true],\n ['code', true],\n ['dateDue', true],\n ['receipt', true],\n ['amount', true],\n ['type', true],\n ['status', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter:\n `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (isPayrollFromFailedInvoices) {\n filters.status = {\n value: true,\n filter:\n `filterOnlyUnpaid: ${true}`,\n };\n }\n return filters;\n };\n\n const benefitConsumptionFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={!isPayrollFromFailedInvoices && benefitConsumptionFilter}\n fetch={fetch}\n items={benefitConsumptions}\n itemsPageInfo={benefitConsumptionsPageInfo}\n fetchingItems={fetchingBenefitConsumptions}\n fetchedItems={fetchedBenefitConsumptions}\n errorItems={errorBenefitConsumptions}\n tableTitle={formatMessageWithValues('benefitConsumption.searcherResultsTitle', { benefitConsumptionsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n <div style={{ display: 'none' }}>\n <PayrollPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitConsumptions={benefitConsumptions}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitConsumptions: state.payroll.fetchingBenefitConsumptions,\n fetchedBenefitConsumptions: state.payroll.fetchedBenefitConsumptions,\n errorBenefitConsumptions: state.payroll.errorBenefitConsumptions,\n benefitConsumptions: state.payroll.benefitConsumptions,\n benefitConsumptionsPageInfo: state.payroll.benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount: state.payroll.benefitConsumptionsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitConsumptions },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcher);\n","import React from 'react';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport BenefitConsumptionSearcher from './BenefitConsumptionSearcher';\n\nfunction BenefitConsumptionsTabLabel({\n onChange, tabStyle, isSelected, modulesManager,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n selected={isSelected(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n value={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n label={formatMessage('PayrollBenefitConsumptionTab.label')}\n />\n );\n}\n\nfunction BenefitConsumptionsTabPanel({\n value, rights, payrollUuid, isPayrollFromFailedInvoices,\n}) {\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n value={value}\n >\n {\n rights.includes(RIGHT_PAYROLL_SEARCH) && payrollUuid && (\n <BenefitConsumptionSearcher\n rights={rights}\n payrollUuid={payrollUuid}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { BenefitConsumptionsTabLabel, BenefitConsumptionsTabPanel };\n","const PayrollRejectedTaskTableHeaders = () => [\n];\n\nconst PayrollRejectedTaskItemFormatters = () => [\n];\n\nexport { PayrollRejectedTaskTableHeaders, PayrollRejectedTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME, PAYROLL_TASK_TAB_VALUE,\n} from '../../constants';\n\nfunction PayrollTaskTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_TASK_TAB_VALUE)}\n selected={isSelected(PAYROLL_TASK_TAB_VALUE)}\n value={PAYROLL_TASK_TAB_VALUE}\n label={formatMessage('PayrollTaskTab.label')}\n />\n );\n}\n\nfunction PayrollTaskTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_TASK_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PublishedComponent\n pubRef=\"tasksManagement.taskSearcher\"\n module=\"payroll\"\n entityId={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollTaskTabLabel, PayrollTaskTabPanel };\n","const PayrollDeleteTaskTableHeaders = () => [\n];\n\nconst PayrollDeleteTaskItemFormatters = () => [\n];\n\nexport { PayrollDeleteTaskTableHeaders, PayrollDeleteTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME, PAYROLL_PAYMENT_FILES_TAB_VALUE,\n} from '../../constants';\nimport PayrollPaymentFilesSearcher from './PayrollPaymentFilesSearcher';\n\nfunction PayrollPaymentFilesTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n selected={isSelected(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n value={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n label={formatMessage('PayrollPaymentFilesTab.label')}\n />\n );\n}\n\nfunction PayrollPaymentFilesTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel };\n","import React, { useState, useEffect } from 'react';\nimport {\n Grid, LinearProgress, Paper, Tab, Typography,\n} from '@material-ui/core';\nimport { PublishedComponent, useModulesManager, useTranslations } from '@stssocialst-stp/fe-core';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n BISTP_PAYMENT_STATUS_TAB_VALUE,\n MODULE_NAME,\n PAYMENT_METHOD,\n} from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n paper: theme.paper.paper,\n content: {\n padding: theme.spacing(2),\n },\n metric: {\n padding: theme.spacing(1.5),\n border: '1px solid rgba(0, 0, 0, 0.12)',\n },\n metricValue: {\n fontSize: '1.5rem',\n fontWeight: 600,\n },\n progress: {\n marginTop: theme.spacing(2),\n },\n}));\n\nfunction BistpPaymentStatusTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, payroll, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (\n !payrollUuid\n || payroll?.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n || isInTask\n || isPayrollFromFailedInvoices\n ) return null;\n\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(BISTP_PAYMENT_STATUS_TAB_VALUE)}\n selected={isSelected(BISTP_PAYMENT_STATUS_TAB_VALUE)}\n value={BISTP_PAYMENT_STATUS_TAB_VALUE}\n label={formatMessage('payroll.bistp.viewSummary')}\n />\n );\n}\n\nfunction BistpMetric({ label, value, classes }) {\n return (\n <Grid item xs={12} sm={6} md={3}>\n <div className={classes.metric}>\n <Typography variant=\"body2\">{label}</Typography>\n <Typography className={classes.metricValue}>{value}</Typography>\n </div>\n </Grid>\n );\n}\n\nfunction BistpPaymentStatusPanel({ value, payrollUuid, payroll }) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const [summary, setSummary] = useState({\n total: 0,\n pendentes: 0,\n enviados: 0,\n confirmados: 0,\n rejeitados: 0,\n });\n\n useEffect(() => {\n if (payrollUuid) {\n const query = `\n query ResumoPagamentos($payrollId: UUID!) {\n total: benefitConsumptionByPayroll(payrollUuid: $payrollId, first: 0) { totalCount }\n pendentes: benefitConsumptionByPayroll(payrollUuid: $payrollId, status: \"ACCEPTED\", first: 0) { totalCount }\n enviados: benefitConsumptionByPayroll(payrollUuid: $payrollId, status: \"APPROVE_FOR_PAYMENT\", first: 0) { totalCount }\n confirmados: benefitConsumptionByPayroll(payrollUuid: $payrollId, status: \"RECONCILED\", first: 0) { totalCount }\n rejeitados: benefitConsumptionByPayroll(payrollUuid: $payrollId, status: \"REJECTED\", first: 0) { totalCount }\n }\n `;\n\n // Using fetch directly as suggested in the guide to avoid Redux complications for a simple summary\n fetch('/api/graphql', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n },\n body: JSON.stringify({ query, variables: { payrollId: payrollUuid } }),\n })\n .then((response) => response.json())\n .then((result) => {\n if (result.data) {\n setSummary({\n total: result.data.total.totalCount,\n pendentes: result.data.pendentes.totalCount,\n enviados: result.data.enviados.totalCount,\n confirmados: result.data.confirmados.totalCount,\n rejeitados: result.data.rejeitados.totalCount,\n });\n }\n });\n }\n }, [payrollUuid]);\n\n if (payroll?.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n\n const total = summary.total || 0;\n const reconciled = summary.confirmados || 0;\n const progress = total > 0 ? Math.min((reconciled / total) * 100, 100) : 0;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={BISTP_PAYMENT_STATUS_TAB_VALUE}\n value={value}\n >\n {payrollUuid && (\n <Paper className={classes.paper}>\n <div className={classes.content}>\n <Grid container spacing={2}>\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.summary.totalNumberOfBenefits')}\n value={total}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.reconciled')}\n value={summary.confirmados || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.pending')}\n value={summary.pendentes || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.rejected')}\n value={summary.rejeitados || 0}\n />\n <BistpMetric\n classes={classes}\n label={formatMessage('payroll.bistp.status.enviados')}\n value={summary.enviados || 0}\n />\n </Grid>\n <div className={classes.progress}>\n <Typography variant=\"body2\">\n {formatMessage('payroll.bistp.progress')}: {reconciled}/{total}\n </Typography>\n <LinearProgress variant=\"determinate\" value={progress} />\n </div>\n </div>\n </Paper>\n )}\n </PublishedComponent>\n );\n}\n\nexport { BistpPaymentStatusTabLabel, BistpPaymentStatusPanel };","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS } from '../../../constants';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\nimport { fetchPayroll, closePayroll } from '../../../actions';\nimport { mutationLabel } from '../../../utils/string-utils';\n\nfunction PaymentPendingPayrollPaymentDialog({\n classes,\n payroll,\n fetchPayroll,\n closePayroll,\n payrollDetail,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption?.length ?? 0;\n const selected = (payroll.benefitConsumption ?? []).filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll?.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const closePayrollCallback = () => {\n closePayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n handleClose();\n };\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n <Button\n onClick={closePayrollCallback}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.approveAndClose')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n closePayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPendingPayrollPaymentDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@stssocialst-stp/fe-core';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS, PAYMENT_METHOD,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\nimport PayrollPendingPayrollSummary from './dialogs/PayrollPendingPayrollSummary';\n\nfunction PayrollSearcherPending({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const renderBistpProgress = (payroll) => {\n if (payroll.paymentMethod !== PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) return null;\n const summary = payroll.bistpSummary || {};\n const total = summary.total || 0;\n const reconciled = summary.reconciled || 0;\n const progress = total > 0 ? (reconciled / total) * 100 : 0;\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, minWidth: 120 }}>\n <LinearProgress\n variant=\"determinate\"\n value={progress}\n style={{ flex: 1, height: 8, borderRadius: 4 }}\n />\n <span style={{ fontSize: '0.75rem', whiteSpace: 'nowrap' }}>\n {reconciled}/{total}\n </span>\n </div>\n );\n };\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'payroll.bistp.progress',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.PENDING_APPROVAL,\n filter: `status: ${PAYROLL_STATUS.PENDING_APPROVAL}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => payroll.benefitPlanNameCode ?? '',\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => renderBistpProgress(payroll),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PayrollPendingPayrollSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherPending);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherPending from '../../components/payroll/PayrollSearcherPending';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PendingPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherPending classes={classes} />}\n </div>\n );\n}\n\nexport default PendingPayrollsPage;\n","import { useState } from 'react';\nimport { baseApiUrl } from '@stssocialst-stp/fe-core';\n\nconst BASE = `${baseApiUrl}/payroll/beneficiarios`;\n\nfunction buildHeaders() {\n return { 'Content-Type': 'application/json' };\n}\n\nexport function useBeneficiarios() {\n const [loading, setLoading] = useState(false);\n const [output, setOutput] = useState('');\n const [error, setError] = useState(null);\n\n async function request(path, { multipart = false, body = null } = {}) {\n setLoading(true);\n setError(null);\n try {\n const init = {\n method: 'POST',\n credentials: 'same-origin',\n };\n if (multipart) {\n init.body = body;\n } else {\n init.headers = buildHeaders();\n if (body) init.body = JSON.stringify(body);\n }\n const response = await fetch(`${BASE}${path}`, init);\n let data = null;\n const contentType = response.headers.get('content-type') || '';\n if (contentType.includes('application/json')) {\n data = await response.json();\n }\n if (!response.ok) {\n const message = data?.message || `HTTP ${response.status}`;\n setError(message);\n return { ok: false, message, data };\n }\n return { ok: true, data };\n } catch (e) {\n setError(e.message);\n return { ok: false, message: e.message };\n } finally {\n setLoading(false);\n }\n }\n\n async function backup(payrollId = null) {\n const { ok, data } = await request('/backup/', {\n body: payrollId ? { payroll_id: payrollId } : {},\n });\n if (ok) {\n const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = `backup_beneficiarios_${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.json`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(a.href);\n setOutput(`Backup concluído: ${JSON.stringify(data.counts)}`);\n }\n return { ok, data };\n }\n\n async function limpar({ dryRun = true, forceSkipFinancial = false } = {}) {\n const { ok, data } = await request('/limpar/', {\n body: { username: 'admin', dry_run: dryRun, force_skip_financial: forceSkipFinancial },\n });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n async function importar(\n file,\n { dryRun = false, payrollId, benefitPlanId, benefitType, sheet } = {},\n ) {\n const fd = new FormData();\n fd.append('file', file);\n fd.append('username', 'admin');\n fd.append('dry_run', String(dryRun));\n if (payrollId) fd.append('payroll_id', payrollId);\n if (benefitPlanId) fd.append('benefit_plan_id', benefitPlanId);\n if (benefitType) fd.append('benefit_type', benefitType);\n if (sheet) fd.append('sheet', sheet);\n const { ok, data } = await request('/importar/', { multipart: true, body: fd });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n async function restore(file, { dryRun = true, skipPhases = [] } = {}) {\n const fd = new FormData();\n fd.append('file', file);\n fd.append('username', 'admin');\n fd.append('dry_run', String(dryRun));\n if (skipPhases.length) fd.append('skip_phases', skipPhases.join(','));\n const { ok, data } = await request('/restore/', { multipart: true, body: fd });\n if (ok) setOutput(data.output);\n return { ok, data };\n }\n\n return {\n backup, limpar, importar, restore, loading, output, error, setOutput, setError,\n };\n}\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { makeStyles } from '@material-ui/styles';\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@stssocialst-stp/fe-core';\nimport Paper from '@material-ui/core/Paper';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport Divider from '@material-ui/core/Divider';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Alert } from '@material-ui/lab';\nimport { RIGHT_PAYROLL_SEARCH, MODULE_NAME } from '../../constants';\nimport { useBeneficiarios } from '../../hooks/useBeneficiarios';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n card: {\n padding: theme.spacing(3),\n marginBottom: theme.spacing(3),\n },\n sectionTitle: {\n marginBottom: theme.spacing(2),\n },\n field: {\n marginBottom: theme.spacing(2),\n },\n output: {\n marginTop: theme.spacing(2),\n padding: theme.spacing(2),\n backgroundColor: '#1e1e1e',\n color: '#d4d4d4',\n fontFamily: 'monospace',\n fontSize: 12,\n whiteSpace: 'pre-wrap',\n maxHeight: 320,\n overflow: 'auto',\n borderRadius: 4,\n },\n actions: {\n display: 'flex',\n gap: theme.spacing(1),\n flexWrap: 'wrap',\n },\n}));\n\nfunction Card({ title, children, classes }) {\n return (\n <Paper className={classes.card}>\n <Typography variant=\"h6\" className={classes.sectionTitle}>{title}</Typography>\n {children}\n </Paper>\n );\n}\n\nfunction BeneficiaryManagementPage() {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user?.i_user?.rights ?? []);\n const {\n backup, limpar, importar, restore, loading, output, error, setOutput, setError,\n } = useBeneficiarios();\n\n const [payrollId, setPayrollId] = useState('');\n const [backupPayrollId, setBackupPayrollId] = useState('');\n\n const [limparForce, setLimparForce] = useState(false);\n const [confirmLimpar, setConfirmLimpar] = useState(false);\n\n const [importFile, setImportFile] = useState(null);\n const [importPayrollId, setImportPayrollId] = useState('');\n const [importBenefitPlanId, setImportBenefitPlanId] = useState('');\n const [importDryRun, setImportDryRun] = useState(false);\n\n const [restoreFile, setRestoreFile] = useState(null);\n const [restoreDryRun, setRestoreDryRun] = useState(true);\n\n if (!rights.includes(RIGHT_PAYROLL_SEARCH)) {\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.beneficiaries.management.title')} />\n <Alert severity=\"warning\">\n {formatMessage('payroll.beneficiaries.management.noPermission')}\n </Alert>\n </div>\n );\n }\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('payroll.beneficiaries.management.title')} />\n <Typography variant=\"h5\" className={classes.sectionTitle}>\n {formatMessage('payroll.beneficiaries.management.title')}\n </Typography>\n\n {error && (\n <Alert severity=\"error\" onClose={() => setError(null)} className={classes.field}>\n {error}\n </Alert>\n )}\n\n <Card title={formatMessage('payroll.beneficiaries.backup.title')} classes={classes}>\n <TextField\n className={classes.field}\n fullWidth\n label={formatMessage('payroll.beneficiaries.payrollId.optional')}\n value={backupPayrollId}\n onChange={(e) => setBackupPayrollId(e.target.value)}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading}\n onClick={() => backup(backupPayrollId || null)}\n >\n {formatMessage('payroll.beneficiaries.backup.button')}\n </Button>\n </div>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.limpar.title')} classes={classes}>\n <FormControlLabel\n control={(\n <Checkbox\n checked={limparForce}\n onChange={(e) => setLimparForce(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.limpar.forceSkipFinancial')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"outlined\"\n disabled={loading}\n onClick={() => limpar({ dryRun: true, forceSkipFinancial: limparForce })}\n >\n {formatMessage('payroll.beneficiaries.limpar.dryRun')}\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n disabled={loading}\n onClick={() => setConfirmLimpar(true)}\n >\n {formatMessage('payroll.beneficiaries.limpar.execute')}\n </Button>\n </div>\n <Dialog open={confirmLimpar} onClose={() => setConfirmLimpar(false)}>\n <DialogTitle>{formatMessage('payroll.beneficiaries.limpar.confirm.title')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {formatMessage('payroll.beneficiaries.limpar.confirm.message')}\n {limparForce && (\n ` ${formatMessage('payroll.beneficiaries.limpar.confirm.forceNote')}`\n )}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setConfirmLimpar(false)}>\n {formatMessage('payroll.beneficiaries.cancel')}\n </Button>\n <Button\n color=\"secondary\"\n variant=\"contained\"\n onClick={async () => {\n setConfirmLimpar(false);\n await limpar({ dryRun: false, forceSkipFinancial: limparForce });\n }}\n >\n {formatMessage('payroll.beneficiaries.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.import.title')} classes={classes}>\n <input\n className={classes.field}\n type=\"file\"\n accept=\".xlsx\"\n onChange={(e) => setImportFile(e.target.files[0])}\n />\n <TextField\n className={classes.field}\n fullWidth\n label=\"Payroll UUID\"\n value={importPayrollId}\n onChange={(e) => setImportPayrollId(e.target.value)}\n />\n <TextField\n className={classes.field}\n fullWidth\n label=\"Benefit Plan UUID\"\n value={importBenefitPlanId}\n onChange={(e) => setImportBenefitPlanId(e.target.value)}\n />\n <FormControlLabel\n control={(\n <Checkbox\n checked={importDryRun}\n onChange={(e) => setImportDryRun(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.dryRun')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || !importFile}\n onClick={() => importar(importFile, {\n dryRun: importDryRun,\n payrollId: importPayrollId || null,\n benefitPlanId: importBenefitPlanId || null,\n })}\n >\n {formatMessage('payroll.beneficiaries.import.button')}\n </Button>\n </div>\n </Card>\n\n <Card title={formatMessage('payroll.beneficiaries.restore.title')} classes={classes}>\n <input\n className={classes.field}\n type=\"file\"\n accept=\".json\"\n onChange={(e) => setRestoreFile(e.target.files[0])}\n />\n <FormControlLabel\n control={(\n <Checkbox\n checked={restoreDryRun}\n onChange={(e) => setRestoreDryRun(e.target.checked)}\n />\n )}\n label={formatMessage('payroll.beneficiaries.dryRun')}\n />\n <div className={classes.actions}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || !restoreFile}\n onClick={() => restore(restoreFile, { dryRun: restoreDryRun })}\n >\n {formatMessage('payroll.beneficiaries.restore.button')}\n </Button>\n </div>\n </Card>\n\n {output && (\n <Paper className={classes.card}>\n <Typography variant=\"subtitle1\" className={classes.sectionTitle}>\n {formatMessage('payroll.beneficiaries.output')}\n </Typography>\n <Divider className={classes.field} />\n {loading && <CircularProgress size={18} />}\n <Box className={classes.output}>{output}</Box>\n </Paper>\n )}\n </div>\n );\n}\n\nexport default BeneficiaryManagementPage;\n","/* eslint-disable import/prefer-default-export */\n/* eslint-disable camelcase */\n\nimport React from 'react';\n\nimport { PinDrop } from '@material-ui/icons';\nimport MonetizationOnIcon from '@material-ui/icons/MonetizationOn';\n\nimport { FormattedMessage } from '@stssocialst-stp/fe-core';\nimport {\n RIGHT_PAYMENT_POINT_SEARCH,\n RIGHT_PAYROLL_CREATE,\n RIGHT_PAYROLL_SEARCH,\n} from './constants';\nimport reducer from './reducer';\nimport messages_en from './translations/en.json';\nimport PaymentPointPage from './pages/payment-point/PaymentPointPage';\nimport PaymentPointsPage from './pages/payment-point/PaymentPointsPage';\nimport PayrollPage from './pages/payroll/PayrollPage';\nimport PayrollsPage from './pages/payroll/PayrollsPage';\nimport ApprovedPayrollsPage from './pages/payroll/ApprovedPayrollsPage';\nimport ReconciledPayrollsPage from './pages/payroll/ReconciledPayrollsPage';\nimport PaymentPointPicker from './components/payment-point/PaymentPointPicker';\nimport BenefitConsumptionPayrollSearcher from './components/payroll/BenefitConsumptionPayrollSearcher';\nimport {\n PayrollTaskItemFormatters,\n PayrollTaskTableHeaders,\n} from './components/tasks/PayrollTasks';\nimport {\n PayrollReconciliationTaskItemFormatters,\n PayrollReconciliationTaskTableHeaders,\n} from './components/tasks/PayrollReconciliationTasks';\nimport {\n BenefitConsumptionsTabLabel,\n BenefitConsumptionsTabPanel,\n} from './components/payroll/BenefitConsumptionTabPanel';\nimport {\n PayrollRejectedTaskItemFormatters,\n PayrollRejectedTaskTableHeaders,\n} from './components/tasks/PayrollRejectedTasks';\nimport {\n PayrollTaskTabLabel,\n PayrollTaskTabPanel,\n} from './components/payroll/PayrollTaskTabPanel';\nimport { PayrollDeleteTaskItemFormatters, PayrollDeleteTaskTableHeaders } from './components/tasks/PayrollDeleteTasks';\nimport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel } from './components/payroll/PayrollPaymentFilesTab';\nimport {\n BistpPaymentStatusTabLabel,\n BistpPaymentStatusPanel,\n} from './components/payroll/BistpPaymentStatusPanel';\nimport PendingPayrollsPage from './pages/payroll/PendingPayrollsPage';\nimport BeneficiaryManagementPage from './pages/payroll/BeneficiaryManagementPage';\n\nconst ROUTE_PAYMENT_POINTS = 'paymentPoints';\nconst ROUTE_PAYMENT_POINT = 'paymentPoints/paymentPoint';\nconst ROUTE_PAYROLLS = 'payrolls';\nconst ROUTE_PAYROLLS_APPROVED = 'payrollsApproved';\nconst ROUTE_PAYROLLS_PENDING = 'payrollsPending';\nconst ROUTE_PAYROLLS_RECONCILED = 'payrollsReconciled';\nconst ROUTE_BENEFICIARIES_MANAGEMENT = 'beneficiariesManagement';\nconst ROUTE_PAYROLL = 'payrolls/payroll';\n\nconst DEFAULT_CONFIG = {\n translations: [{ key: 'en', messages: messages_en }],\n reducers: [{ key: 'payroll', reducer }],\n refs: [\n { key: 'payroll.route.paymentPoints', ref: ROUTE_PAYMENT_POINTS },\n { key: 'payroll.route.paymentPoint', ref: ROUTE_PAYMENT_POINT },\n { key: 'payroll.route.payrolls', ref: ROUTE_PAYROLLS },\n { key: 'payroll.route.payrollsApproved', ref: ROUTE_PAYROLLS_APPROVED },\n { key: 'payroll.route.payrollsPending', ref: ROUTE_PAYROLLS_PENDING },\n { key: 'payroll.route.payrollsReconciled', ref: ROUTE_PAYROLLS_RECONCILED },\n { key: 'payroll.route.beneficiariesManagement', ref: ROUTE_BENEFICIARIES_MANAGEMENT },\n { key: 'payroll.route.payroll', ref: ROUTE_PAYROLL },\n { key: 'payroll.PaymentPointPicker', ref: PaymentPointPicker },\n { key: 'payroll.PaymentPointPicker.projection', ref: ['id', 'name', 'location'] },\n { key: 'payroll.benefitConsumptionPayrollSearcher', ref: BenefitConsumptionPayrollSearcher },\n { key: 'payroll.payrollCreateRight', ref: RIGHT_PAYROLL_CREATE },\n ],\n 'core.Router': [\n { path: ROUTE_PAYMENT_POINTS, component: PaymentPointsPage },\n { path: `${ROUTE_PAYMENT_POINT}/:payment_point_uuid?`, component: PaymentPointPage },\n { path: ROUTE_PAYROLLS, component: PayrollsPage },\n { path: ROUTE_PAYROLLS_APPROVED, component: ApprovedPayrollsPage },\n { path: ROUTE_PAYROLLS_PENDING, component: PendingPayrollsPage },\n {\n path: ROUTE_PAYROLLS_RECONCILED, component: ReconciledPayrollsPage },\n {\n path: ROUTE_BENEFICIARIES_MANAGEMENT, component: BeneficiaryManagementPage },\n {\n path: `${ROUTE_PAYROLL}/:payroll_uuid?/:createPayrollFromFailedInvoices?/:benefitPlanId?`,\n component: PayrollPage,\n },\n ],\n 'invoice.MainMenu': [\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.paymentPoint.route\" />,\n icon: <PinDrop />,\n route: `/${ROUTE_PAYMENT_POINTS}`,\n filter: (rights) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH),\n id: 'legalAndFinance.paymentPoint',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.payroll.route\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrolls',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsPending\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_PENDING}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsPending',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsApproved\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_APPROVED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsApproved',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsReconciled\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_RECONCILED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsReconciled',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.beneficiariesManagement\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_BENEFICIARIES_MANAGEMENT}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.beneficiariesManagement',\n },\n ],\n 'payroll.TabPanel.label': [\n BenefitConsumptionsTabLabel, PayrollTaskTabLabel, PayrollPaymentFilesTabLabel, BistpPaymentStatusTabLabel,\n ],\n 'payroll.TabPanel.panel': [\n BenefitConsumptionsTabPanel, PayrollTaskTabPanel, PayrollPaymentFilesTabPanel, BistpPaymentStatusPanel,\n ],\n 'tasksManagement.tasks': [{\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.update.title\" />,\n tableHeaders: PayrollTaskTableHeaders,\n itemFormatters: PayrollTaskItemFormatters,\n taskSource: ['payroll'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.reconciliation.title\" />,\n tableHeaders: PayrollReconciliationTaskTableHeaders,\n itemFormatters: PayrollReconciliationTaskItemFormatters,\n taskSource: ['payroll_reconciliation'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.rejected.title\" />,\n tableHeaders: PayrollRejectedTaskTableHeaders,\n itemFormatters: PayrollRejectedTaskItemFormatters,\n taskSource: ['payroll_reject'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.delete.title\" />,\n tableHeaders: PayrollDeleteTaskTableHeaders,\n itemFormatters: PayrollDeleteTaskItemFormatters,\n taskSource: ['payroll_delete'],\n }],\n};\n\nexport const PayrollModule = (cfg) => ({ ...DEFAULT_CONFIG, ...cfg });\n"],"names":["RIGHT_PAYROLL_SEARCH","RIGHT_PAYROLL_CREATE","PAYROLL_PAYMENT_POINT_ROUTE","PAYROLL_PAYROLL_ROUTE","RIGHT_PAYMENT_POINT_SEARCH","RIGHT_PAYMENT_POINT_CREATE","RIGHT_PAYMENT_POINT_UPDATE","DEFAULT_DEBOUNCE_TIME","DEFAULT_PAGE_SIZE","CONTAINS_LOOKUP","ROWS_PER_PAGE_OPTIONS","EMPTY_STRING","MAX_LENGTH","NAME","MODULE_NAME","BENEFIT_CONSUMPTION_LIST_TAB_VALUE","BISTP_PAYMENT_STATUS_TAB_VALUE","PAYROLL_TASK_TAB_VALUE","PAYROLL_PAYMENT_FILES_TAB_VALUE","PAYROLL_TABS_LABEL_CONTRIBUTION_KEY","PAYROLL_TABS_PANEL_CONTRIBUTION_KEY","CLEARED_STATE_FILTER","field","filter","type","value","BENEFIT_PLAN","INTEGER","STRING","BOOLEAN","DATE","BOOL_OPTIONS","label","PAYROLL_STATUS","PENDING_APPROVAL","APPROVE_FOR_PAYMENT","REJECTED","RECONCILIATED","RECONCILED","PAYROLL_STATUS_LIST","BENEFIT_CONSUMPTION_STATUS","ACCEPTED","CREATED","DUPLICATE","PAYROLL_PAYMENT_FILE_STATUS","TRIGGERED","IN_PROGRESS","SUCCESS","PARTIAL_SUCCESS","WAITING_FOR_VERIFICATION","FAIL","BENEFIT_CONSUMPTION_STATUS_LIST","PAYROLL_FROM_FAILED_INVOICES_URL_PARAM","PAYMENT_METHOD","STRATEGY_OFFLINE_PAYMENT","STRATEGY_ONLINE_PAYMENT","STRATEGY_BISTP_PAYMENT","REQUEST","actionTypeName","concat","ERROR","CLEAR","ACTION_TYPE","MUTATION","CREATE_PAYMENT_POINT","DELETE_PAYMENT_POINT","UPDATE_PAYMENT_POINT","SEARCH_PAYMENT_POINTS","CREATE_PAYROLL","DELETE_PAYROLL","SEARCH_PAYROLLS","GET_PAYMENT_POINT","GET_PAYROLL","GET_BENEFIT_CONSUMPTION","GET_PAYROLL_BENEFIT_CONSUMPTION","GET_BENEFIT_ATTACHMENT","GET_PAYMENT_METHODS","CLOSE_PAYROLL","REJECT_PAYROLL","MAKE_PAYMENT_PAYROLL","GET_PAYROLL_PAYMENT_FILES","BENEFITS_SUMMARY","DELETE_BENEFIT_CONSUMPTION","MUTATION_SERVICE","PAYMENT_POINT","CREATE","DELETE","UPDATE","PAYROLL","CLOSE","REJECT","MAKE_PAYMENT","BENEFIT_CONSUMPTION","STORE_STATE","submittingMutation","mutation","fetchingPaymentPoints","fetchedPaymentPoints","errorPaymentPoints","paymentPoints","paymentPointsPageInfo","paymentPointsTotalCount","fetchingPaymentPoint","fetchedPaymentPoint","paymentPoint","errorPaymentPoint","fetchingPayrolls","fetchedPayrolls","errorPayrolls","payrolls","payrollsPageInfo","payrollsTotalCount","fetchingPayroll","fetchedPayroll","payroll","errorPayroll","fetchingBenefitConsumptions","benefitConsumption","benefitConsumptionTotalCount","fetchedBenefitConsumption","errorBenefitConsumption","benefitConsumptionsPageInfo","fetchingBenefitAttachments","benefitAttachments","benefitAttachmentsTotalCount","fetchedBenefitAttachments","errorBenefitAttachments","benefitAttachmentsPageInfo","fetchingPaymentMethods","paymentMethods","fetchedPaymentMethods","errorPaymentMethods","fetchingPayrollFiles","fetchedPayrollFiles","errorPayrollFiles","payrollFiles","payrollFilesPageInfo","payrollFilesTotalCount","fetchingPayrollBenefitConsumptions","payrollBenefitConsumption","payrollBenefitConsumptionTotalCount","fetchedPayrollBenefitConsumption","errorPayrollBenefitConsumption","payrollBenefitConsumptionsPageInfo","benefitsSummary","benefitsSummaryError","fetchingBenefitsSummary","fetchedBenefitsSummary","reducer","_parseData","_action$payload$data$","_action$payload$data$2","_parseData2","_action$payload$data$3","_action$payload$data$4","_parseData3","_parseData4","_parseData5","_action$payload$data$5","_action$payload$data$6","_parseData6","_action$payload$data$7","_action$payload$data$8","_parseData7","_action$payload$data$9","_action$payload$data$0","_parseData8","_action$payload$data$1","_action$payload$data$10","state","arguments","length","undefined","action","_objectSpread","parseData","payload","data","map","id","decodeId","formatGraphQLError","pageInfo","totalCount","formatServerError","dateValidTo","split","dateValidFrom","payrollBills","fetchedBenefitConsumptions","benefitConsumptions","errorBenefitConsumptions","benefitConsumptionsTotalCount","benefitConsumptionByPayroll","benefitAttachmentByPayroll","benefitAttachment","fetchedPayrollBenefitConsumptions","payrollBenefitConsumptions","errorPayrollBenefitConsumptions","payrollBenefitConsumptionsTotalCount","csvReconciliationUpload","file","dispatchMutationReq","dispatchMutationErr","dispatchMutationResp","isBase64Encoded","str","base64RegExp","test","PAYMENT_POINT_PROJECTION","modulesManager","getProjection","BENEFIT_CONSUMPTION_PROJECTION","PAYROLL_BENEFIT_CONSUMPTION_PROJECTION","BENEFIT_CONSUMPTION_SUMMARY_PROJECTION","BENEFIT_ATTACHMENT_PROJECTION","BISTP_SUMMARY_PROJECTION","PAYROLL_PROJECTION","join","_toConsumableArray","PAYROLL_SEARCHER_PROJECTION","CSV_RECONCILIATION_PROJECTION","PAYMENT_METHOD_PROJECTION","formatPaymentPointGQL","name","formatGQLString","location","ppm","formatPayrollGQL","paymentPlan","paymentCycle","paymentMethod","jsonExt","JSON","stringify","fromFailedInvoicesPayrollId","PERFORM_MUTATION","mutationType","mutationInput","ACTION","clientMutationLabel","formatMutation","requestedDateTime","Date","graphql","actionType","clientMutationId","fetchPaymentPoints","params","formatPageQueryWithCount","fetchPaymentPoint","fetchPayrollPaymentFiles","clearPaymentPoint","dispatch","deletePaymentPoint","paymentPointUuids","createPaymentPoint","updatePaymentPoint","fetchPayrolls","fetchPayroll","deletePayrolls","uuid","payrollUuids","deleteBenefitConsumption","benefit","benefitUuids","createPayroll","fetchBenefitConsumptions","fetchBenefitAttachments","fetchPayrollBenefitConsumptions","fetchBenefitsSummary","formatQuery","clearPayroll","fetchPaymentMethods","closePayroll","rejectPayroll","makePaymentForPayroll","pageTitle","item","mutationLabel","styles","theme","tableTitle","table","title","paper","fullHeight","height","PaymentPointHeadPanel","_FormPanel","_classCallCheck","_callSuper","_inherits","_createClass","key","render","_this","_this$props","props","edited","classes","readOnly","React","createElement","Grid","container","className","xs","PublishedComponent","pubRef","withNull","required","filterLabels","onChange","locations","updateAttribute","withPlaceholder","withLabel","TextInput","module","inputProps","maxLength","FormPanel","withModulesManager","injectIntl","withTheme","withStyles","useStyles","makeStyles","page","lockedPage","locked","PaymentPointPage","_ref","paymentPointUuid","rights","confirmed","coreConfirm","clearConfirm","useModulesManager","history","useHistory","_useTranslations","useTranslations","formatMessage","formatMessageWithValues","_useState","useState","_useState2","_slicedToArray","editedPaymentPoint","setEditedPaymentPoint","_useState3","_useState4","confirmedAction","setConfirmedAction","prevSubmittingMutationRef","useRef","pageLocked","isDeleted","back","goBack","useEffect","current","journalize","mandatoryFieldsEmpty","canSave","handleSave","deletePaymentPointCallback","openDeletePaymentPointConfirmDialog","actions","doIt","icon","DeleteIcon","tooltip","includes","Form","titleParams","openDirty","onEditedChanged","save","HeadPanel","saveTooltip","mapDispatchToProps","bindActionCreators","mapStateToProps","_state$core$user$i_us","_state$core","match","payment_point_uuid","core","user","i_user","connect","form","padding","width","spacing","PaymentPointFilter","_filters$isDeleted","filters","onChangeFilters","debouncedOnChangeFilters","_debounce","filterValue","filterName","_filters$filterName$v","_filters$filterName","filterTextFieldValue","_filters$filterName$v2","_filters$filterName2","onChangeStringFilter","lookup","ControlledField","anchor","FormControlLabel","control","Checkbox","color","checked","_filters$isDeleted2","_filters$isDeleted3","PaymentPointSearcher","useSelector","store","_store$core$user$i_us","paymentPointToDelete","setPaymentPointToDelete","deletedPaymentPointUuids","setDeletedPaymentPointUuids","headers","sorts","fetch","rowIdentifier","openPaymentPoint","push","getRef","onDelete","itemFormatters","_ref2","_ppm$iUser","_ppm$iUser2","username","iUser","lastName","otherNames","_ref3","code","Tooltip","IconButton","onClick","VisibilityIcon","disabled","onDoubleClick","paymentPointFilter","_ref4","defaultFilters","isRowDisabled","_","Searcher","FilterPane","items","itemsPageInfo","fetchedItems","fetchingItems","errorItems","rowsPerPageOptions","defaultPageSize","rowDisabled","rowLocked","fab","PaymentPointsPage","onCreate","Helmet","withTooltip","Fab","AddIcon","AdvancedFiltersRowValue","customFilters","currentFilter","setCurrentFilter","index","setFilters","onAttributeChange","attribute","updatedFilter","attributeValue","_defineProperty","prevFilters","updatedRows","removeFilter","newArray","splice","renderInputBasedOnType","commonProps","SelectInput","_extends","options","NumberInput","min","displayZero","toLowerCase","direction","style","backgroundColor","marginTop","transform","fontSize","Fragment","CustomFilterFieldStatusPicker","CustomFilterTypeStatusPicker","customFilterField","AdvancedFiltersDialog","intl","object","objectToSave","fetchCustomFilter","moduleName","objectType","setAppliedCustomFilters","appliedFiltersRowStructure","setAppliedFiltersRowStructure","updateAttributes","getDefaultAppliedCustomFilters","additionalParams","isOpen","setIsOpen","amount","_useState5","_useState6","createParams","objectTypeName","uuidOfObject","fetchFilters","handleClose","handleRemoveFilter","handleAddFilter","updateJsonExt","inputJsonExt","outputFilters","existingData","parse","hasOwnProperty","advanced_criteria","filterData","updatedJsonExt","saveCriteria","custom_filter_condition","isEmpty","paramsToFetchFilters","paddingLeft","paddingBottom","AddCircle","border","borderRadius","Button","variant","marginBottom","paddingRight","autoFocus","fetchingCustomFilters","errorCustomFilters","fetchedCustomFilters","PayrollStatusPicker","nullLabel","ConstantBasedPicker","constants","PaymentMethodPicker","_ref$readOnly","_ref$withNull","_ref$nullLabel","_ref$withLabel","_ref$required","Array","isArray","unshift","PayrollHeadPanel","_props$edited","setState","appliedCustomFilters","jsonData","advancedCriteria","transformedCriteria","_custom_filter_condit","_custom_filter_condit2","typeValue","_typeValue$split","_typeValue$split2","error","componentDidMount","setStateFromProps","_this2","isPayrollFromFailedInvoices","benefitPlanId","_this$state","status","Divider","Typography","FormattedMessage","PayrollPaymentDataUploadDialog","_forms$paymentData","payrollUuid","forms","setForms","handleOpen","handleFieldChange","formName","fieldName","_forms$formName","onSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","fileFormat","formData","urlImport","response","wrap","_context","prev","next","FormData","append","baseApiUrl","apiHeaders","body","method","credentials","sent","json","abrupt","_t","stop","_x","apply","button","Dialog","open","onClose","PaperProps","maxWidth","noValidate","DialogTitle","DialogContent","Input","event","target","files","accept","DialogActions","display","margin","paymentData","BenefitConsumptionFilterModal","onChangeFilter","v","ErrorSummaryModal","_benefitAttachment$be","outputGateway","output_gateway","Modal","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","Box","p","outline","justifyContent","mt","AdditionalFieldsDialog","buttonLabel","jsonExtFields","createFieldsBasedOnJSON","extra_info","maxHeight","jsonExtField","renderInputComponent","topHeader","alignItems","minWidth","printContainer","flexDirection","fontWeight","date","detailsContainer","detailRow","detailName","textTransform","detailValue","containerPadding","dividerMargin","sectionTitle","PayrollBenefitPrintTemplate","forwardRef","ref","_benefitAttachment$bi","individual","firstName","dateDue","receipt","payedOnTime","bill","datePayed","BenefitConsumptionSearcherModal","reconciledMode","payrollDetail","selectedBenefitAttachment","setSelectedBenefitAttachment","openConfirmDialog","setOpenConfirmDialog","benefitToDelete","setBenefitToDelete","payrollPrintTemplateRef","handlePrint","useReactToPrint","documentTitle","benefit_Status","defaultFiltersArray","confirmDeleteBenefitConsumption","handleDeleteBenefitConsumption","checkBenefitDueDate","PhotoCameraOutlinedIcon","_benefitAttachment$be2","amountTotal","_benefitAttachment$be3","_benefitAttachment$be4","_benefitAttachment$bi2","_benefitAttachment$be5","_benefitAttachment$be6","benefitConsumptionFilterModal","size","startIcon","PrintIcon","e","preventDefault","DialogContentText","downloadPayroll","payrollId","payrollFileName","blank","url","URL","window","origin","searchParams","then","blob","link","document","href","createObjectURL","download","appendChild","click","removeChild","console","PaymentApproveForPaymentDialog","_payrollDetail$id","totalBeneficiaries","setTotalBeneficiaries","_useState7","_useState8","selectedBeneficiaries","setSelectedBeneficiaries","_useState9","_useState0","approvedBeneficiaries","setApprovedBeneficiaries","_useState1","_useState10","totalBillAmount","setTotalBillAmount","_useState11","_useState12","totalReconciledBillAmount","setTotalReconciledBillAmount","Object","keys","_payroll$benefitConsu","_payroll$benefitConsu2","_payroll$benefitConsu3","_payroll$benefitConsu4","total","selected","approved","totalAmount","reconciledAmount","forEach","attachment","parseFloat","closePayrollCallback","rejectPayrollCallback","makePaymentForPayrollCallback","downloadPayrollData","payrollName","position","top","left","Paper","elevation","gutterBottom","tabs","selectedTab","borderBottom","unselectedTab","marginLeft","PayrollTab","isInTask","activeTab","setActiveTab","isSelected","tab","tabStyle","handleChange","Contributions","contributionKey","PaymentApproveForPaymentSummary","PayrollPage","statePayrollUuid","taskPayrollUuid","createPayrollFromFailedInvoices","editedPayroll","setEditedPayroll","setPayrollUuid","setIsInTask","setReadOnly","setIsPayrollFromFailedInvoices","payrollRouteRef","replace","benefitPlan","Panels","_props$match","_props$match2","_props$match3","_props$match4","payroll_uuid","PayrollFilter","_ref$statusReadOnly","statusReadOnly","PayrollSearcher","payrollToDelete","setPayrollToDelete","deletedPayrollUuids","setDeletedPayrollUuids","openDeletePayrollConfirmDialog","renderBistpProgress","summary","bistpSummary","reconciled","progress","gap","LinearProgress","flex","whiteSpace","openPayroll","_payroll$benefitPlanN","benefitPlanNameCode","payrollFilter","PayrollsPage","PayrollPaymentFilesSearcher","fileName","fetchFiles","DownloadIcon","PayrollReconciliationFilesDialog","showFilters","PayrollSearcherApproved","ApprovedPayrollsPage","PaymentReconcilationSummarytDialog","handleCreatePaymentForFailedInvoice","PayrollSearcherReconciled","PaymentReconciliationSummaryDialog","ReconciledPayrollsPage","PaymentPointPicker","_data$paymentPoint$ed","_data$paymentPoint","filterOptions","filterSelectedOptions","searchString","setSearchString","formatSuggestion","Boolean","_useGraphqlQuery","useGraphqlQuery","isLoading","edges","edge","node","Autocomplete","placeholder","getOptionLabel","option","onInputChange","renderInput","TextField","BenefitConsumptionStatusPicker","BenefitConsumptionPayrollFilter","BenefitConsumptionPayrollSearcher","_benefitsSummary$tota","_benefitsSummary$tota2","individualUuid","groupBeneficiaries","paymentCycleUuid","totalNumberOfBenefits","setTotalNumberOfBenefits","_payrollBenefitConsum","_payrollBenefitConsum2","_payrollBenefitConsum3","startDate","_payrollBenefitConsum4","endDate","_payrollBenefitConsum5","_payrollBenefitConsum6","_payrollBenefitConsum7","_payrollBenefitConsum8","_payrollBenefitConsum9","_payrollBenefitConsum0","_payrollBenefitConsum1","_groupBeneficiaries$g","_groupBeneficiaries$g2","benefit_Individual_Id","group","head","benefitPlanUuid","_groupBeneficiaries$g3","benefitConsumptionPayrollFilter","totalAmountDue","totalAmountReceived","errorBenefitsSummary","PayrollTaskTableHeaders","PayrollTaskItemFormatters","PayrollReconciliationTaskTableHeaders","PayrollReconciliationTaskItemFormatters","BenefitConsumptionFilter","PayrollPrintTemplate","_benefitConsumption$b","BenefitConsumptionSearcher","cols","getBistpStatusBadge","Chip","bistp_rejection_reason","bistp_skip_reason","_benefitConsumption$i","_benefitConsumption$i2","_benefitConsumption$i3","nib","hasBistpFields","bistp_processed","benefitConsumptionFilter","BenefitConsumptionsTabLabel","Tab","BenefitConsumptionsTabPanel","PayrollRejectedTaskTableHeaders","PayrollRejectedTaskItemFormatters","PayrollTaskTabLabel","PayrollTaskTabPanel","_store$core","entityId","PayrollDeleteTaskTableHeaders","PayrollDeleteTaskItemFormatters","PayrollPaymentFilesTabLabel","PayrollPaymentFilesTabPanel","content","metric","metricValue","BistpPaymentStatusTabLabel","BistpMetric","sm","md","BistpPaymentStatusPanel","_useTranslations2","pendentes","enviados","confirmados","rejeitados","setSummary","query","localStorage","getItem","variables","result","Math","PaymentPendingPayrollPaymentDialog","PayrollSearcherPending","PayrollPendingPayrollSummary","PendingPayrollsPage","BASE","buildHeaders","useBeneficiarios","loading","setLoading","output","setOutput","setError","request","_request","path","_ref$multipart","multipart","_ref$body","init","contentType","_data","message","_args","get","ok","finish","backup","_backup","_callee2","_yield$request","a","_args2","_context2","payroll_id","Blob","toISOString","slice","revokeObjectURL","counts","limpar","_limpar","_callee3","_ref2$dryRun","dryRun","_ref2$forceSkipFinanc","forceSkipFinancial","_yield$request2","_args3","_context3","dry_run","force_skip_financial","importar","_x2","_importar","_callee4","_ref3$dryRun","benefitType","sheet","fd","_yield$request3","_args4","_context4","String","restore","_x3","_restore","_callee5","_ref4$dryRun","_ref4$skipPhases","skipPhases","_yield$request4","_args5","_context5","card","fontFamily","overflow","flexWrap","Card","children","BeneficiaryManagementPage","_store$core$user","_useBeneficiarios","setPayrollId","backupPayrollId","setBackupPayrollId","limparForce","setLimparForce","confirmLimpar","setConfirmLimpar","importFile","setImportFile","importPayrollId","setImportPayrollId","importBenefitPlanId","setImportBenefitPlanId","_useState13","_useState14","importDryRun","setImportDryRun","_useState15","_useState16","restoreFile","setRestoreFile","_useState17","_useState18","restoreDryRun","setRestoreDryRun","Alert","severity","fullWidth","CircularProgress","ROUTE_PAYMENT_POINTS","ROUTE_PAYMENT_POINT","ROUTE_PAYROLLS","ROUTE_PAYROLLS_APPROVED","ROUTE_PAYROLLS_PENDING","ROUTE_PAYROLLS_RECONCILED","ROUTE_BENEFICIARIES_MANAGEMENT","ROUTE_PAYROLL","DEFAULT_CONFIG","translations","messages","messages_en","reducers","refs","component","text","PinDrop","route","MonetizationOnIcon","tableHeaders","taskSource","PayrollModule","cfg"],"mappings":"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"}
|