diff --git a/internal/lkgateway/depoevents.go b/internal/lkgateway/depoevents.go index 9d3cffd..3f77d9b 100644 --- a/internal/lkgateway/depoevents.go +++ b/internal/lkgateway/depoevents.go @@ -316,7 +316,10 @@ func depoOnIncomingReceived(rc *RuntimeConfig, it *IncomingTransfer) { name := strings.TrimSpace(strings.Join([]string{it.InvestorLast, it.InvestorFirst, it.InvestorMiddle}, " ")) doc := strings.TrimSpace(it.DocSeries + " " + it.DocNumber) if depoUpsertOrder(rc, it.GUID, "IN", it.SenderCode, name, doc, it.DocSeries, it.DocNumber, lines, "входящий перевод M2M от "+it.SenderCode) { - depoEvent(rc, it.GUID, "", "BJ_RECEIVED", "", "") + // по строкам: джоба bj2depo ищет строку по GUID+REFERENCE для любого события (22.09.2026) + for _, s := range it.Securities { + depoEvent(rc, it.GUID, s.ReferenceID, "BJ_RECEIVED", "", "") + } } } @@ -341,7 +344,9 @@ func depoOnOutgoingSent(rc *RuntimeConfig, req *m2m.M2MTransferRequest) { name := strings.TrimSpace(strings.Join([]string{inv.LastName, inv.FirstName, inv.MiddleName}, " ")) guid := string(req.Header.GUID) if depoUpsertOrder(rc, guid, "OUT", cp, name, strings.TrimSpace(ser+" "+num), ser, num, lines, "исходящий перевод M2M, получатель ИНН "+inn) { - depoEvent(rc, guid, "", "BJ_SENT", "", "") + for _, s := range req.Data.TransferredSecurities.Securities { + depoEvent(rc, guid, string(s.ReferenceID), "BJ_SENT", "", "") + } } } @@ -1019,7 +1024,9 @@ func depoSimulateIncoming(ctx context.Context, rc *RuntimeConfig, it *IncomingTr return "", fmt.Errorf("не удалось записать шапку в FTV_M2M") } now := time.Now() - depoEventAt(rc, now, guid, "", "BJ_RECEIVED", "", "") + for _, s := range it.Securities { + depoEventAt(rc, now, guid, s.ReferenceID, "BJ_RECEIVED", "", "") + } anyConfirmed := false for _, s := range it.Securities { switch s.Decision {