Merge pull request 'V2025101701' (#3) from V2025101701 into main
Reviewed-on: #3
This commit was merged in pull request #3.
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
-- CONTRACT_MGMT 테이블에 수주 관련 컬럼 추가
|
||||
-- 기존 컬럼 활용:
|
||||
-- - 수주상태: contract_result (기존 컬럼 사용)
|
||||
-- - 환종: contract_currency (기존 컬럼 사용)
|
||||
-- - 환율: exchange_rate (기존 컬럼 사용)
|
||||
-- - 발주번호: po_no (기존 컬럼 사용)
|
||||
|
||||
-- 수주 관련 신규 컬럼들
|
||||
ALTER TABLE public.contract_mgmt ADD COLUMN IF NOT EXISTS order_date VARCHAR(50);
|
||||
ALTER TABLE public.contract_mgmt ADD COLUMN IF NOT EXISTS order_unit_price NUMERIC(15,2);
|
||||
ALTER TABLE public.contract_mgmt ADD COLUMN IF NOT EXISTS order_supply_price NUMERIC(15,2);
|
||||
ALTER TABLE public.contract_mgmt ADD COLUMN IF NOT EXISTS order_vat NUMERIC(15,2);
|
||||
ALTER TABLE public.contract_mgmt ADD COLUMN IF NOT EXISTS order_total_amount NUMERIC(15,2);
|
||||
|
||||
-- 컬럼 코멘트 추가
|
||||
COMMENT ON COLUMN public.contract_mgmt.contract_result IS '영업진행상태 / 수주상태';
|
||||
COMMENT ON COLUMN public.contract_mgmt.po_no IS '발주번호';
|
||||
COMMENT ON COLUMN public.contract_mgmt.order_date IS '발주일';
|
||||
COMMENT ON COLUMN public.contract_mgmt.order_unit_price IS '수주 단가';
|
||||
COMMENT ON COLUMN public.contract_mgmt.order_supply_price IS '수주 공급가액';
|
||||
COMMENT ON COLUMN public.contract_mgmt.order_vat IS '수주 부가세';
|
||||
COMMENT ON COLUMN public.contract_mgmt.order_total_amount IS '수주 총액';
|
||||
COMMENT ON COLUMN public.contract_mgmt.contract_currency IS '견적/수주 환종';
|
||||
COMMENT ON COLUMN public.contract_mgmt.exchange_rate IS '견적/수주 환율';
|
||||
|
||||
-- 인덱스 추가 (선택사항)
|
||||
CREATE INDEX IF NOT EXISTS idx_contract_result ON public.contract_mgmt(contract_result);
|
||||
CREATE INDEX IF NOT EXISTS idx_contract_order_date ON public.contract_mgmt(order_date);
|
||||
|
||||
-- 조회 예시
|
||||
-- SELECT objid, contract_no, contract_result, po_no, order_date, order_total_amount, contract_currency, exchange_rate
|
||||
-- FROM public.contract_mgmt
|
||||
-- WHERE contract_result IS NOT NULL;
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
-- 견적서 템플릿 테이블 생성 SQL
|
||||
|
||||
-- 1. 견적서 템플릿 메인 테이블
|
||||
CREATE TABLE IF NOT EXISTS ESTIMATE_TEMPLATE (
|
||||
OBJID VARCHAR(50) PRIMARY KEY,
|
||||
CONTRACT_OBJID VARCHAR(50) NOT NULL, -- CONTRACT_MGMT 테이블의 OBJID 참조
|
||||
TEMPLATE_TYPE VARCHAR(10) NOT NULL, -- '1': 일반 견적서, '2': 장비 견적서
|
||||
|
||||
-- 일반 견적서 필드 (Template 1)
|
||||
EXECUTOR VARCHAR(200), -- 시행일자
|
||||
RECIPIENT VARCHAR(200), -- 수신처
|
||||
ESTIMATE_NO VARCHAR(100), -- 견적번호
|
||||
CONTACT_PERSON VARCHAR(100), -- 수신인
|
||||
GREETING_TEXT TEXT, -- 인사말
|
||||
|
||||
-- 장비 견적서 필드 (Template 2)
|
||||
MODEL_NAME VARCHAR(200), -- 설비 Model 품명
|
||||
MODEL_CODE VARCHAR(100), -- 설비 Model 코드
|
||||
EXECUTOR_DATE VARCHAR(50), -- 시행일자
|
||||
NOTES_CONTENT TEXT, -- 비고 내용 (전체)
|
||||
VALIDITY_PERIOD VARCHAR(50), -- 견적 유효기간
|
||||
|
||||
-- 비고 필드 (공통)
|
||||
NOTE1 VARCHAR(500),
|
||||
NOTE2 VARCHAR(500),
|
||||
NOTE3 VARCHAR(500),
|
||||
NOTE4 VARCHAR(500),
|
||||
|
||||
-- 카테고리 정보 (장비 견적서용, JSON 형태로 저장)
|
||||
CATEGORIES_JSON TEXT,
|
||||
|
||||
-- 시스템 필드
|
||||
WRITER VARCHAR(50),
|
||||
REGDATE TIMESTAMP DEFAULT NOW(),
|
||||
CHG_USER_ID VARCHAR(50),
|
||||
CHGDATE TIMESTAMP DEFAULT NOW(),
|
||||
|
||||
CONSTRAINT fk_estimate_contract FOREIGN KEY (CONTRACT_OBJID)
|
||||
REFERENCES CONTRACT_MGMT(OBJID) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- 인덱스 생성
|
||||
CREATE INDEX idx_estimate_contract ON ESTIMATE_TEMPLATE(CONTRACT_OBJID);
|
||||
CREATE INDEX idx_estimate_type ON ESTIMATE_TEMPLATE(TEMPLATE_TYPE);
|
||||
|
||||
-- 코멘트 추가
|
||||
COMMENT ON TABLE ESTIMATE_TEMPLATE IS '견적서 템플릿 정보';
|
||||
COMMENT ON COLUMN ESTIMATE_TEMPLATE.CONTRACT_OBJID IS '견적요청 OBJID (CONTRACT_MGMT 참조)';
|
||||
COMMENT ON COLUMN ESTIMATE_TEMPLATE.TEMPLATE_TYPE IS '템플릿 타입 (1:일반견적서, 2:장비견적서)';
|
||||
|
||||
|
||||
-- 2. 견적서 템플릿 품목 테이블
|
||||
CREATE TABLE IF NOT EXISTS ESTIMATE_TEMPLATE_ITEM (
|
||||
OBJID SERIAL PRIMARY KEY,
|
||||
TEMPLATE_OBJID VARCHAR(50) NOT NULL, -- ESTIMATE_TEMPLATE 테이블의 OBJID 참조
|
||||
SEQ INTEGER NOT NULL, -- 순번
|
||||
CATEGORY VARCHAR(100), -- 카테고리 (장비 견적서용)
|
||||
DESCRIPTION VARCHAR(500), -- 품명
|
||||
SPECIFICATION TEXT, -- 규격/사양
|
||||
QUANTITY VARCHAR(50), -- 수량
|
||||
UNIT VARCHAR(50), -- 단위
|
||||
UNIT_PRICE NUMERIC(15,2), -- 단가
|
||||
AMOUNT NUMERIC(15,2), -- 금액
|
||||
NOTE VARCHAR(500), -- 비고
|
||||
REMARK VARCHAR(500), -- 특이사항
|
||||
|
||||
CONSTRAINT fk_item_template FOREIGN KEY (TEMPLATE_OBJID)
|
||||
REFERENCES ESTIMATE_TEMPLATE(OBJID) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- 인덱스 생성
|
||||
CREATE INDEX idx_item_template ON ESTIMATE_TEMPLATE_ITEM(TEMPLATE_OBJID);
|
||||
CREATE INDEX idx_item_seq ON ESTIMATE_TEMPLATE_ITEM(TEMPLATE_OBJID, SEQ);
|
||||
|
||||
-- 코멘트 추가
|
||||
COMMENT ON TABLE ESTIMATE_TEMPLATE_ITEM IS '견적서 템플릿 품목 정보';
|
||||
COMMENT ON COLUMN ESTIMATE_TEMPLATE_ITEM.TEMPLATE_OBJID IS '견적서 템플릿 OBJID';
|
||||
COMMENT ON COLUMN ESTIMATE_TEMPLATE_ITEM.SEQ IS '품목 순번';
|
||||
COMMENT ON COLUMN ESTIMATE_TEMPLATE_ITEM.CATEGORY IS '카테고리 (장비견적서: CNC Machine, UTILITY 등)';
|
||||
|
||||
|
||||
-- 3. CONTRACT_MGMT 테이블에 CATEGORIES_JSON 컬럼 추가 (이미 없는 경우)
|
||||
-- ALTER TABLE ESTIMATE_TEMPLATE ADD COLUMN IF NOT EXISTS CATEGORIES_JSON TEXT;
|
||||
|
||||
-- 샘플 데이터 조회 쿼리
|
||||
-- SELECT * FROM ESTIMATE_TEMPLATE WHERE CONTRACT_OBJID = 123;
|
||||
-- SELECT * FROM ESTIMATE_TEMPLATE_ITEM WHERE TEMPLATE_OBJID = 456 ORDER BY SEQ;
|
||||
|
||||
Reference in New Issue
Block a user