# 主任工资计算规则梳理 ## 📋 概述 主任工资由以下几个部分组成: 1. **底薪**:固定3500元,根据考核指标扣款 2. **提成**:根据门店业绩与门店生命线的关系,使用阶梯提成模式计算 --- ## 💰 工资组成规则 ### 1. 底薪规则 **固定底薪**:3500元 #### 老店主任底薪考核 **考核指标**(3个): 1. **业绩考核**:门店业绩是否达到门店生命线 2. **人头考核**:进店消耗人数是否达到目标人头数 3. **消耗考核**:门店消耗是否达到目标消耗 **扣款规则**: - 每个指标未达到:扣除500元 - 如果3个指标都未达到:扣除1500元(500 × 3) **计算公式**: ``` 底薪 = 3500 - (未达标指标数 × 500) ``` #### 新店主任底薪考核 **考核指标**(2个): 1. **业绩考核**:门店业绩是否达到门店生命线 2. **人头考核**:进店消耗人数是否达到目标人头数 **扣款规则**: - 每个指标未达到:扣除500元 - 如果2个指标都未达到:扣除1000元(500 × 2) **计算公式**: ``` 底薪 = 3500 - (未达标指标数 × 500) ``` **注意**:新店不考核消耗指标 --- ### 2. 提成规则 **提成计算方式**:阶梯提成模式 #### 老店主任提成规则 根据门店分类(A、B、C类)和业绩是否超过生命线,使用不同的阶梯提成比例: | 门店分类 | 业绩 ≤ 生命线部分 | 业绩 > 生命线部分 | |---------|----------------|-----------------| | A类门店 | 2% | 2.5% | | B类门店 | 2.5% | 3% | | C类门店 | 3% | 3.5% | **计算公式**: ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 对应提成比例(≤生命线部分) 如果 业绩 > 生命线: 提成 = 生命线 × 对应提成比例(≤生命线部分) + (业绩 - 生命线) × 对应提成比例(>生命线部分) ``` **计算示例**: - 生命线:100,000元 - 业绩:150,000元 - 门店分类:A类 计算过程: 1. 业绩(150,000)> 生命线(100,000) 2. ≤生命线部分:100,000 × 2% = 2,000元 3. >生命线部分:(150,000 - 100,000) × 2.5% = 50,000 × 2.5% = 1,250元 4. 总提成:2,000 + 1,250 = 3,250元 #### 新店主任提成规则 **统一标准**(不区分A、B、C类门店): | 业绩范围 | 提成比例 | |---------|---------| | 业绩 ≤ 生命线部分 | 2% | | 业绩 > 生命线部分 | 2.5% | **计算公式**: ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 2% 如果 业绩 > 生命线: 提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5% ``` **计算示例**: - 生命线:100,000元 - 业绩:150,000元 计算过程: 1. 业绩(150,000)> 生命线(100,000) 2. ≤生命线部分:100,000 × 2% = 2,000元 3. >生命线部分:(150,000 - 100,000) × 2.5% = 50,000 × 2.5% = 1,250元 4. 总提成:2,000 + 1,250 = 3,250元 --- ## 📊 最终工资计算 ### 计算公式 ``` 最终工资 = 底薪 + 提成 ``` 其中: - **底薪** = 3500 - (未达标指标数 × 500) - **提成** = 根据阶梯提成规则计算 ### 计算示例 #### 示例1:老店主任(A类门店,全部达标) **基础数据**: - 门店分类:A类 - 门店生命线:100,000元 - 门店业绩:150,000元 - 目标人头:100人 - 实际人头:120人 - 目标消耗:80,000元 - 实际消耗:90,000元 - 是否新店:否 **计算过程**: 1. **底薪计算**: - 业绩考核:150,000 ≥ 100,000 ✓(达标) - 人头考核:120 ≥ 100 ✓(达标) - 消耗考核:90,000 ≥ 80,000 ✓(达标) - 未达标指标数:0 - 底薪 = 3500 - (0 × 500) = 3500元 2. **提成计算**: - 业绩(150,000)> 生命线(100,000) - ≤生命线部分:100,000 × 2% = 2,000元 - >生命线部分:(150,000 - 100,000) × 2.5% = 1,250元 - 总提成 = 2,000 + 1,250 = 3,250元 3. **最终工资**: - 最终工资 = 3500 + 3250 = 6,750元 #### 示例2:老店主任(B类门店,部分未达标) **基础数据**: - 门店分类:B类 - 门店生命线:100,000元 - 门店业绩:80,000元 - 目标人头:100人 - 实际人头:90人 - 目标消耗:80,000元 - 实际消耗:75,000元 - 是否新店:否 **计算过程**: 1. **底薪计算**: - 业绩考核:80,000 < 100,000 ✗(未达标) - 人头考核:90 < 100 ✗(未达标) - 消耗考核:75,000 < 80,000 ✗(未达标) - 未达标指标数:3 - 底薪 = 3500 - (3 × 500) = 3500 - 1500 = 2000元 2. **提成计算**: - 业绩(80,000)< 生命线(100,000) - 提成 = 80,000 × 2.5% = 2,000元 3. **最终工资**: - 最终工资 = 2000 + 2000 = 4,000元 #### 示例3:新店主任(全部达标) **基础数据**: - 门店生命线:100,000元 - 门店业绩:150,000元 - 目标人头:100人 - 实际人头:120人 - 是否新店:是 **计算过程**: 1. **底薪计算**: - 业绩考核:150,000 ≥ 100,000 ✓(达标) - 人头考核:120 ≥ 100 ✓(达标) - 未达标指标数:0 - 底薪 = 3500 - (0 × 500) = 3500元 2. **提成计算**: - 业绩(150,000)> 生命线(100,000) - ≤生命线部分:100,000 × 2% = 2,000元 - >生命线部分:(150,000 - 100,000) × 2.5% = 1,250元 - 总提成 = 2,000 + 1,250 = 3,250元 3. **最终工资**: - 最终工资 = 3500 + 3250 = 6,750元 --- ## 🔍 数据来源说明 ### 1. 门店业绩 **数据来源**: - 开单业绩:`lq_kd_kdjlb` 表 - 字段:`Djmd`(门店ID)、`Sfyj`(实付业绩)、`Kdrq`(开单日期) - 条件:`F_IsEffective = 1`(有效记录) - 退卡业绩:`lq_hytk_hytk` 表 - 字段:`Md`(门店ID)、`F_ActualRefundAmount`(实际退卡金额,优先使用,如果没有则用`Tkje`)、`Tksj`(退卡时间) - 条件:`F_IsEffective = 1`(有效记录) **计算公式**: ``` 门店业绩 = SUM(开单实付) - SUM(退卡金额) ``` ### 2. 门店生命线 **数据来源**:`lq_md_target` 表 - 字段:`F_StoreLifeline`(门店生命线) - 查询条件:`F_StoreId` = 门店ID,`F_Month` = 统计月份(YYYYMM格式) ### 3. 门店分类 **数据来源**:`lq_mdxx` 表 - 字段:`F_StoreCategory`(门店分类) - `1` = A类门店 - `2` = B类门店 - `3` = C类门店 ### 4. 人头数据(进店消耗人数) **数据来源**: - 主表:`lq_xh_hyhk`(耗卡记录表) - 关联表:`lq_xh_jksyj`(健康师业绩表,用于判断是否有消费金额) **统计规则**: - 有消费金额的,按门店按月去重客户数 - 只统计有效记录(`F_IsEffective = 1`) - 只统计有消费金额的记录(`jksyj > 0`) **目标人头数**: - 数据来源:`lq_md_target` 表 - 字段:`F_StoreHeadcountTarget`(门店人头目标) ### 5. 消耗数据 **数据来源**:`lq_xh_jksyj` 表 - 字段:`jksyj`(健康师业绩,即消耗金额) - 关联:通过 `glkdbh` 关联到 `lq_xh_hyhk.F_Id` - 条件:`F_IsEffective = 1`(有效记录) **统计规则**: - 按门店统计当月总消耗金额 **目标消耗**: - 数据来源:`lq_md_target` 表 - 字段:`F_StoreConsumeTarget`(门店消耗目标) ### 6. 新店信息 **数据来源**:`lq_md_xdbhsj` 表 - 字段: - `Mdid`(门店ID) - `Bhkssj`(保护开始时间) - `Bhjssj`(保护结束时间) - `Sfqy`(是否启用,1=启用) - `Stage`(新店保护阶段) **判断逻辑**: - 如果统计月份的第一天在保护期内(`Bhkssj <= startDate && Bhjssj >= startDate`),则为新店 - 否则为老店 ### 7. 主任员工信息 **数据来源**:`BASE_USER` 表 - 字段: - `F_Id`(员工ID) - `F_RealName`(员工姓名) - `F_Gw`(岗位,应为"主任") - `F_Mdid`(门店ID) **查询条件**: - `F_Gw = "主任"` - `F_DeleteMark = null`(未删除) - `F_EnabledMark = 1`(启用) --- ## 📝 计算流程 ### 1. 获取基础数据 - 从 `BASE_USER` 获取主任员工列表(岗位为"主任") - 获取门店信息(`lq_mdxx`) - 获取门店目标信息(`lq_md_target`) - 获取新店保护信息(`lq_md_xdbhsj`) ### 2. 计算门店业绩 - 统计开单业绩(`lq_kd_kdjlb`) - 统计退卡业绩(`lq_hytk_hytk`) - 计算门店总业绩 = 开单业绩 - 退卡业绩 ### 3. 计算门店消耗 - 统计门店当月总消耗金额(`lq_xh_jksyj`) ### 4. 统计进店消耗人数 - 统计有消费金额的,按门店按月去重客户数 ### 5. 判断新店/老店 - 根据新店保护信息判断是否为新店 ### 6. 计算底薪 - 判断业绩是否达标(业绩 ≥ 生命线) - 判断人头是否达标(实际人头 ≥ 目标人头) - 判断消耗是否达标(实际消耗 ≥ 目标消耗,仅老店考核) - 根据未达标指标数量计算扣款 - 底薪 = 3500 - (未达标指标数 × 500) ### 7. 计算提成 - 判断新店/老店 - 判断业绩是否超过生命线 - 根据门店分类(老店)和业绩是否超过生命线,确定阶梯提成比例 - 计算提成金额(阶梯提成模式) ### 8. 计算最终工资 - 最终工资 = 底薪 + 提成 --- ## ⚠️ 注意事项 ### 1. 数据校验 - 门店分类必须设置,未设置应报错 - 门店生命线必须设置,未设置应报错 - 门店人头目标必须设置(用于考核) - 门店消耗目标必须设置(老店考核用) ### 2. 数据一致性 - 门店业绩计算逻辑必须与其他统计接口保持一致 - 人头统计逻辑必须与其他统计接口保持一致 - 消耗统计逻辑必须与其他统计接口保持一致 ### 3. 边界情况 - 如果门店没有业绩数据,业绩为0 - 如果门店没有人头数据,人头为0 - 如果门店没有消耗数据,消耗为0 - 新店不考核消耗,只考核业绩和人头 ### 4. 提成计算注意事项 - **阶梯提成模式**:必须严格按照阶梯提成规则计算,不能使用单一提成比例 - **业绩分段计算**: - 如果业绩 ≤ 生命线:只计算 ≤ 生命线部分的提成 - 如果业绩 > 生命线:分别计算 ≤ 生命线部分和 > 生命线部分的提成,然后相加 --- ## 📋 关键计算公式总结 ### 底薪计算公式 ``` 底薪 = 3500 - (未达标指标数 × 500) ``` 其中: - **老店**:未达标指标数 = 未达标的指标数量(业绩、人头、消耗,最多3个) - **新店**:未达标指标数 = 未达标的指标数量(业绩、人头,最多2个) ### 提成计算公式 #### 老店提成计算公式 **A类门店**: ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 2% 如果 业绩 > 生命线: 提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5% ``` **B类门店**: ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 2.5% 如果 业绩 > 生命线: 提成 = 生命线 × 2.5% + (业绩 - 生命线) × 3% ``` **C类门店**: ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 3% 如果 业绩 > 生命线: 提成 = 生命线 × 3% + (业绩 - 生命线) × 3.5% ``` #### 新店提成计算公式 ``` 如果 业绩 ≤ 生命线: 提成 = 业绩 × 2% 如果 业绩 > 生命线: 提成 = 生命线 × 2% + (业绩 - 生命线) × 2.5% ``` --- ## ✅ 验证要点 1. **底薪计算验证**: - 验证考核指标判断是否正确 - 验证扣款金额是否正确(每个未达标指标扣500元) - 验证新店不考核消耗 2. **提成计算验证**: - 验证阶梯提成计算是否正确 - 验证业绩分段计算是否正确 - 验证不同门店分类的提成比例是否正确 - 验证新店统一提成标准是否正确 3. **数据来源验证**: - 验证门店业绩计算是否正确 - 验证人头统计是否正确 - 验证消耗统计是否正确 - 验证新店判断是否正确