创建店助工资统计表.sql 8.61 KB
-- ============================================
-- 创建店助工资统计表
-- 功能:存储店助每月的工资计算数据,包括底薪、提成、阶段奖励、扣款、补贴、奖金、支付等信息
-- 创建时间:2025年
-- ============================================

-- 删除表(如果存在)
DROP TABLE IF EXISTS lq_assistant_salary_statistics;

-- ============================================
-- 创建店助工资统计表
-- ============================================
CREATE TABLE lq_assistant_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 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_CommissionRate DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '提成比例(0%/0.4%/0.6%)',
    F_CommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成金额(门店业绩×提成比例)',
    
    -- 四、阶段奖励相关字段
    F_HeadCount INT NOT NULL DEFAULT 0 COMMENT '进店消耗人数(有消费金额的,按门店按月去重客户数)',
    F_Stage1TargetHeadCount INT NOT NULL DEFAULT 0 COMMENT '第一阶段目标人数',
    F_Stage2TargetHeadCount INT NOT NULL DEFAULT 0 COMMENT '第二阶段目标人数',
    F_ReachedStage1 VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '是否达到第一阶段(是/否)',
    F_ReachedStage2 VARCHAR(10) NOT NULL DEFAULT '否' COMMENT '是否达到第二阶段(是/否)',
    F_StageRewardAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '阶段奖励金额(0/200/400元)',
    F_Stage1Reward DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '第一阶段奖励金额(0或200元)',
    F_Stage2Reward DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '第二阶段奖励金额(0或200元)',
    
    -- 五、底薪相关字段
    F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '底薪金额(A类3000,B类3100,C类3200)',
    
    -- 六、固定奖励字段
    F_PhoneManagementFee DECIMAL(18,2) NOT NULL DEFAULT 150.00 COMMENT '手机管理费(固定150元/月)',
    
    -- 七、考勤相关字段
    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_assistant_salary_statistics(店助工资统计表)

功能说明:
1. 存储店助每月的工资计算数据
2. 包括底薪、提成、阶段奖励、扣款、补贴、奖金、支付等信息
3. 支持按门店、员工、月份查询

主要字段说明:
- F_StoreCategory:门店分类(1=A类,2=B类,3=C类),用于确定底薪
- F_StoreTotalPerformance:门店总业绩,用于计算提成
- F_StoreLifeline:门店生命线,用于判断提成比例
- F_HeadCount:进店消耗人数,用于判断阶段奖励
- F_Stage1TargetHeadCount/F_Stage2TargetHeadCount:阶段目标人数
- F_BaseSalary:底薪(A类3000,B类3100,C类3200)
- F_CommissionAmount:提成金额(门店业绩×提成比例)
- F_StageRewardAmount:阶段奖励金额(0/200/400元)
- F_PhoneManagementFee:手机管理费(固定150元/月)

索引说明:
- 主键索引: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_Stage1TargetHeadCount、F_Stage2TargetHeadCount)必须设置,未设置应报错

计算公式:
- 应发工资 = 底薪 + 提成金额 + 阶段奖励金额 + 手机管理费
- 实发工资 = 应发工资 - 扣款合计 + 补贴合计 + 奖金
- 业绩完成率 = 门店业绩 / 门店生命线 × 100%
- 提成比例:根据门店业绩与门店生命线的比例确定(0%/0.4%/0.6%)
- 阶段奖励:根据进店消耗人数是否达到阶段目标(0/200/400元)
*/