feat(bj): модуль ЛК на PostgreSQL, обмен с DEPO, боевой ЛК с имитатором НРД, QUIK, НПР
- bj_exchange и «кран» Fancy убраны: данные модуля ЛК в PostgreSQL (схема lk) - трансферные таблицы FTV_M2M: создание при установке, события, справочник участников - сверка с DEPO: счёт, ФИО, дата рождения, ИИС по договору, квал-инвестор из опции DEPO - боевой ЛК ЕСИА Финанс при тестовом ИШ: журнал, отказ через DEPO, статусы в ЛК - онлайн-лицензирование в bj, план тестирования M2M для контрагента (интерактивный HTML) - модули QUIK МНП, экспорт QUIK, НПР/УДС; документы и тестовые материалы Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
//go:build live
|
||||
|
||||
package lkgateway
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// go test -tags live -run TestDepoQualifiedLive ./internal/lkgateway/ (от bj: читает setup.json)
|
||||
func TestDepoQualifiedLive(t *testing.T) {
|
||||
rc, err := NewRuntimeConfig("/var/lib/bj/.bj/setup.json")
|
||||
if err != nil {
|
||||
t.Skip(err)
|
||||
}
|
||||
db, err := fancyOpen(rc.Snapshot().Fancy, rc.Snapshot().Fancy.DepoDB())
|
||||
if err != nil {
|
||||
t.Skip(err)
|
||||
}
|
||||
defer db.Close()
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
|
||||
defer cancel()
|
||||
rows, err := db.QueryContext(ctx, `SELECT v, face FROM (
|
||||
SELECT CAST(o.VAL AS varchar(20)) AS v, MIN(c.FACE) AS face FROM OD_CLIENTS c JOIN OD_OPTIONS o ON o.OBJECT = c.FACE AND o.DESCR = 65325
|
||||
AND o.B_DATE <= GETDATE() AND (o.E_DATE IS NULL OR o.E_DATE > GETDATE()) WHERE c.NUMBER LIKE N'ВТНКЦ%' GROUP BY CAST(o.VAL AS varchar(20))
|
||||
UNION ALL
|
||||
SELECT 'нет', MIN(c.FACE) FROM OD_CLIENTS c WHERE c.NUMBER LIKE N'ВТНКЦ%' AND NOT EXISTS (SELECT 1 FROM OD_OPTIONS o WHERE o.OBJECT = c.FACE AND o.DESCR = 65325)) x`)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var v string
|
||||
var face int64
|
||||
if rows.Scan(&v, &face) != nil {
|
||||
continue
|
||||
}
|
||||
warn, det := depoFaceQualified(ctx, db, face)
|
||||
t.Logf("VAL=%s лицо %d: предупреждение=%v — %s", v, face, warn, det)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user