크라우니 ERP SD(영업) 갭 5종(SD-G1~G5) 구현
개요
크라우니 ERP(포트 9981, 셀코어ERP 27슬롯 코어 기반) SD(영업) 모듈에 갭 5종을 추가.
기존 26함수·DT1~8은 무수정, DT9부터 신규 5건 추가. 전 모듈 통합 스모크 112→117/117 유지.
구현 5종 (DT9~13)
- SD-G1 가용성체크(자재코드, 요청수량, 조직) doctype=
atp-check — MM_자재.psv 직독(버퍼, SD 전용 이름 SD자재행/SD자재있나/SD자재안전재고/SD자재현재재고로 erp_MM.한선과 이름충돌 회피). 가용재고(현재고-안전재고)≥요청=티, 현재고≥요청>가용재고=음, 0<가용재고<요청=옴, 재고0·미등록=타.
- SD-G2 메모전표발행(원청구셀id, 구분, 금액, 사유코드, 조직) doctype=
credit-memo — 원청구 셀 S금액 대비 초과=타, 없음=타, 사유코드0=옴, 금액≥500만=음, 정상=티.
- SD-G3 백오더등록(수주셀id, 부족수량, 조직) doctype=
backorder — 수주없음=타, 부족≥수주수량=타, 부족0=옴, 부족*2>수주수량(50%초과)=음, 정상=티.
- SD-G4 출하일정결정(수주셀id, 요청일, 거리, 조직) doctype=
route-schedule — 리드타임=거리/500+1일, 요청일<오늘(20260722)+리드타임=타, ==최소가능일=음, 여유<3일=옴, 여유≥3일=티.
- SD-G5 리베이트조건등록(고객코드, 율퍼센트, 시작일, 종료일, 조직) doctype=
rebate — 신규 마스터 data/master/SD_리베이트.psv. 율≤0또는>30=타, 고객미등록=옴, 율≥20=음, 정상=티.
배선
core/libs/erp_SD.한선 끝에 5함수 추가(기존 함수 무수정)
core/servers/ERP통합서버.한선 액션SD()에 doctype 5종 디스패치 추가
data/규칙/사상규칙.psv에 R330~R341 12행 추가(SD 5 doctype 참조 규칙)
/Users/ef/crowny-nexus-app/public/erp/sd.html SD_SPEC에 5카드 추가(8→13)
/tmp/erp페이지스펙.json SD 배열 5건 추가(112→117)
검증
- 컴파일: hanseonc_high 0에러(STRICT), 127117 큐브 생성
- 배포: cp → :9981 프로세스 kill -9 → crownyc run 재기동 → health 200 확인(cells 1132)
- 4상 전 발현: 5종 전부 티/옴/타/음 라이브 curl 실측 확인(각 doctype 4가지 입력으로 4상 모두 도달)
- 스모크:
core/servers/ERP페이지스모크.sh(nexus 프록시 9802 경유) 117/117 PASS(SD 13/13 포함)
- 성능: atp-check 응답 0.133s (<2s)
- sd.html: 200 OK, SD_SPEC 13개 doctype 파싱 확인(quote~rebate)
관련 파일
- /Users/ef/crowny-erp/core/libs/erp_SD.한선
- /Users/ef/crowny-erp/core/servers/ERP통합서버.한선
- /Users/ef/crowny-erp/data/규칙/사상규칙.psv
- /Users/ef/crowny-erp/data/master/SD_리베이트.psv (신규 생성됨, 라이브 등록 2건)
- /Users/ef/crowny-nexus-app/public/erp/sd.html
- /tmp/erp페이지스펙.json
잔여 이슈
- 없음. 5종 전부 완주, 스모크 117/117.