diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-22 02:12:15 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-22 02:12:15 +0000 |
| commit | 7dd2b9fc1856306652f311d19697d9880955bfab (patch) | |
| tree | 3144f14e2b6e9d66c25f10686ca9e94d61d9154e /lib/vendor-regular-registrations | |
| parent | 94082bfe915d3b0337f8929a2bb27828abb5d3c7 (diff) | |
(최겸) 공지사항, 인포메이션 기능 수정
Diffstat (limited to 'lib/vendor-regular-registrations')
| -rw-r--r-- | lib/vendor-regular-registrations/repository.ts | 35 | ||||
| -rw-r--r-- | lib/vendor-regular-registrations/service.ts | 13 |
2 files changed, 47 insertions, 1 deletions
diff --git a/lib/vendor-regular-registrations/repository.ts b/lib/vendor-regular-registrations/repository.ts index 38bf4aaf..aec3d275 100644 --- a/lib/vendor-regular-registrations/repository.ts +++ b/lib/vendor-regular-registrations/repository.ts @@ -75,6 +75,8 @@ export async function getVendorRegularRegistrations( status: basicContract.status,
templateName: basicContractTemplates.templateName,
createdAt: basicContract.createdAt,
+ filePath: basicContract.filePath,
+ fileName: basicContract.fileName,
})
.from(basicContract)
.leftJoin(basicContractTemplates, eq(basicContract.templateId, basicContractTemplates.id))
@@ -153,6 +155,35 @@ export async function getVendorRegularRegistrations( auditResult: investigationFiles,
};
+ // 디버깅용 로그 추가
+ console.log(`🔍 벤더 ID ${registration.vendorId} documentFiles 구조:`, {
+ businessRegistration: documentFiles.businessRegistration.map(f => ({
+ fileName: f.fileName,
+ filePath: f.filePath,
+ attachmentType: f.attachmentType,
+ allKeys: Object.keys(f)
+ })),
+ creditEvaluation: documentFiles.creditEvaluation.map(f => ({
+ fileName: f.fileName,
+ filePath: f.filePath,
+ attachmentType: f.attachmentType,
+ allKeys: Object.keys(f)
+ })),
+ bankCopy: documentFiles.bankCopy.map(f => ({
+ fileName: f.fileName,
+ filePath: f.filePath,
+ attachmentType: f.attachmentType,
+ allKeys: Object.keys(f)
+ })),
+ auditResult: documentFiles.auditResult.map(f => ({
+ fileName: f.fileName,
+ attachmentType: f.attachmentType,
+ allKeys: Object.keys(f)
+ })),
+ totalVendorFiles: vendorFiles.length,
+ totalInvestigationFiles: investigationFiles.length
+ });
+
// 문서 제출 현황 로그
console.log(`📊 벤더 ID ${registration.vendorId} 문서 제출 현황:`, {
documentSubmissionsStatus,
@@ -230,11 +261,13 @@ export async function getVendorRegularRegistrations( gtcSkipped: registration.gtcSkipped || false,
additionalInfo: additionalInfoCompleted,
// 기본계약 정보
- basicContracts: vendorContracts.map(contract => ({
+ basicContracts: vendorContracts.map((contract: any) => ({
templateId: contract.templateId,
templateName: contract.templateName,
status: contract.status,
createdAt: contract.createdAt,
+ filePath: contract.filePath,
+ fileName: contract.fileName,
})),
registrationRequestDate: registration.registrationRequestDate || null,
assignedDepartment: registration.assignedDepartment,
diff --git a/lib/vendor-regular-registrations/service.ts b/lib/vendor-regular-registrations/service.ts index d64c7b8b..7ec433b4 100644 --- a/lib/vendor-regular-registrations/service.ts +++ b/lib/vendor-regular-registrations/service.ts @@ -714,6 +714,8 @@ export async function fetchVendorRegistrationStatus(vendorId: number) { const investigationFiles = await db
.select({
attachmentId: vendorInvestigationAttachments.id,
+ fileName: vendorInvestigationAttachments.fileName,
+ filePath: vendorInvestigationAttachments.filePath,
createdAt: vendorInvestigationAttachments.createdAt,
})
.from(vendorInvestigationAttachments)
@@ -735,6 +737,8 @@ export async function fetchVendorRegistrationStatus(vendorId: number) { templateName: basicContractTemplates.templateName,
status: basicContract.status,
createdAt: basicContract.createdAt,
+ filePath: basicContract.filePath,
+ fileName: basicContract.fileName,
})
.from(basicContract)
.leftJoin(basicContractTemplates, eq(basicContract.templateId, basicContractTemplates.id))
@@ -796,6 +800,14 @@ export async function fetchVendorRegistrationStatus(vendorId: number) { safetyQualification: investigationFiles.length > 0,
}
+ // 문서별 파일 정보 (다운로드용)
+ const documentFiles = {
+ businessRegistration: vendorFiles.filter(f => f.attachmentType === "BUSINESS_REGISTRATION"),
+ creditEvaluation: vendorFiles.filter(f => f.attachmentType === "CREDIT_REPORT"),
+ bankCopy: vendorFiles.filter(f => f.attachmentType === "BANK_ACCOUNT_COPY"),
+ auditResult: investigationFiles,
+ }
+
// 미완성 항목 계산
const missingDocuments = Object.entries(documentStatus)
.filter(([, value]) => !value)
@@ -831,6 +843,7 @@ export async function fetchVendorRegistrationStatus(vendorId: number) { vendor: vendor[0],
registration: registration[0] || null,
documentStatus,
+ documentFiles, // 문서별 파일 정보 추가
missingDocuments,
businessContacts,
missingContactTypes,
|
