diff --git a/internal/lkgateway/livestatus.go b/internal/lkgateway/livestatus.go index 0807e31..0e0ab00 100644 --- a/internal/lkgateway/livestatus.go +++ b/internal/lkgateway/livestatus.go @@ -41,7 +41,7 @@ func form16Snapshot() map[string]*OutgoingDeal { } m := map[string]*OutgoingDeal{} if globalOutgoingStore != nil { - for _, d := range scanForm16Drafts(globalOutgoingStore) { + for _, d := range scanForm16DraftsOpt(globalOutgoingStore, false) { // ответы — только по сделкам в работе, ниже m[d.GUID] = d } } @@ -54,7 +54,13 @@ func liveOutgoing(c ClaimView) LiveStatus { guid := string(c.M2MGUID) var depo *OutgoingDeal if guid != "" && c.Status == "confirmed" { // каталог нужен только на этапе депо-исполнения - depo = form16Snapshot()[guid] + if d := form16Snapshot()[guid]; d != nil { + cp := *d + if cp.Submitted && len(cp.Responses) == 0 && !cp.Done { + cp.Responses, cp.Done = outgoingResponses(cp.ContrDIDs) // ответы ищем только для этой, живой сделки + } + depo = &cp + } } var watch *OrderWatch if guid != "" && globalOrderWatch != nil { diff --git a/internal/lkgateway/outgoing_order.go b/internal/lkgateway/outgoing_order.go index 37304d2..7c3e00b 100644 --- a/internal/lkgateway/outgoing_order.go +++ b/internal/lkgateway/outgoing_order.go @@ -188,6 +188,13 @@ func mf010Text(p string, info os.FileInfo) (string, bool) { } func scanForm16Drafts(store *OutgoingStore) []*OutgoingDeal { + return scanForm16DraftsOpt(store, true) +} + +// scanForm16DraftsOpt — то же, но ответы НРД (MS010 и др.) собираются только при withResponses: +// поиск ответов по номерам поручений — самая дорогая часть, и для журнала она нужна лишь +// по сделкам в работе, а не по всем, что когда-либо были. +func scanForm16DraftsOpt(store *OutgoingStore, withResponses bool) []*OutgoingDeal { byGUID := map[string]*OutgoingDeal{} _ = filepath.Walk(igwInboxDir, func(p string, info os.FileInfo, err error) error { if err != nil || info.IsDir() { @@ -238,7 +245,9 @@ func scanForm16Drafts(store *OutgoingStore) []*OutgoingDeal { d.OrderAt = sub.OrderAt d.OrderXML = sub.OrderXML d.ContrDIDs = sub.ContrDIDs - d.Responses, d.Done = outgoingResponses(sub.ContrDIDs) + if withResponses { + d.Responses, d.Done = outgoingResponses(sub.ContrDIDs) + } } } out = append(out, d) diff --git a/internal/lkgateway/web/templates/admin_claim.html b/internal/lkgateway/web/templates/admin_claim.html index 62160c7..6b169dc 100644 --- a/internal/lkgateway/web/templates/admin_claim.html +++ b/internal/lkgateway/web/templates/admin_claim.html @@ -31,7 +31,7 @@ {{if .Flash}}
{{slice .Claim.ID 0 8}} · {{ruState .Claim.Status}}| Создана | {{.Claim.CreatedAt.Format "02.01.2006 15:04:05"}} |
| Обновлена | {{.Claim.UpdatedAt.Format "02.01.2006 15:04:05"}} | {{len .Securities}} | {{$f := m2mParty .TransferringDepositoryINN}}{{if $f}}{{$f}} {{end}} {{.TransferringDepositoryINN}} |
{{$t := m2mParty .ReceivingDepositoryINN}}{{if $t}}{{$t}} {{end}} {{.ReceivingDepositoryINN}} |
- {{$l := liveOut .}}{{ruState .Status}} {{$l.Text}} |
+ {{$l := liveOut .}}{{ruState .Status}} {{$l.Text}} |
детали → | {{end}} diff --git a/internal/lkgateway/web/templates/admin_incoming.html b/internal/lkgateway/web/templates/admin_incoming.html index 9368b91..ede3dbd 100644 --- a/internal/lkgateway/web/templates/admin_incoming.html +++ b/internal/lkgateway/web/templates/admin_incoming.html @@ -16,7 +16,7 @@{{short 8 .GUID}} |
{{$nm := m2mParty .SenderCode}}{{if not $nm}}{{$nm = m2mParty .SenderINN}}{{end}}{{if $nm}}{{$nm}} {{end}} {{.SenderCode}}{{if .SenderINN}} · ИНН {{.SenderINN}}{{end}} |
{{len .Securities}} | -{{$s := inStatus .}}{{$s.Text}}{{if $s.Outcome}} {{$s.Outcome}}{{end}}{{if .DepoSummary}} сверка: {{.DepoSummary}}{{end}}{{$l := liveIn .}} {{$l.Text}} |
+ {{$s := inStatus .}}{{$s.Text}}{{if $s.Outcome}} {{$s.Outcome}}{{end}}{{if .DepoSummary}} сверка: {{.DepoSummary}}{{end}}{{$l := liveIn .}} {{$l.Text}} |
{{if eq .Status "answered"}}просмотр{{else}}ответить{{end}} → | {{end}} diff --git a/internal/lkgateway/web/templates/admin_incoming_detail.html b/internal/lkgateway/web/templates/admin_incoming_detail.html index 837239f..35b8965 100644 --- a/internal/lkgateway/web/templates/admin_incoming_detail.html +++ b/internal/lkgateway/web/templates/admin_incoming_detail.html @@ -21,7 +21,7 @@
| Запрос сформирован (отправитель) | {{msk .It.RequestCreated}} |
| Забрали из шлюза (получено нами) | {{msk .It.ReceivedAt}}{{if not .It.RequestCreated.IsZero}} · прохождение: {{transit .It.RequestCreated .It.ReceivedAt}}{{end}} | {{if eq .DirKind "out"}}↗ Исходящий{{else}}↘ Входящий{{end}} | {{.Party}} | {{.SecN}} | -{{.StatusText}}{{if .Outcome}} {{.Outcome}}{{end}} {{.Live.Text}} |
+ {{.StatusText}}{{if .Outcome}} {{.Outcome}}{{end}} {{.Live.Text}} |
открыть → | {{end}}