@parv0888/scheme-engine 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calculators/discount-application.d.ts.map +1 -1
- package/dist/calculators/discount-application.js +34 -23
- package/dist/calculators/discount-application.js.map +1 -1
- package/dist/esm/calculators/discount-application.js +34 -23
- package/dist/esm/calculators/discount-application.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discount-application.d.ts","sourceRoot":"","sources":["../../src/calculators/discount-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgD,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKhH,MAAM,WAAW,wBAAwB;IACvC,oIAAoI;IACpI,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAErC,+IAA+I;IAC/I,SAAS,EAAE,MAAM,CAAC;IAElB,+GAA+G;IAC/G,QAAQ,EAAE,MAAM,CAAC;IAEjB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC;IAEhB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IAEZ,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAC;IAEd,2EAA2E;IAC3E,cAAc,EAAE,cAAc,CAAC;IAE/B,4HAA4H;IAC5H,mCAAmC,EAAE,OAAO,CAAC;IAE7C,0IAA0I;IAC1I,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C,iJAAiJ;IACjJ,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C,8FAA8F;IAC9F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,wBAAwB,GAC9B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"discount-application.d.ts","sourceRoot":"","sources":["../../src/calculators/discount-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgD,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKhH,MAAM,WAAW,wBAAwB;IACvC,oIAAoI;IACpI,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAErC,+IAA+I;IAC/I,SAAS,EAAE,MAAM,CAAC;IAElB,+GAA+G;IAC/G,QAAQ,EAAE,MAAM,CAAC;IAEjB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC;IAEhB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IAEZ,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAC;IAEd,2EAA2E;IAC3E,cAAc,EAAE,cAAc,CAAC;IAE/B,4HAA4H;IAC5H,mCAAmC,EAAE,OAAO,CAAC;IAE7C,0IAA0I;IAC1I,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C,iJAAiJ;IACjJ,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C,8FAA8F;IAC9F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,wBAAwB,GAC9B,qBAAqB,CA4KvB;AAID,UAAU,YAAY;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,aAAa,CAAC,EAAE,MAAM,GACrB,YAAY,CAyCd"}
|
|
@@ -33,9 +33,13 @@ function calculateAppliedDiscountValues(input) {
|
|
|
33
33
|
const effectiveQty = batchQty ?? quantity;
|
|
34
34
|
const effectivePrice = typeof scheme.price === "number" && scheme.price > 0 ? scheme.price : price;
|
|
35
35
|
const effectiveBaseValue = batchQty ? effectivePrice * effectiveQty : baseValue;
|
|
36
|
+
// When batch pricing is active, each scheme entry represents a distinct
|
|
37
|
+
// batch with its own price/qty — discount must be computed on that batch's
|
|
38
|
+
// base value, not the full item's tempBaseValue.
|
|
39
|
+
const computeBase = batchQty ? effectiveBaseValue : tempBaseValue;
|
|
36
40
|
// Recalculate PerUnit percentages if recalculation data present
|
|
37
41
|
if (scheme.recalculateSchemeData) {
|
|
38
|
-
const recalced = recalculateSchemePercentage(scheme,
|
|
42
|
+
const recalced = recalculateSchemePercentage(scheme, computeBase);
|
|
39
43
|
if (isPrimary) {
|
|
40
44
|
scheme.primaryDiscountPercent = recalced.discountPercent;
|
|
41
45
|
}
|
|
@@ -49,6 +53,14 @@ function calculateAppliedDiscountValues(input) {
|
|
|
49
53
|
if (scheme.schemePayoutType === enums_1.SchemePayoutType.FIXED_DISCOUNT) {
|
|
50
54
|
currentValue = scheme[discountKey] || 0;
|
|
51
55
|
}
|
|
56
|
+
// PerUnit without recalculation data: value was pre-computed during
|
|
57
|
+
// slab matching (calculatePerUnitPayout) and stored directly.
|
|
58
|
+
// When loaded from DB, percent is 0 and we use the stored value.
|
|
59
|
+
else if (scheme.schemePayoutType === enums_1.SchemePayoutType.PERUNIT &&
|
|
60
|
+
!scheme.recalculateSchemeData &&
|
|
61
|
+
currentPercent === 0) {
|
|
62
|
+
currentValue = scheme[discountKey] || 0;
|
|
63
|
+
}
|
|
52
64
|
// Skip: PRODUCT + unitary scheme
|
|
53
65
|
else if (scheme.schemePayoutType === enums_1.SchemePayoutType.PRODUCT &&
|
|
54
66
|
companyUsesUnitaryProductScheme) {
|
|
@@ -56,9 +68,9 @@ function calculateAppliedDiscountValues(input) {
|
|
|
56
68
|
}
|
|
57
69
|
// FOC-type schemes
|
|
58
70
|
else if ((0, payout_type_checks_1.isFocTypePayoutScheme)(scheme.schemePayoutType)) {
|
|
59
|
-
const totalQty =
|
|
71
|
+
const totalQty = effectiveQty + freeQty;
|
|
60
72
|
if (totalQty > 0) {
|
|
61
|
-
currentValue = (scheme.freeQty *
|
|
73
|
+
currentValue = (scheme.freeQty * computeBase) / totalQty;
|
|
62
74
|
}
|
|
63
75
|
// Zero out for pricing batch companies
|
|
64
76
|
if ((scheme.schemePayoutType === enums_1.SchemePayoutType.PRODUCT ||
|
|
@@ -96,11 +108,21 @@ function calculateAppliedDiscountValues(input) {
|
|
|
96
108
|
}
|
|
97
109
|
// Markup discount
|
|
98
110
|
else if (scheme.isMarkup) {
|
|
99
|
-
currentValue = (0, math_1.calculateMarkupDiscount)(
|
|
111
|
+
currentValue = (0, math_1.calculateMarkupDiscount)(computeBase, currentPercent);
|
|
100
112
|
}
|
|
101
113
|
// Default: percentage-based discount
|
|
102
114
|
else {
|
|
103
|
-
currentValue = (0, math_1.calculateDiscount)(
|
|
115
|
+
currentValue = (0, math_1.calculateDiscount)(computeBase, currentPercent);
|
|
116
|
+
}
|
|
117
|
+
// Fallback: when the computation produces 0 but the scheme already has
|
|
118
|
+
// a pre-computed non-zero value (common when loaded from DB where percent
|
|
119
|
+
// is 0 and the value was pre-computed during scheme application), preserve
|
|
120
|
+
// the stored value instead of zeroing it out.
|
|
121
|
+
if (currentValue === 0 && !scheme.recalculateSchemeData) {
|
|
122
|
+
const storedValue = scheme[discountKey] || 0;
|
|
123
|
+
if (storedValue > 0) {
|
|
124
|
+
currentValue = storedValue;
|
|
125
|
+
}
|
|
104
126
|
}
|
|
105
127
|
// Bug 7 fix: Clamp to non-negative
|
|
106
128
|
currentValue = (0, math_1.clampNonNegative)(currentValue);
|
|
@@ -143,24 +165,13 @@ function recalculateSchemePercentage(scheme, tempBaseValue) {
|
|
|
143
165
|
}
|
|
144
166
|
const data = scheme.recalculateSchemeData;
|
|
145
167
|
const { discountAmountOfPerUnit, totalTaxPercentage, usesStdUnit, usesSuperUnit, usesAdditionalUnit, compareValue, calculationOnCompleteNumber, additionalCalculationLogic, } = data;
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
let finalNetPrice = netPrice;
|
|
154
|
-
if (usesStdUnit) {
|
|
155
|
-
// The calling code should compute actual stdUnitNetPrice * factor
|
|
156
|
-
finalNetPrice = netPrice;
|
|
157
|
-
}
|
|
158
|
-
else if (usesSuperUnit) {
|
|
159
|
-
finalNetPrice = netPrice;
|
|
160
|
-
}
|
|
161
|
-
else if (usesAdditionalUnit) {
|
|
162
|
-
finalNetPrice = netPrice;
|
|
163
|
-
}
|
|
168
|
+
// Derive the per-unit net price from the total base value and the compare value
|
|
169
|
+
// (qty/units/amount) that was used during slab matching.
|
|
170
|
+
// tempBaseValue = qty * unitPrice, compareValue = qty (or units/amount for other
|
|
171
|
+
// constraint types), so tempBaseValue / compareValue gives back the correct
|
|
172
|
+
// per-unit (or per-std-unit / per-super-unit) finalNetPrice that the original
|
|
173
|
+
// calculatePerUnitPayout used.
|
|
174
|
+
const finalNetPrice = tempBaseValue && compareValue ? tempBaseValue / compareValue : 0;
|
|
164
175
|
const discountAmountPreTax = discountAmountOfPerUnit / (1 + totalTaxPercentage / 100);
|
|
165
176
|
let itemDiscountPercent;
|
|
166
177
|
if (additionalCalculationLogic === enums_1.AdditionalCalculationLogic.DISCOUNT_VALUE_SUBTRACTED_FROM_PRICE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discount-application.js","sourceRoot":"","sources":["../../src/calculators/discount-application.ts"],"names":[],"mappings":";;AAgDA,
|
|
1
|
+
{"version":3,"file":"discount-application.js","sourceRoot":"","sources":["../../src/calculators/discount-application.ts"],"names":[],"mappings":";;AAgDA,wEA8KC;AAYD,kEA4CC;AAtRD,0CAA8F;AAE9F,0CAA4G;AAC5G,sEAA8G;AAsC9G;;;;;;GAMG;AACH,SAAgB,8BAA8B,CAC5C,KAA+B;IAE/B,MAAM,EACJ,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,EACH,KAAK,EACL,cAAc,EACd,mCAAmC,EACnC,+BAA+B,GAAG,KAAK,EACvC,kCAAkC,GAAG,KAAK,EAC1C,yBAAyB,GAAG,KAAK,GAClC,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,cAAc,KAAK,sBAAc,CAAC,OAAO,CAAC;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAClF,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAErF,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC;IAE/E,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,WAAW,GACf,kCAAkC;YAChC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1F,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAC1C,MAAM,cAAc,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,wEAAwE;QACxE,2EAA2E;QAC3E,iDAAiD;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC;QAElE,gEAAgE;QAChE,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,wBAAwB,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,6CAA6C;QAC7C,IAAI,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,cAAc,EAAE,CAAC;YAChE,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,oEAAoE;QACpE,8DAA8D;QAC9D,iEAAiE;aAC5D,IACH,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,OAAO;YACpD,CAAC,MAAM,CAAC,qBAAqB;YAC7B,cAAc,KAAK,CAAC,EACpB,CAAC;YACD,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,iCAAiC;aAC5B,IACH,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,OAAO;YACpD,+BAA+B,EAC/B,CAAC;YACD,SAAS;QACX,CAAC;QACD,mBAAmB;aACd,IAAI,IAAA,0CAAqB,EAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;YACxC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,QAAQ,CAAC;YAC3D,CAAC;YAED,uCAAuC;YACvC,IACE,CAAC,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,OAAO;gBACnD,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,GAAG;gBAChD,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,QAAQ,CAAC;gBACxD,kCAAkC,EAClC,CAAC;gBACD,YAAY,GAAG,CAAC,CAAC;gBACjB,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QACD,0BAA0B;aACrB,IACH,IAAA,2DAAsC,EAAC,MAAM,CAAC,gBAAgB,CAAC;YAC/D,CAAC,yBAAyB,EAC1B,CAAC;YACD,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;YAC3D,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,kBAAkB,GAAG,eAAe,GAAG,YAAY,CAAC;gBACrE,YAAY,GAAG,IAAA,uBAAgB,EAAC,MAAM,CAAC,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;gBACtC,CAAC;gBACD,QAAQ,CAAC,IAAI,CACX,6CAA6C,eAAe,eAAe,cAAc,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAC3H,CAAC;gBACF,YAAY,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,kBAAkB;aACb,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,YAAY,GAAG,IAAA,8BAAuB,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC;QACD,qCAAqC;aAChC,CAAC;YACJ,YAAY,GAAG,IAAA,wBAAiB,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,8CAA8C;QAC9C,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,YAAY,GAAG,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,YAAY,GAAG,IAAA,uBAAgB,EAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,oBAAoB,GAAG,YAAY,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,sBAAsB,GAAG,YAAY,CAAC;QAC/C,CAAC;QAED,aAAa,IAAI,YAAY,CAAC;QAE9B,IAAI,mCAAmC,EAAE,CAAC;YACxC,aAAa,IAAI,YAAY,CAAC;QAChC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACzB,CAAC,CAAC,SAAS,GAAG,CAAC;YACb,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG;YACnC,CAAC,CAAC,CAAC,CAAC;IAEV,OAAO;QACL,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,gBAAgB,IAAI,CAAC;QACtC,aAAa,EAAE,KAAK;QACpB,QAAQ;KACT,CAAC;AACJ,CAAC;AAQD;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,MAA0B,EAC1B,aAAsB;IAEtB,IAAI,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,KAAK,sBAAc,CAAC,OAAO,CAAC;QAC/D,OAAO;YACL,eAAe,EAAE,SAAS;gBACxB,CAAC,CAAC,MAAM,CAAC,sBAAsB;gBAC/B,CAAC,CAAC,MAAM,CAAC,wBAAwB;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC1C,MAAM,EACJ,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,GAC3B,GAAG,IAAI,CAAC;IAET,gFAAgF;IAChF,yDAAyD;IACzD,iFAAiF;IACjF,4EAA4E;IAC5E,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,aAAa,GACjB,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAEtF,IAAI,mBAA2B,CAAC;IAChC,IAAI,0BAA0B,KAAK,kCAA0B,CAAC,oCAAoC,EAAE,CAAC;QACnG,mBAAmB,GAAG,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,mBAAmB,GAAG,CAAC,CAAC,uBAAuB,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtF,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -29,9 +29,13 @@ export function calculateAppliedDiscountValues(input) {
|
|
|
29
29
|
const effectiveQty = batchQty ?? quantity;
|
|
30
30
|
const effectivePrice = typeof scheme.price === "number" && scheme.price > 0 ? scheme.price : price;
|
|
31
31
|
const effectiveBaseValue = batchQty ? effectivePrice * effectiveQty : baseValue;
|
|
32
|
+
// When batch pricing is active, each scheme entry represents a distinct
|
|
33
|
+
// batch with its own price/qty — discount must be computed on that batch's
|
|
34
|
+
// base value, not the full item's tempBaseValue.
|
|
35
|
+
const computeBase = batchQty ? effectiveBaseValue : tempBaseValue;
|
|
32
36
|
// Recalculate PerUnit percentages if recalculation data present
|
|
33
37
|
if (scheme.recalculateSchemeData) {
|
|
34
|
-
const recalced = recalculateSchemePercentage(scheme,
|
|
38
|
+
const recalced = recalculateSchemePercentage(scheme, computeBase);
|
|
35
39
|
if (isPrimary) {
|
|
36
40
|
scheme.primaryDiscountPercent = recalced.discountPercent;
|
|
37
41
|
}
|
|
@@ -45,6 +49,14 @@ export function calculateAppliedDiscountValues(input) {
|
|
|
45
49
|
if (scheme.schemePayoutType === SchemePayoutType.FIXED_DISCOUNT) {
|
|
46
50
|
currentValue = scheme[discountKey] || 0;
|
|
47
51
|
}
|
|
52
|
+
// PerUnit without recalculation data: value was pre-computed during
|
|
53
|
+
// slab matching (calculatePerUnitPayout) and stored directly.
|
|
54
|
+
// When loaded from DB, percent is 0 and we use the stored value.
|
|
55
|
+
else if (scheme.schemePayoutType === SchemePayoutType.PERUNIT &&
|
|
56
|
+
!scheme.recalculateSchemeData &&
|
|
57
|
+
currentPercent === 0) {
|
|
58
|
+
currentValue = scheme[discountKey] || 0;
|
|
59
|
+
}
|
|
48
60
|
// Skip: PRODUCT + unitary scheme
|
|
49
61
|
else if (scheme.schemePayoutType === SchemePayoutType.PRODUCT &&
|
|
50
62
|
companyUsesUnitaryProductScheme) {
|
|
@@ -52,9 +64,9 @@ export function calculateAppliedDiscountValues(input) {
|
|
|
52
64
|
}
|
|
53
65
|
// FOC-type schemes
|
|
54
66
|
else if (isFocTypePayoutScheme(scheme.schemePayoutType)) {
|
|
55
|
-
const totalQty =
|
|
67
|
+
const totalQty = effectiveQty + freeQty;
|
|
56
68
|
if (totalQty > 0) {
|
|
57
|
-
currentValue = (scheme.freeQty *
|
|
69
|
+
currentValue = (scheme.freeQty * computeBase) / totalQty;
|
|
58
70
|
}
|
|
59
71
|
// Zero out for pricing batch companies
|
|
60
72
|
if ((scheme.schemePayoutType === SchemePayoutType.PRODUCT ||
|
|
@@ -92,11 +104,21 @@ export function calculateAppliedDiscountValues(input) {
|
|
|
92
104
|
}
|
|
93
105
|
// Markup discount
|
|
94
106
|
else if (scheme.isMarkup) {
|
|
95
|
-
currentValue = calculateMarkupDiscount(
|
|
107
|
+
currentValue = calculateMarkupDiscount(computeBase, currentPercent);
|
|
96
108
|
}
|
|
97
109
|
// Default: percentage-based discount
|
|
98
110
|
else {
|
|
99
|
-
currentValue = calculateDiscount(
|
|
111
|
+
currentValue = calculateDiscount(computeBase, currentPercent);
|
|
112
|
+
}
|
|
113
|
+
// Fallback: when the computation produces 0 but the scheme already has
|
|
114
|
+
// a pre-computed non-zero value (common when loaded from DB where percent
|
|
115
|
+
// is 0 and the value was pre-computed during scheme application), preserve
|
|
116
|
+
// the stored value instead of zeroing it out.
|
|
117
|
+
if (currentValue === 0 && !scheme.recalculateSchemeData) {
|
|
118
|
+
const storedValue = scheme[discountKey] || 0;
|
|
119
|
+
if (storedValue > 0) {
|
|
120
|
+
currentValue = storedValue;
|
|
121
|
+
}
|
|
100
122
|
}
|
|
101
123
|
// Bug 7 fix: Clamp to non-negative
|
|
102
124
|
currentValue = clampNonNegative(currentValue);
|
|
@@ -139,24 +161,13 @@ export function recalculateSchemePercentage(scheme, tempBaseValue) {
|
|
|
139
161
|
}
|
|
140
162
|
const data = scheme.recalculateSchemeData;
|
|
141
163
|
const { discountAmountOfPerUnit, totalTaxPercentage, usesStdUnit, usesSuperUnit, usesAdditionalUnit, compareValue, calculationOnCompleteNumber, additionalCalculationLogic, } = data;
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
let finalNetPrice = netPrice;
|
|
150
|
-
if (usesStdUnit) {
|
|
151
|
-
// The calling code should compute actual stdUnitNetPrice * factor
|
|
152
|
-
finalNetPrice = netPrice;
|
|
153
|
-
}
|
|
154
|
-
else if (usesSuperUnit) {
|
|
155
|
-
finalNetPrice = netPrice;
|
|
156
|
-
}
|
|
157
|
-
else if (usesAdditionalUnit) {
|
|
158
|
-
finalNetPrice = netPrice;
|
|
159
|
-
}
|
|
164
|
+
// Derive the per-unit net price from the total base value and the compare value
|
|
165
|
+
// (qty/units/amount) that was used during slab matching.
|
|
166
|
+
// tempBaseValue = qty * unitPrice, compareValue = qty (or units/amount for other
|
|
167
|
+
// constraint types), so tempBaseValue / compareValue gives back the correct
|
|
168
|
+
// per-unit (or per-std-unit / per-super-unit) finalNetPrice that the original
|
|
169
|
+
// calculatePerUnitPayout used.
|
|
170
|
+
const finalNetPrice = tempBaseValue && compareValue ? tempBaseValue / compareValue : 0;
|
|
160
171
|
const discountAmountPreTax = discountAmountOfPerUnit / (1 + totalTaxPercentage / 100);
|
|
161
172
|
let itemDiscountPercent;
|
|
162
173
|
if (additionalCalculationLogic === AdditionalCalculationLogic.DISCOUNT_VALUE_SUBTRACTED_FROM_PRICE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discount-application.js","sourceRoot":"","sources":["../../../src/calculators/discount-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,sCAAsC,EAAE,MAAM,+BAA+B,CAAC;AAsC9G;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAA+B;IAE/B,MAAM,EACJ,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,EACH,KAAK,EACL,cAAc,EACd,mCAAmC,EACnC,+BAA+B,GAAG,KAAK,EACvC,kCAAkC,GAAG,KAAK,EAC1C,yBAAyB,GAAG,KAAK,GAClC,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,cAAc,KAAK,cAAc,CAAC,OAAO,CAAC;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAClF,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAErF,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC;IAE/E,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,WAAW,GACf,kCAAkC;YAChC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1F,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAC1C,MAAM,cAAc,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,gEAAgE;QAChE,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"discount-application.js","sourceRoot":"","sources":["../../../src/calculators/discount-application.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parv0888/scheme-engine",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Pure-function scheme calculation engine for FieldAssist DMS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
|
-
"
|
|
12
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
13
|
+
"build": "npm run clean && tsc && tsc -p tsconfig.esm.json",
|
|
13
14
|
"test": "jest",
|
|
14
15
|
"prepublishOnly": "npm run build && npm test",
|
|
15
16
|
"db:download:secondary-discount-diffs": "node scripts/download_secondary_discount_diffs.js",
|