ЛК ЕСИА Финанс: портфель ДЕПО из DEPO — сверка каждые 10 с в проходе опроса, отправка только при изменении; настройки и «Синхронизировать сейчас»

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-29 16:54:43 +03:00
parent 98e17a8cb7
commit e47e6cfbdc
10 changed files with 500 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
//go:build live
package lkgateway
import (
"context"
"database/sql"
"fmt"
"testing"
)
// Только чтение: строка остатка SBER у ВТНКЦ00000816 целиком + таблицы с рег. номером.
func TestODValuesLive(t *testing.T) {
rc, err := NewRuntimeConfig("/var/lib/bj/.bj/setup.json")
if err != nil {
t.Fatal(err)
}
fs := rc.Snapshot().Fancy
db, err := fancyOpen(fs, fs.DepoDB())
if err != nil {
t.Fatal(err)
}
defer db.Close()
ctx := context.Background()
dump := func(q string, args ...any) {
rows, err := db.QueryContext(ctx, q, args...)
if err != nil {
fmt.Println("ошибка:", err)
return
}
cols, _ := rows.Columns()
for rows.Next() {
vals := make([]sql.NullString, len(cols))
ptrs := make([]any, len(cols))
for i := range vals {
ptrs[i] = &vals[i]
}
_ = rows.Scan(ptrs...)
for i, c := range cols {
if vals[i].Valid && vals[i].String != "" && vals[i].String != "0" {
fmt.Printf("%s=%s | ", c, vals[i].String)
}
}
fmt.Println()
}
rows.Close()
}
fmt.Println("== OD_ACC_PLANS план 4")
dump("SELECT * FROM OD_ACC_PLANS WHERE ID=4")
fmt.Println("== OD_PLAN_DIRS план 4")
dump("SELECT * FROM OD_PLAN_DIRS WHERE PLAN_ID=4")
}