summaryrefslogtreecommitdiff
path: root/lib/bidding
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-11-25 08:25:41 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-11-25 08:25:41 +0000
commit6fcb8eda80c5ccac7eb985d3efb2aaafa0711988 (patch)
tree656c855ebe6bb235dca6abb072a06698e254ac3c /lib/bidding
parentd6515dda319e13d88abf96c60e86ad8d78978009 (diff)
(최겸) 구매 입찰 수정
Diffstat (limited to 'lib/bidding')
-rw-r--r--lib/bidding/approval-actions.ts19
-rw-r--r--lib/bidding/service.ts3
-rw-r--r--lib/bidding/vendor/partners-bidding-list-columns.tsx8
3 files changed, 17 insertions, 13 deletions
diff --git a/lib/bidding/approval-actions.ts b/lib/bidding/approval-actions.ts
index 6f02e80c..9a37d83b 100644
--- a/lib/bidding/approval-actions.ts
+++ b/lib/bidding/approval-actions.ts
@@ -334,6 +334,12 @@ export async function requestBiddingClosureWithApproval(data: {
debugError('[BiddingClosureApproval] 폐찰 사유 없음');
throw new Error('폐찰 사유를 입력해주세요');
}
+ // 2. DB 및 스키마 import (입찰초대 결재 로직 패턴과 동일)
+ debugLog('[BiddingClosureApproval] DB 연결 및 스키마 import');
+ const { default: db } = await import('@/db/db');
+ const { biddings } = await import('@/db/schema');
+ const { eq } = await import('drizzle-orm');
+
// 유찰상태인지 확인
const { bidding } = await db
.select()
@@ -346,16 +352,13 @@ export async function requestBiddingClosureWithApproval(data: {
throw new Error('유찰 상태인 입찰만 폐찰할 수 있습니다.');
}
- // 2. 입찰 상태를 결재 진행중으로 변경
+ // 3. 입찰 상태를 결재 진행중으로 변경
debugLog('[BiddingClosureApproval] 입찰 상태 변경 시작');
- const { default: db } = await import('@/db/db');
- const { biddings } = await import('@/db/schema');
- const { eq } = await import('drizzle-orm');
await db
.update(biddings)
.set({
- status: 'closure_pending', // 폐찰 결재 진행중 상태
+ status: 'approval_pending', // 폐찰 결재 진행중 상태
updatedBy: data.currentUser.epId,
updatedAt: new Date()
})
@@ -363,7 +366,7 @@ export async function requestBiddingClosureWithApproval(data: {
debugLog('[BiddingClosureApproval] 입찰 상태 변경 완료', {
biddingId: data.biddingId,
- newStatus: 'closure_pending'
+ newStatus: 'approval_pending'
});
// 3. 결재 데이터 준비
@@ -510,7 +513,7 @@ export async function requestBiddingAwardWithApproval(data: {
await db
.update(biddings)
.set({
- status: 'award_pending', // 낙찰 결재 진행중 상태
+ status: 'approval_pending', // 낙찰 결재 진행중 상태
updatedBy: data.currentUser.epId,
updatedAt: new Date()
})
@@ -518,7 +521,7 @@ export async function requestBiddingAwardWithApproval(data: {
debugLog('[BiddingAwardApproval] 입찰 상태 변경 완료', {
biddingId: data.biddingId,
- newStatus: 'award_pending'
+ newStatus: 'approval_pending'
});
// 3. 결재 데이터 준비
diff --git a/lib/bidding/service.ts b/lib/bidding/service.ts
index fe37eaea..d1a0d25c 100644
--- a/lib/bidding/service.ts
+++ b/lib/bidding/service.ts
@@ -31,7 +31,8 @@ import {
lte,
SQL,
like,
- notInArray
+ notInArray,
+ inArray
} from 'drizzle-orm'
import { revalidatePath } from 'next/cache'
import { filterColumns } from '@/lib/filter-columns'
diff --git a/lib/bidding/vendor/partners-bidding-list-columns.tsx b/lib/bidding/vendor/partners-bidding-list-columns.tsx
index 8cbddb3d..a090c3fe 100644
--- a/lib/bidding/vendor/partners-bidding-list-columns.tsx
+++ b/lib/bidding/vendor/partners-bidding-list-columns.tsx
@@ -171,12 +171,12 @@ export function getPartnersBiddingListColumns({ setRowAction }: PartnersBiddingL
const handleView = () => {
// 입찰기간 체크 (현 시간 기준으로 입찰기간 시작 전이면 접근 불가)
const now = new Date()
- const startDate = row.original.submissionStartDate ? new Date(row.original.submissionStartDate) : null
- const endDate = row.original.submissionEndDate ? new Date(row.original.submissionEndDate) : null
-
+ const startDate = row.original.submissionStartDate ? new Date(row.original.submissionStartDate).toISOString().slice(0, 16) : null
+ const endDate = row.original.submissionEndDate ? new Date(row.original.submissionEndDate).toISOString().slice(0, 16) : null
+ console.log(startDate, endDate, "startDate, endDate")
if (startDate && now < startDate) {
toast.warning('입찰기간 전 접근 제한', {
- description: `입찰기간이 아직 시작되지 않았습니다. 입찰 시작일: ${format(startDate, "yyyy-MM-dd HH:mm")}`,
+ description: `입찰기간이 아직 시작되지 않았습니다`,
duration: 5000,
})
return