# 大项目主管工资计算规则梳理 ## 📋 目录 - [概述](#概述) - [计算规则](#计算规则) - [数据来源](#数据来源) - [归属规则](#归属规则) - [计算流程](#计算流程) - [注意事项](#注意事项) --- ## 📋 概述 大项目主管工资由以下几个部分组成: 1. **底薪**:固定3500元 2. **业绩提成**:根据管理的所有门店的总业绩分段提成 **重要说明**: - 底薪固定为3500元,不设档位,不设条件 - 大项目主管从 `BASE_USER` 表获取,岗位字段(`F_GW`)为"主管",组织ID为大项目一部或大项目二部 - 每个大项目主管管理的门店归属在 `lq_md_target` 表中(通过 `F_MajorProjectDepartment` 字段) - 需要统计该大项目主管管理的**所有门店**的总业绩(开单-退卡) - **只统计医美类型的业绩**(从 `lq_kd_jksyj` 表统计医美类型的健康师业绩,从 `lq_hytk_mx` 表统计医美类型的退卡金额) - 提成采用分段累进式计算 --- ## 💰 计算规则 ### 1. 底薪规则 **固定底薪**:3500元 - 无论业绩多少,底薪固定为3500元 - 不设档位,不设条件 - 不设考核扣款 --- ### 2. 业绩提成规则 **提成计算方式**:根据管理的所有门店的总业绩**分段累进式**计算 | 业绩区间 | 提成比例 | 说明 | |---------|---------|------| | ≤ 50万 | 0% | 无提成资格 | | > 50万 | 分段计算 | 有提成资格后,0-70万部分按1%,70万以上部分按1.5% | **计算说明**: - 采用**分段累进式**计算,不同区间按不同比例分别计算后累加 - **必须大于50万才有提成资格** - 如果有提成资格后: - 0-70万部分:1%(整个0-70万部分都按1%计算) - 70万以上部分:1.5% **计算公式(分段累进)**: ``` 如果 总业绩 ≤ 50万:提成 = 0(无提成资格) 如果 50万 < 总业绩 ≤ 70万:提成 = 总业绩 × 1% 如果 总业绩 > 70万:提成 = 70万 × 1% + (总业绩 - 70万) × 1.5% ``` **示例**: - 总业绩 = 40万 → 提成 = 0(无提成资格,未达到50万门槛) - 总业绩 = 60万 → 提成 = 60万 × 1% = 6,000元 - 总业绩 = 80万 → 提成 = 70万 × 1% + (80万 - 70万) × 1.5% = 7,000 + 1,500 = 8,500元 --- ## 📊 数据来源 ### 大项目主管识别 **数据来源**:`BASE_USER` 表 **识别条件**: - `F_GW`(岗位字段)为"主管" - `F_OrganizeId`(组织ID)在大项目一部或大项目二部的组织ID列表中 - `F_DeleteMark == null`(未删除) - `F_EnabledMark == 1`(已启用) **获取步骤**: 1. 从 `BASE_ORGANIZE` 表查找组织名称包含"大项目一部"或"大项目二部"的组织 2. 获取这些组织的ID列表 3. 从 `BASE_USER` 表查询岗位为"主管"且组织ID在上述组织ID列表中的员工 **说明**: - 目前有"大项目一部"和"大项目二部",未来可能还有更多大项目部 - 岗位字段值必须是"主管"(完全匹配) --- ### 管理的门店归属 **数据来源**:`lq_md_target` 表 **关联关系**: - 通过 `F_MajorProjectDepartment` 字段关联到 `BASE_ORGANIZE.F_Id`(大项目一部或大项目二部的组织ID) - 通过 `F_StoreId` 字段关联到 `lq_mdxx.F_Id` - 通过 `F_Month` 字段(YYYYMM格式)关联到统计月份 **获取逻辑**: 1. 从 `lq_md_target` 表查询指定月份(`F_Month = @统计月份`)的记录 2. 筛选出 `F_MajorProjectDepartment = @大项目一部组织ID` 或 `F_MajorProjectDepartment = @大项目二部组织ID` 的记录 3. 获取这些记录的 `F_StoreId` 列表,即为该大项目主管管理的门店 **重要说明**: - 每个大项目主管可能管理多个门店 - 需要统计这些门店的总业绩(开单-退卡)总和 - 如果某个门店在 `lq_md_target` 表中没有记录,则该门店的业绩不计入该大项目主管的统计 --- ### 总业绩统计 **定义**:该大项目主管管理的所有门店中,**医美类型**的开单金额总和减去退卡金额总和 **重要说明**:**只统计医美类型的业绩** **数据来源表及字段**: | 业绩类型 | 数据表 | 字段 | 说明 | |---------|--------|------|------| | **开单金额** | `lq_kd_jksyj` | `Jksyj` | 医美类型的健康师业绩(`ItemCategory == "医美"`) | | **退卡金额** | `lq_hytk_mx` | `Tkje` | 医美类型的退卡金额(`ItemCategory == "医美"`) | **统计逻辑**: 1. **统计开单金额**(只统计医美类型): - 从 `lq_kd_jksyj` 表关联 `lq_kd_kdjlb` 表 - 条件:`ItemCategory == "医美"`,`F_IsEffective = 1`,`djmd IN (@管理的门店ID列表)`,`Kdrq` 在统计月份范围内 - 统计 `Jksyj` 字段(健康师业绩)的总和 2. **统计退卡金额**(只统计医美类型): - 从 `lq_hytk_mx` 表关联 `lq_hytk_hytk` 表 - 条件:`ItemCategory == "医美"`,`F_IsEffective = 1`,`md IN (@管理的门店ID列表)`,`Tksj` 在统计月份范围内 - 统计 `Tkje` 字段(退卡金额)的总和 3. **计算净总业绩**: - 净总业绩 = 开单金额 - 退卡金额 --- ## 🔗 归属规则 ### 大项目主管与门店的归属关系 **数据来源**:`lq_md_target` 表 **表结构说明**: - `F_Id`:主键ID - `F_StoreId`:门店ID(关联 `lq_mdxx.F_Id`) - `F_Month`:月份(YYYYMM格式) - `F_MajorProjectDepartment`:归属大项目部(关联 `BASE_ORGANIZE.F_Id`) **获取管理的门店**: 1. 从 `lq_md_target` 表查询: ```sql SELECT DISTINCT F_StoreId FROM lq_md_target WHERE F_MajorProjectDepartment = @大项目一部或大项目二部组织ID AND F_Month = @统计月份 ``` 2. 如果该大项目主管在指定月份没有管理的门店,则总业绩为0,提成为0 **重要说明**: - 每个大项目主管可能管理多个门店 - 需要统计这些门店的总业绩(开单-退卡)总和 - 如果某个门店在 `lq_md_target` 表中没有记录,则该门店的业绩不计入该大项目主管的统计 --- ## 🔄 计算流程 ### 步骤1:识别大项目主管 1. 从 `BASE_ORGANIZE` 表中筛选: - `F_FullName LIKE '%大项目一部%'` 或 `F_FullName LIKE '%大项目二部%'` - `F_DeleteMark == null`(未删除) - `F_EnabledMark == 1`(已启用) 2. 获取这些组织的ID列表 3. 从 `BASE_USER` 表中筛选: - `F_GW == "主管"`(岗位为"主管") - `F_OrganizeId` 在上述组织ID列表中 - `F_DeleteMark == null`(未删除) - `F_EnabledMark == 1`(已启用) --- ### 步骤2:获取管理的门店 1. 从 `lq_md_target` 表查询指定月份(`F_Month = @统计月份`)的记录 2. 筛选出 `F_MajorProjectDepartment = @大项目一部组织ID` 或 `F_MajorProjectDepartment = @大项目二部组织ID` 的记录 3. 获取这些记录的 `F_StoreId` 列表,即为该大项目主管管理的门店 --- ### 步骤3:统计总业绩 1. **统计开单金额**: - 从 `lq_kd_kdjlb` 表统计管理的门店在统计月份的开单金额(`sfyj`字段) - 过滤条件:`F_IsEffective = 1`,`djmd IN (@管理的门店ID列表)`,`DATE_FORMAT(kdrq, '%Y%m') = @统计月份` 2. **统计退卡金额**: - 从 `lq_hytk_hytk` 表统计管理的门店在统计月份的退卡金额(`F_ActualRefundAmount` 或 `tkje`字段) - 过滤条件:`F_IsEffective = 1`,`djmd IN (@管理的门店ID列表)`,`DATE_FORMAT(tkrq, '%Y%m') = @统计月份` 3. **计算净总业绩**: - 净总业绩 = 开单金额 - 退卡金额 --- ### 步骤4:计算提成 根据总业绩分段累进计算提成: - 如果总业绩 ≤ 50万:提成 = 0(无提成资格) - 如果 50万 < 总业绩 ≤ 70万:提成 = 总业绩 × 1% - 如果总业绩 > 70万:提成 = 70万 × 1% + (总业绩 - 70万) × 1.5% --- ### 步骤5:计算应发工资 - 应发工资 = 底薪(3500元)+ 提成金额 --- ### 步骤6:保存数据 将计算结果保存到 `lq_major_project_director_salary_statistics` 表中: - 如果已存在当月数据,则更新;否则插入新数据 - 保存门店明细(JSON格式) --- ## ✅ 总结 大项目主管工资计算规则相对简单明确: 1. **底薪固定**:3500元,无任何条件 2. **业绩提成**:根据管理的所有门店的总业绩分段计算,最高1.5%,低于50万无提成 关键点: - 必须从 `BASE_USER` 表识别大项目主管(岗位为"主管",组织ID为大项目一部或大项目二部) - 必须从 `lq_md_target` 表获取管理的门店(通过 `F_MajorProjectDepartment` 字段) - 必须正确统计总业绩(开单金额 - 退卡金额) - 必须按管理的门店筛选,只统计该大项目主管管理的门店 - 采用**分段累进式**计算提成,不同区间按不同比例分别计算后累加