-- ============================================ -- 创建事业部总经理/经理工资统计表 -- 功能:存储事业部总经理/经理每月的工资计算数据,包括底薪、业绩提成、扣款、补贴、奖金、支付等信息 -- 创建时间:2025年 -- ============================================ -- 删除表(如果存在) DROP TABLE IF EXISTS lq_business_unit_manager_salary_statistics; -- ============================================ -- 创建事业部总经理/经理工资统计表 -- ============================================ CREATE TABLE lq_business_unit_manager_salary_statistics ( -- 主键 F_Id VARCHAR(50) NOT NULL COMMENT '主键ID', -- 一、基础信息字段 F_StatisticsMonth VARCHAR(6) NOT NULL COMMENT '统计月份(YYYYMM格式)', F_Position VARCHAR(50) NOT NULL COMMENT '核算岗位(总经理/经理)', F_EmployeeName VARCHAR(100) NOT NULL COMMENT '员工姓名', F_EmployeeId VARCHAR(50) NOT NULL COMMENT '员工ID', F_EmployeeAccount VARCHAR(100) NULL COMMENT '员工账号', F_ManagerType INT NOT NULL COMMENT '经理类型(0=经理,1=总经理)', F_IsTerminated INT NOT NULL DEFAULT 0 COMMENT '是否离职(0=在职,1=离职)', -- 二、管理的门店信息(JSON格式) F_StorePerformanceDetail TEXT NULL COMMENT '门店业绩明细(JSON格式,记录每个门店的业绩和提成详情)', -- 三、底薪相关字段 F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 4000.00 COMMENT '底薪金额(固定4000元)', -- 四、提成相关字段 F_TotalCommission 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_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_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_statistics_month` (F_StatisticsMonth), KEY `idx_employee_id` (F_EmployeeId), KEY `idx_employee_account` (F_EmployeeAccount), KEY `idx_manager_type` (F_ManagerType), KEY `idx_is_terminated` (F_IsTerminated), KEY `idx_create_time` (F_CreateTime) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='事业部总经理/经理工资统计表'; -- ============================================ -- 表结构说明 -- ============================================ /* 表名:lq_business_unit_manager_salary_statistics(事业部总经理/经理工资统计表) 功能说明: 1. 存储事业部总经理/经理每月的工资计算数据 2. 包括底薪、业绩提成、扣款、补贴、奖金、支付等信息 3. 支持按员工、月份查询 4. 记录管理的门店汇总信息 主要字段说明: - F_BaseSalary:底薪(固定4000元) - F_StorePerformanceDetail:门店业绩明细(JSON格式,记录每个门店的业绩和提成详情) - F_TotalCommission:提成合计(所有门店提成金额汇总) 数据来源: - 总经理/经理归属:lq_md_general_manager_lifeline 表(通过F_GeneralManagerId和F_Month获取) - 门店生命线:lq_md_target 表的 F_StoreLifeline 字段 - 提成阶梯:lq_md_general_manager_lifeline 表的 F_Lifeline1/2/3 和 F_CommissionRate1/2/3 - 开单业绩:lq_kd_kdjlb 表的 sfyj 字段(按门店统计) - 退卡业绩:lq_hytk_hytk 表的 F_ActualRefundAmount 或 tkje 字段(按门店统计) 计算公式: - 门店总业绩 = 开单业绩 - 退卡业绩 - 提成计算逻辑: 1. 判断是否达到提成门槛:门店业绩 ≥ 门店生命线? - 如果否 → 该门店提成 = 0 - 如果是 → 继续计算提成 2. 如果达到门槛,使用提成阶梯计算提成(分段累进): - 业绩 ≤ 提成阶梯1:提成 = 业绩 × 提成比例1 - 提成阶梯1 < 业绩 ≤ 提成阶梯2:提成 = 提成阶梯1 × 提成比例1 + (业绩 - 提成阶梯1) × 提成比例2 - 提成阶梯2 < 业绩 ≤ 提成阶梯3:提成 = 提成阶梯1 × 提成比例1 + (提成阶梯2 - 提成阶梯1) × 提成比例2 + (业绩 - 提成阶梯2) × 提成比例3 - 业绩 > 提成阶梯3:提成 = 提成阶梯1 × 提成比例1 + (提成阶梯2 - 提成阶梯1) × 提成比例2 + (提成阶梯3 - 提成阶梯2) × 提成比例3 + (业绩 - 提成阶梯3) × 提成比例3 - 总提成 = SUM(各门店提成金额) - 核算应发工资 = 底薪(4000) + 总提成 - 最终应发工资 = 核算应发工资 - 实发工资 = 最终应发工资 - 扣款合计 + 补贴合计 + 奖金 门店业绩明细JSON格式示例: [ { "storeId": "门店ID", "storeName": "门店名称", "storeLifeline": 300000.00, "billingPerformance": 400000.00, "refundPerformance": 50000.00, "storePerformance": 350000.00, "reachedLifeline": true, "lifeline1": 350000.00, "commissionRate1": 1.00, "lifeline2": 400000.00, "commissionRate2": 1.50, "lifeline3": 450000.00, "commissionRate3": 2.00, "commissionAmount": 3500.00, "calculationDetail": "业绩350000元,达到门店生命线300000元,使用提成阶梯1计算:350000 × 1.0% = 3500元" }, { "storeId": "门店ID2", "storeName": "门店名称2", "storeLifeline": 250000.00, "billingPerformance": 220000.00, "refundPerformance": 20000.00, "storePerformance": 200000.00, "reachedLifeline": false, "commissionAmount": 0.00, "calculationDetail": "业绩200000元,未达到门店生命线250000元,无提成" } ] JSON字段说明: - storeId:门店ID - storeName:门店名称 - storeLifeline:门店生命线(从lq_md_target表获取) - billingPerformance:门店开单业绩 - refundPerformance:门店退卡业绩 - storePerformance:门店总业绩(开单业绩 - 退卡业绩) - reachedLifeline:是否达到门店生命线(true/false) - lifeline1/2/3:提成阶梯1/2/3(从lq_md_general_manager_lifeline表获取) - commissionRate1/2/3:提成比例1/2/3(%) - commissionAmount:该门店的提成金额 - calculationDetail:计算说明(文字描述) 索引说明: - 主键索引:F_Id - 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录) - 普通索引: - F_StatisticsMonth:按月份查询 - F_EmployeeId:按员工查询 - F_ManagerType:按经理类型查询(总经理/经理) - F_CreateTime:按创建时间查询 数据校验要求: 1. 底薪固定为4000元 2. 门店生命线必须设置,未设置应报错 3. 提成阶梯1和提成比例1必须设置,未设置应报错 4. 提成必须按照阶梯式计算(分段累进) 5. 如果门店业绩 < 门店生命线,则该门店提成为0 6. 总经理和经理的计算规则相同 */