-- ============================================
-- 创建科技部老师工资统计表
-- 功能：存储科技部老师每月的工资计算数据，包括底薪、业绩提成、消耗提成、考核扣款、扣款、补贴、奖金、支付等信息
-- 创建时间：2025年
-- ============================================

-- 删除表（如果存在）
DROP TABLE IF EXISTS lq_tech_teacher_salary_statistics;

-- ============================================
-- 创建科技部老师工资统计表
-- ============================================
CREATE TABLE lq_tech_teacher_salary_statistics (
    -- 主键
    F_Id VARCHAR(50) NOT NULL COMMENT '主键ID',
    
    -- 一、基础信息字段
    F_StatisticsMonth VARCHAR(6) NOT NULL COMMENT '统计月份(YYYYMM格式)',
    F_StoreId VARCHAR(50) NOT NULL COMMENT '门店ID',
    F_StoreName VARCHAR(200) NOT NULL COMMENT '门店名称',
    F_Position VARCHAR(50) NOT NULL DEFAULT '科技部老师' COMMENT '核算岗位（固定为"科技部老师"）',
    F_EmployeeName VARCHAR(100) NOT NULL COMMENT '员工姓名',
    F_EmployeeId VARCHAR(50) NOT NULL COMMENT '员工ID',
    F_EmployeeAccount VARCHAR(100) NOT NULL COMMENT '员工账号',
    F_StoreType INT NULL COMMENT '门店类型（200平/旗舰店）',
    F_StoreCategory INT NULL COMMENT '门店分类（1=A类，2=B类，3=C类）',
    F_IsNewStore VARCHAR(10) NULL COMMENT '是否新店（是/否）',
    F_NewStoreProtectionStage INT NOT NULL DEFAULT 0 COMMENT '新店保护阶段（0/1/2）',
    
    -- 二、业绩相关字段
    F_OrderAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '开单业绩（从lq_kd_kjbsyj表统计）',
    F_ConsumeAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '消耗业绩（对应规则中的"消耗"，从lq_xh_kjbsyj表统计）',
    F_RefundAchievement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退卡业绩（从lq_hytk_kjbsyj表统计）',
    F_TotalPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '总业绩（开单业绩 + 消耗业绩 + 退卡业绩，用于底薪和业绩提成计算）',
    F_ProjectCount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '项目数（用于底薪计算，主要来源于耗卡品相次数F_hdpxNumber）',
    
    -- 三、底薪相关字段
    F_BaseSalaryLevel INT NOT NULL DEFAULT 0 COMMENT '底薪档位（1=第一档2500, 2=第二档3000, 3=第三档3500）',
    F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '底薪金额（根据项目数和业绩计算，2500/3000/3500）',
    
    -- 四、业绩提成相关字段
    F_PerformanceCommissionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '业绩提成比例（百分比，如2.00表示2%）',
    F_PerformanceCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '业绩提成金额（总业绩 × 业绩提成比例）',
    
    -- 五、消耗提成相关字段
    F_ConsumeCommissionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '消耗提成比例（百分比，如0.50表示0.5%，负数表示扣除，如-300表示扣除300元）',
    F_ConsumeCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '消耗提成金额（可能为负数，如扣除300元）',
    F_TotalCommission DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成合计（业绩提成 + 消耗提成）',
    
    -- 六、其他收入字段
    F_HandworkFee DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '手工费',
    F_TransportationAllowance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '车补',
    F_LessRest DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '少休费',
    F_FullAttendance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '全勤奖',
    
    -- 七、考勤相关字段
    F_WorkingDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '在店天数',
    F_LeaveDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假天数',
    
    -- 八、工资计算字段
    F_CalculatedGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '核算应发工资（底薪 + 提成合计 + 其他收入）',
    F_GuaranteedSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底工资',
    F_GuaranteedLeaveDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底请假扣款',
    F_GuaranteedBaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底底薪',
    F_GuaranteedSupplement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '保底补差',
    F_FinalGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '最终应发工资（取核算应发工资和保底工资的较大值）',
    
    -- 九、补贴相关字段
    F_MonthlyTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月培训补贴',
    F_MonthlyTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月交通补贴',
    F_LastMonthTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月培训补贴',
    F_LastMonthTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月交通补贴',
    F_TotalSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补贴合计',
    
    -- 十、扣款相关字段
    F_MissingCard DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '缺卡扣款',
    F_LateArrival DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '迟到扣款',
    F_LeaveDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假扣款',
    F_SocialInsuranceDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣社保',
    F_RewardDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣除奖励',
    F_AccommodationDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣住宿费',
    F_StudyPeriodDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣学习期费用',
    F_WorkClothesDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣工作服费用',
    F_TotalDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣款合计',
    
    -- 十一、奖金相关字段
    F_Bonus DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '发奖金',
    F_ReturnPhoneDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退手机押金',
    F_ReturnAccommodationDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退住宿押金',
    
    -- 十二、支付相关字段
    F_ActualSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '实发工资（最终应发工资 - 扣款合计 + 补贴合计 + 奖金）',
    F_MonthlyPaymentStatus VARCHAR(20) NOT NULL DEFAULT '未发放' COMMENT '当月是否发放（已发放/未发放/部分发放）',
    F_PaidAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '支付金额',
    F_PendingAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '待支付金额',
    F_LastMonthSupplement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补发上月',
    F_MonthlyTotalPayment DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月支付总额',
    
    -- 十三、系统字段
    F_IsLocked INT NOT NULL DEFAULT 0 COMMENT '是否锁定（0=未锁定，1=已锁定）',
    F_IsTerminated INT NOT NULL DEFAULT 0 COMMENT '是否离职（0=在职，1=离职）',
    F_CreateTime DATETIME NOT NULL COMMENT '创建时间',
    F_UpdateTime DATETIME NOT NULL COMMENT '更新时间',
    F_CreateUser VARCHAR(50) NULL COMMENT '创建人',
    F_UpdateUser VARCHAR(50) NULL COMMENT '更新人',
    
    -- 主键约束
    PRIMARY KEY (F_Id),
    
    -- 唯一索引：确保同一员工同一月份只有一条记录
    UNIQUE KEY `uk_employee_month` (F_EmployeeId, F_StatisticsMonth),
    
    -- 普通索引
    KEY `idx_store_id` (F_StoreId),
    KEY `idx_statistics_month` (F_StatisticsMonth),
    KEY `idx_employee_id` (F_EmployeeId),
    KEY `idx_employee_account` (F_EmployeeAccount),
    KEY `idx_store_category` (F_StoreCategory),
    KEY `idx_is_terminated` (F_IsTerminated),
    KEY `idx_create_time` (F_CreateTime)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科技部老师工资统计表';
