summaryrefslogtreecommitdiff
path: root/lib/approval
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-11-21 09:44:33 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-11-21 09:44:33 +0000
commita2e0785c8749c4d3766ecf3b70edfb7c2fe4df20 (patch)
tree4b03bbec838baf307b38e0c5692da8da7bde2f9b /lib/approval
parent204fbfb126daf057a4567f64cfb7ab03a5679e82 (diff)
(임수민) 준법 Red Flag 해제, 코멘트 수정
Diffstat (limited to 'lib/approval')
-rw-r--r--lib/approval/handlers-registry.ts4
-rw-r--r--lib/approval/templates/컴플라이언스 Red Flag 해소요청.html135
2 files changed, 139 insertions, 0 deletions
diff --git a/lib/approval/handlers-registry.ts b/lib/approval/handlers-registry.ts
index 7aec3ae5..5c173565 100644
--- a/lib/approval/handlers-registry.ts
+++ b/lib/approval/handlers-registry.ts
@@ -59,6 +59,10 @@ export async function initializeApprovalHandlers() {
// 기술영업 RFQ 재발송 핸들러 등록 (결재 승인 후 실행될 함수 resendTechSalesRfqWithDrmInternal)
registerActionHandler('tech_sales_rfq_resend_with_drm', resendTechSalesRfqWithDrmInternal);
+ // 8. 컴플라이언스 Red Flag 해소 핸들러
+ const { resolveRedFlagAfterApproval } = await import('@/lib/compliance/approval-handlers');
+ registerActionHandler('compliance_red_flag_resolution', resolveRedFlagAfterApproval);
+
// 8. 입찰초대 핸들러
const { requestBiddingInvitationInternal } = await import('@/lib/bidding/handlers');
// 입찰초대 핸들러 등록 (결재 승인 후 실행될 함수 requestBiddingInvitationInternal)
diff --git a/lib/approval/templates/컴플라이언스 Red Flag 해소요청.html b/lib/approval/templates/컴플라이언스 Red Flag 해소요청.html
new file mode 100644
index 00000000..ebff8de0
--- /dev/null
+++ b/lib/approval/templates/컴플라이언스 Red Flag 해소요청.html
@@ -0,0 +1,135 @@
+<div
+ style="
+ max-width: 900px;
+ margin: 0 auto;
+ font-family: 'Segoe UI', 'Malgun Gothic', sans-serif;
+ color: #1f2937;
+ line-height: 1.6;
+ "
+>
+ <table
+ style="
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 20px;
+ border: 2px solid #0f172a;
+ "
+ >
+ <thead>
+ <tr>
+ <th
+ style="
+ background-color: #0f172a;
+ color: #fff;
+ padding: 20px;
+ text-align: center;
+ font-size: 24px;
+ font-weight: 700;
+ "
+ >
+ 컴플라이언스 Red Flag 해소요청
+ </th>
+ </tr>
+ </thead>
+ </table>
+
+ <section style="margin-bottom: 24px;">
+ <h3
+ style="
+ font-size: 18px;
+ font-weight: 600;
+ color: #0f172a;
+ margin-bottom: 12px;
+ "
+ >
+ ■ 요청자 정보
+ </h3>
+ <table
+ style="
+ width: 100%;
+ border-collapse: collapse;
+ border: 1px solid #cbd5f5;
+ "
+ >
+ <tbody>
+ <tr>
+ <td
+ style="
+ width: 25%;
+ background-color: #f1f5f9;
+ font-weight: 600;
+ padding: 10px;
+ border: 1px solid #cbd5f5;
+ "
+ >
+ 요청자
+ </td>
+ <td style="padding: 10px; border: 1px solid #e2e8f0;">
+ {{요청자이름}}
+ </td>
+ </tr>
+ <tr>
+ <td
+ style="
+ background-color: #f1f5f9;
+ font-weight: 600;
+ padding: 10px;
+ border: 1px solid #cbd5f5;
+ "
+ >
+ 요청일시
+ </td>
+ <td style="padding: 10px; border: 1px solid #e2e8f0;">
+ {{요청일시}}
+ </td>
+ </tr>
+ <tr>
+ <td
+ style="
+ background-color: #f1f5f9;
+ font-weight: 600;
+ padding: 10px;
+ border: 1px solid #cbd5f5;
+ "
+ >
+ 요청 사유
+ </td>
+ <td style="padding: 10px; border: 1px solid #e2e8f0;">
+ {{요청사유}}
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section style="margin-bottom: 24px;">
+ <h3
+ style="
+ font-size: 18px;
+ font-weight: 600;
+ color: #0f172a;
+ margin-bottom: 12px;
+ "
+ >
+ ■ 대상 계약 요약
+ </h3>
+ {{RedFlag요약테이블}}
+ </section>
+
+ <section>
+ <h3
+ style="
+ font-size: 18px;
+ font-weight: 600;
+ color: #0f172a;
+ margin-bottom: 12px;
+ "
+ >
+ ■ 상세 내역
+ </h3>
+ <div style="border: 1px solid #e2e8f0; padding: 16px; border-radius: 8px;">
+ {{RedFlag상세내역}}
+ </div>
+ </section>
+</div>
+