주소 4종을 옮긴다 — 결합 규칙이 셋 다 다르다
19종 → 23종. M_ZipMst 를 건물관리번호(PatZipBdg)로 찾는 조회 하나가 추가됐다. ## 결합식을 그대로 옮긴다 레거시(clsCommonLib.vb:16600)는 DECODE 로 빈 조각을 건너뛰며 구분자를 붙인다. 시도·시군구·읍면·도로명·지하여부·건물번호 본번/부번·건물명이 각각 다른 규칙으로 이어진다. 손으로 다시 짜면 주소가 미묘하게 달라지므로 SQL 을 그대로 가져왔다(바인드는 유지). ## 눈으로 보면 오타 같은 것 셋 PAT_도로명주소 도로명주소 + " " + 상세 (공백 있음) PAT_지번주소 지번주소 + 상세 (공백 <b>없음</b>) PAT_영문도로명주소 상세 + " " + 영문주소 (순서가 <b>뒤바뀐다</b>) 레거시가 그렇게 찍는다. 맞춰야 같은 종이가 된다. 그리고 PAT_우편번호 가 돌려주는 것은 <b>우편번호 컬럼이 아니라 구역번호</b>다. 조회는 둘 다 가져오지만 레거시가 쓰는 것은 구역번호다. 주소를 못 찾으면 빈 값이 아니라 <b>상세주소만</b> 돌려준다 — 레거시와 같다. ## 왕복은 환자당 한 번 주소 태그가 넷이라 태그마다 읽으면 왕복이 넷이 된다. 주민번호와 같이 환자를 붙이는 시점에 한 번 읽어 해석기에 넘긴다. 읽기에 실패해도 던지지 않는다 — 상세주소만으로 값을 만들 수 있고 레거시도 그렇게 한다. ## 게이트 - dotnet test 336/336 - --edit-smoke 실패 0 — 이름 검사가 23종 전부 실제 태그임을 확인 - --db-patient ①~㉑ 전건 통과 - --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 불변 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
510663c5fc
commit
d63f6f6bc0
@@ -221,7 +221,8 @@ public partial class PreviewWindow : Window
|
||||
// 가장 민감한 값을 여러 번 꺼내게 된다.
|
||||
tags = picked is null
|
||||
? session
|
||||
: new PatientTagResolver(picked, session, PatientIdentity.ResidentNumberOf(picked));
|
||||
: new PatientTagResolver(picked, session,
|
||||
PatientIdentity.ResidentNumberOf(picked), PatientIdentity.AddressOf(picked));
|
||||
// 러너를 <b>새로</b> 만든다. 같은 러너를 재사용하면 옛 환자의 조회 결과가 캐시에 남아
|
||||
// 환자를 바꿨는데 표는 그대로가 된다 — 태그만 바뀌고 표는 안 바뀌면 아무도 눈치채지 못한다.
|
||||
fields = new MDataTableRunner(designer.Document,
|
||||
|
||||
Reference in New Issue
Block a user