-- V56: agent 테이블 세무 컬럼 누락 보강
-- 운영 DB 의 V23 SQL 과 현재 V23 SQL 의 체크섬 미스매치로 인해
-- agent.tax_type / business_no / vat_type 가 적용되지 않은 상태.
-- AgentMapper.xml 이 위 3개 컬럼을 참조하므로 /api/agents 가 500 에러.
-- IF NOT EXISTS 로 idempotent 추가.

ALTER TABLE agent ADD COLUMN IF NOT EXISTS tax_type    VARCHAR(20);
ALTER TABLE agent ADD COLUMN IF NOT EXISTS business_no VARCHAR(20);
ALTER TABLE agent ADD COLUMN IF NOT EXISTS vat_type    VARCHAR(20);

COMMENT ON COLUMN agent.tax_type    IS '세무유형 (사업소득/기타소득 등 TAX_TYPE 코드)';
COMMENT ON COLUMN agent.business_no IS '사업자등록번호 (사업소득자)';
COMMENT ON COLUMN agent.vat_type    IS '부가세유형 (VAT_TYPE 코드)';

-- TAX_TYPE / VAT_TYPE common_code 그룹이 없으면 추가
INSERT INTO common_code_group (group_code, group_name, description, is_system, sort_order) VALUES
 ('TAX_TYPE', '세무유형',   'BUSINESS/OTHER 등', 'Y', 400),
 ('VAT_TYPE', '부가세유형', 'GENERAL/SIMPLE/EXEMPT', 'Y', 410)
ON CONFLICT (group_code) DO NOTHING;

INSERT INTO common_code (group_code, code, code_name, sort_order) VALUES
 ('TAX_TYPE','BUSINESS','사업소득',10),
 ('TAX_TYPE','OTHER','기타소득',20),
 ('VAT_TYPE','GENERAL','일반과세',10),
 ('VAT_TYPE','SIMPLE','간이과세',20),
 ('VAT_TYPE','EXEMPT','면세',30)
ON CONFLICT (group_code, code) DO NOTHING;
