summaryrefslogtreecommitdiff
path: root/db/schema
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-09-15 10:14:09 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-09-15 10:14:09 +0000
commitd7585b3f2ea941ee807c1e87bbc833265a193c78 (patch)
tree70d659154ed5feeebc312a5bf850ceecc1c4c441 /db/schema
parentdd831478a3ab5ac7182903d41aa4b3e47f28224f (diff)
(최겸) 구매 일반계약 및 상세, PO 전달 구현
Diffstat (limited to 'db/schema')
-rw-r--r--db/schema/generalContract.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/db/schema/generalContract.ts b/db/schema/generalContract.ts
index bb671494..fe9e04cb 100644
--- a/db/schema/generalContract.ts
+++ b/db/schema/generalContract.ts
@@ -2,6 +2,7 @@ import { pgTable, serial, varchar, integer, date, timestamp, decimal, text, json
import { relations } from 'drizzle-orm';
import { users } from './users'; // users 테이블이 존재한다고 가정
import { vendors } from './vendors'; // vendors 테이블이 존재한다고 가정
+import { contracts } from './contract';
export const generalContractTemplates = pgTable('general_contract_templates', {
id: integer("id").primaryKey().generatedAlwaysAsIdentity(),
@@ -105,7 +106,7 @@ export const generalContracts = pgTable('general_contracts', {
// 기타 계약 조건 및 약관 (JSON 형태)
// ═══════════════════════════════════════════════════════════════
terms: jsonb('terms').default({}), // 계약 조건
- complianceChecklist: jsonb('compliance_checklist').default({}), // 컴플라이언스 체크리스트
+ complianceChecklist: jsonb('compliance_checklist').default({}), // 하도급법 체크리스트
communicationChannels: jsonb('communication_channels').default({}), // 커뮤니케이션 채널
locations: jsonb('locations').default({}), // 위치 정보
fieldServiceRates: jsonb('field_service_rates').default({}), // 현장 서비스 요금
@@ -157,6 +158,7 @@ export const generalContractItems = pgTable('general_contract_items', {
export const generalContractAttachments = pgTable('general_contract_attachments', {
id: serial('id').primaryKey(),
contractId: integer('contract_id').notNull().references(() => generalContracts.id),
+ poContractId: integer('po_contract_id').references(() => contracts.id),
documentName: varchar('document_name', { length: 255 }).notNull(), // '사양 및 공급범위', '단가파일', '계약서 서명본' 등
fileName: varchar('file_name', { length: 255 }).notNull(), // 실제 파일명
filePath: varchar('file_path', { length: 512 }).notNull(), // 파일 저장 경로 (S3 URL 등)