From 02b1cf005cf3e1df64183d20ba42930eb2767a9f Mon Sep 17 00:00:00 2001 From: dujinkim Date: Thu, 21 Aug 2025 06:57:36 +0000 Subject: (대표님, 최겸) 설계메뉴추가, 작업사항 업데이트 설계메뉴 - 문서관리 설계메뉴 - 벤더 데이터 gtc 메뉴 업데이트 정보시스템 - 메뉴리스트 및 정보 업데이트 파일 라우트 업데이트 엑셀임포트 개선 기본계약 개선 벤더 가입과정 변경 및 개선 벤더 기본정보 - pq 돌체 오류 수정 및 개선 벤더 로그인 과정 이메일 오류 수정 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pq/service.ts | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) (limited to 'lib/pq/service.ts') diff --git a/lib/pq/service.ts b/lib/pq/service.ts index f15790eb..989f8d5c 100644 --- a/lib/pq/service.ts +++ b/lib/pq/service.ts @@ -2710,7 +2710,7 @@ export async function sendInvestigationResultsAction(input: { await tx.insert(vendorRegularRegistrations).values({ vendorId: investigation.vendorId, - status: "audit_pass", // 실사 통과 상태로 시작 + status: "under_review", // 실사 통과 상태로 시작 majorItems: majorItemsJson, registrationRequestDate: new Date().toISOString().split('T')[0], // date 타입으로 변환 remarks: `PQ 실사 통과로 자동 생성 (PQ번호: ${investigation.pqNumber || 'N/A'})`, @@ -3772,6 +3772,61 @@ export async function updateInvestigationDetailsAction(input: { } } +// 구매자체평가 첨부파일 조회 +export async function getInvestigationAttachments(investigationId: number) { + try { + const attachments = await db + .select({ + id: vendorInvestigationAttachments.id, + fileName: vendorInvestigationAttachments.fileName, + originalFileName: vendorInvestigationAttachments.originalFileName, + filePath: vendorInvestigationAttachments.filePath, + fileSize: vendorInvestigationAttachments.fileSize, + mimeType: vendorInvestigationAttachments.mimeType, + attachmentType: vendorInvestigationAttachments.attachmentType, + createdAt: vendorInvestigationAttachments.createdAt, + }) + .from(vendorInvestigationAttachments) + .where(eq(vendorInvestigationAttachments.investigationId, investigationId)) + .orderBy(desc(vendorInvestigationAttachments.createdAt)); + + return { + success: true, + attachments, + }; + } catch (error) { + console.error("첨부파일 조회 오류:", error); + return { + success: false, + error: "첨부파일 조회 중 오류가 발생했습니다.", + attachments: [], + }; + } +} + +// 구매자체평가 첨부파일 삭제 +export async function deleteInvestigationAttachment(attachmentId: number) { + try { + await db + .delete(vendorInvestigationAttachments) + .where(eq(vendorInvestigationAttachments.id, attachmentId)); + + revalidateTag("pq-submissions"); + revalidatePath("/evcp/pq_new"); + + return { + success: true, + message: "첨부파일이 성공적으로 삭제되었습니다.", + }; + } catch (error) { + console.error("첨부파일 삭제 오류:", error); + return { + success: false, + error: "첨부파일 삭제 중 오류가 발생했습니다.", + }; + } +} + export async function autoDeactivateExpiredPQLists() { try { const now = new Date(); -- cgit v1.2.3