Files
Bridge-and-Join-s/internal/lkgateway/web/templates/admin_claims.html
T
fontvielle 6fc0ff5d3d Анкета участника: ответ НРД принимается автоматически — квитанция и ответ сервиса
Квитанции ЭДО НРД (пакеты C, «Уведомление о получении Пакетов…»)
разбираются: для нашей анкеты (#M2MPF…) — отметка «доставлена в НРД»
с временем, ошибка первичной обработки — отказ с текстом квитанции.
Ответ сервиса: INFO — «принята в обработку», OK — принята, ERROR —
отказ с кодом; документ-ответ M2MTransferParticipantForm — регистрация
подтверждена. Всё видно в строке «Исходящих», на странице анкеты и в
плашке раздела НРД. После запуска bj перечитывает квитанции за день
отправки, если отметки ещё нет (22.10 на 9 квитанция пришла раньше).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
2026-10-22 11:14:22 +03:00

40 lines
3.6 KiB
HTML

{{define "content"}}
{{if .Flash}}<div class="card" style="background:var(--accent-weak,#e7f0fb)">{{.Flash}}</div>{{end}}
<div class="card">
<h2>Журнал заявок <span class="muted">({{.List.Total}})</span></h2>
{{template "listTools" .List}}
<table>
<thead><tr><th>Создана</th><th>ID</th><th>GUID M2M</th><th>Инвестор</th><th>ЦБ</th><th>Передающий</th><th>Принимающий</th><th>Статус</th><th></th></tr></thead>
<tbody id="claims-body">
{{range .Rows}}{{template "claimrow" .}}{{end}}
</tbody>
</table>
{{if not .Rows}}<p class="muted">{{if .List.Q.FromS}}За выбранный период ничего нет.{{else}}Пусто.{{end}}</p>{{end}}
{{template "listMore" .List}}
</div>
{{end}}
{{/* Строка «Исходящих»: заявка на перевод или анкета участника M2M (исходящий пакет в НРД и ответ на него). */}}
{{define "claimrow"}}{{if .R}}{{with .R}}<tr>
<td>{{.SentAt.Format "02.01 15:04:05"}}</td>
<td><code>{{.PkgID}}</code></td>
<td><span class="muted">—</span></td>
<td><strong>Анкета участника M2M</strong>{{if .Name}}<br><span style="font-size:11px">{{.Name}}</span>{{end}}</td>
<td><span class="muted">—</span></td>
<td><span style="font-size:11px">{{index orgEff "Name"}}</span></td>
<td><span style="font-size:11px">НРД</span></td>
<td><span class="badge {{.StatusClass}}">{{.StatusText}}</span>{{if .RespText}}<div class="live live-{{if eq .StatusClass "rejected"}}bad{{else}}ok{{end}}">{{.RespAt.Format "02.01 15:04"}} · {{.RespText}}</div>{{end}}{{if and .RespAt.IsZero (not .DeliveredAt.IsZero)}}<div class="live live-wait">квитанция НРД {{.DeliveredAt.Format "02.01 15:04:05"}}: пакет получен, ошибок нет</div>{{end}}</td>
<td><a href="/admin/setup/participant-form">анкета →</a></td>
</tr>{{end}}{{else}}{{with .C}}
<tr>
<td>{{.CreatedAt.Format "02.01 15:04:05"}}</td>
<td><code>{{short 8 .ID}}</code></td>
<td><code>{{short 8 (printf "%s" .M2MGUID)}}</code></td>
<td>{{.Investor.LastName}} {{initial .Investor.FirstName}}</td>
<td>{{len .Securities}}</td>
<td>{{$f := m2mParty .TransferringDepositoryINN}}{{if $f}}<span style="font-size:11px">{{$f}}</span><br>{{end}}<code style="font-size:11px">{{.TransferringDepositoryINN}}</code></td>
<td>{{$t := m2mParty .ReceivingDepositoryINN}}{{if $t}}<span style="font-size:11px">{{$t}}</span><br>{{end}}<code style="font-size:11px">{{.ReceivingDepositoryINN}}</code></td>
<td>{{$l := liveOut .}}<span class="badge {{.Status}}">{{ruState .Status}}</span><div class="live live-{{$l.Kind}}" data-live="out:{{.ID}}"{{if $l.Active}} data-active="1"{{else}} title="Завершено: состояние больше не проверяется"{{end}}>{{$l.Text}}</div></td>
<td><a href="/admin/claims/{{.ID}}">детали →</a>{{if and (or (eq .Status "draft") (eq .Status "validated")) (can "operate")}}<form method="post" action="/admin/claims/{{.ID}}/delete-draft" style="margin:4px 0 0" onsubmit="return confirm('Удалить заявку? Она ещё не уходила в НРД. Если по ней бумаги заблокированы в QUIK МНП, блокировка будет снята.');"><button type="submit" class="btn" style="padding:2px 10px;font-size:12px;background:var(--card);color:var(--err,#c0392b);border:1px solid var(--err,#c0392b)">Удалить</button></form>{{end}}</td>
</tr>{{end}}{{end}}{{end}}