@mj-biz-apps/orders-entities 5.1.0 → 5.2.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 (40) hide show
  1. package/dist/OrderHeaderEntity.d.ts +15 -0
  2. package/dist/OrderHeaderEntity.d.ts.map +1 -1
  3. package/dist/OrderHeaderEntity.js +54 -1
  4. package/dist/OrderHeaderEntity.js.map +1 -1
  5. package/dist/OrderLineExtensionCompanion.d.ts.map +1 -1
  6. package/dist/OrderLineExtensionCompanion.js +8 -0
  7. package/dist/OrderLineExtensionCompanion.js.map +1 -1
  8. package/dist/OrderStatusBehavior.d.ts +31 -22
  9. package/dist/OrderStatusBehavior.d.ts.map +1 -1
  10. package/dist/OrderStatusBehavior.js +47 -51
  11. package/dist/OrderStatusBehavior.js.map +1 -1
  12. package/dist/PartyAffiliationBehavior.d.ts +20 -0
  13. package/dist/PartyAffiliationBehavior.d.ts.map +1 -0
  14. package/dist/PartyAffiliationBehavior.js +52 -0
  15. package/dist/PartyAffiliationBehavior.js.map +1 -0
  16. package/dist/configuration-types.d.ts +157 -0
  17. package/dist/configuration-types.d.ts.map +1 -0
  18. package/dist/configuration-types.js +10 -0
  19. package/dist/configuration-types.js.map +1 -0
  20. package/dist/generated/entity_subclasses.d.ts +859 -289
  21. package/dist/generated/entity_subclasses.d.ts.map +1 -1
  22. package/dist/generated/entity_subclasses.js +1180 -364
  23. package/dist/generated/entity_subclasses.js.map +1 -1
  24. package/dist/generated/remote_operations.d.ts +153 -2
  25. package/dist/generated/remote_operations.d.ts.map +1 -1
  26. package/dist/generated/remote_operations.js +144 -0
  27. package/dist/generated/remote_operations.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/pricing/OrderPricingService.d.ts +14 -7
  33. package/dist/pricing/OrderPricingService.d.ts.map +1 -1
  34. package/dist/pricing/OrderPricingService.js +2 -0
  35. package/dist/pricing/OrderPricingService.js.map +1 -1
  36. package/dist/pricing/PriceResolver.d.ts +11 -6
  37. package/dist/pricing/PriceResolver.d.ts.map +1 -1
  38. package/dist/pricing/PriceResolver.js +35 -22
  39. package/dist/pricing/PriceResolver.js.map +1 -1
  40. package/package.json +3 -3
@@ -205,5 +205,20 @@ export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity
205
205
  * @returns False when the order does not exist, leaving this entity unloaded.
206
206
  */
207
207
  LoadWithLines(orderHeaderID: string): Promise<boolean>;
208
+ /**
209
+ * Person-level party defaults after a bill-to / ship-to person is set.
210
+ *
211
+ * 1. Copy person bill-to ↔ ship-to when the other side's person is null.
212
+ * 2. For each side that has a person and no org, stamp the longest-lasting
213
+ * active Employee relationship's organization.
214
+ *
215
+ * Does not overwrite an org the user already chose. Skips booked/voided orders.
216
+ */
217
+ ApplyPersonPartyDefaults(changed?: 'BillTo' | 'ShipTo' | 'Both'): Promise<void>;
218
+ /**
219
+ * Stamp BillToOrganizationID or ShipToOrganizationID from the person's longest
220
+ * active Employee relationship when that side's org is still empty.
221
+ */
222
+ AutoPopulateEmployerOrganization(partyRole?: 'ShipTo' | 'BillTo', personID?: string | null): Promise<string | null>;
208
223
  }
209
224
  //# sourceMappingURL=OrderHeaderEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAwE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGzJ,OAAO,EAAE,gCAAgC,EAAsC,MAAM,+BAA+B,CAAC;AACrH,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAQhF,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAKxF,qBACa,iBAAkB,SAAQ,gCAAgC;IACnE;;;;;;;OAOG;IACH,SAAgB,cAAc,0BAA6D;IAE3F;;;OAGG;IACH,SAAgB,oBAAoB,gCAAmE;IAEhG,yBAAyB,IAAI,IAAI;IAKjC,kBAAkB,IAAI,IAAI;IAI1B,kBAAkB,IAAI,IAAI;IAIjC,IAAW,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAMlD;IAED,IAAW,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAmBtD;IAED,OAAO,CAAC,2BAA2B;IAanC;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,eAAe,UAAS;IAElC,kFAAkF;IAClF,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAOvC;;;;;;;;;;OAUG;IACH;;;;;;;;;OASG;IACH,SAAS,CAAC,uBAAuB,IAAI,iBAAiB;IAKtD,mGAAmG;IACnG,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAIrE;;;;;;OAMG;IACa,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAapD,QAAQ,IAAI,gBAAgB;IAiF5C;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IAcpC,4DAA4D;IAC5D,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;;;;OAKG;IACH,IAAW,WAAW,IAAI,OAAO,CAIhC;IAED;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA6C9B;;;;;;;;;;;;;OAaG;WACW,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB;IAuBpF;;;;;OAKG;IACI,kBAAkB,IAAI,kBAAkB,EAAE;IAUjD;;;;;;;;;;;;;;OAcG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzC;;;;;;OAMG;IACI,kBAAkB,IAAI,iBAAiB;IAe9C,kFAAkF;IAClF,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;;;;;;;;OAUG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;;;OAQG;IACU,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAMtE"}
1
+ {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAwE,gBAAgB,EAAW,KAAK,oBAAoB,EAAyB,MAAM,sBAAsB,CAAC;AAGzL,OAAO,EAAE,gCAAgC,EAAsC,MAAM,+BAA+B,CAAC;AACrH,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAQhF,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAKxF,qBACa,iBAAkB,SAAQ,gCAAgC;IACnE;;;;;;;OAOG;IACH,SAAgB,cAAc,0BAA6D;IAE3F;;;OAGG;IACH,SAAgB,oBAAoB,gCAAmE;IAEhG,yBAAyB,IAAI,IAAI;IAKjC,kBAAkB,IAAI,IAAI;IAI1B,kBAAkB,IAAI,IAAI;IAIjC,IAAW,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAMlD;IAED,IAAW,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAmBtD;IAED,OAAO,CAAC,2BAA2B;IAanC;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,eAAe,UAAS;IAElC,kFAAkF;IAClF,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAOvC;;;;;;;;;;OAUG;IACH;;;;;;;;;OASG;IACH,SAAS,CAAC,uBAAuB,IAAI,iBAAiB;IAKtD,mGAAmG;IACnG,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAIrE;;;;;;OAMG;IACa,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAapD,QAAQ,IAAI,gBAAgB;IAiF5C;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IAcpC,4DAA4D;IAC5D,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;;;;OAKG;IACH,IAAW,WAAW,IAAI,OAAO,CAIhC;IAED;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA6C9B;;;;;;;;;;;;;OAaG;WACW,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB;IAuBpF;;;;;OAKG;IACI,kBAAkB,IAAI,kBAAkB,EAAE;IAUjD;;;;;;;;;;;;;;OAcG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzC;;;;;;OAMG;IACI,kBAAkB,IAAI,iBAAiB;IAe9C,kFAAkF;IAClF,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;;;;;;;;OAUG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;;;OAQG;IACU,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOnE;;;;;;;;OAQG;IACU,wBAAwB,CAAC,OAAO,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpG;;;OAGG;IACU,gCAAgC,CACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,EACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAqB5B"}
@@ -40,12 +40,13 @@ import { BaseEntity, ValidationErrorInfo, ValidationErrorType } from '@memberjun
40
40
  import { RegisterClass } from '@memberjunction/global';
41
41
  import { mjBizAppsOrdersOrderHeaderEntity } from './generated/entity_subclasses.js';
42
42
  import { CanOfferConfirm, CanTransition, IsBooked } from './OrderStatusBehavior.js';
43
+ import { ResolveActiveEmployerOrganization } from './PartyAffiliationBehavior.js';
43
44
  import { PromotionCodesCompanion } from './PromotionCodesCompanion.js';
44
45
  import { InitialPaymentIntentCompanion } from './InitialPaymentIntentCompanion.js';
45
46
  import { IsSavePopulatedFieldError } from './save-populated-fields.js';
46
47
  import { BookedMoneyEditMessage, ORDER_HEADER_MONEY_FIELDS, ORDER_LINE_MONEY_FIELDS, } from './booked-money.js';
47
48
  /** Statuses that mean the order has been booked to the ledger (plan D8). */
48
- const BOOKED_STATUSES = new Set(['Confirmed', 'Posted', 'Fulfilled']);
49
+ const BOOKED_STATUSES = new Set(['Confirmed']);
49
50
  let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity {
50
51
  constructor() {
51
52
  super(...arguments);
@@ -448,6 +449,58 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
448
449
  await this.Lines.Load();
449
450
  return true;
450
451
  }
452
+ /**
453
+ * Person-level party defaults after a bill-to / ship-to person is set.
454
+ *
455
+ * 1. Copy person bill-to ↔ ship-to when the other side's person is null.
456
+ * 2. For each side that has a person and no org, stamp the longest-lasting
457
+ * active Employee relationship's organization.
458
+ *
459
+ * Does not overwrite an org the user already chose. Skips booked/voided orders.
460
+ */
461
+ async ApplyPersonPartyDefaults(changed = 'Both') {
462
+ if (this.Status === 'Voided' || this.IsBookedOrder)
463
+ return;
464
+ if (changed === 'BillTo' || changed === 'Both') {
465
+ if (this.BillToPersonID && !this.ShipToPersonID) {
466
+ this.ShipToPersonID = this.BillToPersonID;
467
+ }
468
+ }
469
+ if (changed === 'ShipTo' || changed === 'Both') {
470
+ if (this.ShipToPersonID && !this.BillToPersonID) {
471
+ this.BillToPersonID = this.ShipToPersonID;
472
+ }
473
+ }
474
+ await this.AutoPopulateEmployerOrganization('BillTo');
475
+ await this.AutoPopulateEmployerOrganization('ShipTo');
476
+ }
477
+ /**
478
+ * Stamp BillToOrganizationID or ShipToOrganizationID from the person's longest
479
+ * active Employee relationship when that side's org is still empty.
480
+ */
481
+ async AutoPopulateEmployerOrganization(partyRole = 'ShipTo', personID) {
482
+ const targetPersonID = personID ?? (partyRole === 'ShipTo' ? this.ShipToPersonID : this.BillToPersonID);
483
+ if (!targetPersonID)
484
+ return null;
485
+ const currentOrgID = partyRole === 'ShipTo' ? this.ShipToOrganizationID : this.BillToOrganizationID;
486
+ if (currentOrgID)
487
+ return currentOrgID;
488
+ const provider = this.ProviderToUse;
489
+ if (!provider)
490
+ return null;
491
+ const asOf = this.OrderDate ?? new Date();
492
+ const orgId = await ResolveActiveEmployerOrganization(provider, targetPersonID, asOf, this.ContextCurrentUser);
493
+ if (!orgId)
494
+ return null;
495
+ if (partyRole === 'ShipTo') {
496
+ if (!this.ShipToOrganizationID)
497
+ this.ShipToOrganizationID = orgId;
498
+ }
499
+ else if (!this.BillToOrganizationID) {
500
+ this.BillToOrganizationID = orgId;
501
+ }
502
+ return orgId;
503
+ }
451
504
  };
452
505
  OrderHeaderEntity = OrderHeaderEntity_1 = __decorate([
453
506
  RegisterClass(BaseEntity, 'MJ_BizApps_Orders: Order Headers')
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineExtensionCompanion.d.ts","sourceRoot":"","sources":["../src/OrderLineExtensionCompanion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACH,UAAU,EAEV,eAAe,EAEf,gBAAgB,EAChB,KAAK,8BAA8B,EAEtC,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,qFAAqF;IACrF,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,eAAe,CAAC,sBAAsB,CAAC;IACpF;;OAEG;IACH,SAAgB,IAAI,wBAAwB;IAE5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAuC;IAExD,4DAA4D;IAC5D,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;IAED,0DAA0D;IAC1D,IAAW,MAAM,IAAI,UAAU,GAAG,IAAI,CAErC;IAED,8EAA8E;IAC9E,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,mEAAmE;IACnE,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,8DAA8D;IAC9D,IAAoB,KAAK,IAAI,OAAO,CAKnC;IAED;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAMjD;;OAEG;IACU,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAkD1E,kBAAkB;IACI,SAAS,CAC3B,IAAI,GAAE,8BAA0C,GACjD,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAyBzC,kBAAkB;IACI,WAAW,CAC7B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,GAAE,8BAA0C,GACjD,OAAO,CAAC,IAAI,CAAC;IAoBhB,kBAAkB;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAgBxD,kBAAkB;IACF,aAAa,IAAI,IAAI;CAKxC"}
1
+ {"version":3,"file":"OrderLineExtensionCompanion.d.ts","sourceRoot":"","sources":["../src/OrderLineExtensionCompanion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACH,UAAU,EAEV,eAAe,EAEf,gBAAgB,EAChB,KAAK,8BAA8B,EAEtC,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,qFAAqF;IACrF,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,eAAe,CAAC,sBAAsB,CAAC;IACpF;;OAEG;IACH,SAAgB,IAAI,wBAAwB;IAE5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAuC;IAExD,4DAA4D;IAC5D,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;IAED,0DAA0D;IAC1D,IAAW,MAAM,IAAI,UAAU,GAAG,IAAI,CAErC;IAED,8EAA8E;IAC9E,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,mEAAmE;IACnE,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,8DAA8D;IAC9D,IAAoB,KAAK,IAAI,OAAO,CAKnC;IAED;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAMjD;;OAEG;IACU,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA2D1E,kBAAkB;IACI,SAAS,CAC3B,IAAI,GAAE,8BAA0C,GACjD,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAyBzC,kBAAkB;IACI,WAAW,CAC7B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,GAAE,8BAA0C,GACjD,OAAO,CAAC,IAAI,CAAC;IAoBhB,kBAAkB;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAgBxD,kBAAkB;IACF,aAAa,IAAI,IAAI;CAKxC"}
@@ -84,6 +84,14 @@ export class OrderLineExtensionCompanion extends EntityCompanion {
84
84
  ext.SetMany(this._wireData.Fields, true);
85
85
  }
86
86
  }
87
+ else if (lineId && this.Owner.IsSaved) {
88
+ const key = new CompositeKey(ext.EntityInfo.PrimaryKeys.map(pk => new KeyValuePair(pk.Name, lineId)));
89
+ const loaded = await ext.InnerLoad(key);
90
+ if (!loaded) {
91
+ ext.NewRecord();
92
+ ext.Set('ID', lineId);
93
+ }
94
+ }
87
95
  else {
88
96
  ext.NewRecord();
89
97
  if (lineId) {
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineExtensionCompanion.js","sourceRoot":"","sources":["../src/OrderLineExtensionCompanion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderLineExtensionCompanion.js","sourceRoot":"","sources":["../src/OrderLineExtensionCompanion.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,8 @@
2
2
  * @fileoverview What an order's status MEANS, and which statuses it may move to — stated once.
3
3
  *
4
4
  * WHY THIS EXISTS. The database enforces the legal SET (`CK_OrderHeader_Status`) and nothing enforced
5
- * the legal MOVES. `Fulfilled → Draft` saved. `Voided → Confirmed` saved. A voided order could come
6
- * back to life, keep its journal entries, and be shipped — every row individually valid, the CHECK
7
- * constraint satisfied, and no test looking.
5
+ * the legal MOVES. `Voided → Confirmed` saved. A voided order could come back to life, keep its journal
6
+ * entries, and be shipped — every row individually valid, the CHECK constraint satisfied, and no test looking.
8
7
  *
9
8
  * The second half of the problem was quieter. Six modules each held their own opinion about what a
10
9
  * status permits, written as ad-hoc string sets that had drifted apart:
@@ -15,20 +14,24 @@
15
14
  * `FulfillmentBehavior` nothing before Confirmed
16
15
  * `ReversalResolver` skips Draft, Voided
17
16
  *
18
- * `Cancelled` and `Canceled` are not legal `OrderHeader.Status` values at all — that set guards
19
- * against states which cannot occur, which is proof these were written from memory rather than from a
20
- * shared definition. Harmless there; not harmless as a pattern, because the next one written from
21
- * memory omits a status that CAN occur and the omission looks like every other line of the set.
22
- *
23
17
  * So the statuses, the transitions and the predicates live here, pure and testable, and the entity
24
18
  * server enforces them on the one path every write goes through.
25
19
  *
26
- * @module @mj-biz-apps/orders-core-entities-server
20
+ * 3-WAY ORTHOGONAL LIFECYCLE MODEL:
21
+ * 1. `Status`: Pure commercial contract state (Draft <-> Quoted -> Confirmed; Voided <-> Draft/Quoted).
22
+ * 2. `FulfillmentStatus`: Operational delivery state (Pending | PartiallyFulfilled | Fulfilled | NotApplicable | Returned).
23
+ * 3. Financial/Payment Progress: Pure numeric facts (TotalGross, AmountPaid, Balance, IsOverdue).
24
+ *
25
+ * @module @mj-biz-apps/orders-entities
27
26
  */
28
- /** The six values `CK_OrderHeader_Status` permits. */
29
- export declare const ORDER_STATUSES: readonly ["Draft", "Quoted", "Confirmed", "Posted", "Fulfilled", "Voided"];
30
- export type OrderStatus = (typeof ORDER_STATUSES)[number];
27
+ import type { mjBizAppsOrdersOrderHeaderEntity } from './generated/entity_subclasses.js';
28
+ /** The four values `CK_OrderHeader_Status` permits. */
29
+ export declare const ORDER_STATUSES: readonly ["Draft", "Quoted", "Confirmed", "Voided"];
30
+ export type OrderStatus = mjBizAppsOrdersOrderHeaderEntity['Status'];
31
+ export declare const ORDER_FULFILLMENT_STATUSES: readonly ["Pending", "PartiallyFulfilled", "Fulfilled", "NotApplicable", "Returned"];
32
+ export type OrderFulfillmentStatus = mjBizAppsOrdersOrderHeaderEntity['FulfillmentStatus'];
31
33
  export declare function IsOrderStatus(value: string | null | undefined): value is OrderStatus;
34
+ export declare function IsOrderFulfillmentStatus(value: string | null | undefined): value is OrderFulfillmentStatus;
32
35
  export interface TransitionVerdict {
33
36
  Allowed: boolean;
34
37
  /** Present when refused — says what was attempted and why it is not a move. */
@@ -38,8 +41,7 @@ export interface TransitionVerdict {
38
41
  * May this order move from `from` to `to`?
39
42
  *
40
43
  * AN UNKNOWN STATUS IS REFUSED, not ignored. The CHECK constraint would catch it a moment later with
41
- * a message naming a constraint rather than a status, and a caller that mistyped 'Complete' deserves
42
- * to be told that is not one of the six.
44
+ * a message naming a constraint rather than a status.
43
45
  */
44
46
  export declare function CanTransition(from: string | null | undefined, to: string | null | undefined): TransitionVerdict;
45
47
  /** Every status reachable from this one, excluding staying put. Empty for a terminal status. */
@@ -56,22 +58,29 @@ export declare function IsEditable(status: string): boolean;
56
58
  export declare function CanOfferConfirm(status: string | null | undefined): TransitionVerdict;
57
59
  /**
58
60
  * The order has booked — journal entries exist and the receivable is real.
59
- *
60
- * This is the test for "does this order owe money", used by the collections worklist and by anything
61
- * reconciling against the ledger.
62
61
  */
63
62
  export declare function IsBooked(status: string): boolean;
64
63
  /** Nothing further will happen to this order of its own accord. */
65
64
  export declare function IsTerminal(status: string): boolean;
66
65
  /**
67
66
  * May a document for this order be SENT to a customer as a bill?
68
- *
69
- * A quote is deliverable — it is simply not a bill, which is the document kind's problem and not
70
- * this one. A draft is nobody's business yet, and a voided order still RENDERS (so somebody can look
71
- * at what was voided) but must never be emailed: a bill for money nobody owes is indistinguishable
72
- * from a real one once it is in an inbox.
73
67
  */
74
68
  export declare function IsDeliverable(status: string): boolean;
75
69
  /** Does this order count toward what a customer owes? */
76
70
  export declare function CountsTowardReceivable(status: string): boolean;
71
+ export interface FulfillableLineLike {
72
+ RequiresFulfillment?: boolean | null;
73
+ ReversesOrderLineID?: string | null;
74
+ IsRollupParent?: boolean | null;
75
+ FulfillmentStatus?: string | null;
76
+ }
77
+ /**
78
+ * Computes the header FulfillmentStatus rolled up across its order lines.
79
+ */
80
+ export declare function DeriveHeaderFulfillmentStatus(lines: readonly FulfillableLineLike[]): OrderFulfillmentStatus;
81
+ export type DerivedPaymentStatus = 'Unpaid' | 'PartiallyPaid' | 'Paid';
82
+ /**
83
+ * Derives payment status purely from numeric financial totals.
84
+ */
85
+ export declare function DerivePaymentStatus(totalGross: number | null | undefined, amountPaid: number | null | undefined, balance: number | null | undefined): DerivedPaymentStatus;
77
86
  //# sourceMappingURL=OrderStatusBehavior.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderStatusBehavior.d.ts","sourceRoot":"","sources":["../src/OrderStatusBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,sDAAsD;AACtD,eAAO,MAAM,cAAc,4EAA6E,CAAC;AAEzG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,WAAW,CAEpF;AA4BD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CA0C/G;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAEtE;AAQD,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAWpF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"OrderStatusBehavior.d.ts","sourceRoot":"","sources":["../src/OrderStatusBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,uDAAuD;AACvD,eAAO,MAAM,cAAc,qDAAsD,CAAC;AAElF,MAAM,MAAM,WAAW,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;AAErE,eAAO,MAAM,0BAA0B,sFAM7B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;AAE3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,WAAW,CAEpF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,sBAAsB,CAE1G;AAwBD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CA0C/G;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAEtE;AAID,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAWpF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,MAAM,WAAW,mBAAmB;IAChC,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,sBAAsB,CAe3G;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEvE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,oBAAoB,CAQtB"}
@@ -1,37 +1,20 @@
1
- /**
2
- * @fileoverview What an order's status MEANS, and which statuses it may move to — stated once.
3
- *
4
- * WHY THIS EXISTS. The database enforces the legal SET (`CK_OrderHeader_Status`) and nothing enforced
5
- * the legal MOVES. `Fulfilled → Draft` saved. `Voided → Confirmed` saved. A voided order could come
6
- * back to life, keep its journal entries, and be shipped — every row individually valid, the CHECK
7
- * constraint satisfied, and no test looking.
8
- *
9
- * The second half of the problem was quieter. Six modules each held their own opinion about what a
10
- * status permits, written as ad-hoc string sets that had drifted apart:
11
- *
12
- * `GetOverdueWorklist` excludes Draft, Quoted, Voided
13
- * `DeliveryBehavior` excludes Draft, Voided, Cancelled, Canceled
14
- * `InvoiceBehavior` refuses Voided
15
- * `FulfillmentBehavior` nothing before Confirmed
16
- * `ReversalResolver` skips Draft, Voided
17
- *
18
- * `Cancelled` and `Canceled` are not legal `OrderHeader.Status` values at all — that set guards
19
- * against states which cannot occur, which is proof these were written from memory rather than from a
20
- * shared definition. Harmless there; not harmless as a pattern, because the next one written from
21
- * memory omits a status that CAN occur and the omission looks like every other line of the set.
22
- *
23
- * So the statuses, the transitions and the predicates live here, pure and testable, and the entity
24
- * server enforces them on the one path every write goes through.
25
- *
26
- * @module @mj-biz-apps/orders-core-entities-server
27
- */
28
- /** The six values `CK_OrderHeader_Status` permits. */
29
- export const ORDER_STATUSES = ['Draft', 'Quoted', 'Confirmed', 'Posted', 'Fulfilled', 'Voided'];
1
+ /** The four values `CK_OrderHeader_Status` permits. */
2
+ export const ORDER_STATUSES = ['Draft', 'Quoted', 'Confirmed', 'Voided'];
3
+ export const ORDER_FULFILLMENT_STATUSES = [
4
+ 'Pending',
5
+ 'PartiallyFulfilled',
6
+ 'Fulfilled',
7
+ 'NotApplicable',
8
+ 'Returned',
9
+ ];
30
10
  export function IsOrderStatus(value) {
31
11
  return !!value && ORDER_STATUSES.includes(value);
32
12
  }
13
+ export function IsOrderFulfillmentStatus(value) {
14
+ return !!value && ORDER_FULFILLMENT_STATUSES.includes(value);
15
+ }
33
16
  /**
34
- * Where each status may go.
17
+ * Where each commercial status may go.
35
18
  *
36
19
  * THE SHAPE OF THE LIFECYCLE.
37
20
  * - `Draft` and `Quoted` are the two pre-booking editable states. They may move to each other
@@ -40,31 +23,26 @@ export function IsOrderStatus(value) {
40
23
  * `Quoted`. Direct transition from `Voided` to `Confirmed` is blocked (must reopen as Draft/Quote first).
41
24
  * - `Confirmed` is the irreversible booking gate: it books journal entries (D8), which is why
42
25
  * nothing returns to an editable state or moves to `Voided` from there.
43
- * - After `Confirmed`, the order advances forward (`Confirmed` → `Posted` → `Fulfilled`).
44
26
  * - Post-booking cancellations/corrections go through **Reversal Orders** (D16/D53) rather than in-place
45
27
  * status changes to `Voided`, ensuring correcting journal entries are properly recorded.
46
- * - `Fulfilled` is the terminal stage of an order lifecycle.
47
28
  *
48
29
  * A status may always be re-saved as itself — an ordinary row update that touches other columns.
49
30
  */
50
31
  const TRANSITIONS = {
51
32
  Draft: ['Quoted', 'Confirmed', 'Voided'],
52
33
  Quoted: ['Draft', 'Confirmed', 'Voided'],
53
- Confirmed: ['Posted', 'Fulfilled'],
54
- Posted: ['Fulfilled'],
55
- Fulfilled: [],
34
+ Confirmed: [],
56
35
  Voided: ['Draft', 'Quoted'],
57
36
  };
58
37
  /**
59
38
  * May this order move from `from` to `to`?
60
39
  *
61
40
  * AN UNKNOWN STATUS IS REFUSED, not ignored. The CHECK constraint would catch it a moment later with
62
- * a message naming a constraint rather than a status, and a caller that mistyped 'Complete' deserves
63
- * to be told that is not one of the six.
41
+ * a message naming a constraint rather than a status.
64
42
  */
65
43
  export function CanTransition(from, to) {
66
44
  // A new order has no previous status; it may be created in any legal state. Creating one directly
67
- // as Confirmed is exactly what back-office entry does: save at Confirmed, then advance (D17).
45
+ // as Confirmed is exactly what back-office entry does: save at Confirmed (D17).
68
46
  if (from == null || from === '') {
69
47
  return IsOrderStatus(to)
70
48
  ? { Allowed: true }
@@ -106,10 +84,6 @@ export function NextStatuses(from) {
106
84
  return TRANSITIONS[from];
107
85
  }
108
86
  // ── What a status PERMITS ────────────────────────────────────────────────────────────────────────
109
- //
110
- // The predicates the rest of the app used to spell out as inline string sets. Each names the question
111
- // it answers rather than the statuses it happens to match, so a new status is one edit here instead
112
- // of five greps.
113
87
  /** Editable: lines may be added, repriced and removed. Booking has not happened. */
114
88
  export function IsEditable(status) {
115
89
  return status === 'Draft' || status === 'Quoted';
@@ -135,12 +109,9 @@ export function CanOfferConfirm(status) {
135
109
  }
136
110
  /**
137
111
  * The order has booked — journal entries exist and the receivable is real.
138
- *
139
- * This is the test for "does this order owe money", used by the collections worklist and by anything
140
- * reconciling against the ledger.
141
112
  */
142
113
  export function IsBooked(status) {
143
- return status === 'Confirmed' || status === 'Posted' || status === 'Fulfilled';
114
+ return status === 'Confirmed';
144
115
  }
145
116
  /** Nothing further will happen to this order of its own accord. */
146
117
  export function IsTerminal(status) {
@@ -148,11 +119,6 @@ export function IsTerminal(status) {
148
119
  }
149
120
  /**
150
121
  * May a document for this order be SENT to a customer as a bill?
151
- *
152
- * A quote is deliverable — it is simply not a bill, which is the document kind's problem and not
153
- * this one. A draft is nobody's business yet, and a voided order still RENDERS (so somebody can look
154
- * at what was voided) but must never be emailed: a bill for money nobody owes is indistinguishable
155
- * from a real one once it is in an inbox.
156
122
  */
157
123
  export function IsDeliverable(status) {
158
124
  return status !== 'Draft' && status !== 'Voided';
@@ -161,4 +127,34 @@ export function IsDeliverable(status) {
161
127
  export function CountsTowardReceivable(status) {
162
128
  return IsBooked(status);
163
129
  }
130
+ /**
131
+ * Computes the header FulfillmentStatus rolled up across its order lines.
132
+ */
133
+ export function DeriveHeaderFulfillmentStatus(lines) {
134
+ const fulfillable = lines.filter((l) => !!l.RequiresFulfillment && !l.ReversesOrderLineID && !l.IsRollupParent);
135
+ if (fulfillable.length === 0) {
136
+ return 'NotApplicable';
137
+ }
138
+ const fulfilledCount = fulfillable.filter((l) => l.FulfillmentStatus === 'Fulfilled').length;
139
+ if (fulfilledCount === fulfillable.length) {
140
+ return 'Fulfilled';
141
+ }
142
+ if (fulfilledCount > 0) {
143
+ return 'PartiallyFulfilled';
144
+ }
145
+ return 'Pending';
146
+ }
147
+ /**
148
+ * Derives payment status purely from numeric financial totals.
149
+ */
150
+ export function DerivePaymentStatus(totalGross, amountPaid, balance) {
151
+ const gross = Number(totalGross ?? 0);
152
+ const paid = Number(amountPaid ?? 0);
153
+ const bal = balance != null ? Number(balance) : gross - paid;
154
+ if (bal <= 0 && gross > 0)
155
+ return 'Paid';
156
+ if (paid > 0)
157
+ return 'PartiallyPaid';
158
+ return 'Unpaid';
159
+ }
164
160
  //# sourceMappingURL=OrderStatusBehavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderStatusBehavior.js","sourceRoot":"","sources":["../src/OrderStatusBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderStatusBehavior.js","sourceRoot":"","sources":["../src/OrderStatusBehavior.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @fileoverview `PartyAffiliationBehavior` — party and employer resolution helpers.
3
+ *
4
+ * @module @mj-biz-apps/orders-entities
5
+ */
6
+ import { type IRunViewProvider, type UserInfo } from '@memberjunction/core';
7
+ export type ActiveEmployerRow = {
8
+ ToOrganizationID: string;
9
+ StartDate?: Date | string | null;
10
+ EndDate?: Date | string | null;
11
+ };
12
+ /**
13
+ * Active Employee relationship to an organization as of `asOf`.
14
+ * Zero matches → null. One match → that org. Several → the longest-lasting
15
+ * (earliest StartDate / longest span; a null StartDate counts as longest).
16
+ */
17
+ export declare function ResolveActiveEmployerOrganization(provider: IRunViewProvider, personID: string, asOf?: Date, user?: UserInfo): Promise<string | null>;
18
+ /** @deprecated Use {@link ResolveActiveEmployerOrganization} — multiple employers now pick the longest-lasting. */
19
+ export declare function ResolveSingularActiveEmployerOrganization(provider: IRunViewProvider, personID: string, asOf?: Date, user?: UserInfo): Promise<string | null>;
20
+ //# sourceMappingURL=PartyAffiliationBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartyAffiliationBehavior.d.ts","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAW,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAUF;;;;GAIG;AACH,wBAAsB,iCAAiC,CACnD,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BxB;AAED,mHAAmH;AACnH,wBAAsB,yCAAyC,CAC3D,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @fileoverview `PartyAffiliationBehavior` — party and employer resolution helpers.
3
+ *
4
+ * @module @mj-biz-apps/orders-entities
5
+ */
6
+ import { RunView } from '@memberjunction/core';
7
+ function durationMs(row, asOf) {
8
+ const start = row.StartDate ? new Date(row.StartDate).getTime() : 0;
9
+ const endRaw = row.EndDate ? new Date(row.EndDate).getTime() : asOf.getTime();
10
+ const end = Number.isFinite(endRaw) ? endRaw : asOf.getTime();
11
+ const begin = Number.isFinite(start) ? start : 0;
12
+ return Math.max(0, end - begin);
13
+ }
14
+ /**
15
+ * Active Employee relationship to an organization as of `asOf`.
16
+ * Zero matches → null. One match → that org. Several → the longest-lasting
17
+ * (earliest StartDate / longest span; a null StartDate counts as longest).
18
+ */
19
+ export async function ResolveActiveEmployerOrganization(provider, personID, asOf = new Date(), user) {
20
+ if (!personID || !provider)
21
+ return null;
22
+ const rv = new RunView(provider);
23
+ const date = asOf.toISOString().slice(0, 10);
24
+ try {
25
+ const res = await rv.RunView({
26
+ EntityName: 'MJ_BizApps_Common: Relationships',
27
+ ExtraFilter: `FromPersonID='${personID.replace(/'/g, "''")}' AND ToOrganizationID IS NOT NULL ` +
28
+ `AND Status='Active' ` +
29
+ `AND (StartDate IS NULL OR StartDate <= '${date}') ` +
30
+ `AND (EndDate IS NULL OR EndDate >= '${date}') ` +
31
+ `AND RelationshipType IN ('Employer', 'Employee', 'Employment')`,
32
+ Fields: ['ToOrganizationID', 'StartDate', 'EndDate'],
33
+ ResultType: 'simple',
34
+ BypassCache: true,
35
+ }, user);
36
+ const rows = (res?.Success ? res.Results : null) ?? [];
37
+ if (rows.length === 0)
38
+ return null;
39
+ if (rows.length === 1)
40
+ return rows[0].ToOrganizationID ?? null;
41
+ const best = [...rows].sort((a, b) => durationMs(b, asOf) - durationMs(a, asOf))[0];
42
+ return best?.ToOrganizationID ?? null;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ /** @deprecated Use {@link ResolveActiveEmployerOrganization} — multiple employers now pick the longest-lasting. */
49
+ export async function ResolveSingularActiveEmployerOrganization(provider, personID, asOf = new Date(), user) {
50
+ return ResolveActiveEmployerOrganization(provider, personID, asOf, user);
51
+ }
52
+ //# sourceMappingURL=PartyAffiliationBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartyAffiliationBehavior.js","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"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"}