Files
Bridge-and-Join-s/internal/lkgateway/dbhist2_live_test.go
T

53 lines
1.8 KiB
Go

//go:build live
package lkgateway
import (
"context"
"fmt"
"testing"
)
// Только чтение: что сейчас в BJ_DEPO_DATA — таблицы обмена и тестовые остатки.
func TestDepoNowLive(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()
for _, tb := range []string{"FTV_M2M", "FTV_M2M_LINES", "FTV_M2M_EVENTS", "FTV_M2M_HANDBOOK"} {
var n int
err := db.QueryRowContext(ctx, "SELECT COUNT(*) FROM dbo."+tb).Scan(&n)
fmt.Printf("%-18s строк %d %v\n", tb, n, err)
}
rows, err := db.QueryContext(ctx, `SELECT c.NUMBER, v.ISIN, CAST(rst.K AS float) FROM OD_RESTS rst JOIN OD_CLIENTS c ON c.ID=rst.REG_1 JOIN OD_VALUES v ON v.ID=rst.VALUE_ID
WHERE c.NUMBER IN ('ВТНКЦ00002000','ВТНКЦ00000816') AND v.ISIN='RU0009029540'`)
if err == nil {
for rows.Next() {
var a, i string
var k float64
_ = rows.Scan(&a, &i, &k)
fmt.Println("остаток SBER:", a, k)
}
}
var mx string
_ = db.QueryRowContext(ctx, "SELECT ISNULL(CONVERT(varchar(19),MAX(D_DATE),120),'') FROM OD_DOCS").Scan(&mx)
fmt.Println("последний документ OD_DOCS:", mx)
r2, err := db.QueryContext(ctx, "SELECT name, type_desc, CONVERT(varchar(19),modify_date,120) FROM sys.objects WHERE (name LIKE '%M2M%' OR name IN ('FU_NEXT_DOC_NUM','GEN_ID','OD_PR_INS_WIRS')) AND type IN ('P','TR','U','V','FN','IF','TF') ORDER BY name")
if err != nil {
fmt.Println("объекты: ошибка", err)
} else {
for r2.Next() {
var n, ty, m string
_ = r2.Scan(&n, &ty, &m)
fmt.Println("объект:", n, ty, m)
}
}
}