summaryrefslogtreecommitdiff
path: root/lib/bidding/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/service.ts')
-rw-r--r--lib/bidding/service.ts39
1 files changed, 37 insertions, 2 deletions
diff --git a/lib/bidding/service.ts b/lib/bidding/service.ts
index 71ee01ab..ed20ad0c 100644
--- a/lib/bidding/service.ts
+++ b/lib/bidding/service.ts
@@ -3006,6 +3006,7 @@ export async function increaseRoundOrRebid(biddingId: number, userId: string | u
// 구매조직
purchasingOrganization: existingBidding.purchasingOrganization,
+ plant: existingBidding.plant,
// 담당자 정보 복제
bidPicId: existingBidding.bidPicId,
@@ -3323,7 +3324,6 @@ export async function increaseRoundOrRebid(biddingId: number, userId: string | u
revalidatePath('/evcp/bid-receive')
revalidatePath('/evcp/bid')
revalidatePath(`/bid-receive/${biddingId}`) // 기존 입찰 페이지도 갱신
- revalidatePath(`/bid-receive/${newBidding.id}`)
return {
success: true,
@@ -4139,6 +4139,41 @@ export async function getBiddingSelectionItemsAndPrices(biddingId: number) {
*/
export async function checkAndSaveChemicalSubstancesForBidding(biddingId: number) {
try {
+ const [biddingInfo] = await db
+ .select({
+ id: biddings.id,
+ ANFNR: biddings.ANFNR,
+ plant: biddings.plant,
+ })
+ .from(biddings)
+ .where(eq(biddings.id, biddingId))
+ .limit(1)
+
+ if (!biddingInfo) {
+ return {
+ success: false,
+ message: '입찰 정보를 찾을 수 없습니다.',
+ results: []
+ }
+ }
+
+ if (!biddingInfo.ANFNR) {
+ return {
+ success: true,
+ message: 'SAP PR 연동 입찰이 아니므로 화학물질 검사를 건너뜁니다.',
+ results: []
+ }
+ }
+
+ const biddingWerks = biddingInfo.plant?.trim()
+ if (!biddingWerks) {
+ return {
+ success: false,
+ message: '입찰의 플랜트(WERKS) 정보가 없어 화학물질 검사를 진행할 수 없습니다.',
+ results: []
+ }
+ }
+
// 입찰의 모든 참여업체 조회 (벤더 코드 있는 것만)
const biddingCompaniesList = await db
.select({
@@ -4222,7 +4257,7 @@ export async function checkAndSaveChemicalSubstancesForBidding(biddingId: number
try {
const checkResult = await checkChemicalSubstance({
bukrs: 'H100', // 회사코드는 H100 고정
- werks: 'PM11', // WERKS는 PM11 고정
+ werks: biddingWerks,
lifnr: biddingCompany.vendors!.vendorCode!,
matnr: materialNumber
})