@mj-biz-apps/orders-core-entities-server 5.14.0 → 5.15.0

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.
Files changed (82) hide show
  1. package/dist/AccountingBridge.d.ts +17 -0
  2. package/dist/AccountingBridge.d.ts.map +1 -1
  3. package/dist/AccountingBridge.js.map +1 -1
  4. package/dist/DimensionDefaultResolver.d.ts +90 -0
  5. package/dist/DimensionDefaultResolver.d.ts.map +1 -0
  6. package/dist/DimensionDefaultResolver.js +154 -0
  7. package/dist/DimensionDefaultResolver.js.map +1 -0
  8. package/dist/GetBillingWorklistOperation.d.ts +22 -0
  9. package/dist/GetBillingWorklistOperation.d.ts.map +1 -0
  10. package/dist/GetBillingWorklistOperation.js +136 -0
  11. package/dist/GetBillingWorklistOperation.js.map +1 -0
  12. package/dist/GetOverdueWorklistOperation.d.ts.map +1 -1
  13. package/dist/GetOverdueWorklistOperation.js +4 -2
  14. package/dist/GetOverdueWorklistOperation.js.map +1 -1
  15. package/dist/GetPriorReturnsOperation.d.ts +35 -0
  16. package/dist/GetPriorReturnsOperation.d.ts.map +1 -0
  17. package/dist/GetPriorReturnsOperation.js +79 -0
  18. package/dist/GetPriorReturnsOperation.js.map +1 -0
  19. package/dist/InstalmentReclass.d.ts +36 -0
  20. package/dist/InstalmentReclass.d.ts.map +1 -0
  21. package/dist/InstalmentReclass.js +10 -0
  22. package/dist/InstalmentReclass.js.map +1 -0
  23. package/dist/InvoiceBehavior.d.ts +53 -1
  24. package/dist/InvoiceBehavior.d.ts.map +1 -1
  25. package/dist/InvoiceBehavior.js +60 -10
  26. package/dist/InvoiceBehavior.js.map +1 -1
  27. package/dist/InvoiceBuilder.d.ts +5 -0
  28. package/dist/InvoiceBuilder.d.ts.map +1 -1
  29. package/dist/InvoiceBuilder.js +40 -4
  30. package/dist/InvoiceBuilder.js.map +1 -1
  31. package/dist/IssueInstalmentInvoiceOperation.d.ts +29 -0
  32. package/dist/IssueInstalmentInvoiceOperation.d.ts.map +1 -0
  33. package/dist/IssueInstalmentInvoiceOperation.js +159 -0
  34. package/dist/IssueInstalmentInvoiceOperation.js.map +1 -0
  35. package/dist/LineDimensionMerge.d.ts +13 -0
  36. package/dist/LineDimensionMerge.d.ts.map +1 -1
  37. package/dist/LineDimensionMerge.js +19 -0
  38. package/dist/LineDimensionMerge.js.map +1 -1
  39. package/dist/LineDimensionRules.d.ts +83 -0
  40. package/dist/LineDimensionRules.d.ts.map +1 -0
  41. package/dist/LineDimensionRules.js +60 -0
  42. package/dist/LineDimensionRules.js.map +1 -0
  43. package/dist/OrderEntityServer.d.ts +93 -0
  44. package/dist/OrderEntityServer.d.ts.map +1 -1
  45. package/dist/OrderEntityServer.js +310 -4
  46. package/dist/OrderEntityServer.js.map +1 -1
  47. package/dist/OrderHeaderPaymentScheduleEntityServer.d.ts +30 -0
  48. package/dist/OrderHeaderPaymentScheduleEntityServer.d.ts.map +1 -0
  49. package/dist/OrderHeaderPaymentScheduleEntityServer.js +108 -0
  50. package/dist/OrderHeaderPaymentScheduleEntityServer.js.map +1 -0
  51. package/dist/OrderLineEntityServer.d.ts +12 -0
  52. package/dist/OrderLineEntityServer.d.ts.map +1 -1
  53. package/dist/OrderLineEntityServer.js +22 -1
  54. package/dist/OrderLineEntityServer.js.map +1 -1
  55. package/dist/PaymentLineEntityServer.d.ts +6 -0
  56. package/dist/PaymentLineEntityServer.d.ts.map +1 -1
  57. package/dist/PaymentLineEntityServer.js +29 -1
  58. package/dist/PaymentLineEntityServer.js.map +1 -1
  59. package/dist/PaymentScheduleBehavior.d.ts +104 -0
  60. package/dist/PaymentScheduleBehavior.d.ts.map +1 -0
  61. package/dist/PaymentScheduleBehavior.js +130 -0
  62. package/dist/PaymentScheduleBehavior.js.map +1 -0
  63. package/dist/PriceOrderOperation.d.ts +7 -0
  64. package/dist/PriceOrderOperation.d.ts.map +1 -1
  65. package/dist/PriceOrderOperation.js +47 -4
  66. package/dist/PriceOrderOperation.js.map +1 -1
  67. package/dist/ReversalBehavior.d.ts +29 -3
  68. package/dist/ReversalBehavior.d.ts.map +1 -1
  69. package/dist/ReversalBehavior.js +16 -1
  70. package/dist/ReversalBehavior.js.map +1 -1
  71. package/dist/ReversalResolver.d.ts.map +1 -1
  72. package/dist/ReversalResolver.js +17 -0
  73. package/dist/ReversalResolver.js.map +1 -1
  74. package/dist/entity-names.d.ts +2 -0
  75. package/dist/entity-names.d.ts.map +1 -1
  76. package/dist/entity-names.js +2 -0
  77. package/dist/entity-names.js.map +1 -1
  78. package/dist/index.d.ts +17 -5
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +14 -4
  81. package/dist/index.js.map +1 -1
  82. package/package.json +2 -2
@@ -53,6 +53,23 @@ export interface AccountingEngineSurface {
53
53
  ID: string;
54
54
  Name: string;
55
55
  }>;
56
+ /**
57
+ * The analysis axes and their permitted values, as accounting caches them.
58
+ *
59
+ * Read by the order-line dimension derivation: the axes it can tag with are whatever the ERP
60
+ * sync has pulled in, and both are resolved BY CODE because the ids are minted per environment.
61
+ */
62
+ Dimensions: Array<{
63
+ ID: string;
64
+ Code: string;
65
+ IsActive: boolean;
66
+ }>;
67
+ DimensionValues: Array<{
68
+ ID: string;
69
+ DimensionID: string;
70
+ Code: string;
71
+ IsActive: boolean;
72
+ }>;
56
73
  /**
57
74
  * The Due To / Due From pair for an ORDERED company pair (BA-D26), each leg carrying the
58
75
  * dimensions pinned on the match. `DimensionValueID` is nullable there by design.
@@ -1 +1 @@
1
- {"version":3,"file":"AccountingBridge.d.ts","sourceRoot":"","sources":["../src/AccountingBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQxE,wGAAwG;AACxG,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,OAAO,EAAE;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,QAAQ,CAAC;QACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,oBAAoB,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,IAAI,GACf;QAAE,IAAI,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvE;;;;OAIG;IACH,cAAc,EAAE,KAAK,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;QAC1C,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC,CAAC;IACH,cAAc,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD;;;OAGG;IACH,2BAA2B,CACvB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,IAAI,GACf;QACC,KAAK,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC;gBAAE,WAAW,EAAE,MAAM,CAAC;gBAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;QAC5G,OAAO,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC;gBAAE,WAAW,EAAE,MAAM,CAAC;gBAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KACjH,GAAG,IAAI,CAAC;CACZ;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,IAAI,iBAAiB,CAOpD;AAED,yEAAyE;AACzE,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,uBAAuB,CAAC,CAOlC;AAED,sDAAsD;AACtD,wBAAsB,sBAAsB,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kBAAkB,CAAC,CAoB7B"}
1
+ {"version":3,"file":"AccountingBridge.d.ts","sourceRoot":"","sources":["../src/AccountingBridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountingBridge.js","sourceRoot":"","sources":["../src/AccountingBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountingBridge.js","sourceRoot":"","sources":["../src/AccountingBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * DimensionDefaultResolver — what GL dimension values a product implies, before anyone types one.
3
+ *
4
+ * An order line can state ONE dimension tag by hand. The chart-of-accounts design needs five axes
5
+ * on a revenue line and needs them without a human in the loop, so the values have to be DERIVED.
6
+ * This class answers the product half: given a line's product, which dimension values follow from
7
+ * it.
8
+ *
9
+ * THE WALK IS THE SAME ONE ACCOUNTS USE, deliberately:
10
+ *
11
+ * Product → its ProductCategory → that category's ancestors
12
+ * → its ProductType → the line's Company
13
+ *
14
+ * `GLAccountResolver` already walks exactly this for GL accounts, and reusing the precedence is
15
+ * what lets a venture be stated once on a category instead of copied onto every product, while a
16
+ * single product can still override it.
17
+ *
18
+ * MOST SPECIFIC WINS PER DIMENSION, not per walk. The walk does not stop at the first level that
19
+ * answers anything: a category may supply Venture while the product supplies Product, and both
20
+ * belong on the line. Each dimension is taken from the nearest level that names it, and nearer
21
+ * levels never lose to further ones.
22
+ *
23
+ * NOTHING HERE FAILS. An unmapped product yields no defaults, which is a line that books untagged —
24
+ * legal, and the state every line was in before this existed. Refusing to book would turn a
25
+ * half-configured mapping into an outage across every order. Where a GL account link genuinely
26
+ * REQUIRES a dimension, that is the place to refuse, and it is a separate check.
27
+ *
28
+ * CONNECTS TO:
29
+ * SHAPE: __mj_BizAppsOrders.DimensionDefault (V202609221500)
30
+ * PRECEDENT: GLAccountResolver (./GLAccountResolver.ts) — the identical walk, for accounts
31
+ * CALLER: OrderEntityServer.stampLineDimensions (./OrderEntityServer.ts)
32
+ */
33
+ import { IMetadataProvider, UserInfo } from '@memberjunction/core';
34
+ import type { LineDimensionTag } from './LineDimensionMerge.js';
35
+ /** MJ Entity IDs for the records a default can hang off. Mirrors `ResolverEntityIDs`. */
36
+ export interface DimensionDefaultEntityIDs {
37
+ Product: string;
38
+ ProductCategory: string;
39
+ ProductType: string;
40
+ Company: string;
41
+ }
42
+ /** What a line was resolved to, and from where — the `Source` is for diagnostics, not for logic. */
43
+ export interface ResolvedDefault extends LineDimensionTag {
44
+ Source: 'Product' | 'ProductCategory' | 'ProductType' | 'Company';
45
+ }
46
+ /**
47
+ * Resolves product → dimension defaults, caching the whole mapping for one unit of work.
48
+ *
49
+ * Construct per save; do not hold across requests. The table is small — one row per mapped record
50
+ * per axis — so it is read once in full rather than queried per line. An order with forty lines
51
+ * would otherwise be forty round trips to answer from the same handful of rows.
52
+ */
53
+ export declare class DimensionDefaultResolver {
54
+ private readonly _entityIDs;
55
+ private readonly _provider;
56
+ private readonly _contextUser;
57
+ private _rows;
58
+ private readonly _categoryParent;
59
+ private _categoriesLoaded;
60
+ constructor(_entityIDs: DimensionDefaultEntityIDs, _provider: IMetadataProvider, _contextUser: UserInfo);
61
+ /**
62
+ * The dimension values that follow from a product, as of a date.
63
+ *
64
+ * @param asOf the ORDER's date, not today — a back-dated order resolves the mapping that was
65
+ * live when it was placed, which is the same rule the account walk and the
66
+ * dimension-value pickers follow.
67
+ */
68
+ Resolve(productID: string | null, productCategoryID: string | null, productTypeID: string | null, companyID: string, asOf: Date): Promise<ResolvedDefault[]>;
69
+ /**
70
+ * Every row for one record, one per dimension, with the date-effective winner chosen per axis.
71
+ *
72
+ * `pickActiveLinkIndex` is the accounting engine's own window rule — Status plus StartedAt /
73
+ * EndedAt — and it is used here rather than reimplemented so a default and a GL account link
74
+ * are never live on different days for the same reason.
75
+ */
76
+ private activeFor;
77
+ /** The category and each ancestor, nearest first. Cycle-guarded like the account walk. */
78
+ private categoryChain;
79
+ private ensureCategoriesLoaded;
80
+ /**
81
+ * Read the mapping once.
82
+ *
83
+ * A FAILED READ THROWS. Returning an empty list would be indistinguishable from "nothing is
84
+ * mapped", and the difference matters: one books untagged because that is the configuration,
85
+ * the other books untagged because the query broke. The second is the defect this work exists
86
+ * to close, wearing the first one's clothes.
87
+ */
88
+ private ensureLoaded;
89
+ }
90
+ //# sourceMappingURL=DimensionDefaultResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DimensionDefaultResolver.d.ts","sourceRoot":"","sources":["../src/DimensionDefaultResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,iBAAiB,EAAW,QAAQ,EAAyB,MAAM,sBAAsB,CAAC;AAInG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,yFAAyF;AACzF,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAaD,oGAAoG;AACpG,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IAM7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAPjC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,iBAAiB,CAAS;gBAGb,UAAU,EAAE,yBAAyB,EACrC,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,QAAQ;IAG3C;;;;;;OAMG;IACU,OAAO,CAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,GACX,OAAO,CAAC,eAAe,EAAE,CAAC;IA2B7B;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAkBjB,0FAA0F;YAC5E,aAAa;YAeb,sBAAsB;IASpC;;;;;;;OAOG;YACW,YAAY;CAoB7B"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * DimensionDefaultResolver — what GL dimension values a product implies, before anyone types one.
3
+ *
4
+ * An order line can state ONE dimension tag by hand. The chart-of-accounts design needs five axes
5
+ * on a revenue line and needs them without a human in the loop, so the values have to be DERIVED.
6
+ * This class answers the product half: given a line's product, which dimension values follow from
7
+ * it.
8
+ *
9
+ * THE WALK IS THE SAME ONE ACCOUNTS USE, deliberately:
10
+ *
11
+ * Product → its ProductCategory → that category's ancestors
12
+ * → its ProductType → the line's Company
13
+ *
14
+ * `GLAccountResolver` already walks exactly this for GL accounts, and reusing the precedence is
15
+ * what lets a venture be stated once on a category instead of copied onto every product, while a
16
+ * single product can still override it.
17
+ *
18
+ * MOST SPECIFIC WINS PER DIMENSION, not per walk. The walk does not stop at the first level that
19
+ * answers anything: a category may supply Venture while the product supplies Product, and both
20
+ * belong on the line. Each dimension is taken from the nearest level that names it, and nearer
21
+ * levels never lose to further ones.
22
+ *
23
+ * NOTHING HERE FAILS. An unmapped product yields no defaults, which is a line that books untagged —
24
+ * legal, and the state every line was in before this existed. Refusing to book would turn a
25
+ * half-configured mapping into an outage across every order. Where a GL account link genuinely
26
+ * REQUIRES a dimension, that is the place to refuse, and it is a separate check.
27
+ *
28
+ * CONNECTS TO:
29
+ * SHAPE: __mj_BizAppsOrders.DimensionDefault (V202609221500)
30
+ * PRECEDENT: GLAccountResolver (./GLAccountResolver.ts) — the identical walk, for accounts
31
+ * CALLER: OrderEntityServer.stampLineDimensions (./OrderEntityServer.ts)
32
+ */
33
+ import { RunView } from '@memberjunction/core';
34
+ import { UUIDsEqual } from '@memberjunction/global';
35
+ import { pickActiveLinkIndex } from '@mj-biz-apps/accounting-engine-base';
36
+ import { LoadOrdersEngine, OrdersEngine } from '@mj-biz-apps/orders-entities';
37
+ /**
38
+ * Resolves product → dimension defaults, caching the whole mapping for one unit of work.
39
+ *
40
+ * Construct per save; do not hold across requests. The table is small — one row per mapped record
41
+ * per axis — so it is read once in full rather than queried per line. An order with forty lines
42
+ * would otherwise be forty round trips to answer from the same handful of rows.
43
+ */
44
+ export class DimensionDefaultResolver {
45
+ constructor(_entityIDs, _provider, _contextUser) {
46
+ this._entityIDs = _entityIDs;
47
+ this._provider = _provider;
48
+ this._contextUser = _contextUser;
49
+ this._rows = null;
50
+ this._categoryParent = new Map();
51
+ this._categoriesLoaded = false;
52
+ }
53
+ /**
54
+ * The dimension values that follow from a product, as of a date.
55
+ *
56
+ * @param asOf the ORDER's date, not today — a back-dated order resolves the mapping that was
57
+ * live when it was placed, which is the same rule the account walk and the
58
+ * dimension-value pickers follow.
59
+ */
60
+ async Resolve(productID, productCategoryID, productTypeID, companyID, asOf) {
61
+ await this.ensureLoaded();
62
+ // Nearest first. Each level contributes only the axes no nearer level already answered.
63
+ const byDimension = new Map();
64
+ const take = (rows, source) => {
65
+ for (const row of rows) {
66
+ const key = row.DimensionID.toLowerCase();
67
+ if (byDimension.has(key))
68
+ continue;
69
+ byDimension.set(key, {
70
+ DimensionID: row.DimensionID,
71
+ DimensionValueID: row.DimensionValueID,
72
+ Source: source,
73
+ });
74
+ }
75
+ };
76
+ if (productID)
77
+ take(this.activeFor(this._entityIDs.Product, productID, asOf), 'Product');
78
+ for (const categoryID of await this.categoryChain(productCategoryID)) {
79
+ take(this.activeFor(this._entityIDs.ProductCategory, categoryID, asOf), 'ProductCategory');
80
+ }
81
+ if (productTypeID)
82
+ take(this.activeFor(this._entityIDs.ProductType, productTypeID, asOf), 'ProductType');
83
+ take(this.activeFor(this._entityIDs.Company, companyID, asOf), 'Company');
84
+ return [...byDimension.values()];
85
+ }
86
+ /**
87
+ * Every row for one record, one per dimension, with the date-effective winner chosen per axis.
88
+ *
89
+ * `pickActiveLinkIndex` is the accounting engine's own window rule — Status plus StartedAt /
90
+ * EndedAt — and it is used here rather than reimplemented so a default and a GL account link
91
+ * are never live on different days for the same reason.
92
+ */
93
+ activeFor(entityID, recordID, asOf) {
94
+ const candidates = (this._rows ?? []).filter((row) => UUIDsEqual(row.EntityID, entityID) && row.RecordID.toLowerCase() === recordID.toLowerCase());
95
+ const out = [];
96
+ const axes = new Set(candidates.map((row) => row.DimensionID.toLowerCase()));
97
+ for (const axis of axes) {
98
+ const forAxis = candidates.filter((row) => row.DimensionID.toLowerCase() === axis);
99
+ const winner = pickActiveLinkIndex(forAxis.map((row) => ({ Status: row.Status, StartedAt: row.StartedAt, EndedAt: row.EndedAt })), asOf);
100
+ if (winner !== -1)
101
+ out.push(forAxis[winner]);
102
+ }
103
+ return out;
104
+ }
105
+ /** The category and each ancestor, nearest first. Cycle-guarded like the account walk. */
106
+ async categoryChain(startCategoryID) {
107
+ if (!startCategoryID)
108
+ return [];
109
+ await this.ensureCategoriesLoaded();
110
+ const chain = [];
111
+ const seen = new Set();
112
+ let current = startCategoryID;
113
+ while (current && !seen.has(current)) {
114
+ seen.add(current); // the DB CHECK blocks self-parenting, not longer loops
115
+ chain.push(current);
116
+ current = this._categoryParent.get(current) ?? null;
117
+ }
118
+ return chain;
119
+ }
120
+ async ensureCategoriesLoaded() {
121
+ if (this._categoriesLoaded)
122
+ return;
123
+ await LoadOrdersEngine(this._provider, this._contextUser);
124
+ for (const row of OrdersEngine.Instance.ProductCategories) {
125
+ this._categoryParent.set(row.ID, row.ParentProductCategoryID ?? null);
126
+ }
127
+ this._categoriesLoaded = true;
128
+ }
129
+ /**
130
+ * Read the mapping once.
131
+ *
132
+ * A FAILED READ THROWS. Returning an empty list would be indistinguishable from "nothing is
133
+ * mapped", and the difference matters: one books untagged because that is the configuration,
134
+ * the other books untagged because the query broke. The second is the defect this work exists
135
+ * to close, wearing the first one's clothes.
136
+ */
137
+ async ensureLoaded() {
138
+ if (this._rows)
139
+ return;
140
+ const rv = new RunView(this._provider);
141
+ const result = await rv.RunView({
142
+ EntityName: 'MJ_BizApps_Orders: Dimension Defaults',
143
+ ExtraFilter: `Status = 'Active'`,
144
+ Fields: ['EntityID', 'RecordID', 'DimensionID', 'DimensionValueID', 'Status', 'StartedAt', 'EndedAt'],
145
+ ResultType: 'simple',
146
+ }, this._contextUser);
147
+ if (!result?.Success) {
148
+ throw new Error(`Could not read the dimension defaults, so this order's lines cannot be tagged: ` +
149
+ `${result?.ErrorMessage ?? 'no error message supplied'}`);
150
+ }
151
+ this._rows = result.Results ?? [];
152
+ }
153
+ }
154
+ //# sourceMappingURL=DimensionDefaultResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DimensionDefaultResolver.js","sourceRoot":"","sources":["../src/DimensionDefaultResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `Orders.GetBillingWorklist` — the due-with-no-invoice control (plan §6.3; W6).
3
+ *
4
+ * Jeremy's team relies on this today, by memory and spreadsheet: which instalments have entered
5
+ * their billing window and have no invoice behind them yet. Shipped as an operation with a screen
6
+ * rather than a report somebody remembers to run, next to `Orders.GetOverdueWorklist`, and built
7
+ * the same way — "inside the window" moves with the calendar, not with a write, so it is computed
8
+ * here, per request, from the schedule rows.
9
+ *
10
+ * Every date that crosses the boundary is `YYYY-MM-DD`. `RunView` hands back `Date` objects for a
11
+ * SQL `date` column, and stringifying one of those is how the overdue worklist once reported an
12
+ * order 46,264 days late.
13
+ */
14
+ import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
15
+ import { OrdersGetBillingWorklistOperation as OrdersGetBillingWorklistOperationBase, type OrdersGetBillingWorklistInput, type OrdersGetBillingWorklistOutput } from '@mj-biz-apps/orders-entities';
16
+ export declare class GetBillingWorklistOperation extends OrdersGetBillingWorklistOperationBase {
17
+ protected InternalExecute(input: OrdersGetBillingWorklistInput, provider: IMetadataProvider, user: UserInfo): Promise<OrdersGetBillingWorklistOutput>;
18
+ private empty;
19
+ }
20
+ /** Registers {@link GetBillingWorklistOperation}. Called from the server bootstrap. */
21
+ export declare function LoadGetBillingWorklistOperation(): void;
22
+ //# sourceMappingURL=GetBillingWorklistOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetBillingWorklistOperation.d.ts","sourceRoot":"","sources":["../src/GetBillingWorklistOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAmC,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EACH,iCAAiC,IAAI,qCAAqC,EAE1E,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EAEtC,MAAM,8BAA8B,CAAC;AA4CtC,qBACa,2BAA4B,SAAQ,qCAAqC;cAClE,eAAe,CAC3B,KAAK,EAAE,6BAA6B,EACpC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,8BAA8B,CAAC;IAkG1C,OAAO,CAAC,KAAK;CAGhB;AAED,uFAAuF;AACvF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
@@ -0,0 +1,136 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /**
8
+ * `Orders.GetBillingWorklist` — the due-with-no-invoice control (plan §6.3; W6).
9
+ *
10
+ * Jeremy's team relies on this today, by memory and spreadsheet: which instalments have entered
11
+ * their billing window and have no invoice behind them yet. Shipped as an operation with a screen
12
+ * rather than a report somebody remembers to run, next to `Orders.GetOverdueWorklist`, and built
13
+ * the same way — "inside the window" moves with the calendar, not with a write, so it is computed
14
+ * here, per request, from the schedule rows.
15
+ *
16
+ * Every date that crosses the boundary is `YYYY-MM-DD`. `RunView` hands back `Date` objects for a
17
+ * SQL `date` column, and stringifying one of those is how the overdue worklist once reported an
18
+ * order 46,264 days late.
19
+ */
20
+ import { BaseRemotableOperation, RunView } from '@memberjunction/core';
21
+ import { RegisterClass } from '@memberjunction/global';
22
+ import { OrdersGetBillingWorklistOperation as OrdersGetBillingWorklistOperationBase, ToISODate, } from '@mj-biz-apps/orders-entities';
23
+ import { ORDER_HEADER_ENTITY, ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY } from './entity-names.js';
24
+ import { RequireDate, RequireUUID } from './sql-guards.js';
25
+ const money = (v) => Math.round((Number(v) + Number.EPSILON) * 100) / 100;
26
+ /** Whole days from one ISO day to another, rounded so a DST transition cannot drift it. */
27
+ function daysBetween(from, to) {
28
+ const parse = (s) => {
29
+ const [y, m, d] = s.split('-').map(Number);
30
+ return Date.UTC(y, (m ?? 1) - 1, d ?? 1);
31
+ };
32
+ return Math.round((parse(to) - parse(from)) / 86_400_000);
33
+ }
34
+ /** `YYYY-MM-DD` plus a number of days. */
35
+ function addDays(iso, days) {
36
+ const [y, m, d] = iso.split('-').map(Number);
37
+ return new Date(Date.UTC(y, m - 1, d + days)).toISOString().slice(0, 10);
38
+ }
39
+ let GetBillingWorklistOperation = class GetBillingWorklistOperation extends OrdersGetBillingWorklistOperationBase {
40
+ async InternalExecute(input, provider, user) {
41
+ const asOf = RequireDate(input?.AsOfDate ?? new Date().toISOString().slice(0, 10), 'AsOfDate');
42
+ const windowDays = Math.max(0, Math.floor(Number(input?.WindowDays ?? 30)));
43
+ const windowEnd = addDays(asOf, windowDays);
44
+ const maxCount = input?.MaxCount ?? 500;
45
+ const filters = [`Status = 'Scheduled'`, `DueDate <= '${windowEnd}'`];
46
+ if (input?.CompanyIDs?.length) {
47
+ filters.push(`CompanyID IN (${input.CompanyIDs.map((id) => `'${RequireUUID(id, 'CompanyIDs')}'`).join(',')})`);
48
+ }
49
+ const rv = RunView.FromMetadataProvider(provider);
50
+ const due = await rv.RunView({
51
+ EntityName: ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY,
52
+ ExtraFilter: filters.join(' AND '),
53
+ OrderBy: 'DueDate, InstallmentNumber',
54
+ // One more than the cap, so truncation is reported rather than a partial list
55
+ // presented as complete.
56
+ MaxRows: maxCount + 1,
57
+ ResultType: 'simple',
58
+ }, user);
59
+ if (!due.Success)
60
+ return this.empty(`Could not read the payment schedule: ${due.ErrorMessage ?? 'unknown error'}`, asOf, windowEnd);
61
+ let rows = due.Results ?? [];
62
+ const truncated = rows.length > maxCount;
63
+ if (truncated)
64
+ rows = rows.slice(0, maxCount);
65
+ if (!rows.length)
66
+ return { ...this.empty('', asOf, windowEnd), Success: true, Message: undefined };
67
+ const orderIDs = [...new Set(rows.map((r) => `'${RequireUUID(r.OrderHeaderID, 'OrderHeaderID')}'`))].join(',');
68
+ const [orders, siblings] = await Promise.all([
69
+ rv.RunView({
70
+ EntityName: ORDER_HEADER_ENTITY,
71
+ ExtraFilter: `ID IN (${orderIDs})`,
72
+ Fields: ['ID', 'OrderNumber', 'Status', 'BillToOrganizationID', 'BillToPersonID', 'BillToOrganization', 'BillToPerson'],
73
+ ResultType: 'simple',
74
+ }, user),
75
+ // Every live instalment on those orders, so "2 of 4" can be said.
76
+ rv.RunView({
77
+ EntityName: ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY,
78
+ ExtraFilter: `OrderHeaderID IN (${orderIDs}) AND Status <> 'Canceled'`,
79
+ Fields: ['ID', 'OrderHeaderID', 'CompanyID'],
80
+ ResultType: 'simple',
81
+ }, user),
82
+ ]);
83
+ if (!orders.Success || !siblings.Success) {
84
+ return this.empty(`Could not read the orders behind the schedule: ${orders.ErrorMessage ?? siblings.ErrorMessage ?? 'unknown error'}`, asOf, windowEnd);
85
+ }
86
+ const orderByID = new Map((orders.Results ?? []).map((o) => [String(o.ID).toLowerCase(), o]));
87
+ const countKey = (orderID, companyID) => `${String(orderID).toLowerCase()}|${String(companyID).toLowerCase()}`;
88
+ const counts = new Map();
89
+ for (const s of siblings.Results ?? []) {
90
+ const k = countKey(s.OrderHeaderID, s.CompanyID);
91
+ counts.set(k, (counts.get(k) ?? 0) + 1);
92
+ }
93
+ const worklist = rows.map((r) => {
94
+ const order = orderByID.get(String(r.OrderHeaderID).toLowerCase());
95
+ const dueDate = ToISODate(r.DueDate) ?? asOf;
96
+ return {
97
+ OrderHeaderPaymentScheduleID: r.ID,
98
+ OrderHeaderID: r.OrderHeaderID,
99
+ OrderNumber: order?.OrderNumber ?? '—',
100
+ InstallmentNumber: Number(r.InstallmentNumber),
101
+ InstallmentCount: counts.get(countKey(r.OrderHeaderID, r.CompanyID)) ?? 1,
102
+ DueDate: dueDate,
103
+ DaysUntilDue: daysBetween(asOf, dueDate),
104
+ Amount: money(r.Amount),
105
+ CompanyID: r.CompanyID,
106
+ CompanyName: r.Company ?? '',
107
+ CustomerName: order?.BillToOrganization ?? order?.BillToPerson ?? '—',
108
+ BillToOrganizationID: order?.BillToOrganizationID ?? null,
109
+ BillToPersonID: order?.BillToPersonID ?? null,
110
+ Description: r.Description ?? null,
111
+ OrderStatus: order?.Status ?? '—',
112
+ };
113
+ });
114
+ return {
115
+ Success: true,
116
+ Rows: worklist,
117
+ TotalDue: money(worklist.reduce((s, r) => s + r.Amount, 0)),
118
+ RowCount: worklist.length,
119
+ Truncated: truncated,
120
+ AsOfDate: asOf,
121
+ WindowEnd: windowEnd,
122
+ };
123
+ }
124
+ empty(message, asOf, windowEnd) {
125
+ return { Success: false, Message: message, Rows: [], TotalDue: 0, RowCount: 0, Truncated: false, AsOfDate: asOf, WindowEnd: windowEnd };
126
+ }
127
+ };
128
+ GetBillingWorklistOperation = __decorate([
129
+ RegisterClass(BaseRemotableOperation, 'Orders.GetBillingWorklist')
130
+ ], GetBillingWorklistOperation);
131
+ export { GetBillingWorklistOperation };
132
+ /** Registers {@link GetBillingWorklistOperation}. Called from the server bootstrap. */
133
+ export function LoadGetBillingWorklistOperation() {
134
+ void GetBillingWorklistOperation;
135
+ }
136
+ //# sourceMappingURL=GetBillingWorklistOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetBillingWorklistOperation.js","sourceRoot":"","sources":["../src/GetBillingWorklistOperation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GetOverdueWorklistOperation.d.ts","sourceRoot":"","sources":["../src/GetOverdueWorklistOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACH,iCAAiC,IAAI,qCAAqC,EAC1E,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EAEtC,MAAM,8BAA8B,CAAC;AA6DtC;;;;;;GAMG;AACH,qBACa,2BAA4B,SAAQ,qCAAqC;cAClE,eAAe,CAC3B,KAAK,EAAE,6BAA6B,EACpC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,8BAA8B,CAAC;IAkG1C;;;;;;;OAOG;YACW,iBAAiB;IA+B/B,OAAO,CAAC,KAAK;CAWhB;AAED,uFAAuF;AACvF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
1
+ {"version":3,"file":"GetOverdueWorklistOperation.d.ts","sourceRoot":"","sources":["../src/GetOverdueWorklistOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACH,iCAAiC,IAAI,qCAAqC,EAC1E,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EAEtC,MAAM,8BAA8B,CAAC;AA+DtC;;;;;;GAMG;AACH,qBACa,2BAA4B,SAAQ,qCAAqC;cAClE,eAAe,CAC3B,KAAK,EAAE,6BAA6B,EACpC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,8BAA8B,CAAC;IAoG1C;;;;;;;OAOG;YACW,iBAAiB;IA+B/B,OAAO,CAAC,KAAK;CAWhB;AAED,uFAAuF;AACvF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
@@ -112,8 +112,10 @@ let GetOverdueWorklistOperation = class GetOverdueWorklistOperation extends Orde
112
112
  // threshold is relative to `asOf`, and expressing that as a date predicate
113
113
  // per row is less clear than one comparison.
114
114
  const minDays = input?.MinDaysOverdue ?? 0;
115
+ // Aged from the day that is actually due — the next unpaid instalment's, which the view
116
+ // computes as NextDueDate and which IS the header's DueDate for an order with no schedule.
115
117
  const aged = rows
116
- .map((row) => ({ row, days: daysBetween(toISODate(row.DueDate) ?? asOf, asOf) }))
118
+ .map((row) => ({ row, days: daysBetween(toISODate(row.NextDueDate ?? row.DueDate) ?? asOf, asOf) }))
117
119
  .filter(({ days }) => days >= minDays);
118
120
  const credits = await this.creditsByCustomer(aged.map((a) => a.row), provider, user);
119
121
  const worklist = aged.map(({ row, days }) => {
@@ -122,7 +124,7 @@ let GetOverdueWorklistOperation = class GetOverdueWorklistOperation extends Orde
122
124
  OrderHeaderID: row.ID,
123
125
  OrderNumber: row.OrderNumber,
124
126
  OrderDate: toISODate(row.OrderDate) ?? '',
125
- DueDate: toISODate(row.DueDate) ?? '',
127
+ DueDate: toISODate(row.NextDueDate ?? row.DueDate) ?? '',
126
128
  DaysOverdue: days,
127
129
  CompanyID: row.CompanyID,
128
130
  CompanyName: row.Company ?? '',
@@ -1 +1 @@
1
- {"version":3,"file":"GetOverdueWorklistOperation.js","sourceRoot":"","sources":["../src/GetOverdueWorklistOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetOverdueWorklistOperation.js","sourceRoot":"","sources":["../src/GetOverdueWorklistOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview `Orders.GetPriorReturns` — how much of a line has already gone back.
3
+ *
4
+ * WHY THIS IS AN OPERATION AND NOT A VIEW THE CALLER FILTERS. The number looks like a sum over
5
+ * reversal lines and is not one. Two rules sit on top of it, and both are the kind that produce a
6
+ * plausible wrong answer rather than an obvious one:
7
+ *
8
+ * · reversals SUM ACROSS ORDERS — two units back in March and two more in June are separate
9
+ * return orders, each individually within the original, and only the running total catches the
10
+ * third;
11
+ * · DRAFT AND VOIDED RETURNS DO NOT COUNT — a draft that never confirms would hold the customer's
12
+ * allowance hostage, and a voided one has already given it back.
13
+ *
14
+ * `ReversalResolver` already knows both, because the server enforces the real cap with them at
15
+ * confirm time. A screen that computed its own maximum from a view would be a SECOND copy of that
16
+ * rule, and the two would drift the first time either changed — with the screen's copy being the one
17
+ * nobody tests. So the screen asks the same code the server refuses with.
18
+ *
19
+ * READ-ONLY, and it writes nothing.
20
+ *
21
+ * CONNECTS TO:
22
+ * CODE: ReversalResolver.LoadReversalContext (the rule), ReversalBehavior.RemainingReturnable
23
+ * UI: the Return page's per-line maximum
24
+ * DOC: plans/archive/bizapps-orders-master.md D16
25
+ *
26
+ * @module @mj-biz-apps/orders-core-entities-server
27
+ */
28
+ import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
29
+ import { OrdersGetPriorReturnsOperation as OrdersGetPriorReturnsOperationBase, type GetPriorReturnsInput, type GetPriorReturnsOutput } from '@mj-biz-apps/orders-entities';
30
+ export declare class GetPriorReturnsOperation extends OrdersGetPriorReturnsOperationBase {
31
+ protected InternalExecute(input: GetPriorReturnsInput, provider: IMetadataProvider, user: UserInfo): Promise<GetPriorReturnsOutput>;
32
+ }
33
+ /** Tree-shaking anchor — call from the server bootstrap so @RegisterClass is retained. */
34
+ export declare function LoadGetPriorReturnsOperation(): void;
35
+ //# sourceMappingURL=GetPriorReturnsOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetPriorReturnsOperation.d.ts","sourceRoot":"","sources":["../src/GetPriorReturnsOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAA0B,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErG,OAAO,EACH,8BAA8B,IAAI,kCAAkC,EACpE,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC7B,MAAM,8BAA8B,CAAC;AAStC,qBACa,wBAAyB,SAAQ,kCAAkC;cAC5D,eAAe,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,qBAAqB,CAAC;CA+BpC;AAED,0FAA0F;AAC1F,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}