# 店助主任工资计算规则梳理 ## 📋 概述 店助主任工资由以下几个部分组成: 1. **底薪**:从工资配置表(`lq_gz`)获取,字段为 `dzzrdx` 2. **提成**:根据门店业绩与门店生命线的比例计算(阶梯提成模式) 3. **阶段奖励**:根据进店消耗人数是否达到阶段目标(同店助) 4. **固定奖励**:手机管理费 --- # 第一部分:计算规则 ## 💰 工资组成规则 ### 1. 底薪规则 **计算规则**:从工资配置表(`lq_gz`)获取,字段为 `dzzrdx` **重要说明**: - 底薪从配置表获取,如果未设置,应使用默认值或报错提示 - 底薪是固定值,不随门店分类变化 --- ### 2. 提成规则 **计算公式**:根据门店业绩与门店生命线的比例确定提成比例,使用阶梯提成模式计算 #### 提成比例规则 | 门店业绩范围 | 提成计算方式 | |------------|------------| | 门店业绩 < 门店生命线 × 70% | 0%(无提成) | | 门店生命线 × 70% ≤ 门店业绩 < 门店生命线 × 100% | 0.4%(全部业绩按0.4%计算) | | 门店业绩 ≥ 门店生命线 × 100% | **阶梯提成**:
- 超过生命线部分:1%
- 剩余部分(≤生命线):0.6% | #### 提成计算示例 **示例1:业绩未达到70%** - 门店生命线 = 100,000元 - 门店业绩 = 60,000元 - 计算:60,000 < 100,000 × 70% = 70,000 - 提成金额 = 0元(无提成) **示例2:业绩在70%-100%之间** - 门店生命线 = 100,000元 - 门店业绩 = 85,000元 - 计算:70,000 ≤ 85,000 < 100,000 - 提成金额 = 85,000 × 0.4% = 340元 **示例3:业绩超过100%(阶梯提成)** - 门店生命线 = 100,000元 - 门店业绩 = 150,000元 - 计算过程: 1. 业绩(150,000)> 生命线(100,000) 2. ≤生命线部分:100,000 × 0.6% = 600元 3. >生命线部分:(150,000 - 100,000) × 1% = 50,000 × 1% = 500元 4. 总提成 = 600 + 500 = 1,100元 **重要说明**: - 门店生命线必须在 `lq_md_target` 表中进行设置,如果未设置,系统应报错提示 - 当业绩超过生命线时,必须使用阶梯提成模式,不能使用单一提成比例 - 提成按门店业绩的百分比计算 --- ### 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% - **重要**:当业绩超过生命线时,必须使用阶梯提成模式(超过部分1%,剩余部分0.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.6% 计算 | | 店助主任 | **阶梯提成**:
- 超过生命线部分:1%
- 剩余部分(≤生命线):0.6% | **示例对比**: - 门店生命线 = 100,000元 - 门店业绩 = 150,000元 **店助提成**: - 150,000 × 0.6% = 900元 **店助主任提成**: - ≤生命线部分:100,000 × 0.6% = 600元 - >生命线部分:(150,000 - 100,000) × 1% = 500元 - 总提成 = 600 + 500 = 1,100元 ### 3. 阶段奖励规则 **相同**:两个岗位的阶段奖励规则完全一致 --- ## 📅 更新记录 - 2025-01-XX:初始版本,根据项目文档梳理店助主任工资计算规则