@stssocialst-stp/fe-payroll 0.2.1 → 0.2.3
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 +135 -12
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +137 -13
- 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/dialogs/PayrollPendingPayrollSummary.js","../src/components/payroll/PayrollSearcherPending.js","../src/pages/payroll/PendingPayrollsPage.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 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.benefitConsumption)?.map((benefitConsumption) => ({\n ...benefitConsumption,\n id: decodeId(benefitConsumption.id),\n })),\n benefitConsumptionsPageInfo: pageInfo(action.payload.data.benefitConsumption),\n benefitConsumptionsTotalCount: action.payload.data.benefitConsumption?.totalCount ?? 0,\n errorBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n errorPayroll: 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 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];\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];\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={() => 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 {(payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n || payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) && (\n <Button\n onClick={() => makePaymentForPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n }}\n >\n {payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n ? formatMessage('payroll.bistp.submitPayment')\n : formatMessage('payroll.summary.makePayment')}\n </Button>\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 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 />\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 PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\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 '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 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) => (\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 PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\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 '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) => (\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 PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\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 '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) => (\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","/* 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 PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\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 '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) => (\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","/* 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 { RIGHT_PAYMENT_POINT_SEARCH, RIGHT_PAYROLL_CREATE, RIGHT_PAYROLL_SEARCH } 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 PendingPayrollsPage from './pages/payroll/PendingPayrollsPage';\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_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.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 { path: ROUTE_PAYROLLS_RECONCILED, component: ReconciledPayrollsPage },\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 'payroll.TabPanel.label': [BenefitConsumptionsTabLabel, PayrollTaskTabLabel, PayrollPaymentFilesTabLabel],\n 'payroll.TabPanel.panel': [BenefitConsumptionsTabPanel, PayrollTaskTabPanel, PayrollPaymentFilesTabPanel],\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","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","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","PAYROLL_PROJECTION","join","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","_toConsumableArray","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","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","gap","benefitConsumptionFilter","BenefitConsumptionsTabLabel","Tab","BenefitConsumptionsTabPanel","PayrollRejectedTaskTableHeaders","PayrollRejectedTaskItemFormatters","PayrollTaskTabLabel","PayrollTaskTabPanel","_store$core","entityId","PayrollDeleteTaskTableHeaders","PayrollDeleteTaskItemFormatters","PayrollPaymentFilesTabLabel","PayrollPaymentFilesTabPanel","PaymentPendingPayrollPaymentDialog","PayrollSearcherPending","PayrollPendingPayrollSummary","PendingPayrollsPage","ROUTE_PAYMENT_POINTS","ROUTE_PAYMENT_POINT","ROUTE_PAYROLLS","ROUTE_PAYROLLS_APPROVED","ROUTE_PAYROLLS_PENDING","ROUTE_PAYROLLS_RECONCILED","ROUTE_PAYROLL","DEFAULT_CONFIG","translations","messages","messages_en","reducers","refs","path","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/dialogs/PayrollPendingPayrollSummary.js","../src/components/payroll/PayrollSearcherPending.js","../src/pages/payroll/PendingPayrollsPage.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 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={() => 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 {(payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_ONLINE_PAYMENT\n || payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT) && (\n <Button\n onClick={() => makePaymentForPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n }}\n >\n {payrollDetail.paymentMethod === PAYMENT_METHOD.STRATEGY_BISTP_PAYMENT\n ? formatMessage('payroll.bistp.submitPayment')\n : formatMessage('payroll.summary.makePayment')}\n </Button>\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 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 />\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","/* 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","/* 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 { RIGHT_PAYMENT_POINT_SEARCH, RIGHT_PAYROLL_CREATE, RIGHT_PAYROLL_SEARCH } 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 PendingPayrollsPage from './pages/payroll/PendingPayrollsPage';\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_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.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 { path: ROUTE_PAYROLLS_RECONCILED, component: ReconciledPayrollsPage },\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 'payroll.TabPanel.label': [BenefitConsumptionsTabLabel, PayrollTaskTabLabel, PayrollPaymentFilesTabLabel],\n 'payroll.TabPanel.panel': [BenefitConsumptionsTabPanel, PayrollTaskTabPanel, PayrollPaymentFilesTabPanel],\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","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","PaymentPendingPayrollPaymentDialog","PayrollSearcherPending","PayrollPendingPayrollSummary","PendingPayrollsPage","ROUTE_PAYMENT_POINTS","ROUTE_PAYMENT_POINT","ROUTE_PAYROLLS","ROUTE_PAYROLLS_APPROVED","ROUTE_PAYROLLS_PENDING","ROUTE_PAYROLLS_RECONCILED","ROUTE_PAYROLL","DEFAULT_CONFIG","translations","messages","messages_en","reducers","refs","path","component","text","PinDrop","route","MonetizationOnIcon","tableHeaders","taskSource","PayrollModule","cfg"],"mappings":"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"}
|