f137f2a6a6
- 신규 모듈 app/modules/malaysia (prefix /malaysia, 권한키 malaysia) - malaysia_stock_db: warehouses/malaysia_items/set_bom/stock_movement/ daily_stocktake/daily_stocktake_line (멱등 init SQL) - 낱개(MT/MX/MZ) 입출고·조정 movement, 세트(MY) BOM 관리, 세트 출고 BOM 분해 - 일일 재고조사: 세트→낱개 자동 분해(direct+from_set=total), 확정 시 차이만 STOCKTAKE - prefix 검증 이중화(DB CHECK + store.py 순수함수), MD- 전면 제외 - 상품명은 itemcode_db 읽기 전용 재사용(중복 마스터 없음) - 화면 4종 + JSON API, 순수로직 테스트 14건, README/docs 갱신 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
3.3 KiB
Bash
49 lines
3.3 KiB
Bash
GOOGLE_CLIENT_ID=your-google-oauth-client-id.apps.googleusercontent.com
|
|
GOOGLE_CLIENT_SECRET=your-google-oauth-client-secret
|
|
# OMS(orderlist) 와 SSO 하려면 양쪽 .env 에 동일한 값으로 설정.
|
|
# 미설정 시 컨테이너 기동 실패(fail-fast). openssl rand -hex 32 로 생성 권장.
|
|
SESSION_SECRET_KEY=replace-with-a-long-random-secret
|
|
SESSION_COOKIE_NAME=session
|
|
SESSION_COOKIE_SECURE=true
|
|
# 세션 유효기간(초). OMS(orderlist) 와 동일하게 맞출 것. 28800=8h
|
|
SESSION_MAX_AGE=28800
|
|
|
|
# 포털 접근 허용 이메일. 쉼표로 구분. 비워두면 코드의 기본 목록 사용.
|
|
ALLOWED_EMAILS=king@dbxcorp.co.kr,julie@dbxcorp.co.kr,ellen@dbxcorp.co.kr,bj@dbxcorp.co.kr
|
|
PUBLIC_BASE_URL=https://dbx.no1king.freeddns.org
|
|
# 비워두면 같은 도메인의 /corm/ 경로(NPM 리버스 프록시)로 자동 연결됨
|
|
CS_ORDER_URL=/corm/
|
|
# 비워두면 같은 도메인의 /orderlist/ 경로(NPM 리버스 프록시)로 자동 연결됨
|
|
CUSTOMER_ORDER_LIST_URL=/orderlist/
|
|
|
|
# ─── 개인경비 모듈 (expense_db) ───
|
|
# 설정하면 PostgreSQL 사용, 미설정 시 DATA_DIR/expense.json 사용.
|
|
# DB/역할 생성: scripts/sql/expense_db_init.sql 참고.
|
|
# EXPENSE_DB_URL=postgresql://expense_app:replace-me@postgres-db:5432/expense_db
|
|
|
|
# ─── 쿠팡 밀크런 모듈 (cupang_db) ───
|
|
# 설정해야 모듈이 동작한다(미설정 시 "설정 필요" 안내, JSON 폴백 없음).
|
|
# DB/역할/스키마/센터 seed 생성: scripts/sql/cupang_db_init.sql 참고.
|
|
# CUPANG_DB_URL=postgresql://cupang_app:replace-me@postgres-db:5432/cupang_db
|
|
|
|
# ─── 휴가 관리 모듈 (vacation_db) ───
|
|
# 설정해야 모듈이 동작한다(미설정 시 "설정 필요" 안내, JSON 폴백 없음).
|
|
# DB/역할/스키마/공휴일 seed 생성: scripts/sql/vacation_db_init.sql 참고.
|
|
# 권한키: vacation(접근) / vacation_approver(승인·반려). admin 은 항상 통과.
|
|
# VACATION_DB_URL=postgresql://vacation_app:replace-me@postgres-db:5432/vacation_db
|
|
|
|
# ─── 말레이시아 창고 재고관리 모듈 (malaysia_stock_db) ───
|
|
# 설정해야 모듈이 동작한다(미설정 시 "설정 필요" 안내, JSON 폴백 없음).
|
|
# DB/역할/스키마/창고·아이템 seed 생성: scripts/sql/malaysia_stock_db_init.sql 참고.
|
|
# 권한키: malaysia(접근). admin 은 항상 통과. 상품명은 아래 ITEMCODE_DB_URL 재사용.
|
|
# MALAYSIA_STOCK_DB_URL=postgresql://malaysia_app:replace-me@postgres-db:5432/malaysia_stock_db
|
|
|
|
# ─── 상품 검색 (itemcode_db 읽기 전용) ───
|
|
# cupang 설정 화면에서 제품명을 itemcode_db 에서 검색해 등록한다(읽기만).
|
|
# 미설정 시 검색 비활성 → 수동 등록만 가능.
|
|
# itemcode_db 실제 테이블: single_items(낱개) / set_items(세트)
|
|
# 컬럼: item_code, sabangnet_code, name
|
|
# 읽기 전용 역할 itemcode_ro 를 먼저 생성하고(아래 DSN), 낱개+세트 UNION 검색 SQL 사용:
|
|
# ITEMCODE_DB_URL=postgresql://itemcode_ro:replace-me@postgres-db:5432/itemcode_db
|
|
# ITEMCODE_SEARCH_SQL=SELECT item_code AS code, name AS name, '낱개' AS type FROM single_items WHERE item_code ILIKE %(q)s OR name ILIKE %(q)s UNION ALL SELECT item_code AS code, name AS name, '세트' AS type FROM set_items WHERE item_code ILIKE %(q)s OR name ILIKE %(q)s ORDER BY code ASC LIMIT %(limit)s
|