summaryrefslogtreecommitdiff
path: root/db/schema/knox
diff options
context:
space:
mode:
Diffstat (limited to 'db/schema/knox')
-rw-r--r--db/schema/knox/approvals.ts42
1 files changed, 34 insertions, 8 deletions
diff --git a/db/schema/knox/approvals.ts b/db/schema/knox/approvals.ts
index 0f8ee90a..5cb3519d 100644
--- a/db/schema/knox/approvals.ts
+++ b/db/schema/knox/approvals.ts
@@ -1,4 +1,4 @@
-import { boolean, jsonb, text, timestamp, integer, uuid } from "drizzle-orm/pg-core";
+import { boolean, jsonb, text, timestamp, integer, uuid, varchar } from "drizzle-orm/pg-core";
import { knoxSchema } from "./employee";
import { users } from '@/db/schema/users';
@@ -31,14 +31,40 @@ export const approvalTemplateHistory = knoxSchema.table('approval_template_histo
// 실제 결재 상신 로그
export const approvalLogs = knoxSchema.table("approval_logs", {
- apInfId: text("ap_inf_id").primaryKey(),
- userId: text("user_id").notNull(),
- epId: text("ep_id").notNull(),
- emailAddress: text("email_address").notNull(),
- subject: text("subject").notNull(),
- content: text("content").notNull(),
- status: text("status").notNull(),
+ apInfId: text("ap_inf_id").primaryKey(), // 연계ID (결재 ID로 32자리 고유값)
+
+ contentsType: text("contents_type").notNull().default("HTML"), // 본문종류 (TEXT, HTML, MIME)
+ sbmDt: text("sbm_dt"), // 상신일시 (YYYYMMDDHHMMSS)
+ sbmLang: text("sbm_lang").notNull().default("ko"), // 상신언어
+
+ //System-ID: 연계시스템 ID 생략 (eVCP 고정)
+ notifyOption: text("notify_option").notNull().default("0"), // 통보옵션 (0-3)
+ urgYn: text("urg_yn").notNull().default("N"), // 긴급여부 (Y/N)
+ docSecuType: text("doc_secu_type").notNull().default("PERSONAL"), // 보안문서타입
+ status: text("status").notNull(), // 결재 상태 (0-미결, 1-진행중, 2-완결, 3-반려, 4-상신취소, 5-전결, 6-후완결)
+ timeZone: text("time_zone").notNull().default("GMT+9"), // 타임존
+ subject: text("subject").notNull(), // 결재 제목
aplns: jsonb("aplns").notNull(), // approval lines = 결재선
+ opinion: varchar("opinion", { length: 1000 }), // 상신의견
+
+
+ userId: text("knox_user_id"), // knox 이메일 앞부분의 Id
+ epId: text("ep_id").notNull(), // epId - 녹스 고유키
+ emailAddress: text("email_address").notNull(), // knox 이메일 주소
+
+ content: text("content").notNull(), // 결재 본문
+
+
+
+ // 상신시 결정, 상세조회에서는 조회 안됨
+ importantYn: varchar("important_yn", { length: 1 }).default("N"), // 중요여부 (Y/N)
+
+ //
+ docMngSaveCode: text("doc_mng_save_code").notNull().default("0"), // 문서관리저장코드
+
+
+
+
isDeleted: boolean("is_deleted").notNull().default(false),
createdAt: timestamp("created_at").notNull().defaultNow(),
updatedAt: timestamp("updated_at").notNull().defaultNow(),