summaryrefslogtreecommitdiff
path: root/db/schema/bidding.ts
diff options
context:
space:
mode:
Diffstat (limited to 'db/schema/bidding.ts')
-rw-r--r--db/schema/bidding.ts15
1 files changed, 12 insertions, 3 deletions
diff --git a/db/schema/bidding.ts b/db/schema/bidding.ts
index c08ea921..8e5fe823 100644
--- a/db/schema/bidding.ts
+++ b/db/schema/bidding.ts
@@ -176,8 +176,10 @@ export const biddings = pgTable('biddings', {
// 일정 관리
preQuoteDate: date('pre_quote_date'), // 사전견적일
biddingRegistrationDate: date('bidding_registration_date'), // 입찰등록일
- submissionStartDate: timestamp('submission_start_date'), // 입찰서제출기간 시작
- submissionEndDate: timestamp('submission_end_date'), // 입찰서제출기간 끝
+ submissionStartDate: timestamp('submission_start_date'), // 입찰서제출기간 시작 (시간만 저장, 결재완료 후 실제 날짜로 계산)
+ submissionEndDate: timestamp('submission_end_date'), // 입찰서제출기간 끝 (시간만 저장, 결재완료 후 실제 날짜로 계산)
+ submissionStartOffset: integer('submission_start_offset'), // 시작일 오프셋 (결재완료일 + n일)
+ submissionDurationDays: integer('submission_duration_days'), // 입찰 기간 (시작일 + n일)
evaluationDate: timestamp('evaluation_date'),
// 사양설명회
@@ -188,11 +190,13 @@ export const biddings = pgTable('biddings', {
budget: decimal('budget', { precision: 15, scale: 2 }), // 예산
targetPrice: decimal('target_price', { precision: 15, scale: 2 }), // 내정가
targetPriceCalculationCriteria: text('target_price_calculation_criteria'), // 내정가 산정 기준
+ actualPrice: decimal('actual_price', { precision: 15, scale: 2 }), // 실적가
finalBidPrice: decimal('final_bid_price', { precision: 15, scale: 2 }), // 최종입찰가
// PR 정보
prNumber: varchar('pr_number', { length: 50 }), // PR No.
hasPrDocument: boolean('has_pr_document').default(false), // PR 문서 여부
+ plant: varchar('plant', { length: 10 }), // 플랜트 코드(WERKS), ECC 연동 시 설정
// 상태 및 설정
status: biddingStatusEnum('status').default('bidding_generated').notNull(),
@@ -297,7 +301,7 @@ export const prItemsForBidding = pgTable('pr_items_for_bidding', {
// 수량 및 중량
quantity: decimal('quantity', { precision: 10, scale: 3 }), // 수량
- quantityUnit: varchar('quantity_unit', { length: 50 }), // 수량단위 (구매단위)
+ quantityUnit: varchar('quantity_unit', { length: 50 }), // 수량단위
totalWeight: decimal('total_weight', { precision: 10, scale: 3 }), // 총 중량
weightUnit: varchar('weight_unit', { length: 50 }), // 중량단위 (자재순중량)
@@ -403,6 +407,11 @@ export const biddingCompanies = pgTable('bidding_companies', {
//연동제 적용요건 문의 여부
isPriceAdjustmentApplicableQuestion: boolean('is_price_adjustment_applicable_question').default(false), // 연동제 적용요건 문의 여부
+ // SHI 연동제 적용여부 및 관련 정보
+ shiPriceAdjustmentApplied: boolean('shi_price_adjustment_applied'), // SHI 연동제 적용여부 (null: 미정, true: 적용, false: 미적용)
+ priceAdjustmentNote: text('price_adjustment_note'), // 연동제 Note (textarea)
+ hasChemicalSubstance: boolean('has_chemical_substance'), // 화학물질여부
+
// 기타
notes: text('notes'), // 특이사항
contactPerson: varchar('contact_person', { length: 100 }), // 업체 담당자