law-common 11.3.23-beta.1 → 11.3.23-beta.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/src/api/interface/vendor_invoice.update.dto.interface.d.ts +3 -0
- package/dist/src/api/interface/vendor_invoice.update.dto.interface.js +1 -0
- package/dist/src/entities/enums/vendor_invoice_action.enum.d.ts +2 -1
- package/dist/src/entities/enums/vendor_invoice_action.enum.js +1 -0
- package/dist/src/entities/flow-configs/vendor-invoice-flow.config.d.ts +4 -0
- package/dist/src/entities/flow-configs/vendor-invoice-flow.config.js +25 -0
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ var VendorInvoiceActionEnum;
|
|
|
12
12
|
VendorInvoiceActionEnum["PAYMENT"] = "payment";
|
|
13
13
|
VendorInvoiceActionEnum["UPDATE_PAYMENT"] = "update_payment";
|
|
14
14
|
VendorInvoiceActionEnum["DELETE_PAYMENT"] = "delete_payment";
|
|
15
|
+
VendorInvoiceActionEnum["ADVANCE_ADJUSTMENT"] = "advance_adjustment";
|
|
15
16
|
// RECALL = "recall",
|
|
16
17
|
// VIEW = "view",
|
|
17
18
|
// EDIT = "edit",
|
|
@@ -7,5 +7,9 @@ export interface IVendorInvoiceFlowConfigContextData {
|
|
|
7
7
|
vendorInvoicePayment?: VendorInvoicePaymentEntityModel;
|
|
8
8
|
existingVendorInvoice?: VendorInvoiceEntityModel;
|
|
9
9
|
amountDifference?: number;
|
|
10
|
+
[VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT]?: {
|
|
11
|
+
advanceAdjustmentAmount: number;
|
|
12
|
+
existingVendorInvoice: VendorInvoiceEntityModel;
|
|
13
|
+
};
|
|
10
14
|
}
|
|
11
15
|
export declare const vendorInvoiceFlowConfig: FlowConfig<VendorInvoiceStatusEnum, VendorInvoiceActionEnum, IVendorInvoiceFlowConfigContextData>;
|
|
@@ -37,6 +37,10 @@ const ACTION_MAP = {
|
|
|
37
37
|
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED],
|
|
38
38
|
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
39
39
|
},
|
|
40
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT]: {
|
|
41
|
+
reachableStatues: [vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE],
|
|
42
|
+
permissions: VENDOR_INVOICE_UPDATE_PERMISSION,
|
|
43
|
+
},
|
|
40
44
|
};
|
|
41
45
|
const { createActionConfig, createTransition } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
42
46
|
const createTransitionAnyStatusUpdatePaymentAction = createTransition((context) => {
|
|
@@ -96,6 +100,26 @@ const createTransitionApprovedStatusDeleteAction = createTransition((context) =>
|
|
|
96
100
|
return createTransitionAnyStatusUpdatePaymentAction(context);
|
|
97
101
|
});
|
|
98
102
|
const transitionApprovedStatusDeletePaymentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT, createTransitionApprovedStatusDeleteAction);
|
|
103
|
+
const createTransitionApprovedStatusAdvanceAdjustmentAction = createTransition((context) => {
|
|
104
|
+
const contextData = context[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT];
|
|
105
|
+
if (contextData && contextData.advanceAdjustmentAmount !== undefined) {
|
|
106
|
+
if (contextData.existingVendorInvoice) {
|
|
107
|
+
const { existingVendorInvoice } = contextData;
|
|
108
|
+
if (existingVendorInvoice.totalNetAmount ===
|
|
109
|
+
existingVendorInvoice.paidAmount + existingVendorInvoice.adjustedAmount + contextData.advanceAdjustmentAmount) {
|
|
110
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.PAYMENT_DISBURSE;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
throw new exceptions_1.AppBadRequestException({
|
|
115
|
+
key: enums_1.ErrorKeyEnum.VENDOR_INVOICE_FLOW_CONTEXT_DATA,
|
|
116
|
+
message: ["existingVendorInvoice must be provided in the context data for processing advance adjustment action."],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.APPROVED;
|
|
121
|
+
});
|
|
122
|
+
const transitionApprovedStatusAdvanceAdjustmentAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT, createTransitionApprovedStatusAdvanceAdjustmentAction);
|
|
99
123
|
// REQUEST_CHANGES status transitions
|
|
100
124
|
const transitionRequestChangesStatusEditAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.EDIT, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.EDIT_APPROVAL);
|
|
101
125
|
const transitionRequestChangesStatusDeleteAction = createActionConfig(vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE, vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.DELETE_APPROVAL);
|
|
@@ -145,6 +169,7 @@ exports.vendorInvoiceFlowConfig = {
|
|
|
145
169
|
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.UPDATE_PAYMENT]: transitionApprovedStatusUpdatePaymentAction,
|
|
146
170
|
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.PAYMENT]: transitionApprovedStatusPaymentAction,
|
|
147
171
|
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.DELETE_PAYMENT]: transitionApprovedStatusDeletePaymentAction,
|
|
172
|
+
[vendor_invoice_action_enum_1.VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT]: transitionApprovedStatusAdvanceAdjustmentAction,
|
|
148
173
|
},
|
|
149
174
|
},
|
|
150
175
|
[vendor_invoice_action_status_enum_1.VendorInvoiceStatusEnum.REQUEST_CHANGES]: {
|