diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-12-01 10:28:05 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-12-01 10:28:05 +0000 |
| commit | cd0ce0cbe8af8719a6f542098ec78f2a5c1222ce (patch) | |
| tree | aca09d123c60852400c2fc8603928e110c53e8f5 /lib/bidding/actions.ts | |
| parent | 3a76ebfa18df15096ac21d10bf46f85b4d1e45e2 (diff) | |
(최겸) 구매 입찰 사전견적 개발(rfq-last)
Diffstat (limited to 'lib/bidding/actions.ts')
| -rw-r--r-- | lib/bidding/actions.ts | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/bidding/actions.ts b/lib/bidding/actions.ts index 02501b27..4e7da36c 100644 --- a/lib/bidding/actions.ts +++ b/lib/bidding/actions.ts @@ -96,9 +96,11 @@ export async function transmitToContract(biddingId: number, userId: number) { bidAmount: companyPrItemBids.bidAmount, currency: companyPrItemBids.currency, // PR 아이템 정보도 함께 조회 - itemNumber: prItemsForBidding.itemNumber, - itemInfo: prItemsForBidding.itemInfo, - materialDescription: prItemsForBidding.materialDescription, + projectId: prItemsForBidding.projectId, + materialGroupNumber: prItemsForBidding.materialGroupNumber, + materialGroupInfo: prItemsForBidding.materialGroupInfo, + materialInfo: prItemsForBidding.materialInfo, + specification: prItemsForBidding.specification, quantity: prItemsForBidding.quantity, quantityUnit: prItemsForBidding.quantityUnit, }) @@ -119,7 +121,8 @@ export async function transmitToContract(biddingId: number, userId: number) { } // 계약 번호 자동 생성 (실제 규칙에 맞게) - const contractNumber = await generateContractNumber(userId.toString(), biddingData.contractType) + const safeUserId = userId ? String(userId) : '0'; + const contractNumber = await generateContractNumber(safeUserId, biddingData.contractType) console.log('Generated contractNumber:', contractNumber) // general-contract 생성 (발주비율 계산된 최종 금액 사용) @@ -132,7 +135,7 @@ export async function transmitToContract(biddingId: number, userId: number) { name: biddingData.title, vendorId: winnerCompany.companyId, linkedBidNumber: biddingData.biddingNumber, - contractAmount: totalContractAmount ? totalContractAmount.toString() as any : null, // 발주비율 계산된 최종 금액 사용 + contractAmount: !isNaN(totalContractAmount) ? String(totalContractAmount) : null, // 발주비율 계산된 최종 금액 사용 startDate: biddingData.contractStartDate || null, endDate: biddingData.contractEndDate || null, currency: biddingData.currency || 'KRW', @@ -161,16 +164,17 @@ export async function transmitToContract(biddingId: number, userId: number) { await db.insert(generalContractItems).values({ contractId: contractId, - itemCode: bid.itemNumber || '', - itemInfo: bid.itemInfo || '', - specification: bid.materialDescription || '', - quantity: finalQuantity || null, + projectId: bid.projectId, + itemCode: bid.materialGroupNumber || '', + itemInfo: bid.materialGroupInfo || '', + specification: bid.specification || '', + quantity: !isNaN(finalQuantity) ? String(finalQuantity) : null, quantityUnit: bid.quantityUnit || '', totalWeight: null, // 중량 정보 제외 weightUnit: '', // 중량 단위 제외 contractDeliveryDate: bid.proposedDeliveryDate || null, - contractUnitPrice: bid.bidUnitPrice ? String(bid.bidUnitPrice) : null, - contractAmount: finalAmount ? String(finalAmount) : null, + contractUnitPrice: !isNaN(bidUnitPrice) ? String(bidUnitPrice) : null, + contractAmount: !isNaN(finalAmount) ? String(finalAmount) : null, contractCurrency: bid.currency || biddingData.currency || 'KRW', }) } |
