# 店助主任工资计算规则梳理 ## 📋 概述 店助主任工资由以下几个部分组成: 1. **底薪**:从工资配置表(`lq_gz`)获取,字段为 `dzzrdx` 2. **提成**:根据门店业绩与门店生命线的比例计算(阶梯提成模式) 3. **阶段奖励**:根据进店消耗人数是否达到阶段目标(同店助) 4. **固定奖励**:手机管理费 --- # 第一部分:计算规则 ## 💰 工资组成规则 ### 1. 底薪规则 **计算规则**:从工资配置表(`lq_gz`)获取,字段为 `dzzrdx` **重要说明**: - 底薪从配置表获取,如果未设置,应使用默认值或报错提示 - 底薪是固定值,不随门店分类变化 --- ### 2. 提成规则 **计算公式**:分段式提成模式,根据门店业绩与门店生命线的比例分段计算提成 #### 提成前提条件 - **必须达到70%**:门店业绩必须达到门店生命线的70%,否则无提成 #### 提成比例规则(分段式) | 业绩区间 | 提成比例 | 计算说明 | |---------|---------|---------| | 门店业绩 < 门店生命线 × 70% | 0% | 无提成 | | 门店生命线 × 70% ≤ 门店业绩 < 门店生命线 × 100% | 0.4% | 整个业绩按0.4%计算 | | 门店业绩 ≥ 门店生命线 × 100% | 0.4% + 1.6% | **分段式**:
- 0-100%部分(整个生命线):0.4%
- 100%以上部分:1.6% | **重要说明**: - 店助主任和店助使用**相同的分段式提成规则**,但100%以上部分比例不同 - 店助:100%以上部分按0.6% - 店助主任:100%以上部分按1.6% - 提成采用**分段式**计算方式,不同区间按不同比例分别计算后累加 - 前提条件:必须达到70%才有提成资格 - **分段式**:业绩超过100%时,0-100%部分和100%以上部分分别按不同比例计算 #### 提成计算示例 **示例1:业绩在70%-100%之间** 假设: - 门店生命线 = 200,000元 - 门店业绩 = 147,685.20元 计算过程: 1. 判断比例:147,685.20 / 200,000 = 73.84%(≥ 70%,满足前提条件) 2. 判断区间:70% ≤ 73.84% < 100% 3. 计算:整个业绩按0.4%计算 - 提成金额:147,685.20元 × 0.4% = 590.74元 4. 总提成金额:590.74元 **示例2:业绩超过100%(分段式)** 假设: - 门店生命线 = 320,000元 - 门店业绩 = 408,593.42元 计算过程: 1. 判断比例:408,593.42 / 320,000 = 127.69%(≥ 70%,满足前提条件) 2. 判断区间:≥ 100% 3. **分段式计算**: - 0-100%部分(整个生命线):320,000元 × 0.4% = 1,280元 - 100%以上部分:(408,593.42 - 320,000)元 × 1.6% = 88,593.42元 × 1.6% = 1,417.49元 4. 总提成金额:1,280元 + 1,417.49元 = 2,697.49元 **计算公式**: ``` 如果 业绩 < 70%:提成 = 0 如果 70% ≤ 业绩 < 100%:提成 = 业绩 × 0.4% 如果 业绩 ≥ 100%:提成 = 生命线 × 0.4% + (业绩 - 生命线) × 1.6% ``` --- ### 3. 阶段奖励规则 **考核指标**:进店消耗人数(有消费金额的,按门店按月去重客户数) #### 奖励规则 | 阶段 | 目标人数 | 奖励金额 | 说明 | |-----|---------|---------|------| | 第一阶段 | 达到目标(如:100人) | 200元/月 | 只要达到第一阶段目标即可获得 | | 第二阶段 | 达到目标(如:140人) | 再奖励200元/月 | 在达到第一阶段的基础上,再达到第二阶段目标 | | 两个阶段都达到 | - | 总计400元/月 | 第一阶段200元 + 第二阶段200元 | **奖励说明**: - 两个阶段的奖励是累加的,不是互斥的 - 如果只达到第二阶段但未达到第一阶段,只获得第二阶段奖励(200元) - 如果两个阶段都达到,获得总计400元奖励 **统计规则**: - 按门店统计(`md` 字段) - 只统计有消费金额的记录(消耗金额 > 0) - 同一个会员按月去重(`COUNT(DISTINCT hy)`),其中 `hy` 为会员ID - 只统计当月有效消耗记录(`F_IsEffective = 1`) **重要说明**: - 阶段目标必须在 `lq_md_target` 表中进行设置,如果未设置,奖励金额为0(不报错) - 不同门店的阶段目标可能不同(如:川师第一阶段100人,第二阶段140人) --- ### 4. 固定奖励规则 **手机管理费**:150元/月 **说明**: - 固定金额,无需计算 - 每月固定发放 --- ## 📊 完整计算公式 ``` 店助主任月工资 = 底薪 + 提成 + 阶段奖励 + 固定奖励 其中: - 底薪 = 从lq_gz.dzzrdx获取 - 提成 = 根据业绩与生命线比例确定(阶梯提成模式) - 阶段奖励 = 根据进店消耗人数是否达到阶段目标(0/200/400元) - 固定奖励 = 150元(手机管理费) ``` --- ## ⚠️ 注意事项 1. **门店业绩计算**: - 门店业绩 = 开单业绩 - 退卡业绩 - 只统计当月有效记录(`F_IsEffective = 1`) 2. **进店消耗人数统计**: - 必须使用 `COUNT(DISTINCT hy)` 去重(同一个会员按月去重) - 只统计有消费金额的记录(消耗金额 > 0) - 按门店统计(`md` 字段) - 只统计当月有效消耗记录(`F_IsEffective = 1`) - 通过关联 `lq_xh_jksyj` 表判断是否有消费金额 3. **阶段目标配置**: - 不同门店的阶段目标可能不同(如:川师第一阶段100人,第二阶段140人) - 必须从 `lq_md_target` 表获取对应门店的目标值 - **重要**:如果 `lq_md_target` 表中未设置阶段目标,奖励金额为0(不报错) 4. **提成比例判断**: - 严格按照门店业绩与门店生命线的比例判断 - 注意边界值:70% 和 100% - **重要**:店助主任和店助使用**相同的分段式提成规则**,但100%以上部分比例不同 - **重要**:当业绩超过100%时,使用**分段式**提成模式: - 0-100%部分(整个生命线)按0.4%计算 - 100%以上部分:店助按0.6%计算,店助主任按1.6%计算 - **分段式说明**:不同区间按不同比例分别计算后累加 5. **数据一致性**: - 门店业绩的计算逻辑必须与门店总业绩统计保持一致 - 进店消耗人数的统计逻辑必须与其他统计接口保持一致 6. **数据校验要求**: - 门店分类(`F_StoreCategory`)必须设置,不允许为NULL,未设置应报错 - 门店生命线(`F_StoreLifeline`)如果未设置,提成金额为0(不报错) - 阶段目标(`F_AssistantHeadcountTargetStage1`、`F_AssistantHeadcountTargetStage2`)如果未设置,奖励金额为0(不报错) 7. **在店天数比例计算**: - 如果店助主任中间离职或请假,提成和奖励需要按在店天数比例计算 - 计算公式: - 店助主任提成 = 门店总提成 ÷ 当月天数 × 在店天数 - 店助主任奖励 = 门店总奖励 ÷ 当月天数 × 在店天数 --- # 第二部分:数据来源说明 ## 📊 数据表说明 ### 1. `lq_gz` - 工资配置表 **用途**:获取店助主任底薪 **关键字段**: - `dzzrdx`:店助主任底薪 **查询逻辑**: - 从配置表获取底薪值 - 如果未设置,应使用默认值或报错提示 --- ### 2. `lq_mdxx` - 门店信息表 **用途**:获取门店分类、门店名称等信息 **关键字段**: - `F_Id`:门店ID(主键) - `dm`:门店名称 - `F_StoreCategory`:门店分类(1=A类,2=B类,3=C类) - `F_StoreType`:门店类型(200平/旗舰店) **查询逻辑**: - 通过门店ID关联获取门店信息 - 门店分类必须设置,不允许为NULL --- ### 3. `lq_md_target` - 门店目标表 **用途**:获取门店生命线和阶段目标 **关键字段**: - `F_StoreId`:门店ID - `F_Month`:月份(YYYYMM格式) - `F_StoreLifeline`:门店生命线 - `F_AssistantHeadcountTargetStage1`:店助人头目标数阶段一 - `F_AssistantHeadcountTargetStage2`:店助人头目标数阶段二 **查询逻辑**: - 通过门店ID和月份关联获取目标数据 - 门店生命线如果未设置,提成金额为0 - 阶段目标如果未设置,奖励金额为0 --- ### 4. `lq_kd_kdjlb` - 开单记录表 **用途**:计算门店开单业绩 **关键字段**: - `Djmd`:登记门店(门店ID) - `Kdrq`:开单日期 - `Sfyj`:实付业绩 - `F_IsEffective`:是否有效(只统计有效记录) **查询逻辑**: - 按门店、月份统计开单业绩总和 - 只统计有效记录(`F_IsEffective = 1`) --- ### 5. `lq_hytk_hytk` - 退卡信息表 **用途**:计算门店退卡业绩 **关键字段**: - `md`:门店编号(门店ID) - `tksj`:退卡时间 - `F_ActualRefundAmount`:实退金额(优先使用) - `tkje`:退卡金额(如果实退金额为空则使用) - `F_IsEffective`:是否有效(只统计有效记录) **查询逻辑**: - 按门店、月份统计退卡金额总和 - 优先使用 `F_ActualRefundAmount`,如果为空则使用 `tkje` - 只统计有效记录(`F_IsEffective = 1`) --- ### 6. `lq_xh_hyhk` - 会员耗卡表 **用途**:统计进店消耗人数 **关键字段**: - `F_Id`:耗卡编号(主键) - `md`:门店ID - `hy`:会员ID(用于去重统计) - `hksj`:耗卡时间 - `F_IsEffective`:是否有效(只统计有效记录) **查询逻辑**: - 按门店、月份统计去重会员数 - 只统计有效记录(`F_IsEffective = 1`) - 必须关联 `lq_xh_jksyj` 表判断是否有消费金额 --- ### 7. `lq_xh_jksyj` - 耗卡健康师业绩表 **用途**:判断是否有消费金额 **关键字段**: - `glkdbh`:关联耗卡记录ID(关联 `lq_xh_hyhk.F_Id`) - `jksyj`:健康师业绩(消耗金额) - `F_IsEffective`:是否有效(只统计有效记录) **查询逻辑**: - 用于判断耗卡记录是否有消费金额(`jksyj > 0`) - 只统计有效记录(`F_IsEffective = 1`) --- ### 8. `lq_attendance_summary` - 考勤汇总表 **用途**:获取在店天数 **关键字段**: - `F_UserId`:用户ID(员工ID) - `F_Year`:年份 - `F_Month`:月份 - `F_WorkDays`:出勤天数(在店天数) - `F_LeaveDays`:请假天数 - `F_IsEffective`:是否有效(只统计有效记录) **查询逻辑**: - 通过员工ID、年份、月份获取考勤数据 - 用于计算按在店天数比例计算的提成和奖励 --- ## 📝 数据查询逻辑 ### 1. 门店业绩计算 **计算公式**:门店业绩 = 开单业绩 - 退卡业绩 **查询逻辑**: ```sql -- 1. 计算门店开单业绩 SELECT COALESCE(SUM(sfyj), 0) as BillingPerformance FROM lq_kd_kdjlb WHERE Djmd = @StoreId AND DATE_FORMAT(Kdrq, '%Y%m') = @Month AND F_IsEffective = 1 -- 2. 计算门店退卡业绩 SELECT COALESCE(SUM(COALESCE(F_ActualRefundAmount, tkje, 0)), 0) as RefundPerformance FROM lq_hytk_hytk WHERE md = @StoreId AND DATE_FORMAT(tksj, '%Y%m') = @Month AND F_IsEffective = 1 -- 3. 计算门店实际业绩 门店业绩 = 开单业绩 - 退卡业绩 ``` --- ### 2. 进店消耗人数统计 **统计规则**:有消费金额的,按门店按月去重客户数 **查询逻辑**: ```sql -- 统计门店当月进店消耗人数(有消费金额的,按门店按月去重客户数) SELECT COUNT(DISTINCT hy) as HeadCount FROM lq_xh_hyhk hk WHERE hk.md = @StoreId AND DATE_FORMAT(hk.hksj, '%Y%m') = @Month AND hk.F_IsEffective = 1 AND EXISTS ( -- 确保有消费金额(通过关联消耗业绩表判断) SELECT 1 FROM lq_xh_jksyj jksyj WHERE jksyj.glkdbh = hk.F_Id AND jksyj.F_IsEffective = 1 AND jksyj.jksyj > 0 ) ``` **说明**: - `md`:门店ID,按门店统计 - `hy`:会员ID,用于去重统计(同一个会员按月去重) - `hksj`:耗卡时间,用于按月过滤 - `F_IsEffective = 1`:只统计有效记录 - **重要**:只统计有消费金额的记录(消耗金额 > 0),通过关联 `lq_xh_jksyj` 表判断是否有消费金额 --- ### 3. 门店分类获取 **查询逻辑**: ```sql SELECT F_Id as StoreId, dm as StoreName, F_StoreCategory as StoreCategory, F_StoreType as StoreType FROM lq_mdxx WHERE F_Id = @StoreId ``` **说明**: - `F_StoreCategory`:门店分类(1=A类,2=B类,3=C类) - 门店分类必须设置,不允许为NULL --- ### 4. 门店生命线和阶段目标获取 **查询逻辑**: ```sql SELECT F_StoreLifeline as StoreLifeline, F_AssistantHeadcountTargetStage1 as Stage1Target, F_AssistantHeadcountTargetStage2 as Stage2Target FROM lq_md_target WHERE F_StoreId = @StoreId AND F_Month = @Month ``` **说明**: - `F_StoreLifeline`:门店生命线,用于计算提成 - `F_AssistantHeadcountTargetStage1`:第一阶段目标人数 - `F_AssistantHeadcountTargetStage2`:第二阶段目标人数 - 如果门店生命线未设置,提成金额为0 - 如果阶段目标未设置,奖励金额为0 --- ### 5. 店助主任底薪获取 **查询逻辑**: ```sql SELECT dzzrdx as BaseSalary FROM lq_gz LIMIT 1 ``` **说明**: - `dzzrdx`:店助主任底薪 - 从配置表获取,如果未设置,应使用默认值或报错提示 --- ## 🔄 店助主任与店助的主要区别 ### 1. 底薪规则 | 岗位 | 底薪来源 | |-----|---------| | 店助 | 根据门店分类确定(A类3000,B类3100,C类3200) | | 店助主任 | 从配置表 `lq_gz.dzzrdx` 获取 | ### 2. 提成规则 | 岗位 | 业绩 ≥ 100%时的提成计算 | |-----|---------------------| | 店助 | 分段式:
- 0-100%部分(整个生命线):0.4%
- 100%以上部分:0.6% | | 店助主任 | **分段式**:
- 0-100%部分(整个生命线):0.4%
- 100%以上部分:1.6% | **重要说明**:店助主任和店助使用**相同的分段式提成规则**,但100%以上部分比例不同 **示例对比**: - 门店生命线 = 320,000元 - 门店业绩 = 408,593.42元 **店助提成(分段式)**: - 0-100%部分:320,000 × 0.4% = 1,280元 - 100%以上部分:(408,593.42 - 320,000) × 0.6% = 531.56元 - 总提成 = 1,280 + 531.56 = 1,811.56元 **店助主任提成(分段式)**: - 0-100%部分:320,000 × 0.4% = 1,280元 - 100%以上部分:(408,593.42 - 320,000) × 1.6% = 1,417.49元 - 总提成 = 1,280 + 1,417.49 = 2,697.49元 ### 3. 阶段奖励规则 **相同**:两个岗位的阶段奖励规则完全一致 --- ## 📅 更新记录 - 2025-01-XX:初始版本,根据项目文档梳理店助主任工资计算规则