DEPO: полное наименование организации из OD_U_FACES, действующая версия лица
Автоопределение читало исходную запись лица (2016) и брало MNEM как краткое наименование. Теперь — действующая версия (SELF_ID/LAST_FLAG=1): краткое — OD_FACES.NAME, полное — OD_U_FACES.FULL_NAME, английские — ENG_FULL_NAME и ENG_NAME. Анкета участника заполняется из DEPO без справочника НРД; английские — только парой. Проверено на DEPO 28: полное есть у 141 из 145 участников, английские после замены кавычек совпали с ответом НРД. Если OD_U_FACES нет — прежний запрос и подсказка уточнить у НРД. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -27,9 +27,11 @@ type DepoRequisites struct {
|
||||
Sections []string // все открытые разделы счёта
|
||||
OrgCode string // = DeponentCode
|
||||
OrgINN string
|
||||
OrgName string
|
||||
OrgShort string
|
||||
OrgEng string
|
||||
OrgName string // краткое (OD_FACES.NAME)
|
||||
OrgShort string // = OrgName (MNEM в DEPO — мнемоника, не наименование)
|
||||
OrgEng string // английское краткое
|
||||
OrgFull string // полное (OD_U_FACES.FULL_NAME)
|
||||
OrgEngFull string // английское полное
|
||||
Notes []string // что не нашли / на что обратить внимание
|
||||
At time.Time
|
||||
}
|
||||
@@ -127,15 +129,23 @@ func depoDetectRequisites(ctx context.Context, fs FancyMSSQLSettings) (*DepoRequ
|
||||
}
|
||||
// организация по коду участника
|
||||
if res.DeponentCode != "" {
|
||||
var name, inn, mnem, eng string
|
||||
err := db.QueryRowContext(ctx, fsql.Det02, sql.Named("code", res.DeponentCode)).Scan(&name, &inn, &mnem, &eng)
|
||||
var name, inn, mnem, eng, full, engFull string
|
||||
err := db.QueryRowContext(ctx, fsql.Det03, sql.Named("code", res.DeponentCode)).Scan(&name, &inn, &mnem, &eng, &full, &engFull)
|
||||
if err != nil && err != sql.ErrNoRows {
|
||||
err = db.QueryRowContext(ctx, fsql.Det02, sql.Named("code", res.DeponentCode)).Scan(&name, &inn, &mnem, &eng)
|
||||
}
|
||||
switch {
|
||||
case err == sql.ErrNoRows:
|
||||
res.Notes = append(res.Notes, "лицо с кодом "+res.DeponentCode+" в DEPO не найдено — ИНН и наименование организации введите вручную")
|
||||
case err != nil:
|
||||
res.Notes = append(res.Notes, "карточка организации: "+err.Error())
|
||||
default:
|
||||
res.OrgCode, res.OrgINN, res.OrgName, res.OrgShort, res.OrgEng = res.DeponentCode, strings.TrimSpace(inn), strings.TrimSpace(name), strings.TrimSpace(mnem), strings.TrimSpace(eng)
|
||||
_ = mnem
|
||||
res.OrgCode, res.OrgINN, res.OrgName, res.OrgShort, res.OrgEng = res.DeponentCode, strings.TrimSpace(inn), strings.TrimSpace(name), strings.TrimSpace(name), strings.TrimSpace(eng)
|
||||
res.OrgFull, res.OrgEngFull = strings.TrimSpace(full), strings.TrimSpace(engFull)
|
||||
if res.OrgFull == "" {
|
||||
res.Notes = append(res.Notes, "полного наименования организации в DEPO нет — для анкеты участника уточните его у НРД")
|
||||
}
|
||||
}
|
||||
}
|
||||
return res, nil
|
||||
|
||||
Reference in New Issue
Block a user