@mj-biz-apps/sales-core-entities-server 6.7.1 → 6.8.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.
@@ -114,7 +114,26 @@ export declare class CloseDealOperation extends SalesCloseDealOperationBase {
114
114
  * core, so that step is skipped and recorded in CLOSE-FLOW-DECISIONS.md D-CF5 rather than faked.
115
115
  */
116
116
  private stampClose;
117
- /** A human-readable record of what the policy routed, and what actually happened. */
117
+ /**
118
+ * A human-readable record of what the policy routed, and what actually happened.
119
+ *
120
+ * ── AND, ON A LOST CLOSE, WHICH REASON WAS CHOSEN ──────────────────────────────────────────────
121
+ *
122
+ * `close-lock.ts` freezes `LossReasonID` on every deal on the stated grounds that "the close event
123
+ * records which reason was chosen". It did not: this note carried the caller's text and the routing
124
+ * outcomes and nothing else, so the reason existed only on the deal header -- one mutable field, with
125
+ * no record of what it held at the moment of the loss. The rationale for the freeze was true of
126
+ * nothing.
127
+ *
128
+ * It belongs on the CLOSE row specifically, not the reopen row. golive#205 clears the header on
129
+ * reopen, which would otherwise mean a reopened deal loses the fact entirely; but the deal that
130
+ * matters most here is the one that STAYS lost and is never reopened, and that deal has no reopen
131
+ * event to carry it. The row that describes the loss is the one that should name it.
132
+ *
133
+ * `lossTrailFor` still puts it on the reopen event as well, and that is deliberate rather than
134
+ * overlooked: the reopen row records the CLEARING, and a reader asking why the header is empty
135
+ * should not have to find the close row to learn what was removed. Each row stays self-describing.
136
+ */
118
137
  private routingNote;
119
138
  private loadStatusFlags;
120
139
  /** Split by the type's `IsRecurring` FLAG. A join, so one read rather than one per line. */
@@ -1 +1 @@
1
- {"version":3,"file":"CloseDealOperation.d.ts","sourceRoot":"","sources":["../src/CloseDealOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAGH,iBAAiB,EAIjB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EACH,uBAAuB,IAAI,2BAA2B,EACtD,wBAAwB,IAAI,4BAA4B,EAKxD,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAIzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC7B,MAAM,6BAA6B,CAAC;AAsJrC,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAKxE;AAED,wBAAgB,iBAAiB,IAAI,eAAe,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAyCD,qBACa,kBAAmB,SAAQ,2BAA2B;cAC/C,eAAe,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,oBAAoB,CAAC;IAmRhC;;;;;OAKG;YACW,QAAQ;IA0CtB;;;;;;OAMG;YACW,aAAa;IAgC3B;;;;;;;;;;;;OAYG;YACW,WAAW;IA4BzB,0FAA0F;YAC5E,OAAO;IAoCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;YACW,sBAAsB;IAgDpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAkDlB,qFAAqF;IACrF,OAAO,CAAC,WAAW;YAqBL,eAAe;IA+B7B,4FAA4F;YAC9E,6BAA6B;YAsB7B,kBAAkB;CAgDnC;AAED;;;;;GAKG;AACH,qBACa,mBAAoB,SAAQ,4BAA4B;cACjD,eAAe,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,qBAAqB,CAAC;YA8MnB,aAAa;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;YACW,wBAAwB;IA6CtC,wFAAwF;YAC1E,eAAe;CAkBhC"}
1
+ {"version":3,"file":"CloseDealOperation.d.ts","sourceRoot":"","sources":["../src/CloseDealOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAGH,iBAAiB,EAIjB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EACH,uBAAuB,IAAI,2BAA2B,EACtD,wBAAwB,IAAI,4BAA4B,EAKxD,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAIzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC7B,MAAM,6BAA6B,CAAC;AA8LrC,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAKxE;AAED,wBAAgB,iBAAiB,IAAI,eAAe,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAyCD,qBACa,kBAAmB,SAAQ,2BAA2B;cAC/C,eAAe,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,oBAAoB,CAAC;IA2RhC;;;;;OAKG;YACW,QAAQ;IAsDtB;;;;;;OAMG;YACW,aAAa;IAgC3B;;;;;;;;;;;;OAYG;YACW,WAAW;IA4BzB,0FAA0F;YAC5E,OAAO;IAoCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;YACW,sBAAsB;IAgDpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAmDlB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,WAAW;YA4BL,eAAe;IA+B7B,4FAA4F;YAC9E,6BAA6B;YAsB7B,kBAAkB;CAgDnC;AAED;;;;;GAKG;AACH,qBACa,mBAAoB,SAAQ,4BAA4B;cACjD,eAAe,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,qBAAqB,CAAC;YA0QnB,aAAa;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;YACW,wBAAwB;IA6CtC,wFAAwF;YAC1E,eAAe;CAkBhC"}
@@ -85,6 +85,32 @@ function issue(Section, Message, Field = null) {
85
85
  *
86
86
  * `Severity: 'warning'` is already in the published union, so this needs no contract change.
87
87
  */
88
+ /**
89
+ * What a reopen must carry out of the loss fields before it clears them (golive#205).
90
+ *
91
+ * Returns a suffix for the reopen event's note, or '' when the deal was not lost.
92
+ *
93
+ * ── READ FROM THE RECORD, NOT LOOKED UP ────────────────────────────────────────────────────────
94
+ *
95
+ * This ran a `RunView` against `MJ_BizApps_Sales: Loss Reasons` to turn the id into a name, wrapped
96
+ * in a try/catch that degraded to writing a raw GUID into an append-only row. None of that was
97
+ * needed: `vwDeals` projects `LossReason` and `DealEntity` exposes it, so `deal.Load()` has already
98
+ * populated the name by the time the reopen runs, and nothing mutates it before the clear below.
99
+ * CLAUDE.md prefers a denormalized view field over a separate lookup, and this removes the query,
100
+ * the provider cast and the failure mode in one go.
101
+ *
102
+ * The id remains the fallback for the case the name cannot be read at all, because an id in an audit
103
+ * note is still recoverable by hand and losing the only copy is not.
104
+ */
105
+ function lossTrailFor(deal) {
106
+ const reasonID = deal.LossReasonID;
107
+ if (!reasonID) {
108
+ return '';
109
+ }
110
+ // The REASON only. `LossNotes` is not cleared, so it needs no rescuing -- carrying it here as well
111
+ // would duplicate onto an append-only row text that is still sitting on the deal.
112
+ return ` (was lost: ${deal.LossReason ?? `reason ${reasonID}`})`;
113
+ }
88
114
  function orderStatusIssues(deal) {
89
115
  return deal.OrderStatusWarnings.map((Message) => ({
90
116
  Section: 'deal',
@@ -272,8 +298,8 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
272
298
  }
273
299
  // ── 2. Validate what this particular close requires ───────────────────
274
300
  const validation = await this.validate(deal, input, target, provider, user);
275
- if (validation.length) {
276
- return { ...empty, IsWon: target.IsWon, IsLost: target.IsLost, Issues: validation };
301
+ if (validation.Issues.length) {
302
+ return { ...empty, IsWon: target.IsWon, IsLost: target.IsLost, Issues: validation.Issues };
277
303
  }
278
304
  // ── 3. Resolve the effective policy, and route ────────────────────────
279
305
  // A LOST deal routes nowhere: §7.2 step 2 writes the stage event, locks, and is done.
@@ -344,7 +370,7 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
344
370
  const derivedClosingStageID = input.ClosingStageID
345
371
  ? null
346
372
  : await this.closingStageForOutcome(deal.PipelineID, target, provider, user);
347
- this.stampClose(deal, input, target, routing, user, derivedClosingStageID);
373
+ this.stampClose(deal, input, target, routing, user, derivedClosingStageID, validation.LossReasonName);
348
374
  if (!(await deal.Save())) {
349
375
  throw new Error(`the deal could not be saved: ${deal.LatestResult?.CompleteMessage ?? 'unknown error'}`);
350
376
  }
@@ -481,31 +507,43 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
481
507
  */
482
508
  async validate(deal, input, target, provider, user) {
483
509
  const issues = [];
510
+ let lossReasonName = null;
484
511
  if (target.IsLost) {
485
512
  const lossReasonID = input.LossReasonID ?? deal.LossReasonID;
486
513
  if (!lossReasonID) {
487
514
  issues.push(issue('deal', 'A loss reason is required to close a deal as lost.', 'LossReasonID'));
488
515
  }
489
516
  else {
490
- // Some reasons demand an explanation — the flag says which, never the reason's name.
517
+ /**
518
+ * `RequiresNotes` decides; `Name` is carried out for the close event's note and decides
519
+ * nothing. The rule stays what it was -- the FLAG says which reasons demand an
520
+ * explanation, never the reason's name -- and reading one more column of a row this
521
+ * method already fetches is what keeps `stampClose` from needing a lookup of its own.
522
+ *
523
+ * It is read HERE rather than from `deal.LossReason` because the id being closed with is
524
+ * `input.LossReasonID ?? deal.LossReasonID`: when the caller supplies one, the
525
+ * denormalized name still describes the reason the deal used to carry, not this one.
526
+ */
491
527
  const view = provider;
492
528
  const r = await view.RunView({
493
529
  EntityName: LOSS_REASON_ENTITY,
494
530
  ExtraFilter: `ID = '${lossReasonID}'`,
495
531
  ResultType: 'simple',
496
- Fields: ['RequiresNotes'],
532
+ Fields: ['RequiresNotes', 'Name'],
497
533
  }, user);
498
534
  const row = (r.Results ?? [])[0];
499
535
  const notes = input.LossNotes ?? deal.LossNotes;
500
536
  if (r.Success && row?.RequiresNotes === true && !notes?.trim()) {
501
537
  issues.push(issue('deal', 'This loss reason requires notes explaining the loss.', 'LossNotes'));
502
538
  }
539
+ // The id is the fallback: an id in an audit note is recoverable by hand, a blank is not.
540
+ lossReasonName = row?.Name?.trim() || `reason ${lossReasonID}`;
503
541
  }
504
542
  }
505
543
  if (target.IsWon && !deal.AccountID) {
506
544
  issues.push(issue('party', 'A won deal must be attached to a customer.', 'AccountID'));
507
545
  }
508
- return issues;
546
+ return { Issues: issues, LossReasonName: lossReasonName };
509
547
  }
510
548
  /* ── Policy (§7.1) ──────────────────────────────────────────────────────── */
511
549
  /**
@@ -672,7 +710,7 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
672
710
  * §7 also calls for writing an `Activity` here. The Activity spine does not exist in common or MJ
673
711
  * core, so that step is skipped and recorded in CLOSE-FLOW-DECISIONS.md D-CF5 rather than faked.
674
712
  */
675
- stampClose(deal, input, target, routing, user, derivedClosingStageID) {
713
+ stampClose(deal, input, target, routing, user, derivedClosingStageID, lossReasonName) {
676
714
  /**
677
715
  * ── DECLARED, NOT WRITTEN. THIS METHOD USED TO APPEND THE ROW ITSELF ────────────────────────
678
716
  *
@@ -689,7 +727,7 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
689
727
  * The event id is no longer available here: it exists only once the save has appended the row.
690
728
  * The caller reads `deal.LastStageEventID` afterwards.
691
729
  */
692
- deal.DeclareTransition('Close', this.routingNote(routing, input.Notes));
730
+ deal.DeclareTransition('Close', this.routingNote(routing, input.Notes, lossReasonName));
693
731
  // Everything stored is UTC — getUTC*, never local-time getters, for anything persisted.
694
732
  const now = new Date();
695
733
  deal.DealStatusTypeID = target.ID;
@@ -711,12 +749,34 @@ let CloseDealOperation = class CloseDealOperation extends SalesCloseDealOperatio
711
749
  // 23:00 UTC does not land in tomorrow's period for a reader in another timezone.
712
750
  deal.ActualCloseDate = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));
713
751
  }
714
- /** A human-readable record of what the policy routed, and what actually happened. */
715
- routingNote(routing, callerNote) {
752
+ /**
753
+ * A human-readable record of what the policy routed, and what actually happened.
754
+ *
755
+ * ── AND, ON A LOST CLOSE, WHICH REASON WAS CHOSEN ──────────────────────────────────────────────
756
+ *
757
+ * `close-lock.ts` freezes `LossReasonID` on every deal on the stated grounds that "the close event
758
+ * records which reason was chosen". It did not: this note carried the caller's text and the routing
759
+ * outcomes and nothing else, so the reason existed only on the deal header -- one mutable field, with
760
+ * no record of what it held at the moment of the loss. The rationale for the freeze was true of
761
+ * nothing.
762
+ *
763
+ * It belongs on the CLOSE row specifically, not the reopen row. golive#205 clears the header on
764
+ * reopen, which would otherwise mean a reopened deal loses the fact entirely; but the deal that
765
+ * matters most here is the one that STAYS lost and is never reopened, and that deal has no reopen
766
+ * event to carry it. The row that describes the loss is the one that should name it.
767
+ *
768
+ * `lossTrailFor` still puts it on the reopen event as well, and that is deliberate rather than
769
+ * overlooked: the reopen row records the CLEARING, and a reader asking why the header is empty
770
+ * should not have to find the close row to learn what was removed. Each row stays self-describing.
771
+ */
772
+ routingNote(routing, callerNote, lossReasonName) {
716
773
  const parts = [];
717
774
  if (callerNote?.trim()) {
718
775
  parts.push(callerNote.trim());
719
776
  }
777
+ if (lossReasonName) {
778
+ parts.push(`Lost: ${lossReasonName}.`);
779
+ }
720
780
  if (routing.length === 0) {
721
781
  parts.push('Closed. Policy routed nothing downstream.');
722
782
  }
@@ -951,7 +1011,10 @@ let ReopenDealOperation = class ReopenDealOperation extends SalesReopenDealOpera
951
1011
  * A declared transition answers both — one row, and the defaults writer stands down because
952
1012
  * the probability on a reopened deal is a human's judgement, not the pipeline's default.
953
1013
  */
954
- deal.DeclareTransition('Reopen', `REOPENED: ${input.Reason.trim()}`);
1014
+ // The loss trail is read BEFORE the fields are cleared below, and folded into the one
1015
+ // event that survives the reopen. See the clearing block for why it is cleared at all.
1016
+ const lossTrail = lossTrailFor(deal);
1017
+ deal.DeclareTransition('Reopen', `REOPENED: ${input.Reason.trim()}${lossTrail}`);
955
1018
  deal.DealStatusTypeID = target.ID;
956
1019
  /**
957
1020
  * THE PRIOR STAGE, DERIVED WHEN THE CALLER DID NOT NAME ONE — DN-18.
@@ -971,6 +1034,51 @@ let ReopenDealOperation = class ReopenDealOperation extends SalesReopenDealOpera
971
1034
  deal.ClosedAt = null;
972
1035
  deal.ClosedByUserID = null;
973
1036
  deal.ActualCloseDate = null;
1037
+ /**
1038
+ * THE LOSS REASON IS A CLOSE STAMP TOO, and leaving it behind was not harmless
1039
+ * (bc-aidp-next-golive#205).
1040
+ *
1041
+ * It stayed set on a REOPENED deal, which is wrong twice over. The form shows "LOSS REASON"
1042
+ * on a deal that is Open -- a deal that has not been lost does not have a reason for being
1043
+ * lost. And `validateClose` reads `input.LossReasonID ?? deal.LossReasonID`, so the stale
1044
+ * value SATISFIED the next close: measured on this host, a deal closed Lost with a reason,
1045
+ * reopened, then closed Lost again supplying NO reason succeeded silently and re-used
1046
+ * `Price`. golive#205 asks that "Lost should require a loss reason" and `close-deal.CD8`
1047
+ * asserts the refusal -- both were quietly bypassed for the whole life of the deal after
1048
+ * its first loss.
1049
+ *
1050
+ * ── WHY THE TRAIL IS WRITTEN BEFORE CLEARING ───────────────────────────────────────────
1051
+ *
1052
+ * `DealStageEvent` has no loss columns and record-change tracking captured nothing for
1053
+ * this field on this host, so clearing it alone would destroy the reason outright rather
1054
+ * than move it. The reopen event is where this app already keeps close context -- the
1055
+ * close writes its routing outcome there the same way -- so the reason goes into that one
1056
+ * append-only row first, and only then leaves the header.
1057
+ *
1058
+ * ── AND `LossNotes` DELIBERATELY STAYS ─────────────────────────────────────────────────
1059
+ *
1060
+ * The symmetry is tempting and wrong. `close-lock.ts` keeps `LossNotes` -- and only
1061
+ * `LossNotes` -- editable on a locked lost deal, and says what it is for: *"Notes are the
1062
+ * channel for corrections."* Clearing it would destroy the one thing this app explicitly
1063
+ * invites a rep to write after a close.
1064
+ *
1065
+ * With golive#224 merged that turns actively perverse: the workspace reopen saves an
1066
+ * in-progress note first, precisely because losing typed work is the bug that fixes, and
1067
+ * this would then null it -- leaving the text only in an event the rep never sees. Two
1068
+ * correct changes combining into the silent loss both were written against.
1069
+ *
1070
+ * The bypass argument does not rescue it either. `validate()` reads
1071
+ * `input.LossNotes ?? deal.LossNotes`, so a stale note can satisfy a `RequiresNotes`
1072
+ * reason -- but that is the SAME `??` fallback as the reason's, and clearing on reopen
1073
+ * closes one route into a fallback rather than the fallback. It is ticketed separately and
1074
+ * fixes both halves; clearing here would cost a rep their text and buy a partial fix of
1075
+ * something already scheduled.
1076
+ *
1077
+ * The reason earned its clearing on evidence -- a measured, silent validation bypass on a
1078
+ * field a rep cannot correct by hand because it is frozen. Free text they can overwrite is
1079
+ * not the same case.
1080
+ */
1081
+ deal.LossReasonID = null;
974
1082
  // The save has to write the very row the lock protects, so it runs with the lock suspended
975
1083
  // — scoped to this call and self-restoring.
976
1084
  const saved = await deal.BeginReopen(() => deal.Save());
@@ -979,10 +1087,21 @@ let ReopenDealOperation = class ReopenDealOperation extends SalesReopenDealOpera
979
1087
  }
980
1088
  await db.CommitTransaction();
981
1089
  transactionOpen = false;
982
- // The reopen SUCCEEDED even when the order refused to come back with it. That is the
983
- // designed outcome, not a tolerated one: S-US8's reopen enters a stage asking for `Quoted`
984
- // while the order sits at `Voided`, which orders treats as terminal. The deal reopens and
985
- // says what did not happen.
1090
+ // The reopen SUCCEEDS even when the order could not come back with it, and says what did
1091
+ // not happen rather than failing (D-OS1).
1092
+ //
1093
+ // THE ORIGINAL REASON GIVEN HERE WAS WRONG, and it is worth recording why. This said the
1094
+ // order "sits at `Voided`, which orders treats as terminal", so a reopen into a stage
1095
+ // asking for `Quoted` was expected to be refused and warn. Orders says otherwise, by its
1096
+ // own API: `TRANSITIONS.Voided` is `['Draft', 'Quoted']`, so `IsTerminal('Voided')` is
1097
+ // FALSE and both moves are allowed -- `Confirmed` is the terminal one. Measured against
1098
+ // the built package, not inferred.
1099
+ //
1100
+ // So the refusal this comment predicted never happens, and the case it described is not
1101
+ // the case that bites. What bit was the opposite: a stage that declares NOTHING asks the
1102
+ // order for nothing, so a voided order stayed voided in silence. `recoverOrderOnReopen`
1103
+ // in `DealEntityServer` now returns it to `Draft`, and these Issues remain the channel for
1104
+ // anything that still cannot move.
986
1105
  return {
987
1106
  Success: true,
988
1107
  Issues: orderStatusIssues(deal),
@@ -1 +1 @@
1
- {"version":3,"file":"CloseDealOperation.js","sourceRoot":"","sources":["../src/CloseDealOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloseDealOperation.js","sourceRoot":"","sources":["../src/CloseDealOperation.ts"],"names":[],"mappings":"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"}
@@ -415,6 +415,45 @@ export declare class DealEntityServer extends DealEntity {
415
415
  */
416
416
  private defaultOpeningStatusID;
417
417
  private planStageOrderStatus;
418
+ /**
419
+ * A REOPENED deal must not be left pointing at a VOIDED order (bc-aidp-next-golive#205).
420
+ *
421
+ * ── WHY THIS IS A POST-CHECK AND NOT A FALLBACK INSIDE THE STAGE PLAN ──────────────────────────
422
+ *
423
+ * It was the latter, and that version was unreachable on the reopen that needs it most.
424
+ * `planStageOrderStatus` returns at its stage-did-not-move gate before it ever asks what the stage
425
+ * declares, so a reopen that lands on the stage the deal is ALREADY in never consulted the
426
+ * recovery at all.
427
+ *
428
+ * That is not a hypothetical corner. `save-deal.SD35` makes it ordinary: a plain save or a board
429
+ * drag into the losing stage leaves the deal OPEN -- `planStageDefaults` refuses to derive a
430
+ * locking status -- while `applyStageOrderStatus` voids the order on entry. Closing Lost then
431
+ * derives that same stage, so nothing moves and the close event records
432
+ * `FromStageID === ToStageID`. The reopen restores the stage the deal is already in, the gate
433
+ * returns null, and the deal comes back OPEN pointing at a `Voided` order with `Issues` empty.
434
+ *
435
+ * Measured on this host before this change: DEAL-9002 moved into the losing stage by a plain save,
436
+ * closed Lost, reopened -- `Success: true`, zero issues, ORD-000293 still `Voided`.
437
+ *
438
+ * TWO MECHANISMS SWALLOWED IT INDEPENDENTLY, which is why simply hoisting the old call above the
439
+ * gate would have fixed only half. Past the gate, the restored stage in that flow IS the losing
440
+ * stage, so the plan's target is `Voided`, and `applyStageOrderStatus` returns at its
441
+ * `from === plan.Target` no-op check without a warning. Running AFTER the plan has been applied is
442
+ * what makes the recovery independent of both.
443
+ *
444
+ * ── KEYED ON THE DECLARED TRANSITION, NOT ON THE LOCK BEING SUSPENDED ──────────────────────────
445
+ *
446
+ * `_reopenInProgress` means "the close lock is suspended", which is broader than "this is a
447
+ * reopen" and will drift further apart the moment anything else legitimately suspends it. The
448
+ * declaration is the statement of intent, and `Sales.ReopenDeal` already makes it.
449
+ *
450
+ * ── AND IT REUSES THE WRITER RATHER THAN REIMPLEMENTING IT ─────────────────────────────────────
451
+ *
452
+ * `applyStageOrderStatus` already asks orders whether the move is legal, runs the write in its own
453
+ * savepoint, and records a refusal as a warning instead of a failure. A second copy of that would
454
+ * be a second thing to keep honest.
455
+ */
456
+ private recoverOrderOnReopen;
418
457
  /**
419
458
  * Applies the plan to the deal's order, and NEVER lets a refusal reach the caller as a failure.
420
459
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DealEntityServer.d.ts","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DealEntityServer.d.ts","sourceRoot":"","sources":["../src/DealEntityServer.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ import { RegisterClass } from '@memberjunction/global';
56
56
  // ORDERS' OWN RULE, imported rather than restated. `CanTransition` is the same function
57
57
  // `OrderEntityServer.passesStatusTransition()` consults, so a refusal here and a refusal there cannot
58
58
  // disagree — and the reason string the warning carries is orders' wording, not this app's guess at it.
59
- import { CanTransition } from '@mj-biz-apps/orders-entities';
59
+ import { CanTransition, IsBooked, IsEditable } from '@mj-biz-apps/orders-entities';
60
60
  import { DealFieldsEditableWhileLocked, DealFieldLabel, DealEntity, JoinLabels, } from '@mj-biz-apps/sales-entities';
61
61
  import { SALES_SCHEMA, getNextDealNumber } from './SequenceService.js';
62
62
  const DEAL_ENTITY = 'MJ_BizApps_Sales: Deals';
@@ -769,9 +769,16 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
769
769
  if (work.needsStatusDefault && !this.DealStatusTypeID) {
770
770
  this.DealStatusTypeID = await this.defaultOpeningStatusID();
771
771
  }
772
+ /**
773
+ * The delta, not the total: a refusal RECORDED BY THIS SAVE is what tells the recovery to
774
+ * stand down. Comparing against zero would also catch a warning left by an earlier save on
775
+ * the same entity instance.
776
+ */
777
+ const warningsBeforePlan = this.OrderStatusWarnings.length;
772
778
  if (work.stageOrder) {
773
779
  await this.applyStageOrderStatus(work.stageOrder);
774
780
  }
781
+ await this.recoverOrderOnReopen(this.OrderStatusWarnings.length > warningsBeforePlan);
775
782
  const saved = await super.Save(options);
776
783
  if (!saved) {
777
784
  await scope.Rollback();
@@ -1348,6 +1355,73 @@ let DealEntityServer = class DealEntityServer extends DealEntity {
1348
1355
  }
1349
1356
  return { StageID: stageID, Target: target };
1350
1357
  }
1358
+ /**
1359
+ * A REOPENED deal must not be left pointing at a VOIDED order (bc-aidp-next-golive#205).
1360
+ *
1361
+ * ── WHY THIS IS A POST-CHECK AND NOT A FALLBACK INSIDE THE STAGE PLAN ──────────────────────────
1362
+ *
1363
+ * It was the latter, and that version was unreachable on the reopen that needs it most.
1364
+ * `planStageOrderStatus` returns at its stage-did-not-move gate before it ever asks what the stage
1365
+ * declares, so a reopen that lands on the stage the deal is ALREADY in never consulted the
1366
+ * recovery at all.
1367
+ *
1368
+ * That is not a hypothetical corner. `save-deal.SD35` makes it ordinary: a plain save or a board
1369
+ * drag into the losing stage leaves the deal OPEN -- `planStageDefaults` refuses to derive a
1370
+ * locking status -- while `applyStageOrderStatus` voids the order on entry. Closing Lost then
1371
+ * derives that same stage, so nothing moves and the close event records
1372
+ * `FromStageID === ToStageID`. The reopen restores the stage the deal is already in, the gate
1373
+ * returns null, and the deal comes back OPEN pointing at a `Voided` order with `Issues` empty.
1374
+ *
1375
+ * Measured on this host before this change: DEAL-9002 moved into the losing stage by a plain save,
1376
+ * closed Lost, reopened -- `Success: true`, zero issues, ORD-000293 still `Voided`.
1377
+ *
1378
+ * TWO MECHANISMS SWALLOWED IT INDEPENDENTLY, which is why simply hoisting the old call above the
1379
+ * gate would have fixed only half. Past the gate, the restored stage in that flow IS the losing
1380
+ * stage, so the plan's target is `Voided`, and `applyStageOrderStatus` returns at its
1381
+ * `from === plan.Target` no-op check without a warning. Running AFTER the plan has been applied is
1382
+ * what makes the recovery independent of both.
1383
+ *
1384
+ * ── KEYED ON THE DECLARED TRANSITION, NOT ON THE LOCK BEING SUSPENDED ──────────────────────────
1385
+ *
1386
+ * `_reopenInProgress` means "the close lock is suspended", which is broader than "this is a
1387
+ * reopen" and will drift further apart the moment anything else legitimately suspends it. The
1388
+ * declaration is the statement of intent, and `Sales.ReopenDeal` already makes it.
1389
+ *
1390
+ * ── AND IT REUSES THE WRITER RATHER THAN REIMPLEMENTING IT ─────────────────────────────────────
1391
+ *
1392
+ * `applyStageOrderStatus` already asks orders whether the move is legal, runs the write in its own
1393
+ * savepoint, and records a refusal as a warning instead of a failure. A second copy of that would
1394
+ * be a second thing to keep honest.
1395
+ */
1396
+ async recoverOrderOnReopen(stagePlanRefused) {
1397
+ if (this._declaredTransition?.Kind !== 'Reopen') {
1398
+ return;
1399
+ }
1400
+ /**
1401
+ * ── A STAGE THAT ASKED AND WAS REFUSED KEEPS ITS ANSWER ────────────────────────────────────
1402
+ *
1403
+ * This used to look only at the order's status, which is not enough to tell "nobody asked"
1404
+ * from "somebody asked and orders said no". Those need opposite handling, and conflating them
1405
+ * made the save contradict itself: with a stage declaring `Confirmed` -- legal under
1406
+ * `CK_PipelineStage_OrderStatusOnEntry`, and unused only because DN-10 is still open --
1407
+ * `CanTransition('Voided', 'Confirmed')` refuses, `applyStageOrderStatus` warns "its order
1408
+ * stayed Voided", and this then moved it to `Draft` regardless. The order ended `Draft` while
1409
+ * the reopen's own Issues told the user it stayed `Voided`.
1410
+ *
1411
+ * The recovery exists for the SILENT case -- nothing asked, so nothing reported. When the
1412
+ * stage did ask and was refused, the refusal is the honest outcome and is already on screen:
1413
+ * substituting `Draft` would discard a deliberate declaration and falsify the warning beside
1414
+ * it. D-OS2's prohibition on overriding a refusal is exactly this, and it still stands.
1415
+ */
1416
+ if (stagePlanRefused) {
1417
+ return;
1418
+ }
1419
+ const status = this.OrderID_Object?.Status;
1420
+ if (!status || IsEditable(status) || IsBooked(status)) {
1421
+ return;
1422
+ }
1423
+ await this.applyStageOrderStatus({ StageID: this.PipelineStageID ?? '', Target: 'Draft' });
1424
+ }
1351
1425
  /**
1352
1426
  * Applies the plan to the deal's order, and NEVER lets a refusal reach the caller as a failure.
1353
1427
  *