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.
@@ -12,4 +12,7 @@ export interface IVendorInvoiceActionDataDto {
12
12
  remark?: string;
13
13
  vendorInvoicePayment?: VendorInvoicePaymentEntityModel;
14
14
  amountDifference?: number;
15
+ [VendorInvoiceActionEnum.ADVANCE_ADJUSTMENT]?: {
16
+ advanceAdjustmentAmount: number;
17
+ };
15
18
  }
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const entities_1 = require("../../entities");
@@ -7,5 +7,6 @@ export declare enum VendorInvoiceActionEnum {
7
7
  REJECT = "reject",
8
8
  PAYMENT = "payment",
9
9
  UPDATE_PAYMENT = "update_payment",
10
- DELETE_PAYMENT = "delete_payment"
10
+ DELETE_PAYMENT = "delete_payment",
11
+ ADVANCE_ADJUSTMENT = "advance_adjustment"
11
12
  }
@@ -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]: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "11.3.23-beta.1",
3
+ "version": "11.3.23-beta.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [