summaryrefslogtreecommitdiff
path: root/lib/bidding/actions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/actions.ts')
-rw-r--r--lib/bidding/actions.ts26
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',
})
}