summaryrefslogtreecommitdiff
path: root/lib/soap
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap')
-rw-r--r--lib/soap/ecc/mapper/po-mapper.ts9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/soap/ecc/mapper/po-mapper.ts b/lib/soap/ecc/mapper/po-mapper.ts
index fef85662..ec7e4fb6 100644
--- a/lib/soap/ecc/mapper/po-mapper.ts
+++ b/lib/soap/ecc/mapper/po-mapper.ts
@@ -12,6 +12,7 @@ import {
ZMM_DT,
} from '@/db/schema/ECC/ecc';
import { eq } from 'drizzle-orm';
+import { ContractStatus } from '@/db/schema/contract';
// ECC 데이터 타입 정의
export type ECCPOHeader = typeof ZMM_HD.$inferInsert & {
@@ -125,7 +126,7 @@ export async function mapECCPOHeaderToBusiness(
throw new Error(`벤더를 찾을 수 없습니다: LIFNR=${eccHeader.LIFNR}, EBELN=${eccHeader.EBELN}`);
}
- // 계약서 내용 구성 (ZMM_NOTE에서 가져옴)
+ // 계약서(발주서) 내용 구성 (ZMM_NOTE에서 가져옴)
let contractContent: string | null = null;
if (eccHeader.notes && eccHeader.notes.length > 0) {
// ZNOTE_SER 순번으로 정렬 후 텍스트 합치기
@@ -145,9 +146,9 @@ export async function mapECCPOHeaderToBusiness(
contractNo: eccHeader.EBELN || '', // EBELN - 구매오더번호
contractName: eccHeader.ZTITLE || eccHeader.EBELN || '', // ZTITLE - 발주제목
contractContent, // 계약서 내용
- // TODO: ZPO_CNFM_STAT 값을 ContractStatus enum으로 매핑하는 로직 필요
- // 현재는 ECC에서 받은 값을 그대로 사용하되, null인 경우 undefined로 변환
- status: eccHeader.ZPO_CNFM_STAT || undefined, // ZPO_CNFM_STAT - 구매오더확인상태
+ // // TODO: ZPO_CNFM_STAT 값을 ContractStatus enum으로 매핑하는 로직 필요
+ // ZPO_CNFM_STAT은 단순히 확인여부로 null or 'C'
+ status: ContractStatus.CONTRACT_TRANSFER, // ECC에서 PO 전송받은 상태
startDate: parseDate(eccHeader.ZPO_DT || null), // ZPO_DT - 발주일자
endDate: null, // TODO: ZMM_DT의 ZPLN_ED_DT(예정종료일자) 중 최대값으로 계산 필요
deliveryDate: null, // TODO: ZMM_DT의 ZPO_DLV_DT(PO납기일자) 중 최대값으로 계산 필요