feat(malaysia): 콤보 출고를 콤보 재고현황에 반영
- set_movement(콤보 단위 출고 원장) 테이블 신설 + 마이그레이션 SQL - create_set_out: 낱개 OUT 과 함께 콤보 OUT 1행 기록(같은 트랜잭션) - 콤보 재고 = 최근 재고조사 콤보수량 − 재고조사일 이후 콤보 출고 - 재고현황 콤보 패널: 조사/출고/재고 3열 표시 - reset_all_data 에 set_movement 삭제 포함 배포: malaysia_stock_db_set_movement.sql 적용(테이블+GRANT) 후 코드 배포. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -165,6 +165,31 @@ CREATE INDEX IF NOT EXISTS idx_stock_mv_date ON stock_movement (movement_date
|
||||
CREATE INDEX IF NOT EXISTS idx_stock_mv_type ON stock_movement (movement_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_stock_mv_ref ON stock_movement (ref_type, ref_no);
|
||||
|
||||
-- ════════════════════════════════════════════════════════════
|
||||
-- 4-b) 콤보(세트) 출고 원장 (세트 단위)
|
||||
-- set_code 는 MY- 만. 세트 출고 시 stock_movement(낱개 분해)와 함께
|
||||
-- 여기에 콤보 단위 OUT 을 1행 기록한다(같은 트랜잭션).
|
||||
-- 콤보 재고현황 = 최근 재고조사 콤보수량 − 재고조사일 이후 OUT 합.
|
||||
-- 콤보 입고는 업무상 불가(낱개로만 입고) → OUT/ADJUST 만 허용.
|
||||
-- ════════════════════════════════════════════════════════════
|
||||
CREATE TABLE IF NOT EXISTS set_movement (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
movement_date DATE NOT NULL,
|
||||
warehouse_code TEXT NOT NULL REFERENCES warehouses(warehouse_code),
|
||||
set_code TEXT NOT NULL CHECK (set_code LIKE 'MY-%'),
|
||||
movement_type TEXT NOT NULL DEFAULT 'OUT' CHECK (movement_type IN ('OUT', 'ADJUST')),
|
||||
qty INTEGER NOT NULL,
|
||||
ref_type TEXT NOT NULL DEFAULT '',
|
||||
ref_no TEXT NOT NULL DEFAULT '',
|
||||
memo TEXT NOT NULL DEFAULT '',
|
||||
created_by TEXT NOT NULL DEFAULT '',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
-- OUT 은 양수만. ADJUST 만 음수 허용.
|
||||
CHECK ((movement_type = 'OUT' AND qty > 0) OR movement_type = 'ADJUST')
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_set_mv_wh_set ON set_movement (warehouse_code, set_code);
|
||||
CREATE INDEX IF NOT EXISTS idx_set_mv_date ON set_movement (movement_date);
|
||||
|
||||
-- ════════════════════════════════════════════════════════════
|
||||
-- 5) 일일 재고조사 (헤더)
|
||||
-- 같은 날짜 + 같은 창고에 finalized 는 1건만 허용(부분 유니크 인덱스).
|
||||
@@ -279,7 +304,7 @@ ON CONFLICT (item_code) DO NOTHING;
|
||||
-- ════════════════════════════════════════════════════════════
|
||||
GRANT USAGE ON SCHEMA public TO malaysia_app;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON
|
||||
warehouses, malaysia_items, set_bom, stock_movement,
|
||||
warehouses, malaysia_items, set_bom, stock_movement, set_movement,
|
||||
daily_stocktake, daily_stocktake_line, daily_stocktake_rack
|
||||
TO malaysia_app;
|
||||
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO malaysia_app;
|
||||
|
||||
Reference in New Issue
Block a user