From 935fd22e17afc034a472bc2d159de7b9f5e5dcae Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Thu, 20 Nov 2025 19:36:01 +0900 Subject: (김준회) PO, POS, swp - PO: 발주서출력기능 초안 - 벤더측 POS 다운로드 기능 추가 - Contract 생성시 Status 설정 (mapper) - swp document registration table 로직 리팩터링 - swp: 입력가능 문서번호 validation 추가 (리스트 메뉴에서 Completed 된 건) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/soap/ecc/mapper/po-mapper.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'lib/soap') 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납기일자) 중 최대값으로 계산 필요 -- cgit v1.2.3