-- ============================================
-- 为所有工资表添加员工确认字段
-- 功能：支持员工确认工资条，确认后工资数据不可修改
-- 创建时间：2025年
-- 说明：lq_employee_salary_statistics 表在创建时已包含这些字段，无需添加
-- ============================================

-- 注意：MySQL不支持 ADD COLUMN IF NOT EXISTS 语法
-- 如果字段已存在，执行时会报错，可以忽略该错误或先检查字段是否存在

-- 1. 健康师工资统计表
ALTER TABLE lq_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 2. 科技部老师工资统计表
ALTER TABLE lq_tech_teacher_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 3. 店助工资统计表
ALTER TABLE lq_assistant_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 4. 店长工资统计表
ALTER TABLE lq_store_manager_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 5. 主任工资统计表
ALTER TABLE lq_director_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 6. 大项目部老师工资统计表
ALTER TABLE lq_major_project_teacher_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 7. 大项目主管工资统计表
ALTER TABLE lq_major_project_director_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 8. 科技部总经理工资统计表
ALTER TABLE lq_tech_general_manager_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- 9. 事业部总经理/经理工资统计表
ALTER TABLE lq_business_unit_manager_salary_statistics 
ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态（0=未确认，1=已确认）',
ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';

-- ============================================
-- 验证字段是否添加成功
-- ============================================
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, COLUMN_COMMENT 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = DATABASE() 
  AND TABLE_NAME IN (
    'lq_salary_statistics',
    'lq_tech_teacher_salary_statistics',
    'lq_assistant_salary_statistics',
    'lq_store_manager_salary_statistics',
    'lq_director_salary_statistics',
    'lq_major_project_teacher_salary_statistics',
    'lq_major_project_director_salary_statistics',
    'lq_tech_general_manager_salary_statistics',
    'lq_business_unit_manager_salary_statistics',
    'lq_employee_salary_statistics'
  )
  AND COLUMN_NAME LIKE '%Confirm%' 
ORDER BY TABLE_NAME, ORDINAL_POSITION;
