154 lines
5.7 KiB
Markdown
154 lines
5.7 KiB
Markdown
# 도메인 기능 인수인계서 (BOM / 권한 / API / 우편번호 / 배치)
|
|
|
|
> 작성일: 2026-05-06
|
|
> 대상: 후임 AI 엔지니어 또는 개발 관리자
|
|
> 작업 브랜치: `dev_ysCha`
|
|
|
|
> **이 문서의 범위**: 출력·DTO·인증 외 나머지 도메인 작업.
|
|
> 다른 트랙은 `HANDOVER_INDEX.md` 참조.
|
|
|
|
---
|
|
|
|
## 0. 한 줄 요약
|
|
|
|
[1xxx] 티켓 시리즈와 새로 추가된 API들이 모이는 곳. **BOM 부모/자식 의미**, **오브젝트 복사 권한**, **발전시뮬레이션 API 신규 개발**, **우편번호 하이픈 자동 처리**, **배치(Quartz) 포트/시간 조정** 등 다양한 도메인 작업이 들어 있습니다.
|
|
|
|
---
|
|
|
|
## 1. BOM (자재 명세서)
|
|
|
|
### 1.1 `[1487]` 자식 BOM 조회 쿼리 컬럼 의미 수정
|
|
- 커밋: `0c979df6`
|
|
- 가장 헷갈렸던 부분: **컬럼명과 의미가 직관과 반대**.
|
|
- `PACKAGE_ITEM_ID` = **자식**
|
|
- `ITEM_ID` = **부모**
|
|
- BOM 조회/저장 쿼리를 새로 손댈 때 항상 이 의미를 다시 확인하세요. **반대로 알면 부모-자식 관계가 통째로 뒤집힙니다.**
|
|
|
|
### 1.2 권장
|
|
- 새 매퍼 쿼리에 컬럼 alias를 줄 때 `PARENT_ITEM_ID` / `CHILD_ITEM_ID` 같이 의미 명시한 별칭을 써서 후임자가 헷갈리지 않게 하세요.
|
|
|
|
---
|
|
|
|
## 2. 권한
|
|
|
|
### 2.1 `[1485]` 오브젝트 복사 기능 권한 설정
|
|
- 커밋: `491f9304`, `31e3c77a`
|
|
- 오브젝트 복사 액션은 모두에게 열려 있지 않고 **권한이 있는 사용자만** 수행 가능하게 제한.
|
|
- 권한 체크는 Controller/Service 레이어에서. 프론트에서도 버튼이 노출/비노출되는지 양쪽 정합성 확인 필요.
|
|
|
|
---
|
|
|
|
## 3. 발전시뮬레이션 관련 신규 API
|
|
|
|
### 3.1 `[?]` 발전시뮬레이션 관련 견적서 조회 API
|
|
- 커밋: `7211101a`
|
|
- 발전시뮬레이션이 참조하는 견적서를 조회하는 신규 엔드포인트.
|
|
|
|
### 3.2 `[?]` 발전시뮬레이션 물건번호 목록 조회 API
|
|
- 커밋: `c7253388`
|
|
- 물건번호(objectNo) 목록을 발전시뮬레이션 화면에 노출.
|
|
|
|
### 3.3 `[1516]` 발전량 수정 — 중복 모듈 처리
|
|
- 커밋: `3b090f7e`
|
|
- 같은 모듈이 중복으로 잡혀 발전량 계산이 중복되던 문제 수정.
|
|
|
|
### 3.4 `[1375]` 인증용량 쿼리 수정
|
|
- 커밋: `2c0a8a35`, `0a0e248b`
|
|
- 인증용량 산출 쿼리 보정. (수정이 두 번 나뉜 걸 보면 한 번에 안 잡힘 — 새 케이스가 발견되면 또 분기 추가될 가능성.)
|
|
|
|
---
|
|
|
|
## 4. 모듈 / PCS / 거치대
|
|
|
|
### 4.1 `[1479]` 물건 정보 화면에 일부 PCS 명칭이 표시되지 않는다 — 스토리지뱃더리 추가
|
|
- 커밋: `3a4dab2f`
|
|
- "스토리지뱃더리"(스토리지 배터리, 일본어 표기)를 PCS 종류에 추가.
|
|
|
|
### 4.2 `[1763]` 특정 지붕재 사용 시 Plan 복사 오류
|
|
- 커밋: `1b4e64b5`
|
|
- 특정 지붕재가 들어간 Plan을 복사하면 지붕재 정보가 올바르게 전달되지 않음 → 복사 시 매핑 보정.
|
|
|
|
### 4.3 `[1764]` 북쪽 면 설치 사양 변경
|
|
- 커밋: `408cc75a`
|
|
- 북쪽 면 설치 사양 처리 분기 추가.
|
|
|
|
### 4.4 `[1423]` 설계 가져오기 기능
|
|
- 커밋: `2b43fad2`
|
|
- 다른 설계를 현재 화면으로 가져오는 기능 보강.
|
|
|
|
---
|
|
|
|
## 5. 우편번호
|
|
|
|
### 5.1 한 일
|
|
|
|
| 내용 | 커밋 |
|
|
|------|------|
|
|
| 판매점 우편번호 등록 시 하이픈이 없으면 **셋째 자리 뒤에 자동 하이픈 조합**으로 등록 처리 | `e05ef305` |
|
|
| 우편번호 변경 부분 추가 | `4e502c42` |
|
|
|
|
### 5.2 정책
|
|
|
|
- 일본 우편번호는 `XXX-XXXX` 7자리 + 하이픈 형식. 사용자가 하이픈 없이 7자리만 넣어도 받아주도록 자동 보정.
|
|
|
|
---
|
|
|
|
## 6. 배치 (Spring Batch + Quartz)
|
|
|
|
### 6.1 한 일
|
|
|
|
| 내용 | 커밋 |
|
|
|------|------|
|
|
| 배치 잡이 8080, 8081 두 곳에서 실행되던 것을 8080만 실행하도록 수정 | `711c8fcd` |
|
|
| 개발에 `batch: scheduler-port: 8090` 추가 | `4bcc2fe9` |
|
|
| `materialJob`: `02:30 → 04:50`, `bomJob`: `02:40 → 05:20` 시간 조정 | `19250727` |
|
|
| job 수정 / 제목 한 줄에 나타내기 | `6b072e42`, `4759c572` |
|
|
|
|
### 6.2 주의
|
|
|
|
- 배치 잡 시간을 옮길 때는 **다른 잡과 겹치지 않는지** 반드시 확인하세요. 같은 시간에 여러 잡이 돌면 DB 부하/락이 발생합니다.
|
|
- 잡이 두 인스턴스(8080/8081)에서 동시에 도는 사고가 있었던 영역이라 **포트 분리 정책**이 들어가 있습니다.
|
|
|
|
---
|
|
|
|
## 7. Java 버전 / 빌드 환경
|
|
|
|
### 7.1 한 일
|
|
- 커밋 `73da60a0`, `9b762063`, `d68b1270`, `037e3201` (java 버전 맞춤 1~3)
|
|
- 로컬·CI 자바 버전 불일치로 빌드 실패가 반복돼 **Java 17** 로 정렬.
|
|
|
|
### 7.2 주의
|
|
- 새 환경 세팅 시 `JAVA_HOME` 이 17 인지 먼저 확인.
|
|
- `pom.xml` 의 `<java.version>` 도 17 로 고정.
|
|
|
|
---
|
|
|
|
## 8. 핵심 파일 / 위치
|
|
|
|
| 위치 | 역할 |
|
|
|------|------|
|
|
| `com.interplug.qcast.biz.bom.*` | BOM 도메인 |
|
|
| `com.interplug.qcast.biz.simulation.*` | 발전시뮬레이션 |
|
|
| `com.interplug.qcast.biz.permission.*` 또는 Controller 단의 권한 어노테이션 | 권한 |
|
|
| `com.interplug.qcast.batch.*` | 배치 잡 / Quartz 설정 |
|
|
| `application*.yml` | 포트/스케줄러 포트/잡 시간 등 설정 |
|
|
|
|
---
|
|
|
|
## 9. 인수 직후 권장 절차
|
|
|
|
1. 이 문서 통독.
|
|
2. `application.yml` 와 `application-{profile}.yml` 차이를 확인 (특히 배치 포트).
|
|
3. BOM 자식 조회 쿼리 한 번 직접 실행 → 부모/자식 컬럼 의미 체득.
|
|
4. 발전시뮬레이션 신규 API 두 개의 endpoint URL을 Swagger UI에서 확인.
|
|
|
|
---
|
|
|
|
## 10. 미해결 / 추적 중
|
|
|
|
- `[1375]` 인증용량 쿼리는 **케이스가 더 있을 수 있음** (이미 두 차례 수정됨).
|
|
- 배치 잡 시간 정책은 운영 데이터 양에 따라 또 옮길 가능성 있음.
|
|
- 권한 체크가 Controller/Service 두 레이어에 산재되어 있어 **표준화 여지**가 있음 (시간 되면).
|
|
|
|
끝.
|