-- ============================================================================
-- 채무 상환 전용 업무 시스템 - DB 스키마 수정
-- 작성일: 2026-01-14
-- 목적: 업무 완료 시 인센티브 대신 채무를 차감할 수 있는 '상환형 업무' 추가
-- ============================================================================

-- 1단계: performance_checklist_items 테이블에 payout_type 컬럼 추가
-- 목적: 업무를 '일반형(인센티브 지급)' 또는 '상환형(채무 차감)'으로 구분
ALTER TABLE performance_checklist_items
ADD COLUMN payout_type ENUM('standard', 'debt_deduction') 
    DEFAULT 'standard' 
    COMMENT '수익 유형: standard=인센티브 지급, debt_deduction=채무 차감 전용' 
    AFTER incentive_amount;

-- 2단계: performance_record_items 테이블에 debt_deduction_amount 컬럼 추가
-- 목적: 실제로 이 업무를 통해 차감된 채무액을 기록
ALTER TABLE performance_record_items
ADD COLUMN debt_deduction_amount DECIMAL(10,2) 
    DEFAULT 0.00 
    COMMENT '이 업무로 차감된 채무 금액 (상환형 업무에서만 사용)' 
    AFTER incentive_earned;

-- 3단계: 기존 데이터 검증 (선택사항)
-- 기존에 등록된 모든 업무는 'standard'로 설정됨 (DEFAULT 값)
-- 기존 완료된 업무의 debt_deduction_amount는 0.00으로 유지 (DEFAULT 값)

-- 검증 쿼리 (실행하여 결과 확인)
SELECT 
    'performance_checklist_items' as table_name,
    COUNT(*) as total_items,
    SUM(CASE WHEN payout_type = 'standard' THEN 1 ELSE 0 END) as standard_count,
    SUM(CASE WHEN payout_type = 'debt_deduction' THEN 1 ELSE 0 END) as debt_count
FROM performance_checklist_items

UNION ALL

SELECT 
    'performance_record_items' as table_name,
    COUNT(*) as total_items,
    COUNT(*) as standard_count,
    SUM(CASE WHEN debt_deduction_amount > 0 THEN 1 ELSE 0 END) as debt_count
FROM performance_record_items;

-- ============================================================================
-- 마이그레이션 완료
-- ============================================================================
-- 다음 단계: 
-- - API 로직 수정 (api_performance_record.php)
-- - UI 업데이트 (manage_performance_checklists.php, daily_performance_checklist.php)
-- ============================================================================
