summaryrefslogtreecommitdiff
path: root/lib/bidding
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding')
-rw-r--r--lib/bidding/service.ts28
-rw-r--r--lib/bidding/vendor/partners-bidding-list-columns.tsx18
2 files changed, 27 insertions, 19 deletions
diff --git a/lib/bidding/service.ts b/lib/bidding/service.ts
index 2474d464..0261ad57 100644
--- a/lib/bidding/service.ts
+++ b/lib/bidding/service.ts
@@ -2294,14 +2294,22 @@ export async function updateBiddingSchedule(
try {
const userName = await getUserNameById(userId)
- // 날짜 문자열을 Date 객체로 변환
+ // 날짜 문자열을 Date 객체로 수동 변환
const parseDate = (dateStr?: string) => {
if (!dateStr) return undefined
- try {
- return new Date(dateStr)
- } catch {
- return undefined
- }
+ // 'YYYY-MM-DDTHH:mm' 또는 'YYYY-MM-DD HH:mm' 등을 허용
+ // 잘못된 포맷이면 undefined 반환
+ const m = dateStr.match(
+ /^(\d{4})-(\d{2})-(\d{2})[T ]?(\d{2}):(\d{2})(?::(\d{2}))?$/
+ )
+ if (!m) return undefined
+ const year = parseInt(m[1], 10)
+ const month = parseInt(m[2], 10) - 1 // JS month는 0부터
+ const day = parseInt(m[3], 10)
+ const hour = parseInt(m[4], 10)
+ const min = parseInt(m[5], 10)
+ const sec = m[6] ? parseInt(m[6], 10) : 0
+ return new Date(Date.UTC(year, month, day, hour, min, sec))
}
return await db.transaction(async (tx) => {
@@ -2310,8 +2318,8 @@ export async function updateBiddingSchedule(
updatedBy: userName,
}
- if (schedule.submissionStartDate !== undefined) updateData.submissionStartDate = parseDate(schedule.submissionStartDate)
- if (schedule.submissionEndDate !== undefined) updateData.submissionEndDate = parseDate(schedule.submissionEndDate)
+ if (schedule.submissionStartDate !== undefined) updateData.submissionStartDate = parseDate(schedule.submissionStartDate) || null
+ if (schedule.submissionEndDate !== undefined) updateData.submissionEndDate = parseDate(schedule.submissionEndDate) || null
if (schedule.remarks !== undefined) updateData.remarks = schedule.remarks
if (schedule.isUrgent !== undefined) updateData.isUrgent = schedule.isUrgent
if (schedule.hasSpecificationMeeting !== undefined) updateData.hasSpecificationMeeting = schedule.hasSpecificationMeeting
@@ -2335,7 +2343,7 @@ export async function updateBiddingSchedule(
await tx
.update(specificationMeetings)
.set({
- meetingDate: new Date(specificationMeeting.meetingDate),
+ meetingDate: parseDate(specificationMeeting.meetingDate) || null,
meetingTime: specificationMeeting.meetingTime || null,
location: specificationMeeting.location,
address: specificationMeeting.address || null,
@@ -2355,7 +2363,7 @@ export async function updateBiddingSchedule(
.insert(specificationMeetings)
.values({
biddingId,
- meetingDate: new Date(specificationMeeting.meetingDate),
+ meetingDate: specificationMeeting.meetingDate,
meetingTime: specificationMeeting.meetingTime || null,
location: specificationMeeting.location,
address: specificationMeeting.address || null,
diff --git a/lib/bidding/vendor/partners-bidding-list-columns.tsx b/lib/bidding/vendor/partners-bidding-list-columns.tsx
index ba47ce50..63d097c0 100644
--- a/lib/bidding/vendor/partners-bidding-list-columns.tsx
+++ b/lib/bidding/vendor/partners-bidding-list-columns.tsx
@@ -204,15 +204,15 @@ export function getPartnersBiddingListColumns({ setRowAction }: PartnersBiddingL
},
}),
- // 품목명
- columnHelper.accessor('itemName', {
- header: '품목명',
- cell: ({ row }) => (
- <div className="max-w-32 truncate" title={row.original.itemName}>
- {row.original.itemName}
- </div>
- ),
- }),
+ // // 품목명
+ // columnHelper.accessor('itemName', {
+ // header: '품목명',
+ // cell: ({ row }) => (
+ // <div className="max-w-32 truncate" title={row.original.itemName}>
+ // {row.original.itemName}
+ // </div>
+ // ),
+ // }),
// 입찰명
columnHelper.accessor('title', {