feat(dispatch): Shopee 플랫폼 추가 + 받는 사람 정보 저장/출고 엑셀

- 플랫폼 TikTok/Shopee 분리: 업로드 화면이 선택에 따라 파일 안내 변경
  (TikTok=Order Export xlsx, Shopee=Packing List xlsx / 라벨 PDF 선택)
- TikTok Picking List.pdf 업로드 제거(피킹 요약은 데이터 엑셀로 생성)
- 파서 공용화 + 헤더 행 자동탐지(Shopee 제목행 대응), 두 포맷 헤더 별칭 통합
- 받는 사람 이름/전화/주소를 박스 단위로 dispatch_db 에 저장(개인정보)
  · init SQL 갱신 + 기존 DB용 멱등 마이그레이션 dispatch_add_recipient_columns.sql
- 출고 작업 카드: Package 제거, 받는 사람 이름(크게)+주소(여러 줄)+전화 표시
- 배치 다운로드 zip 에 취합 출고 엑셀 포함
  파일명 YYYY.MM.DD(Ddd)_tictoc.xlsx / _shopee.xlsx (export.py)
- 문서(CLAUDE.md, DISPATCH_MODULE.md) PII 보관·Shopee 반영

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 14:16:11 +09:00
parent c0a661db82
commit f1097b85dc
13 changed files with 388 additions and 86 deletions
+6 -2
View File
@@ -22,7 +22,8 @@
-- 주의:
-- - 기존 DB 가 있으면 DROP 하지 않는다(CREATE DATABASE 는 미존재 시에만).
-- - 비밀번호는 절대 Git 에 커밋하지 않는다. psql -v 로만 전달.
-- - 개인정보(고객 이름/주소/전화)는 저장하지 않는 구조다(컬럼 자체가 없음).
-- - 받는 사람 정보(이름/전화/주소)는 출고 작업 카드 표시 + 출고 엑셀 생성을
-- 위해 박스 단위로 보관한다(개인정보 — 접근/보관 정책 검토 대상).
-- - 작업 기준 키: order_id / package_id / tracking_id / seller_sku / quantity.
-- =====================================================================
@@ -80,7 +81,7 @@ CREATE TRIGGER trg_dispatch_batches_updated
-- ════════════════════════════════════════════════════════════
-- 2) 출고 박스 (1박스 = 1행 = 1작업카드)
-- 묶음 기준: package_id > tracking_id > order_id (파서가 결정).
-- 개인정보 컬럼 없음(이름/주소/전화 저장 안 함).
-- 받는 사람(recipient_*) 정보 보관 — 작업 카드 표시 + 출고 엑셀 생성용.
-- seq 는 배치 내 박스 표시 순번(No).
-- ════════════════════════════════════════════════════════════
CREATE TABLE IF NOT EXISTS dispatch_parcels (
@@ -91,6 +92,9 @@ CREATE TABLE IF NOT EXISTS dispatch_parcels (
package_id TEXT NOT NULL DEFAULT '',
tracking_id TEXT NOT NULL DEFAULT '',
shipping_provider TEXT NOT NULL DEFAULT '',
recipient_name TEXT NOT NULL DEFAULT '',
recipient_phone TEXT NOT NULL DEFAULT '',
recipient_address TEXT NOT NULL DEFAULT '',
product_ready BOOLEAN NOT NULL DEFAULT FALSE,
packed BOOLEAN NOT NULL DEFAULT FALSE,
label_attached BOOLEAN NOT NULL DEFAULT FALSE,