大项目部老师工资计算规则梳理.md
7.79 KB
大项目部老师工资计算规则梳理
📋 目录
💰 计算规则
1. 底薪规则
固定底薪:3000元
- 无论业绩多少,底薪固定为3000元
- 不设档位,不设条件
2. 业绩提成规则(阶梯式)
业绩提成基于总业绩计算,采用阶梯式方式:
| 总业绩范围 | 提成比例 | 说明 |
|---|---|---|
| ≤ 20万 | 0% | 无提成 |
| > 20万 且 ≤ 100万 | 2% | 按2%计算提成 |
| > 100万 | 2.5% | 按2.5%计算提成 |
计算说明:
- 提成金额 = 总业绩 × 对应提成比例
- 采用阶梯式计算,不同区间按不同比例计算
- 注意:不是分段累进,而是整个总业绩按对应比例计算
示例:
- 总业绩 = 15万 → 提成 = 0(无提成)
- 总业绩 = 50万 → 提成 = 50万 × 2% = 1万
- 总业绩 = 120万 → 提成 = 120万 × 2.5% = 3万
📊 数据来源
总业绩(TotalPerformance)
定义:门店总业绩 = 开单业绩 - 退卡业绩
重要说明:
- 大项目部老师计算的是门店总业绩,不是个人业绩
- 大项目部老师和科技部老师是两个不同的岗位
- 根据归属表
lq_md_major_project_teacher_assignment确定该老师在某个月归属于哪个门店 - 然后统计该门店在该月的总业绩(开单业绩 - 退卡业绩)
数据来源表及字段:
| 业绩类型 | 数据表 | 字段 | 说明 |
|---|---|---|---|
| 开单业绩 | lq_kd_kdjlb |
sfyj |
门店开单实付金额(根据归属表关联的门店ID统计) |
| 退卡业绩 | lq_hytk_hytk |
F_ActualRefundAmount 或 tkje |
门店退卡金额(根据归属表关联的门店ID统计) |
计算方式:
门店总业绩 = SUM(门店开单实付金额) - SUM(门店退卡金额)
过滤条件:
- 所有表记录必须满足:
F_IsEffective = 1(有效记录) - 按统计月份(YYYYMM格式)过滤时间范围
- 关键:根据
lq_md_major_project_teacher_assignment归属表关联- 关联条件:
lq_md_major_project_teacher_assignment.F_TeacherId = 大项目部老师ID - 关联条件:
lq_md_major_project_teacher_assignment.F_Year = 统计年份 - 关联条件:
lq_md_major_project_teacher_assignment.F_Month = 统计月份 - 关联条件:
lq_md_major_project_teacher_assignment.F_StoreId = 门店ID - 然后统计该门店在该月的开单业绩和退卡业绩
- 关联条件:
注意:
- 大项目部老师的归属每个月可能不一样
- 需要根据归属表来确定该老师在该月份归属于哪个门店
- 统计的是门店的总业绩,不是个人业绩
- 如果同一个老师在某个月归属于多个门店,需要合并多个门店的业绩
🔗 归属规则
归属表:lq_md_major_project_teacher_assignment
表结构:
F_Id:主键IDF_StoreId:门店IDF_Year:年份(YYYY格式)F_Month:月份(MM格式)F_TeacherId:大项目部老师用户IDF_EducationTeacherId:教育部老师用户ID(可选)F_Remark:备注说明
归属规则:
- 每个大项目部老师每个月可能归属于不同的门店
- 归属信息存储在
lq_md_major_project_teacher_assignment表中 - 统计工资时,需要根据该表来确定:
- 该老师在该月份归属于哪个门店
- 该门店的业绩数据中,哪些属于该老师
关联逻辑:
- 根据
F_Year和F_Month确定统计月份 - 根据
F_TeacherId确定大项目部老师 - 根据
F_StoreId确定归属门店 - 统计该门店在该月份的业绩数据(开单、消耗、退卡)
- 根据业绩表中的老师ID字段关联到该大项目部老师
业绩关联方式(待确认):
- 开单业绩:
lq_kd_kjbsyj表中的kjblszh或kjbls字段 - 消耗业绩:
lq_xh_kjbsyj表中的kjblszh或kjbls字段 - 退卡业绩:
lq_hytk_kjbsyj表中的kjblszh或kjbls字段
注意:
- 需要确认大项目部老师的业绩是如何关联的
- 可能需要通过
BASE_USER表的账号或ID来关联 - 或者通过其他关联字段来确定
⚠️ 特殊规则
离职员工规则
适用条件:
- 员工状态:
BASE_USER.F_IsOnJob = 0(离职)
计算规则:
- 离职员工的工资计算规则待确认
- 可能需要特殊处理(如:只计算在职期间的业绩)
📝 计算流程
1. 数据准备阶段
获取归属信息
- 从
lq_md_major_project_teacher_assignment表查询指定月份的所有归属记录 - 按
F_TeacherId和F_StoreId分组
- 从
获取业绩数据
- 开单业绩:从
lq_kd_kjbsyj表统计 - 消耗业绩:从
lq_xh_kjbsyj表统计 - 退卡业绩:从
lq_hytk_kjbsyj表统计 - 按统计月份过滤时间范围
- 按归属门店和老师ID关联
- 开单业绩:从
获取员工信息
- 从
BASE_USER表获取员工基本信息 - 包括:姓名、账号、门店信息等
- 从
2. 业绩统计阶段
计算开单业绩
- 根据归属表关联的开单业绩数据
- 按大项目部老师ID汇总
计算消耗业绩
- 根据归属表关联的消耗业绩数据
- 按大项目部老师ID汇总
计算退卡业绩
- 根据归属表关联的退卡业绩数据
- 按大项目部老师ID汇总
计算总业绩
- 总业绩 = 开单业绩 + 消耗业绩 + 退卡业绩
3. 工资计算阶段
计算底薪
- 底薪 = 3000元(固定)
计算业绩提成
- 判断总业绩范围:
- ≤ 20万:提成比例 = 0%
- > 20万 且 ≤ 100万:提成比例 = 2%
- > 100万:提成比例 = 2.5%
- 提成金额 = 总业绩 × 提成比例
- 判断总业绩范围:
计算其他收入
- 手工费、车补、少休费、全勤奖等(默认0)
计算核算应发工资
- 核算应发工资 = 底薪 + 提成合计 + 其他收入
计算最终应发工资
- 最终应发工资 = MAX(核算应发工资, 保底工资)
- 如果没有保底工资,则等于核算应发工资
计算实发工资
- 实发工资 = 最终应发工资 - 扣款合计 + 补贴合计 + 奖金
4. 数据保存阶段
保存工资统计记录
- 保存到
lq_major_project_teacher_salary_statistics表 - 确保同一员工同一月份只有一条记录(唯一索引)
- 保存到
更新状态
- 设置
F_IsLocked = 0(未锁定) - 设置
F_IsTerminated(根据员工状态)
- 设置
❓ 待确认问题
业绩关联方式
- 大项目部老师的业绩是如何关联的?
- 是通过
BASE_USER表的账号或ID来关联吗? - 还是通过其他字段来确定?
归属门店的业绩统计
- 如果一个大项目部老师在某个月归属于某个门店,那么:
- 该门店的所有业绩都算他的吗?
- 还是只统计该门店中他参与的业绩?
- 如果一个大项目部老师在某个月归属于某个门店,那么:
离职员工处理
- 离职员工的工资计算规则是什么?
- 是否需要特殊处理?
保底工资
- 大项目部老师是否有保底工资?
- 保底工资的计算规则是什么?
📌 总结
核心规则
- 底薪:固定3000元
- 业绩提成:阶梯式计算
- ≤ 20万:0%
- > 20万 且 ≤ 100万:2%
- > 100万:2.5%
关键点
- 归属表关联:需要根据
lq_md_major_project_teacher_assignment表来确定归属关系 - 业绩统计:需要根据归属表关联的业绩数据来统计
- 月份归属:每个月的归属可能不一样,需要按月统计
下一步
- 确认业绩关联方式
- 确认归属门店的业绩统计规则
- 确认离职员工处理规则
- 确认保底工资规则
- 实现计算逻辑