diff options
| author | joonhoekim <26rote@gmail.com> | 2025-09-10 08:59:19 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-09-10 08:59:19 +0000 |
| commit | 26bd5a0af8f69fd693c16d2eacb35cf138a360d1 (patch) | |
| tree | 1d770ede1824dee37c0bff651b8844b6551284e6 /db/schema/knox/approvals.ts | |
| parent | f828b24261b0e3661d4ab0ac72b63431887f35bd (diff) | |
(김준회) 결재 이력조회 기능 추가 및 로그 테이블 확장, 테스트모듈 작성
Diffstat (limited to 'db/schema/knox/approvals.ts')
| -rw-r--r-- | db/schema/knox/approvals.ts | 42 |
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(), |
