feat: 견적/주문서 관리 기능 개선

- 견적등록 유/무상 select 박스에 selected 속성 추가
- 주문서 목록 페이지 업데이트
- 수주 관련 컬럼 추가 SQL 스크립트 추가 (add_order_columns.sql)
- estimate_template_tables.sql 업데이트
- contractMgmt.xml 쿼리 개선
This commit is contained in:
2025-10-17 14:24:23 +09:00
parent 141ef2c580
commit 34f5207ded
5 changed files with 86 additions and 75 deletions

View File

@@ -0,0 +1,34 @@
-- 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;

View File

@@ -2,8 +2,8 @@
-- 1. 견적서 템플릿 메인 테이블
CREATE TABLE IF NOT EXISTS ESTIMATE_TEMPLATE (
OBJID SERIAL PRIMARY KEY,
CONTRACT_OBJID NUMERIC NOT NULL, -- CONTRACT_MGMT 테이블의 OBJID 참조
OBJID VARCHAR(50) PRIMARY KEY,
CONTRACT_OBJID VARCHAR(50) NOT NULL, -- CONTRACT_MGMT 테이블의 OBJID 참조
TEMPLATE_TYPE VARCHAR(10) NOT NULL, -- '1': 일반 견적서, '2': 장비 견적서
-- 일반 견적서 필드 (Template 1)
@@ -17,6 +17,8 @@ CREATE TABLE IF NOT EXISTS ESTIMATE_TEMPLATE (
MODEL_NAME VARCHAR(200), -- 설비 Model 품명
MODEL_CODE VARCHAR(100), -- 설비 Model 코드
EXECUTOR_DATE VARCHAR(50), -- 시행일자
NOTES_CONTENT TEXT, -- 비고 내용 (전체)
VALIDITY_PERIOD VARCHAR(50), -- 견적 유효기간
-- 비고 필드 (공통)
NOTE1 VARCHAR(500),
@@ -50,7 +52,7 @@ COMMENT ON COLUMN ESTIMATE_TEMPLATE.TEMPLATE_TYPE IS '템플릿 타입 (1:일반
-- 2. 견적서 템플릿 품목 테이블
CREATE TABLE IF NOT EXISTS ESTIMATE_TEMPLATE_ITEM (
OBJID SERIAL PRIMARY KEY,
TEMPLATE_OBJID NUMERIC NOT NULL, -- ESTIMATE_TEMPLATE 테이블의 OBJID 참조
TEMPLATE_OBJID VARCHAR(50) NOT NULL, -- ESTIMATE_TEMPLATE 테이블의 OBJID 참조
SEQ INTEGER NOT NULL, -- 순번
CATEGORY VARCHAR(100), -- 카테고리 (장비 견적서용)
DESCRIPTION VARCHAR(500), -- 품명