@stssocialst-stp/fe-payroll 0.3.4 → 0.3.6
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 +166 -15
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +157 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import React, { useState, useRef, useEffect, forwardRef } from 'react';
|
|
2
|
+
import React, { useState, useRef, useEffect, forwardRef, useCallback } from 'react';
|
|
3
3
|
import { PinDrop } from '@material-ui/icons';
|
|
4
4
|
import MonetizationOnIcon from '@material-ui/icons/MonetizationOn';
|
|
5
5
|
import { dispatchMutationResp, dispatchMutationErr, dispatchMutationReq, formatServerError, formatGraphQLError, parseData, pageInfo, decodeId, formatPageQueryWithCount, graphql, formatQuery, formatGQLString, formatMutation, withModulesManager, PublishedComponent, TextInput, FormPanel, useModulesManager, useHistory, useTranslations, journalize, Form, coreConfirm, clearConfirm, ControlledField, Searcher, Helmet, withTooltip, CustomFilterFieldStatusPicker, CustomFilterTypeStatusPicker, NumberInput, SelectInput, formatMessage as formatMessage$1, fetchCustomFilter, ConstantBasedPicker, FormattedMessage, apiHeaders, baseApiUrl, createFieldsBasedOnJSON, renderInputComponent, Contributions, useGraphqlQuery, Autocomplete } from '@stssocialst-stp/fe-core';
|
|
6
6
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
7
7
|
import { bindActionCreators } from 'redux';
|
|
8
|
-
import { connect, useSelector } from 'react-redux';
|
|
8
|
+
import { connect, useSelector, useDispatch } from 'react-redux';
|
|
9
9
|
import { makeStyles } from '@material-ui/styles';
|
|
10
10
|
import DeleteIcon from '@material-ui/icons/Delete';
|
|
11
11
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -15,7 +15,7 @@ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstruct
|
|
|
15
15
|
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
16
16
|
import _inherits from '@babel/runtime/helpers/inherits';
|
|
17
17
|
import { injectIntl } from 'react-intl';
|
|
18
|
-
import { Grid, FormControlLabel, Checkbox, Tooltip, IconButton, Fab, Divider, Typography, Input, Modal, Backdrop, Fade, Box, Button as Button$1, Paper, TextField, Tab
|
|
18
|
+
import { Grid, FormControlLabel, Checkbox, Tooltip, IconButton, Fab, Divider, Typography, Input, Modal, Backdrop, Fade, Box, Button as Button$1, Paper, LinearProgress, TextField, Tab } from '@material-ui/core';
|
|
19
19
|
import { withTheme, withStyles } from '@material-ui/core/styles';
|
|
20
20
|
import AddIcon from '@material-ui/icons/Add';
|
|
21
21
|
import VisibilityIcon from '@material-ui/icons/Visibility';
|
|
@@ -34,7 +34,7 @@ import { useReactToPrint } from 'react-to-print';
|
|
|
34
34
|
import PrintIcon from '@material-ui/icons/Print';
|
|
35
35
|
import DialogContentText from '@material-ui/core/DialogContentText';
|
|
36
36
|
import PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';
|
|
37
|
-
import LinearProgress from '@material-ui/core/LinearProgress';
|
|
37
|
+
import LinearProgress$1 from '@material-ui/core/LinearProgress';
|
|
38
38
|
import DownloadIcon from '@material-ui/icons/CloudDownload';
|
|
39
39
|
import Chip from '@material-ui/core/Chip';
|
|
40
40
|
import Paper$1 from '@material-ui/core/Paper';
|
|
@@ -718,7 +718,12 @@ var messages_en = {
|
|
|
718
718
|
"payroll.bistp.status.pending": "Sent to Bank",
|
|
719
719
|
"payroll.bistp.status.skippedNib": "No NIB",
|
|
720
720
|
"payroll.bistp.status.sendFailed": "Send Failed",
|
|
721
|
+
"payroll.bistp.status.enviados": "Sent to BISTP",
|
|
721
722
|
"payroll.bistp.progress": "BISTP Progress",
|
|
723
|
+
"payroll.async.generating": "Generating beneficiaries in background...",
|
|
724
|
+
"payroll.async.createdSoFar": "{benefitCount} created so far",
|
|
725
|
+
"payroll.async.note": "This process may take a few minutes. You can close this page - the process continues in the background.",
|
|
726
|
+
"payroll.async.timedOut": "The background generation process took too long. Please refresh this page to check the current status.",
|
|
722
727
|
"payroll.route.beneficiariesManagement": "Beneficiary Management",
|
|
723
728
|
"payroll.beneficiaries.management.title": "Beneficiary Management",
|
|
724
729
|
"payroll.beneficiaries.management.noPermission": "You do not have permission to manage beneficiaries.",
|
|
@@ -888,10 +893,8 @@ function makePaymentForPayroll(payroll, clientMutationLabel) {
|
|
|
888
893
|
return PERFORM_MUTATION(MUTATION_SERVICE.PAYROLL.MAKE_PAYMENT, payrollUuids, ACTION_TYPE.MAKE_PAYMENT_PAYROLL, clientMutationLabel);
|
|
889
894
|
}
|
|
890
895
|
function fetchBistpSummary(payrollId) {
|
|
891
|
-
var query = "\n
|
|
892
|
-
return graphql(query, ACTION_TYPE.GET_BISTP_SUMMARY
|
|
893
|
-
payrollId: payrollId
|
|
894
|
-
});
|
|
896
|
+
var query = "\n {\n total: benefitConsumptionByPayroll(payrollUuid: \"".concat(payrollId, "\", first: 0) { totalCount }\n pendentes: benefitConsumptionByPayroll(payrollUuid: \"").concat(payrollId, "\", status: ACCEPTED, first: 0) { totalCount }\n enviados: benefitConsumptionByPayroll(payrollUuid: \"").concat(payrollId, "\", status: APPROVE_FOR_PAYMENT, first: 0) { totalCount }\n confirmados: benefitConsumptionByPayroll(payrollUuid: \"").concat(payrollId, "\", status: RECONCILED, first: 0) { totalCount }\n rejeitados: benefitConsumptionByPayroll(payrollUuid: \"").concat(payrollId, "\", status: REJECTED, first: 0) { totalCount }\n }\n ");
|
|
897
|
+
return graphql(query, ACTION_TYPE.GET_BISTP_SUMMARY);
|
|
895
898
|
}
|
|
896
899
|
|
|
897
900
|
var pageTitle = function pageTitle(item) {
|
|
@@ -3169,6 +3172,99 @@ var mapDispatchToProps$b = function mapDispatchToProps(dispatch) {
|
|
|
3169
3172
|
};
|
|
3170
3173
|
var PaymentApproveForPaymentSummary = connect(mapStateToProps$b, mapDispatchToProps$b)(PaymentApproveForPaymentDialog);
|
|
3171
3174
|
|
|
3175
|
+
var POLL_INTERVAL_MS = 5000;
|
|
3176
|
+
var TIMEOUT_MS = 600000;
|
|
3177
|
+
var COUNT_QUERY = function COUNT_QUERY(payrollUuid) {
|
|
3178
|
+
return "\n {\n benefitConsumptionByPayroll(payrollUuid: \"".concat(payrollUuid, "\", first: 0, isDeleted: false) {\n totalCount\n }\n }\n");
|
|
3179
|
+
};
|
|
3180
|
+
function useAsyncPayrollProgress(_ref) {
|
|
3181
|
+
var payrollUuid = _ref.payrollUuid,
|
|
3182
|
+
payrollStatus = _ref.payrollStatus;
|
|
3183
|
+
var dispatch = useDispatch();
|
|
3184
|
+
var _useState = useState(0),
|
|
3185
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3186
|
+
benefitCount = _useState2[0],
|
|
3187
|
+
setBenefitCount = _useState2[1];
|
|
3188
|
+
var _useState3 = useState(false),
|
|
3189
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3190
|
+
isGenerating = _useState4[0],
|
|
3191
|
+
setIsGenerating = _useState4[1];
|
|
3192
|
+
var _useState5 = useState(false),
|
|
3193
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
3194
|
+
timedOut = _useState6[0],
|
|
3195
|
+
setTimedOut = _useState6[1];
|
|
3196
|
+
var pollRef = useRef(null);
|
|
3197
|
+
var startTimeRef = useRef(null);
|
|
3198
|
+
var prevCountRef = useRef(0);
|
|
3199
|
+
var stableCountRounds = useRef(0);
|
|
3200
|
+
var stopPolling = useCallback(function () {
|
|
3201
|
+
if (pollRef.current) {
|
|
3202
|
+
clearInterval(pollRef.current);
|
|
3203
|
+
pollRef.current = null;
|
|
3204
|
+
}
|
|
3205
|
+
}, []);
|
|
3206
|
+
var fetchCount = useCallback(function () {
|
|
3207
|
+
if (!payrollUuid) return;
|
|
3208
|
+
dispatch(graphql(COUNT_QUERY(payrollUuid), 'POLL_BENEFIT_COUNT')).then(function (response) {
|
|
3209
|
+
var _response$payload$dat, _response$payload;
|
|
3210
|
+
var count = (_response$payload$dat = response === null || response === void 0 || (_response$payload = response.payload) === null || _response$payload === void 0 || (_response$payload = _response$payload.data) === null || _response$payload === void 0 || (_response$payload = _response$payload.benefitConsumptionByPayroll) === null || _response$payload === void 0 ? void 0 : _response$payload.totalCount) !== null && _response$payload$dat !== void 0 ? _response$payload$dat : 0;
|
|
3211
|
+
if (count === 0) {
|
|
3212
|
+
setBenefitCount(count);
|
|
3213
|
+
setIsGenerating(true);
|
|
3214
|
+
stableCountRounds.current = 0;
|
|
3215
|
+
prevCountRef.current = count;
|
|
3216
|
+
return;
|
|
3217
|
+
}
|
|
3218
|
+
setBenefitCount(count);
|
|
3219
|
+
if (count === prevCountRef.current) {
|
|
3220
|
+
stableCountRounds.current += 1;
|
|
3221
|
+
} else {
|
|
3222
|
+
stableCountRounds.current = 0;
|
|
3223
|
+
}
|
|
3224
|
+
prevCountRef.current = count;
|
|
3225
|
+
if (stableCountRounds.current >= 2) {
|
|
3226
|
+
setIsGenerating(false);
|
|
3227
|
+
stopPolling();
|
|
3228
|
+
}
|
|
3229
|
+
})["catch"](function () {
|
|
3230
|
+
setBenefitCount(function (c) {
|
|
3231
|
+
return Math.max(c, 0);
|
|
3232
|
+
});
|
|
3233
|
+
});
|
|
3234
|
+
}, [payrollUuid, dispatch, stopPolling]);
|
|
3235
|
+
useEffect(function () {
|
|
3236
|
+
var shouldPoll = payrollUuid && payrollStatus === 'PENDING_APPROVAL';
|
|
3237
|
+
if (shouldPoll && !pollRef.current) {
|
|
3238
|
+
setTimedOut(false);
|
|
3239
|
+
startTimeRef.current = Date.now();
|
|
3240
|
+
stableCountRounds.current = 0;
|
|
3241
|
+
prevCountRef.current = 0;
|
|
3242
|
+
fetchCount();
|
|
3243
|
+
pollRef.current = setInterval(function () {
|
|
3244
|
+
if (Date.now() - startTimeRef.current >= TIMEOUT_MS) {
|
|
3245
|
+
setIsGenerating(false);
|
|
3246
|
+
setTimedOut(true);
|
|
3247
|
+
stopPolling();
|
|
3248
|
+
return;
|
|
3249
|
+
}
|
|
3250
|
+
fetchCount();
|
|
3251
|
+
}, POLL_INTERVAL_MS);
|
|
3252
|
+
}
|
|
3253
|
+
if (!shouldPoll && pollRef.current) {
|
|
3254
|
+
setIsGenerating(false);
|
|
3255
|
+
stopPolling();
|
|
3256
|
+
}
|
|
3257
|
+
return function () {
|
|
3258
|
+
return stopPolling();
|
|
3259
|
+
};
|
|
3260
|
+
}, [payrollUuid, payrollStatus, fetchCount, stopPolling]);
|
|
3261
|
+
return {
|
|
3262
|
+
isGenerating: isGenerating,
|
|
3263
|
+
benefitCount: benefitCount,
|
|
3264
|
+
timedOut: timedOut
|
|
3265
|
+
};
|
|
3266
|
+
}
|
|
3267
|
+
|
|
3172
3268
|
var useStyles$b = makeStyles(function (theme) {
|
|
3173
3269
|
return {
|
|
3174
3270
|
paper: theme.paper.paper,
|
|
@@ -3215,12 +3311,64 @@ function PayrollTab(_ref) {
|
|
|
3215
3311
|
var modulesManager = useModulesManager();
|
|
3216
3312
|
var _useTranslations = useTranslations(MODULE_NAME, modulesManager),
|
|
3217
3313
|
formatMessage = _useTranslations.formatMessage;
|
|
3314
|
+
var _useAsyncPayrollProgr = useAsyncPayrollProgress({
|
|
3315
|
+
payrollUuid: payrollUuid,
|
|
3316
|
+
payrollStatus: payroll === null || payroll === void 0 ? void 0 : payroll.status
|
|
3317
|
+
}),
|
|
3318
|
+
isGenerating = _useAsyncPayrollProgr.isGenerating,
|
|
3319
|
+
benefitCount = _useAsyncPayrollProgr.benefitCount,
|
|
3320
|
+
timedOut = _useAsyncPayrollProgr.timedOut;
|
|
3321
|
+
var _useState3 = useState(false),
|
|
3322
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3323
|
+
generationComplete = _useState4[0],
|
|
3324
|
+
setGenerationComplete = _useState4[1];
|
|
3325
|
+
var _useState5 = useState(0),
|
|
3326
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
3327
|
+
refreshBenefitsKey = _useState6[0],
|
|
3328
|
+
setRefreshBenefitsKey = _useState6[1];
|
|
3329
|
+
useEffect(function () {
|
|
3330
|
+
if (!isGenerating && benefitCount > 0 && !generationComplete) {
|
|
3331
|
+
setGenerationComplete(true);
|
|
3332
|
+
setRefreshBenefitsKey(function (k) {
|
|
3333
|
+
return k + 1;
|
|
3334
|
+
});
|
|
3335
|
+
}
|
|
3336
|
+
}, [isGenerating, benefitCount, generationComplete]);
|
|
3218
3337
|
var downloadPayrollData = function downloadPayrollData(payrollUuid, payrollName) {
|
|
3219
3338
|
downloadPayroll(payrollUuid, payrollName);
|
|
3220
3339
|
};
|
|
3221
3340
|
return /*#__PURE__*/React.createElement(Paper, {
|
|
3222
3341
|
className: classes.paper
|
|
3342
|
+
}, (isGenerating || timedOut) && payrollUuid && !isPayrollFromFailedInvoices && /*#__PURE__*/React.createElement(Grid, {
|
|
3343
|
+
container: true,
|
|
3344
|
+
spacing: 2,
|
|
3345
|
+
style: {
|
|
3346
|
+
padding: '16px'
|
|
3347
|
+
}
|
|
3223
3348
|
}, /*#__PURE__*/React.createElement(Grid, {
|
|
3349
|
+
item: true,
|
|
3350
|
+
xs: 12
|
|
3351
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3352
|
+
variant: "body1"
|
|
3353
|
+
}, timedOut ? formatMessage('payroll.async.timedOut') : formatMessage('payroll.async.generating')), !timedOut && /*#__PURE__*/React.createElement(LinearProgress, {
|
|
3354
|
+
variant: "indeterminate",
|
|
3355
|
+
style: {
|
|
3356
|
+
marginTop: '8px'
|
|
3357
|
+
}
|
|
3358
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
3359
|
+
variant: "caption",
|
|
3360
|
+
style: {
|
|
3361
|
+
display: 'block',
|
|
3362
|
+
marginTop: '4px'
|
|
3363
|
+
}
|
|
3364
|
+
}, !timedOut && formatMessage('payroll.async.createdSoFar', {
|
|
3365
|
+
benefitCount: benefitCount
|
|
3366
|
+
})), /*#__PURE__*/React.createElement(Typography, {
|
|
3367
|
+
variant: "caption",
|
|
3368
|
+
style: {
|
|
3369
|
+
display: 'block'
|
|
3370
|
+
}
|
|
3371
|
+
}, !timedOut && formatMessage('payroll.async.note')))), /*#__PURE__*/React.createElement(Grid, {
|
|
3224
3372
|
container: true,
|
|
3225
3373
|
className: "".concat(classes.tableTitle, " ").concat(classes.tabs)
|
|
3226
3374
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -3271,7 +3419,8 @@ function PayrollTab(_ref) {
|
|
|
3271
3419
|
payrollUuid: payrollUuid,
|
|
3272
3420
|
isInTask: isInTask,
|
|
3273
3421
|
isPayrollFromFailedInvoices: isPayrollFromFailedInvoices,
|
|
3274
|
-
payroll: payroll
|
|
3422
|
+
payroll: payroll,
|
|
3423
|
+
refreshBenefitsKey: refreshBenefitsKey
|
|
3275
3424
|
}));
|
|
3276
3425
|
}
|
|
3277
3426
|
|
|
@@ -3688,7 +3837,7 @@ function PayrollSearcher(_ref) {
|
|
|
3688
3837
|
gap: 8,
|
|
3689
3838
|
minWidth: 120
|
|
3690
3839
|
}
|
|
3691
|
-
}, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
3840
|
+
}, /*#__PURE__*/React.createElement(LinearProgress$1, {
|
|
3692
3841
|
variant: "determinate",
|
|
3693
3842
|
value: progress,
|
|
3694
3843
|
style: {
|
|
@@ -4058,7 +4207,7 @@ function PayrollSearcherApproved(_ref) {
|
|
|
4058
4207
|
gap: 8,
|
|
4059
4208
|
minWidth: 120
|
|
4060
4209
|
}
|
|
4061
|
-
}, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
4210
|
+
}, /*#__PURE__*/React.createElement(LinearProgress$1, {
|
|
4062
4211
|
variant: "determinate",
|
|
4063
4212
|
value: progress,
|
|
4064
4213
|
style: {
|
|
@@ -4467,7 +4616,7 @@ function PayrollSearcherReconciled(_ref) {
|
|
|
4467
4616
|
gap: 8,
|
|
4468
4617
|
minWidth: 120
|
|
4469
4618
|
}
|
|
4470
|
-
}, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
4619
|
+
}, /*#__PURE__*/React.createElement(LinearProgress$1, {
|
|
4471
4620
|
variant: "determinate",
|
|
4472
4621
|
value: progress,
|
|
4473
4622
|
style: {
|
|
@@ -5664,13 +5813,15 @@ function BenefitConsumptionsTabPanel(_ref2) {
|
|
|
5664
5813
|
var value = _ref2.value,
|
|
5665
5814
|
rights = _ref2.rights,
|
|
5666
5815
|
payrollUuid = _ref2.payrollUuid,
|
|
5667
|
-
isPayrollFromFailedInvoices = _ref2.isPayrollFromFailedInvoices
|
|
5816
|
+
isPayrollFromFailedInvoices = _ref2.isPayrollFromFailedInvoices,
|
|
5817
|
+
refreshBenefitsKey = _ref2.refreshBenefitsKey;
|
|
5668
5818
|
return /*#__PURE__*/React.createElement(PublishedComponent, {
|
|
5669
5819
|
pubRef: "policyHolder.TabPanel",
|
|
5670
5820
|
module: "payroll",
|
|
5671
5821
|
index: BENEFIT_CONSUMPTION_LIST_TAB_VALUE,
|
|
5672
5822
|
value: value
|
|
5673
5823
|
}, rights.includes(RIGHT_PAYROLL_SEARCH) && payrollUuid && /*#__PURE__*/React.createElement(BenefitConsumptionSearcher$1, {
|
|
5824
|
+
key: refreshBenefitsKey,
|
|
5674
5825
|
rights: rights,
|
|
5675
5826
|
payrollUuid: payrollUuid,
|
|
5676
5827
|
isPayrollFromFailedInvoices: isPayrollFromFailedInvoices
|
|
@@ -5893,7 +6044,7 @@ function BistpPaymentStatusPanel(_ref3) {
|
|
|
5893
6044
|
className: classes.progress
|
|
5894
6045
|
}, /*#__PURE__*/React.createElement(Typography, {
|
|
5895
6046
|
variant: "body2"
|
|
5896
|
-
}, formatMessage('payroll.bistp.progress'), ": ", confirmados, "/", total), /*#__PURE__*/React.createElement(LinearProgress
|
|
6047
|
+
}, formatMessage('payroll.bistp.progress'), ": ", confirmados, "/", total), /*#__PURE__*/React.createElement(LinearProgress, {
|
|
5897
6048
|
variant: "determinate",
|
|
5898
6049
|
value: progress
|
|
5899
6050
|
})))));
|
|
@@ -6170,7 +6321,7 @@ function PayrollSearcherPending(_ref) {
|
|
|
6170
6321
|
gap: 8,
|
|
6171
6322
|
minWidth: 120
|
|
6172
6323
|
}
|
|
6173
|
-
}, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
6324
|
+
}, /*#__PURE__*/React.createElement(LinearProgress$1, {
|
|
6174
6325
|
variant: "determinate",
|
|
6175
6326
|
value: progress,
|
|
6176
6327
|
style: {
|