summaryrefslogtreecommitdiff
path: root/db/schema/basicContractDocumnet.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-08-21 06:57:36 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-08-21 06:57:36 +0000
commit02b1cf005cf3e1df64183d20ba42930eb2767a9f (patch)
treee932c54d5260b0e6fda2b46be2a6ba1c3ee30434 /db/schema/basicContractDocumnet.ts
parentd78378ecd7ceede1429359f8058c7a99ac34b1b7 (diff)
(대표님, 최겸) 설계메뉴추가, 작업사항 업데이트
설계메뉴 - 문서관리 설계메뉴 - 벤더 데이터 gtc 메뉴 업데이트 정보시스템 - 메뉴리스트 및 정보 업데이트 파일 라우트 업데이트 엑셀임포트 개선 기본계약 개선 벤더 가입과정 변경 및 개선 벤더 기본정보 - pq 돌체 오류 수정 및 개선 벤더 로그인 과정 이메일 오류 수정
Diffstat (limited to 'db/schema/basicContractDocumnet.ts')
-rw-r--r--db/schema/basicContractDocumnet.ts25
1 files changed, 2 insertions, 23 deletions
diff --git a/db/schema/basicContractDocumnet.ts b/db/schema/basicContractDocumnet.ts
index 25069942..869ce538 100644
--- a/db/schema/basicContractDocumnet.ts
+++ b/db/schema/basicContractDocumnet.ts
@@ -5,7 +5,6 @@ import { users } from './users';
export const basicContractTemplates = pgTable('basic_contract_templates', {
id: integer("id").primaryKey().generatedAlwaysAsIdentity(),
- // templateCode: varchar("template_code", { length: 50 }).notNull().unique(), // 템플릿 코드 - 제거됨
templateName: text('template_name').notNull(),
revision: integer('revision').notNull().default(1), // 리비전
status: text('status').notNull().default('ACTIVE'), // ACTIVE, DISPOSED
@@ -16,16 +15,6 @@ export const basicContractTemplates = pgTable('basic_contract_templates', {
// 법무검토 관련
legalReviewRequired: boolean('legal_review_required').notNull().default(false), // 법무검토 필요 여부
- // 적용 범위 (각 사업부별)
- shipBuildingApplicable: boolean('shipbuilding_applicable').notNull().default(false), // 조선해양
- windApplicable: boolean('wind_applicable').notNull().default(false), // 풍력
- pcApplicable: boolean('pc_applicable').notNull().default(false), // PC
- nbApplicable: boolean('nb_applicable').notNull().default(false), // NB
- rcApplicable: boolean('rc_applicable').notNull().default(false), // RC
- gyApplicable: boolean('gy_applicable').notNull().default(false), // GY
- sysApplicable: boolean('sys_applicable').notNull().default(false), // S&Sys
- infraApplicable: boolean('infra_applicable').notNull().default(false), // Infra
-
// 감사 정보
createdAt: timestamp('created_at').defaultNow(),
createdBy: integer('created_by').references(() => users.id), // 생성자
@@ -39,6 +28,7 @@ export const basicContractTemplates = pgTable('basic_contract_templates', {
}));
+
export const basicContract = pgTable('basic_contract', {
id: integer("id").primaryKey().generatedAlwaysAsIdentity(),
templateId: integer('template_id').references(() => basicContractTemplates.id),
@@ -76,24 +66,13 @@ export const basicContractView = pgView('basic_contract_view').as((qb) => {
// 요청자 정보
requestedByName: sql<string | null>`${users.name}`.as('requested_by_name'),
- // 템플릿 정보 (확장된 필드들)
- // templateCode: sql<string | null>`${basicContractTemplates.templateCode}`.as('template_code'),
+ // 템플릿 정보
templateName: sql<string | null>`${basicContractTemplates.templateName}`.as('template_name'),
templateRevision: sql<number | null>`${basicContractTemplates.revision}`.as('template_revision'),
templateStatus: sql<string | null>`${basicContractTemplates.status}`.as('template_status'),
validityPeriod: sql<number | null>`${basicContractTemplates.validityPeriod}`.as('validity_period'),
legalReviewRequired: sql<boolean | null>`${basicContractTemplates.legalReviewRequired}`.as('legal_review_required'),
- // 적용 범위 정보
- shipBuildingApplicable: sql<boolean | null>`${basicContractTemplates.shipBuildingApplicable}`.as('shipbuilding_applicable'),
- windApplicable: sql<boolean | null>`${basicContractTemplates.windApplicable}`.as('wind_applicable'),
- pcApplicable: sql<boolean | null>`${basicContractTemplates.pcApplicable}`.as('pc_applicable'),
- nbApplicable: sql<boolean | null>`${basicContractTemplates.nbApplicable}`.as('nb_applicable'),
- rcApplicable: sql<boolean | null>`${basicContractTemplates.rcApplicable}`.as('rc_applicable'),
- gyApplicable: sql<boolean | null>`${basicContractTemplates.gyApplicable}`.as('gy_applicable'),
- sysApplicable: sql<boolean | null>`${basicContractTemplates.sysApplicable}`.as('sys_applicable'),
- infraApplicable: sql<boolean | null>`${basicContractTemplates.infraApplicable}`.as('infra_applicable'),
-
// 템플릿 파일 정보
templateFilePath: sql<string | null>`${basicContractTemplates.filePath}`.as('template_file_path'),
templateFileName: sql<string | null>`${basicContractTemplates.fileName}`.as('template_file_name'),