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