summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-09-02 08:50:02 +0000
committerjoonhoekim <26rote@gmail.com>2025-09-02 08:50:02 +0000
commitdec7dedd9409f1ee1afa2ac1ca7c17ff611c3df8 (patch)
treefa7ddc44176af26ea001a8b2e0a716c50038081f /db
parent8da223a416ec7d2be5743f312ed1d8c6d64949e2 (diff)
(김준회) MDG 프로젝트 마스터 수신시 전체 데이터 projects 비지니스 테이블에 매핑처리
- 테이블 컬럼 확장 - projects 페이지 프론트엔드 처리 - mdg 수신 route에서 mapper 확장
Diffstat (limited to 'db')
-rw-r--r--db/schema/projects.ts87
1 files changed, 83 insertions, 4 deletions
diff --git a/db/schema/projects.ts b/db/schema/projects.ts
index e4e2553a..81f4043b 100644
--- a/db/schema/projects.ts
+++ b/db/schema/projects.ts
@@ -2,10 +2,89 @@ import { pgTable, varchar, text, timestamp, char, decimal, serial, uniqueIndex }
export const projects = pgTable("projects", {
id: serial("id").primaryKey(),
- code: varchar("code", { length: 50 }).notNull(),
- name: text("name").notNull(),
- type: varchar("type", { length: 20 }).default("ship").notNull(),
- // pspid: char('pspid', { length: 24 }).unique(), // 프로젝트ID = code 필드
+ // 기존 정보
+ code: varchar("code", { length: 50 }).notNull(), // PROJ_NO 으로, PSPID와 동일 (나준규 프로 확인)
+ name: text("name").notNull(), // PROJ_DSC
+ type: varchar("type", { length: 20 }).default("ship").notNull(), // TYPE 기반으로 산출하며, null 값인 경우 ship으로 처리
+
+ // MDG 를 위한 컬럼 확장 - PROJECT_MASTER_CMCTB_PROJ_MAST의 모든 컬럼
+ AS_GRNT_PRD: varchar("AS_GRNT_PRD", { length: 1000 }), // A/S 보증기간
+ BIZCLS: varchar("BIZCLS", { length: 1000 }), // 사업부
+ BIZLOC_CD: varchar("BIZLOC_CD", { length: 1000 }), // 사업장코드
+ BIZ_DMN: varchar("BIZ_DMN", { length: 1000 }), // 사업영역
+ BP_DL_DT: varchar("BP_DL_DT", { length: 1000 }), // 선표인도일자
+ CHN_PROJ_TP: varchar("CHN_PROJ_TP", { length: 1000 }), // (중국)프로젝트타입
+ CLS_1: varchar("CLS_1", { length: 1000 }), // 선급1
+ CLS_2: varchar("CLS_2", { length: 1000 }), // 선급2
+ CNRT_CNTN_YN: varchar("CNRT_CNTN_YN", { length: 1000 }), // 계약존속여부
+ CNRT_DL_DT: varchar("CNRT_DL_DT", { length: 1000 }), // 계약인도일자
+ CNRT_DT: varchar("CNRT_DT", { length: 1000 }), // 계약일자
+ CNRT_RESV_YN: varchar("CNRT_RESV_YN", { length: 1000 }), // 계약유보여부
+ CO_CD: varchar("CO_CD", { length: 1000 }), // 회사코드
+ CSTM_PO_NO: varchar("CSTM_PO_NO", { length: 1000 }), // 고객발주번호
+ DEL_YN: varchar("DEL_YN", { length: 1000 }), // 삭제 여부
+ DIGT_PDT_GRP: varchar("DIGT_PDT_GRP", { length: 1000 }), // 전기전자 제품군
+ DIST_PATH: varchar("DIST_PATH", { length: 1000 }), // 유통경로
+ DL_BF_PROJ_NM: varchar("DL_BF_PROJ_NM", { length: 1000 }), // 인도전선명
+ DL_CSTM_CD: varchar("DL_CSTM_CD", { length: 1000 }), // 인도고객 ID
+ DOCK_CD: varchar("DOCK_CD", { length: 1000 }), // 도크
+ DSN_CHRGR: varchar("DSN_CHRGR", { length: 1000 }), // 설계담당자
+ FIN_GRNT_FN_DT: varchar("FIN_GRNT_FN_DT", { length: 1000 }), // 최종수요자 보증종료일
+ GENT_CNT: varchar("GENT_CNT", { length: 1000 }), // 세대수/시리즈
+ GOV: varchar("GOV", { length: 1000 }), // 관청명
+ GRNT_STDT: varchar("GRNT_STDT", { length: 1000 }), // Project Warranty Start Date
+ IF_STAT: varchar("IF_STAT", { length: 1000 }), // 인터페이스 진행단계
+ IMO_NO: varchar("IMO_NO", { length: 1000 }), // IMO 번호
+ INQY_NO: varchar("INQY_NO", { length: 1000 }), // 안건번호
+ INQY_SEQ: varchar("INQY_SEQ", { length: 1000 }), // 안건순번
+ IO_GB: varchar("IO_GB", { length: 1000 }), // 사내외 구분
+ MNG_ACOT_DMN: varchar("MNG_ACOT_DMN", { length: 1000 }), // 관리회계영역
+ MN_ENGN_TP_CD: varchar("MN_ENGN_TP_CD", { length: 1000 }), // Main engine type code
+ MSHIP_NO: varchar("MSHIP_NO", { length: 1000 }), // 기준호선
+ NEW_MC_YN: varchar("NEW_MC_YN", { length: 1000 }), // MC YN
+ NTTP: varchar("NTTP", { length: 1000 }), // 국적
+ ORDR_GRNT_FN_DT: varchar("ORDR_GRNT_FN_DT", { length: 1000 }), // 주문주 보증종료일
+ ORDR_GRNT_PRD: varchar("ORDR_GRNT_PRD", { length: 1000 }), // 주문주 보증기간
+ OWN_1: varchar("OWN_1", { length: 1000 }), // 선주1
+ OWN_AB: varchar("OWN_AB", { length: 1000 }), // 선주약어
+ OWN_NM: varchar("OWN_NM", { length: 1000 }), // 선주명
+ PDT_LVL_4: varchar("PDT_LVL_4", { length: 1000 }), // 제품 Level 4
+ PLNT_CD: varchar("PLNT_CD", { length: 1000 }), // 플랜트 코드
+ PRCTR: varchar("PRCTR", { length: 1000 }), // 손익센터
+ PRGS_STAT: varchar("PRGS_STAT", { length: 1000 }), // 진행상태
+ PROJ_CRTE_REQ_DT: varchar("PROJ_CRTE_REQ_DT", { length: 1000 }), // 프로젝트 생성요청일
+ PROJ_CRTE_REQ_EMPNO: varchar("PROJ_CRTE_REQ_EMPNO", { length: 1000 }), // 프로젝트 생성요청자
+ PROJ_DL_PLN_DT: varchar("PROJ_DL_PLN_DT", { length: 1000 }), // 모프로젝트 인도계획일
+ PROJ_DL_RT_DT: varchar("PROJ_DL_RT_DT", { length: 1000 }), // 모프로젝트 인도실적일
+ PROJ_DTL_TP: varchar("PROJ_DTL_TP", { length: 1000 }), // 프로젝트 세부타입
+ PROJ_ETC_TP: varchar("PROJ_ETC_TP", { length: 1000 }), // 프로젝트 기타타입
+ PROJ_GB: varchar("PROJ_GB", { length: 1000 }), // 프로젝트구분
+ PROJ_PRGS_YN: varchar("PROJ_PRGS_YN", { length: 1000 }), // 공사진행여부
+ PROJ_PROF: varchar("PROJ_PROF", { length: 1000 }), // 프로젝트 프로파일
+ PROJ_SCP: varchar("PROJ_SCP", { length: 1000 }), // 프로젝트범위
+ PROJ_WBS_TP: varchar("PROJ_WBS_TP", { length: 1000 }), // 프로젝트 WBS타입
+ PRO_PROJ_NO: varchar("PRO_PROJ_NO", { length: 1000 }), // 프로포절 프로젝트
+ QM_CLS: varchar("QM_CLS", { length: 1000 }), // 품질사업부
+ REF_NO: varchar("REF_NO", { length: 1000 }), // 시리즈번호
+ RLTD_PROJ: varchar("RLTD_PROJ", { length: 1000 }), // 연관프로젝트
+ RL_DL_DT: varchar("RL_DL_DT", { length: 1000 }), // 실인도일자
+ SALE_GRP: varchar("SALE_GRP", { length: 1000 }), // 영업그룹
+ SALE_ORG_CD: varchar("SALE_ORG_CD", { length: 1000 }), // 영업조직
+ SA_DT: varchar("SA_DT", { length: 1000 }), // Sail Away Date
+ SERS_NO: varchar("SERS_NO", { length: 1000 }), // 시리즈첫공사번호
+ SERS_YN: varchar("SERS_YN", { length: 1000 }), // 시리즈여부
+ SHTYPE: varchar("SHTYPE", { length: 1000 }), // 선형
+ SHTYPE_CD: varchar("SHTYPE_CD", { length: 1000 }), // 선형코드
+ SHTYPE_GRP: varchar("SHTYPE_GRP", { length: 1000 }), // 선형군
+ SHTYPE_UOM: varchar("SHTYPE_UOM", { length: 1000 }), // 선형단위
+ SKND: varchar("SKND", { length: 1000 }), // 선종
+ SRC_SYS_ID: varchar("SRC_SYS_ID", { length: 1000 }), // Source System
+ STDT: varchar("STDT", { length: 1000 }), // 시작일자
+ SYS_ACOT_CLSD_DT: varchar("SYS_ACOT_CLSD_DT", { length: 1000 }), // 시스템회계마감일자
+ TOT_CNRT_CNT: varchar("TOT_CNRT_CNT", { length: 1000 }), // 전체 계약 대수
+ TYPE: varchar("TYPE", { length: 1000 }), // 프로젝트 Top/Hull (원본 TYPE 컬럼)
+ WP_PROJ_TP: varchar("WP_PROJ_TP", { length: 1000 }), // (풍력)프로젝트타입
+
createdAt: timestamp("created_at").defaultNow().notNull(),
updatedAt: timestamp("updated_at").defaultNow().notNull(),
})