5.8 KiB
5.8 KiB
판매소번호 일련번호 부여 방식 결정
지정판매소 등록 시 판매소번호(ds_shop_no) 에 들어가는 일련번호를 전역으로 둘지, 구·동별·지자체별로 둘지에 대한 자료 정리 및 결정.
1. 자료에서 나온 내용
1-1. 웹 기능목록 (원본)
- 파일:
docs/종량제 관련 자료/종량제 개발목록/종량제_개발목록_20260127(웹 기능목록) (1).csv - 내용
- "판매소번호 : 판매소의 주소를 바탕으로 기본코드 B, C, D + 판매소 일련번호로 생성"
- "구코드 : 판매소의 주소를 바탕으로 기본코드 C 할당"
- 의미
- 판매소번호 = (주소에서 유도한) B·C·D 코드 + 판매소 일련번호
- 일련번호를 전역으로 둘지, 구·동별·지자체별로 둘지는 기술되어 있지 않음.
1-2. 결정 필요 문서
- 파일:
docs/결정_필요한_사항들/01-DB_및_도메인_구조.md - 내용
- "판매소번호 규칙: '기본코드 B, C, D + 판매소 일련번호' — 기본코드 B/C/D는 어디서 오는지(기본코드 테이블? 지자체별?). 일련번호는 전역인지 지자체별인지."
- 의미
- 원본 자료만으로는 일련번호 범위(전역 vs 지자체별 등) 가 정해져 있지 않아, 결정 필요 항목으로 남겨 둔 상태.
1-3. 기본코드·형식 참고
- 파일:
docs/기본 개발계획/03-basic-codes.md,종량제_개발목록_20260127(기본코드 종류).csv - 내용
- 판매소번호 = 기본코드 B, C, D + 판매소 일련번호.
- 코드 C = 구코드(B + 구 순번 2자리), 코드 D = 동코드(C + 동 순번 2자리).
- 예: 북구 110209, 동 11020901~11020928.
- 의미
- 형식은 “(구/동 등) 코드 + 일련번호” 이지만, 일련번호를 어느 단위로 001부터 다시 세는지는 문서에 없음.
2. 결정 사항
- 일련번호는 지자체별로 부여한다.
| 항목 | 결정 내용 |
|---|---|
| 일련번호 범위 | 지자체(lg_idx) 단위로 001, 002, 003… 을 부여한다. |
| 의미 | 같은 지자체에 속한 지정판매소만 모아서, 그 지자체 안에서 1번째, 2번째… 순으로 번호를 붙인다. |
| 전역 | 사용하지 않는다. (전체 시스템에서 하나의 일련번호 줄을 두지 않음.) |
| 구·동별 | 현재는 적용하지 않는다. 동(코드 D) 테이블·선택이 갖춰지면, 필요 시 “지자체 내 구·동별” 등으로 확장 검토 가능. |
2-1. 구현 시 적용
- 지정판매소 등록 시 해당 지자체(ds_lg_idx) 에 한정해,
기존ds_shop_no중 같은 지자체로 이미 사용 중인 번호의 일련번호 부분 최대값을 구한 뒤, +1 한 값을 3자리(001, 002, …)로 패딩하여 사용한다. - 판매소번호 전체 형식은 아래 §3 단순 방식으로 확정한다.
3. 판매소번호 전체 형식 — 단순 방식 (결정)
자료상 "기본코드 B, C, D + 일련번호"가 있으나, 접두사는 지자체 정보만 사용하는 단순한 형식으로 먼저 적용하기로 함.
| 항목 | 결정 내용 |
|---|---|
| 형식 | 지자체 코드(lg_code) + 일련번호 3자리 |
| 접두사 | local_government.lg_code (등록 시 선택/결정된 지자체의 코드). 예: 110201(중구), 110209(북구) |
| 일련번호 | 해당 지자체(ds_lg_idx) 내에서 001, 002, 003 … (3자리, 앞자리 0 패딩) |
| 결과 예 | 110209001, 110209002 (북구 제1호, 제2호) |
3-1. 구현 규칙
- 생성 시점: 지정판매소 등록 처리 시, 사용자 입력이 아닌 시스템 자동 생성.
- 계산 방법
- 등록 대상 지자체
ds_lg_idx확정 (폼에서 선택된 지자체 또는 효과 지자체). - 해당 지자체의
lg_code조회 (예:110209). - 동일
ds_lg_idx인 기존 지정판매소의ds_shop_no중, 접미사 3자리(일련번호 부분)의 최대값을 구한 뒤 +1. ds_shop_no = lg_code + sprintf('%03d', 다음_일련번호)(예:110209+001).
- 등록 대상 지자체
- 구코드(ds_gugun_code)
- 판매소번호 생성에는 사용하지 않음 (접두사는 lg_code만 사용).
- 등록 시 자동 설정: 소속 지자체가 한 구·군 단위이므로, 해당 지자체의
local_government.lg_code를 그대로ds_gugun_code에 저장. 사용자 입력 없음. → §3-3 참고.
- 동코드
- 현재 미적용. 필요 시 추후 "접두사 확장(동코드 포함)" 검토.
3-2. 확장 가능성
- 추후 "주소 기반 구코드(C)·동코드(D) 반영"이 필요하면, 접두사를
ds_gugun_code또는 동코드까지 포함하는 형식으로 변경 검토. - 당분간은 lg_code + 3자리 일련번호로 통일.
3-3. 구코드(ds_gugun_code) 자동 등록 (결정)
| 항목 | 내용 |
|---|---|
| 결정 | 구코드는 등록 시 시스템이 자동으로 부여한다. 사용자 입력란 없음. |
| 근거 | 지정판매소는 소속 지자체(ds_lg_idx)가 한 구·군을 의미하고, local_government 1행 = 1구·군이며 lg_code가 기본코드 C(구코드)와 동일함. |
| 구현 | 지정판매소 등록 처리 시, 선택/효과 지자체의 lg_code를 조회하여 ds_gugun_code에 그대로 저장. |
| 자료 | 웹 기능목록: "구코드: 판매소 주소를 바탕으로 기본코드 C 할당" — 본 시스템에서는 "소속 지자체 = 구·군"이므로 지자체 코드로 자동 할당. |
4. 참고
- 결정 필요 문서:
docs/결정_필요한_사항들/01-DB_및_도메인_구조.md§2 (판매소번호 규칙) - 기본코드:
docs/기본 개발계획/03-basic-codes.md,종량제_개발목록_20260127(기본코드 종류).csv