diff options
Diffstat (limited to 'lib/knox-api/approval/approval.ts')
| -rw-r--r-- | lib/knox-api/approval/approval.ts | 90 |
1 files changed, 3 insertions, 87 deletions
diff --git a/lib/knox-api/approval/approval.ts b/lib/knox-api/approval/approval.ts index 5599c066..51fb3f7f 100644 --- a/lib/knox-api/approval/approval.ts +++ b/lib/knox-api/approval/approval.ts @@ -4,7 +4,6 @@ import { getKnoxConfig, createJsonHeaders, createFormHeaders } from '../common'; import { randomUUID } from 'crypto'; import { saveApprovalToDatabase, deleteApprovalFromDatabase, upsertApprovalStatus } from './service'; import { debugLog, debugError } from '@/lib/debug-utils' -import { resolveRedFlag } from '@/lib/compliance/red-flag-resolution' // Knox API Approval 서버 액션들 // 가이드: lib/knox-api/approval/guide.html @@ -831,34 +830,6 @@ export async function syncApprovalStatusAction(): Promise<{ // upsert를 사용한 상태 업데이트 await upsertApprovalStatus(statusData.apInfId, statusData.status); updated++; - - // RED FLAG 해소 결재 완료 확인 및 처리 - if (['2', '5', '6'].includes(statusData.status)) { - // 완결(2), 전결(5), 후완결(6) 상태인 경우 RED FLAG 해소 처리 - try { - const db = (await import('@/db/db')).default; - const { complianceResponses } = await import('@/db/schema/compliance'); - const { eq } = await import('drizzle-orm'); - - // 해당 결재 ID로 compliance response 조회 - const response = await db - .select({ - id: complianceResponses.id, - basicContractId: complianceResponses.basicContractId, - }) - .from(complianceResponses) - .where(eq(complianceResponses.redFlagResolutionApprovalId, statusData.apInfId)) - .limit(1); - - if (response[0]) { - // RED FLAG 해소 처리 - await resolveRedFlag(response[0].basicContractId, statusData.apInfId); - } - } catch (redFlagError) { - console.error(`RED FLAG 해소 처리 실패 (${statusData.apInfId}):`, redFlagError); - // RED FLAG 해소 실패는 결재 상태 업데이트를 무효화하지 않음 - } - } } } catch (updateError) { console.error(`결재상태 업데이트 실패 (${statusData.apInfId}):`, updateError); @@ -945,37 +916,9 @@ export async function syncSpecificApprovalStatusAction( // 조회된 상태로 데이터베이스 업데이트 for (const statusData of statusResponse.data) { try { - // upsert를 사용한 상태 업데이트 - await upsertApprovalStatus(statusData.apInfId, statusData.status); - updated++; - - // RED FLAG 해소 결재 완료 확인 및 처리 - if (['2', '5', '6'].includes(statusData.status)) { - // 완결(2), 전결(5), 후완결(6) 상태인 경우 RED FLAG 해소 처리 - try { - const db = (await import('@/db/db')).default; - const { complianceResponses } = await import('@/db/schema/compliance'); - const { eq } = await import('drizzle-orm'); - - // 해당 결재 ID로 compliance response 조회 - const response = await db - .select({ - id: complianceResponses.id, - basicContractId: complianceResponses.basicContractId, - }) - .from(complianceResponses) - .where(eq(complianceResponses.redFlagResolutionApprovalId, statusData.apInfId)) - .limit(1); - - if (response[0]) { - // RED FLAG 해소 처리 - await resolveRedFlag(response[0].basicContractId, statusData.apInfId); - } - } catch (redFlagError) { - console.error(`RED FLAG 해소 처리 실패 (${statusData.apInfId}):`, redFlagError); - // RED FLAG 해소 실패는 결재 상태 업데이트를 무효화하지 않음 - } - } + // upsert를 사용한 상태 업데이트 + await upsertApprovalStatus(statusData.apInfId, statusData.status); + updated++; } catch (updateError) { console.error(`결재상태 업데이트 실패 (${statusData.apInfId}):`, updateError); failed.push(statusData.apInfId); @@ -1128,33 +1071,6 @@ export async function getApprovalLogsAction(): Promise<{ // 메모리상의 데이터도 업데이트 currentLog.status = statusData.status; updatedCount++; - - // RED FLAG 해소 결재 완료 확인 및 처리 - if (['2', '5', '6'].includes(statusData.status)) { - // 완결(2), 전결(5), 후완결(6) 상태인 경우 RED FLAG 해소 처리 - try { - const { complianceResponses } = await import('@/db/schema/compliance'); - const { eq } = await import('drizzle-orm'); - - // 해당 결재 ID로 compliance response 조회 - const response = await db - .select({ - id: complianceResponses.id, - basicContractId: complianceResponses.basicContractId, - }) - .from(complianceResponses) - .where(eq(complianceResponses.redFlagResolutionApprovalId, statusData.apInfId)) - .limit(1); - - if (response[0]) { - // RED FLAG 해소 처리 - await resolveRedFlag(response[0].basicContractId, statusData.apInfId); - } - } catch (redFlagError) { - console.error(`RED FLAG 해소 처리 실패 (${statusData.apInfId}):`, redFlagError); - // RED FLAG 해소 실패는 결재 상태 업데이트를 무효화하지 않음 - } - } } catch (updateError) { console.error(`결재상태 업데이트 실패 (${statusData.apInfId}):`, updateError); } |
