Документы НРД по поручению: папки с понятными названиями, опись и PDF
Пакеты НРД из INBOX ИШ (K…, 508…) распознаются по содержимому: квитанция о регистрации (или отказ), уведомление GS036, отчёт о статусе GS116 (сквитовано / не сквитовано), отчёт об исполнении MS010, ошибка. В ZIP ответа НРД и выгрузках для регулятора (16 и 16/1) — папки «01 Квитанция о регистрации поручения — K1699092» и т. д., «Опись.txt» с назначением и реквизитами каждого документа и «Документы НРД.pdf» (читаемое представление, печать через Chromium; без него — HTML). В карточке перевода ответы НРД подписаны так же. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
//go:build live
|
||||
|
||||
package lkgateway
|
||||
|
||||
import (
|
||||
"archive/zip"
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// Живой прогон: документы НРД по поручению 20608 (исходящий 16.09) → ZIP с папками, описью и PDF.
|
||||
// go test -c -tags live ./internal/lkgateway/ ; запуск от bj: -test.run TestNSDDocsLive -test.v
|
||||
func TestNSDDocsLive(t *testing.T) {
|
||||
docs := nsdOrderDocs("20608")
|
||||
for i, d := range docs {
|
||||
t.Logf("%s | %v", nsdDocFolder(i, d), d.Fields)
|
||||
}
|
||||
var buf bytes.Buffer
|
||||
zw := zip.NewWriter(&buf)
|
||||
writeNSDDocsZip(zw, "", "Документы НРД по поручению 16 (списание) № 20608", docs, true)
|
||||
zw.Close()
|
||||
zr, _ := zip.NewReader(bytes.NewReader(buf.Bytes()), int64(buf.Len()))
|
||||
for _, f := range zr.File {
|
||||
if f.Name == "Опись.txt" || f.Name == "Документы НРД.pdf" || f.Name == "Документы НРД.html" {
|
||||
t.Logf("в архиве: %s (%d байт)", f.Name, f.UncompressedSize64)
|
||||
}
|
||||
}
|
||||
_ = os.WriteFile(os.TempDir()+"/nsd-docs-20608.zip", buf.Bytes(), 0o644)
|
||||
}
|
||||
Reference in New Issue
Block a user