공휴일 화면 관리 · 거부 뒤 재배정 · 수락 대기에서도 도착 예정일 - #388
Merged
Merged
Conversation
## 공휴일 — 배포 없이 넣는다 2026년 값을 migration 에 넣어 둔 것으로 끝냈던 것이 잘못이었다. 그대로면 2027년에, 그리고 임시공휴일이 생길 때마다 **배포를 해야 한다** — 표로 뺀 이유가 사라진다. 관리자 > 공휴일 탭에서 연도별로 넣고 고친다. 고치면 다음 계산부터 반영된다 (TTL 을 기다리지 않고 바로 무효화한다). 뺀 날은 지우지 않고 끈다 — 「이 날은 안 쉰다고 정했다」도 기록이다. 「불러오기」는 **초안**이다. 서비스키(`HOLIDAY_API_KEY`)가 있으면 행정안전부 특일정보를, 없으면 키 없이 되는 공개 소스를 쓴다. 어느 쪽이든 사람이 확인해야 저장된다 — 2027년을 실제로 불러와 보니 **제헌절이 또 들어왔다.** ## 거부 뒤 재배정 — 아예 안 되고 있었다 `order.quote_id` 가 유일한데 거부해도 그 **행은 남는다**(배정만 풀린다). 그대로 `create` 하니 유일 제약에 부딪혀 「이미 배정된 견적입니다」로 막혔다. 확인해 보니 재배정이 **한 번도 되지 않는 상태**였다. 배정이 풀린 행이 있으면 그 행을 다시 쓴다. 거절 기록은 지우지 않는다 — 왜 한 번 돌아왔는지가 남는다. 이미 배정된 건을 또 배정하는 것은 여전히 막힌다. 그리고 **적은 발주서가 남는다.** 임시저장이 없으면 거부돼 돌아온 발주서를 꺼내 이어 적게 한다 — 대개 초안 없이 배정 화면에서 바로 적고 누르기 때문에 초안 자체가 없다. 특장사 칸만 비워 다시 고르게 하고, 커스텀 건의 비고는 서버가 넣는 안내 문구라 돌려주지 않는다. 화면은 「초안」이 아니라 「거부돼 돌아온 발주서」라고 사유와 함께 알려 준다. ## 수락 대기에서도 도착 예정일 관리자가 「주문 진행」에서 수락 대기 카드를 누르면 열리는 곳은 주문 상세가 아니라 **발주서 모달**이다. 도착 예정일이 상세에만 있어 아직 수락 안 된 건에는 손댈 자리가 없었다 — 정작 그때가 알려 줘야 하는 때다(제보). 발주서 모달에도 넣었다. 특장사에게는 읽기 전용으로 보인다 — 납기를 고르는 자리에서 차가 언제 오는지는 알아야 하는 값이다. 검사 6 + 3개. 일곱을 되돌려 각각 걸리는 것을 확인했다. 브라우저에서 2027년을 불러와 17일을 저장하는 것까지 확인했다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #387
1. 공휴일 — 배포 없이 넣는다
앞 PR 이 반쪽이었다. 2026년 값을 migration 에 넣어 둔 것으로 끝냈는데, 그대로면 2027년에도 임시공휴일이 생길 때마다도 배포를 해야 한다 — 코드에 박지 않으려고 표로 뺀 이유가 사라진다.
관리자 > 공휴일 탭(
basedata.manage)에서 연도별로 넣고 고친다. 고치면 다음 계산부터 반영된다(TTL 을 기다리지 않고 바로 무효화). 뺀 날은 지우지 않고 끈다 — 「이 날은 안 쉰다고 정했다」도 기록이다.「불러오기」는 초안이다.
HOLIDAY_API_KEY(공공데이터포털 특일정보, 무료)가 SSM 에 있으면 행정안전부 값을, 없으면 키 없이 되는 공개 소스를 쓴다. 어느 쪽이든 사람이 확인해야 저장된다 —2. 거부 뒤 재배정 — 아예 안 되고 있었다
order.quote_id가 유일한데 거부해도 그 행은 남는다(배정만 풀린다). 그대로create하니 유일 제약에 부딪혔다.배정이 풀린 행이 있으면 그 행을 다시 쓴다. 거절 기록(
rejected_at·reject_reason)은 지우지 않는다. 이미 배정된 건을 또 배정하는 것은 여전히 막힌다.3. 적은 발주서가 남는다
임시저장이 없으면 거부돼 돌아온 발주서를 꺼내 이어 적게 한다 — 대개 초안 없이 배정 화면에서 바로 적고 누르므로 초안 자체가 없다.
4. 수락 대기에서도 도착 예정일
「주문 진행」에서 수락 대기 카드를 누르면 열리는 곳은 주문 상세가 아니라 발주서 모달이라 도착 예정일 칸이 없었다 — 정작 그때가 알려 줘야 하는 때다. 모달에도 넣었고, 특장사에게는 읽기 전용으로 보인다(납기를 고르는 자리에서 차가 언제 오는지는 알아야 한다).
검증
검사 711(백엔드) + 316(shared) 통과 · 프론트·백엔드 클린 빌드 ·
db:drift일치.되돌려 걸리는 것을 확인한 변이 7개:
order.create브라우저: 관리자 > 공휴일 → 2027 선택 → 불러오기(17건) → 표에 담아 저장 → DB 17행 확인. 수락 대기 카드를 눌러 발주서 모달에서 도착 예정일 「지정」 버튼이 뜨는 것 확인.
스키마 변경 없음.