FTV_M2M_EVENTS.PARAMETERS: номер ответа НРД (MS010 BizMsgIdr) для BJ_ORDER_ACCEPTED/BJ_EXECUTED/BJ_ORDER_REJECTED, в т.ч. при выгрузке истории

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-29 15:56:19 +03:00
parent 0c42691d59
commit a62db0aa0e
4 changed files with 44 additions and 14 deletions
+15 -10
View File
@@ -441,13 +441,18 @@ func depoOnOrderLineSent(rc *RuntimeConfig, guid, ref, contrDID string) {
// depoOnOrderLineResult — исход по строке: accepted | rejected | late | expired.
// accepted → BJ_ORDER_ACCEPTED + BJ_EXECUTED; rejected → BJ_ORDER_REJECTED;
// late → BJ_ORDER_LATE (5 мин без MS010); expired → BJ_CANCELLED (30 дней по бумаге).
func depoOnOrderLineResult(rc *RuntimeConfig, guid, ref, kind, text string) {
// nsdNo — номер ответа НРД (отчёт MS010, BizMsgIdr): PARAMETERS событий по исполнению (29.09.2026).
func depoOnOrderLineResult(rc *RuntimeConfig, guid, ref, kind, text, nsdNo string) {
switch kind {
case "accepted":
depoEvent(rc, guid, ref, "BJ_ORDER_ACCEPTED", "", "")
depoEvent(rc, guid, ref, "BJ_EXECUTED", "", "")
depoEvent(rc, guid, ref, "BJ_ORDER_ACCEPTED", "", nsdNo)
depoEvent(rc, guid, ref, "BJ_EXECUTED", "", nsdNo)
case "rejected":
depoEvent(rc, guid, ref, "BJ_ORDER_REJECTED", "", text)
params := nsdNo
if params == "" {
params = text
}
depoEvent(rc, guid, ref, "BJ_ORDER_REJECTED", "", params)
case "late":
depoEvent(rc, guid, ref, "BJ_ORDER_LATE", "", "")
case "expired":
@@ -942,10 +947,10 @@ func depoReplayHistory(ctx context.Context, rc *RuntimeConfig, svc *Service, onl
if done, rejected, text := orderRespVerdict(resps); done {
at := orderRespAt(resps)
if rejected {
ev(at, it.GUID, ln.Ref, "BJ_ORDER_REJECTED", "", text)
ev(at, it.GUID, ln.Ref, "BJ_ORDER_REJECTED", "", pickStr(orderRespNo(resps), text))
} else {
ev(at, it.GUID, ln.Ref, "BJ_ORDER_ACCEPTED", "", "")
ev(at, it.GUID, ln.Ref, "BJ_EXECUTED", "", "")
ev(at, it.GUID, ln.Ref, "BJ_ORDER_ACCEPTED", "", orderRespNo(resps))
ev(at, it.GUID, ln.Ref, "BJ_EXECUTED", "", orderRespNo(resps))
}
}
}
@@ -1020,10 +1025,10 @@ func depoReplayHistory(ctx context.Context, rc *RuntimeConfig, svc *Service, onl
if done, rejected, text := orderRespVerdict(resps); done {
at := orderRespAt(resps)
if rejected {
ev(at, guid, ref, "BJ_ORDER_REJECTED", "", text)
ev(at, guid, ref, "BJ_ORDER_REJECTED", "", pickStr(orderRespNo(resps), text))
} else {
ev(at, guid, ref, "BJ_ORDER_ACCEPTED", "", "")
ev(at, guid, ref, "BJ_EXECUTED", "", "")
ev(at, guid, ref, "BJ_ORDER_ACCEPTED", "", orderRespNo(resps))
ev(at, guid, ref, "BJ_EXECUTED", "", orderRespNo(resps))
}
}
}