feat(dispatch): 말레이시아 재고 차감 버튼(날짜 1회성)
- 달력 다운로드 아래 '말레이시아 재고 차감' 버튼. 선택 날짜 출고를 말레이시아 재고관리에 OUT 으로 반영(movement_date=해당 날짜) · 낱개(MT/MX/MZ)=낱개 OUT, 콤보(MY-)=세트 OUT(재고관리가 BOM 분해) · _N 배수 반영, MD-(뚜껑) 제외 - 날짜당 1회만: dispatch_stock_deductions 마커로 재차감 차단(이중 출고 방지) · 마커 선점 후 반영, 콤보 BOM 누락은 사전검증으로 차단 - export.split_singles_combos, db 차감 가드 메서드, 라우터 POST /dispatch/stock-deduct - 스키마: dispatch_stock_deductions (init + 마이그레이션 dispatch_add_deductions.sql) - 이미 차감된 날짜는 버튼 비활성 + 안내 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
-- =====================================================================
|
||||
-- dispatch_db 마이그레이션 — 말레이시아 재고 차감 1회성 기록
|
||||
-- =====================================================================
|
||||
-- 멱등(idempotent): 여러 번 실행해도 안전.
|
||||
--
|
||||
-- 배경: 배송 배치의 그날 출고를 말레이시아 재고관리(OUT)로 1회만 반영하기 위해,
|
||||
-- 날짜 단위로 차감 완료를 기록한다. 같은 날짜를 다시 차감하면 재고가
|
||||
-- 이중으로 빠지므로 이 표의 존재 여부로 재실행을 차단한다.
|
||||
--
|
||||
-- 실행:
|
||||
-- docker exec -i postgres-db psql -U postgres -d dispatch_db \
|
||||
-- < scripts/sql/dispatch_add_deductions.sql
|
||||
-- =====================================================================
|
||||
|
||||
\set ON_ERROR_STOP on
|
||||
\connect dispatch_db
|
||||
|
||||
CREATE TABLE IF NOT EXISTS dispatch_stock_deductions (
|
||||
dispatch_date DATE PRIMARY KEY,
|
||||
warehouse_code TEXT NOT NULL DEFAULT '',
|
||||
single_lines INTEGER NOT NULL DEFAULT 0,
|
||||
combo_lines INTEGER NOT NULL DEFAULT 0,
|
||||
worker_name TEXT NOT NULL DEFAULT '',
|
||||
deducted_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
SELECT 'dispatch_stock_deductions ready' AS status;
|
||||
Reference in New Issue
Block a user