-- ============================================ -- 创建主任工资统计表 -- 功能:存储主任每月的工资计算数据,包括底薪、提成、考核扣款、扣款、补贴、奖金、支付等信息 -- 创建时间:2025年 -- ============================================ -- 删除表(如果存在) DROP TABLE IF EXISTS lq_director_salary_statistics; -- ============================================ -- 创建主任工资统计表 -- ============================================ CREATE TABLE lq_director_salary_statistics ( -- 主键 F_Id VARCHAR(50) NOT NULL COMMENT '主键ID', -- 一、基础信息字段 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_StatisticsMonth VARCHAR(20) NOT NULL COMMENT '统计月份(YYYYMM格式)', F_StoreType INT NULL COMMENT '门店类型(200平/旗舰店)', F_StoreCategory INT NOT NULL COMMENT '门店分类(1=A类,2=B类,3=C类)', F_IsNewStore VARCHAR(10) NULL COMMENT '是否新店(是/否)', F_NewStoreProtectionStage INT NULL DEFAULT 0 COMMENT '新店保护阶段(0/1/2)', -- 二、业绩相关字段 F_StoreTotalPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店总业绩(门店开单业绩-门店退卡业绩)', F_StoreBillingPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店开单业绩', F_StoreRefundPerformance DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店退卡业绩', F_StoreLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店生命线', F_PerformanceCompletionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '业绩完成率(门店业绩/门店生命线)', -- 三、考核相关字段 F_PerformanceReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '业绩是否达标(是/否,业绩≥生命线为是)', F_HeadCountReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '人头是否达标(是/否,实际人头≥目标人头为是)', F_ConsumeReached VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '消耗是否达标(是/否,实际消耗≥目标消耗为是,仅老店考核)', F_AssessmentDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '考核扣款金额(未达标指标数×500)', F_UnreachedIndicatorCount INT NOT NULL DEFAULT 0 COMMENT '未达标指标数量(老店最多3个,新店最多2个)', -- 四、人头相关字段 F_HeadCount INT NOT NULL DEFAULT 0 COMMENT '进店消耗人数(有消费金额的,按门店按月去重客户数)', F_TargetHeadCount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '目标人头数(从lq_md_target获取)', -- 五、消耗相关字段 F_StoreConsume DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '门店消耗金额(门店当月总消耗)', F_TargetConsume DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '目标消耗金额(从lq_md_target获取)', -- 六、提成相关字段(阶梯提成) F_CommissionRateBelowLifeline DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '≤生命线部分提成比例(老店:A类2%,B类2.5%,C类3%;新店:统一2%)', F_CommissionRateAboveLifeline DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '>生命线部分提成比例(老店:A类2.5%,B类3%,C类3.5%;新店:统一2.5%)', F_CommissionAmountBelowLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '≤生命线部分提成金额', F_CommissionAmountAboveLifeline DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '>生命线部分提成金额', F_TotalCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成总金额(≤生命线部分+>生命线部分)', -- 七、底薪相关字段 F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 3500.00 COMMENT '底薪金额(固定3500元)', F_ActualBaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '实际底薪(底薪-考核扣款)', -- 八、考勤相关字段 F_WorkingDays INT NOT NULL DEFAULT 0 COMMENT '在店天数', F_LeaveDays INT NOT NULL DEFAULT 0 COMMENT '请假天数', -- 九、工资计算字段 F_GrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '应发工资(实际底薪+提成总金额)', F_ActualSalary 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_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_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_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_store_id` (F_StoreId), KEY `idx_statistics_month` (F_StatisticsMonth), KEY `idx_employee_id` (F_EmployeeId), KEY `idx_store_category` (F_StoreCategory), KEY `idx_create_time` (F_CreateTime) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='主任工资统计表'; -- ============================================ -- 表结构说明 -- ============================================ /* 表名:lq_director_salary_statistics(主任工资统计表) 功能说明: 1. 存储主任每月的工资计算数据 2. 包括底薪、提成、考核扣款、扣款、补贴、奖金、支付等信息 3. 支持按门店、员工、月份查询 主要字段说明: - F_StoreCategory:门店分类(1=A类,2=B类,3=C类),用于确定提成比例 - F_StoreTotalPerformance:门店总业绩,用于计算提成 - F_StoreLifeline:门店生命线,用于判断提成比例和考核 - F_HeadCount:进店消耗人数,用于考核 - F_StoreConsume:门店消耗金额,用于考核(仅老店) - F_BaseSalary:底薪(固定3500元) - F_AssessmentDeduction:考核扣款(未达标指标数×500) - F_ActualBaseSalary:实际底薪(底薪-考核扣款) - F_CommissionAmountBelowLifeline:≤生命线部分提成金额 - F_CommissionAmountAboveLifeline:>生命线部分提成金额 - F_TotalCommissionAmount:提成总金额(阶梯提成) 索引说明: - 主键索引:F_Id - 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录) - 普通索引: - F_StoreId:按门店查询 - F_StatisticsMonth:按月份查询 - F_EmployeeId:按员工查询 - F_StoreCategory:按门店分类查询 - F_CreateTime:按创建时间查询 数据校验要求: 1. 门店分类(F_StoreCategory)必须设置,不允许为NULL 2. 门店生命线(F_StoreLifeline)必须设置,未设置应报错 3. 目标人头数(F_TargetHeadCount)必须设置(用于考核) 4. 目标消耗(F_TargetConsume)必须设置(老店考核用) 计算公式: - 应发工资 = 实际底薪 + 提成总金额 - 实发工资 = 应发工资 - 扣款合计 + 补贴合计 + 奖金 - 业绩完成率 = 门店业绩 / 门店生命线 × 100% - 实际底薪 = 底薪(3500)- 考核扣款 - 考核扣款 = 未达标指标数 × 500 - 提成总金额 = ≤生命线部分提成金额 + >生命线部分提成金额 提成计算规则(阶梯提成): 老店: - A类门店:≤生命线部分2%,>生命线部分2.5% - B类门店:≤生命线部分2.5%,>生命线部分3% - C类门店:≤生命线部分3%,>生命线部分3.5% 新店(统一标准): - ≤生命线部分2%,>生命线部分2.5% 考核规则: 老店(3个指标): - 业绩考核:门店业绩是否达到门店生命线 - 人头考核:进店消耗人数是否达到目标人头数 - 消耗考核:门店消耗是否达到目标消耗 - 每个未达标指标扣500元 新店(2个指标): - 业绩考核:门店业绩是否达到门店生命线 - 人头考核:进店消耗人数是否达到目标人头数 - 每个未达标指标扣500元 - 新店不考核消耗 */