diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-19 06:15:43 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-19 06:15:43 +0000 |
| commit | c92bd1b8caa6ddabe6acee42018262febd5d91fb (patch) | |
| tree | 833a62c9577894b0f77d3677d4d0274e1cb99385 /db | |
| parent | 9bf5b15734cdf87a02c68b2d2a25046a0678a037 (diff) | |
(임수민) 기본계약 코멘트, 법무검토 수정
Diffstat (limited to 'db')
| -rw-r--r-- | db/schema/basicContractDocumnet.ts | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/db/schema/basicContractDocumnet.ts b/db/schema/basicContractDocumnet.ts index 0f335e90..8cfd3baa 100644 --- a/db/schema/basicContractDocumnet.ts +++ b/db/schema/basicContractDocumnet.ts @@ -6,6 +6,7 @@ import { biddingCompanies } from './bidding'; import { rfqLastVendorResponses } from './rfqVendor'; import { rfqLastDetails } from './rfqLast'; import { generalContracts } from './generalContract'; +import { legalWorks } from './legal'; export const basicContractTemplates = pgTable('basic_contract_templates', { id: integer("id").primaryKey().generatedAlwaysAsIdentity(), @@ -60,6 +61,7 @@ export const basicContract = pgTable('basic_contract', { deadline: date('deadline').notNull(), // 마감일 (요청일로부터 10일 후) vendorSignedAt: timestamp('vendor_signed_at'), // 협력업체 서명일 buyerSignedAt: timestamp('buyer_signed_at'), // 구매팀 서명일 + negotiationCompletedAt: timestamp('negotiation_completed_at'), // GTC 협의 완료일 legalReviewRequestedAt: timestamp('legal_review_requested_at'), // 법무검토 요청일 legalReviewCompletedAt: timestamp('legal_review_completed_at'), // 법무검토 완료일 @@ -89,6 +91,7 @@ export const basicContractView = pgView('basic_contract_view').as((qb) => { deadline: sql<string | null>`${basicContract.deadline}`.as('deadline'), vendorSignedAt: sql<Date | null>`${basicContract.vendorSignedAt}`.as('vendor_signed_at'), buyerSignedAt: sql<Date | null>`${basicContract.buyerSignedAt}`.as('buyer_signed_at'), + negotiationCompletedAt: sql<Date | null>`${basicContract.negotiationCompletedAt}`.as('negotiation_completed_at'), legalReviewRequestedAt: sql<Date | null>`${basicContract.legalReviewRequestedAt}`.as('legal_review_requested_at'), legalReviewCompletedAt: sql<Date | null>`${basicContract.legalReviewCompletedAt}`.as('legal_review_completed_at'), @@ -110,7 +113,10 @@ export const basicContractView = pgView('basic_contract_view').as((qb) => { 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'), - + + // 법무검토 상태 (legalWorks에서 가져옴) + legalReviewStatus: sql<string | null>`${legalWorks.status}`.as('legal_review_status'), + // 템플릿 파일 정보 templateFilePath: sql<string | null>`${basicContractTemplates.filePath}`.as('template_file_path'), templateFileName: sql<string | null>`${basicContractTemplates.fileName}`.as('template_file_name'), @@ -130,7 +136,8 @@ export const basicContractView = pgView('basic_contract_view').as((qb) => { .from(basicContract) .leftJoin(vendors, eq(basicContract.vendorId, vendors.id)) .leftJoin(users, eq(basicContract.requestedBy, users.id)) - .leftJoin(basicContractTemplates, eq(basicContract.templateId, basicContractTemplates.id)); + .leftJoin(basicContractTemplates, eq(basicContract.templateId, basicContractTemplates.id)) + .leftJoin(legalWorks, eq(basicContract.id, legalWorks.basicContractId)); }); // 타입 정의 |
