diff options
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', }) } |
