summaryrefslogtreecommitdiff
path: root/lib/knox-api
diff options
context:
space:
mode:
Diffstat (limited to 'lib/knox-api')
-rw-r--r--lib/knox-api/approval/approval.ts90
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);
}