# 科技部总经理工资计算规则梳理 ## 📋 目录 - [概述](#概述) - [计算规则](#计算规则) - [数据来源](#数据来源) - [归属规则](#归属规则) - [计算流程](#计算流程) - [注意事项](#注意事项) --- ## 📋 概述 科技部总经理工资由以下几个部分组成: 1. **底薪**:固定4000元 2. **溯源金额提成**:根据管理的所有门店的溯源金额总和分段提成 3. **Cell金额提成**:根据管理的所有门店的Cell金额总和分段提成 **重要说明**: - 底薪固定为4000元,不设档位,不设条件 - 科技部总经理从 `BASE_USER` 表获取,岗位字段(`F_GW`)为"科技一部"、"科技二部"等(未来可能还有更多) - 每个科技部总经理管理的门店归属在 `lq_md_general_manager_lifeline` 表中 - 需要统计该科技部总经理管理的**所有门店**的溯源金额和Cell金额总和 - 溯源金额和Cell金额分别计算提成,互不影响 - 提成采用分段累进方式计算 --- ## 💰 计算规则 ### 1. 底薪规则 **固定底薪**:4000元 - 无论业绩多少,底薪固定为4000元 - 不设档位,不设条件 - 不设考核扣款 --- ### 2. 溯源金额提成规则 **提成计算方式**:根据管理的所有门店的溯源金额总和分段累进计算 | 溯源金额范围 | 提成比例 | |------------|---------| | < 200,000元 | 1% | | 200,000元 - 300,000元 | 1.5% | | 300,000元 - 500,000元 | 2% | | ≥ 500,000元 | 2.5% | **计算说明**: - 提成金额 = 溯源金额 × 对应提成比例 - 采用分段累进方式计算,不同区间按不同比例计算 - 例如:溯源金额为350,000元 - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000-300,000元部分:100,000 × 1.5% = 1,500元 - 300,000-350,000元部分:50,000 × 2% = 1,000元 - 总提成 = 2,000 + 1,500 + 1,000 = 4,500元 --- ### 3. Cell金额提成规则 **提成计算方式**:根据管理的所有门店的Cell金额总和分段累进计算 | Cell金额范围 | 提成比例 | |------------|---------| | < 50,000元 | 0% (无提成) | | 50,000元 - 400,000元 | 1% | | ≥ 400,000元 | 1.5% | **计算说明**: - 如果Cell金额 < 50,000元,无提成 - 如果Cell金额 ≥ 50,000元,按分段累进方式计算 - 例如:Cell金额为450,000元 - 0-50,000元部分:无提成 - 50,000-400,000元部分:350,000 × 1% = 3,500元 - 400,000-450,000元部分:50,000 × 1.5% = 750元 - 总提成 = 3,500 + 750 = 4,250元 --- ## 📊 数据来源 ### 科技部总经理识别 **数据来源**:`BASE_USER` 表 **识别条件**: - `F_GW`(岗位字段)包含"科技一部"、"科技二部"等(如:`F_GW LIKE '%科技一部%'` 或 `F_GW LIKE '%科技二部%'`) - `F_DeleteMark == null`(未删除) - `F_EnabledMark == 1`(已启用) **说明**: - 目前有"科技一部"和"科技二部",未来可能还有更多科技部 - 岗位字段值可能是"科技一部"、"科技二部"等完整名称 --- ### 管理的门店归属 **数据来源**:`lq_md_general_manager_lifeline` 表 **关联关系**: - 通过 `F_GeneralManagerId` 字段关联到 `BASE_USER.F_Id` - 通过 `F_StoreId` 字段关联到 `lq_mdxx.F_Id` - 通过 `F_Month` 字段(YYYYMM格式)关联到统计月份 **获取逻辑**: 1. 从 `lq_md_general_manager_lifeline` 表查询指定月份(`F_Month = @统计月份`)的记录 2. 筛选出 `F_GeneralManagerId = @科技部总经理ID` 的记录 3. 获取这些记录的 `F_StoreId` 列表,即为该科技部总经理管理的门店 **重要说明**: - 每个科技部总经理可能管理多个门店 - 需要统计这些门店的溯源金额和Cell金额总和 --- ### 溯源金额统计 **定义**:该科技部总经理管理的所有门店中,品项的 `F_BeautyType` 为 "溯源系统" 或 "溯源" 的健康师业绩总和(开单金额 - 退卡金额) **重要说明**: - **数据来源**:从健康师业绩表(`lq_kd_jksyj`)和退卡健康师业绩表(`lq_hytk_jksyj`)统计 - **统计依据**:使用健康师业绩表中的业绩金额,而不是开单品项明细表的实付金额 - **原因**:健康师业绩表中的金额是经过分配和计算的准确业绩,更符合业务逻辑 **数据来源表及字段**: | 数据表 | 字段 | 说明 | |--------|------|------| | `lq_kd_jksyj` | `jksyj` | 健康师业绩(开单业绩,字符串类型,需转换为decimal) | | `lq_kd_jksyj` | `F_BeautyType` | 科美类型(用于区分溯源和Cell) | | `lq_kd_jksyj` | `F_StoreId` | 门店ID(用于筛选管理的门店) | | `lq_kd_jksyj` | `yjsj` | 业绩时间(用于按月统计) | | `lq_hytk_jksyj` | `jksyj` | 健康师业绩(退卡业绩,decimal类型) | | `lq_hytk_jksyj` | `F_BeautyType` | 科美类型(用于区分溯源和Cell) | | `lq_hytk_jksyj` | `F_StoreId` | 门店ID(用于筛选管理的门店) | | `lq_hytk_jksyj` | `tksj` | 退卡时间(用于按月统计) | **统计逻辑**: 1. **统计开单溯源金额**(按管理的门店筛选): ```sql SELECT COALESCE(SUM(CAST(jksyj AS DECIMAL(18,2))), 0) as TraceabilityAmount FROM lq_kd_jksyj WHERE F_IsEffective = 1 AND F_StoreId IN (@管理的门店ID列表) AND (F_BeautyType = '溯源系统' OR F_BeautyType = '溯源') AND DATE_FORMAT(yjsj, '%Y%m') = @统计月份 ``` 2. **统计退卡溯源金额**(按管理的门店筛选): ```sql SELECT COALESCE(SUM(jksyj), 0) as RefundTraceabilityAmount FROM lq_hytk_jksyj WHERE F_IsEffective = 1 AND F_StoreId IN (@管理的门店ID列表) AND (F_BeautyType = '溯源系统' OR F_BeautyType = '溯源') AND DATE_FORMAT(tksj, '%Y%m') = @统计月份 ``` 3. **计算净溯源金额**: - 净溯源金额 = 开单溯源金额 - 退卡溯源金额 --- ### Cell金额统计 **定义**:该科技部总经理管理的所有门店中,品项的 `F_BeautyType` 为 "cell" 或 "Cell" 的健康师业绩总和(开单金额 - 退卡金额) **重要说明**: - **数据来源**:从健康师业绩表(`lq_kd_jksyj`)和退卡健康师业绩表(`lq_hytk_jksyj`)统计 - **统计依据**:使用健康师业绩表中的业绩金额,而不是开单品项明细表的实付金额 - **原因**:健康师业绩表中的金额是经过分配和计算的准确业绩,更符合业务逻辑 **数据来源表及字段**:同溯源金额统计 **统计逻辑**: 1. **统计开单Cell金额**(按管理的门店筛选): ```sql SELECT COALESCE(SUM(CAST(jksyj AS DECIMAL(18,2))), 0) as CellAmount FROM lq_kd_jksyj WHERE F_IsEffective = 1 AND F_StoreId IN (@管理的门店ID列表) AND (F_BeautyType = 'cell' OR F_BeautyType = 'Cell') AND DATE_FORMAT(yjsj, '%Y%m') = @统计月份 ``` 2. **统计退卡Cell金额**(按管理的门店筛选): ```sql SELECT COALESCE(SUM(jksyj), 0) as RefundCellAmount FROM lq_hytk_jksyj WHERE F_IsEffective = 1 AND F_StoreId IN (@管理的门店ID列表) AND (F_BeautyType = 'cell' OR F_BeautyType = 'Cell') AND DATE_FORMAT(tksj, '%Y%m') = @统计月份 ``` 3. **计算净Cell金额**: - 净Cell金额 = 开单Cell金额 - 退卡Cell金额 --- ## 🔗 归属规则 ### 科技部总经理与门店的归属关系 **数据来源**:`lq_md_general_manager_lifeline` 表 **表结构说明**: - `F_Id`:主键ID - `F_StoreId`:门店ID(关联 `lq_mdxx.F_Id`) - `F_Month`:月份(YYYYMM格式) - `F_GeneralManagerId`:总经理用户ID(关联 `BASE_USER.F_Id`) - `F_ManagerType`:经理类型(0=经理,1=总经理) **获取管理的门店**: 1. 从 `lq_md_general_manager_lifeline` 表查询: ```sql SELECT DISTINCT F_StoreId FROM lq_md_general_manager_lifeline WHERE F_GeneralManagerId = @科技部总经理ID AND F_Month = @统计月份 ``` 2. 如果该科技部总经理在指定月份没有管理的门店,则溯源金额和Cell金额为0,提成为0 **重要说明**: - 每个科技部总经理可能管理多个门店 - 需要统计这些门店的溯源金额和Cell金额总和 - 如果某个门店在 `lq_md_general_manager_lifeline` 表中没有记录,则该门店的业绩不计入该科技部总经理的统计 --- ## 🔄 计算流程 ### 步骤1:识别科技部总经理 从 `BASE_USER` 表中筛选: - `F_GW LIKE '%科技一部%'` 或 `F_GW LIKE '%科技二部%'` 等(根据实际岗位名称) - `F_DeleteMark == null`(未删除) - `F_EnabledMark == 1`(已启用) **注意**:未来可能还有"科技三部"等,需要灵活处理岗位识别逻辑 --- ### 步骤2:获取管理的门店 1. 从 `lq_md_general_manager_lifeline` 表查询该科技部总经理在指定月份管理的门店: ```sql SELECT DISTINCT F_StoreId FROM lq_md_general_manager_lifeline WHERE F_GeneralManagerId = @科技部总经理ID AND F_Month = @统计月份 ``` 2. 如果查询结果为空,说明该科技部总经理在该月份没有管理的门店,溯源金额和Cell金额为0,提成为0 --- ### 步骤3:统计溯源金额(所有管理的门店总和) 1. **统计开单溯源金额**(按管理的门店筛选): - 从 `lq_kd_pxmx` 表统计 - 关联 `lq_kd_kdjlb` 表获取开单日期和门店ID - 关联 `lq_xmzl` 表获取品项的 `F_BeautyType` - 筛选条件: - `lq_kd_pxmx.F_IsEffective = 1`(有效记录) - `lq_kd_kdjlb.F_IsEffective = 1`(有效开单) - `lq_xmzl.F_IsEffective = 1`(有效品项) - `F_BeautyType = '溯源系统'` 或 `'溯源'` - `lq_kd_kdjlb.djmd IN (@管理的门店ID列表)` - 开单日期在统计月份范围内 - 汇总:`SUM(lq_kd_pxmx.F_ActualPrice)` 2. **统计退卡溯源金额**(按管理的门店筛选): - 从 `lq_hytk_mx` 表统计 - 关联 `lq_hytk_hytk` 表获取退卡日期和门店ID - 关联 `lq_xmzl` 表获取品项的 `F_BeautyType` - 筛选条件: - `lq_hytk_mx.F_IsEffective = 1`(有效记录) - `lq_hytk_hytk.F_IsEffective = 1`(有效退卡) - `lq_xmzl.F_IsEffective = 1`(有效品项) - `F_BeautyType = '溯源系统'` 或 `'溯源'` - `lq_hytk_hytk.djmd IN (@管理的门店ID列表)` - 退卡日期在统计月份范围内 - 汇总:`SUM(lq_hytk_mx.tkje)` 3. **计算净溯源金额**: - 净溯源金额 = 开单溯源金额 - 退卡溯源金额 --- ### 步骤4:统计Cell金额(所有管理的门店总和) 1. **统计开单Cell金额**(按管理的门店筛选): - 从 `lq_kd_jksyj` 表(健康师业绩表)统计 - 筛选条件: - `F_IsEffective = 1`(有效记录) - `F_StoreId IN (@管理的门店ID列表)` - `F_BeautyType = 'cell'` 或 `'Cell'` - 业绩时间(`yjsj`)在统计月份范围内 - 汇总:`SUM(CAST(jksyj AS DECIMAL(18,2)))`(注意:`jksyj`字段是字符串类型,需要转换为decimal) 2. **统计退卡Cell金额**(按管理的门店筛选): - 从 `lq_hytk_jksyj` 表(退卡健康师业绩表)统计 - 筛选条件: - `F_IsEffective = 1`(有效记录) - `F_StoreId IN (@管理的门店ID列表)` - `F_BeautyType = 'cell'` 或 `'Cell'` - 退卡时间(`tksj`)在统计月份范围内 - 汇总:`SUM(jksyj)`(注意:`jksyj`字段是decimal类型) 3. **计算净Cell金额**: - 净Cell金额 = 开单Cell金额 - 退卡Cell金额 --- ### 步骤5:工资计算 #### 5.1 计算底薪 - 底薪 = 4000元(固定) #### 5.2 计算溯源金额提成 根据净溯源金额范围确定提成比例,采用分段累进方式: - **如果净溯源金额 < 200,000元**: - 提成金额 = 净溯源金额 × 1% - **如果 200,000元 ≤ 净溯源金额 < 300,000元**: - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000元以上部分:(净溯源金额 - 200,000) × 1.5% - 总提成 = 2,000 + (净溯源金额 - 200,000) × 1.5% - **如果 300,000元 ≤ 净溯源金额 < 500,000元**: - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000-300,000元部分:100,000 × 1.5% = 1,500元 - 300,000元以上部分:(净溯源金额 - 300,000) × 2% - 总提成 = 2,000 + 1,500 + (净溯源金额 - 300,000) × 2% - **如果净溯源金额 ≥ 500,000元**: - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000-300,000元部分:100,000 × 1.5% = 1,500元 - 300,000-500,000元部分:200,000 × 2% = 4,000元 - 500,000元以上部分:(净溯源金额 - 500,000) × 2.5% - 总提成 = 2,000 + 1,500 + 4,000 + (净溯源金额 - 500,000) × 2.5% #### 5.3 计算Cell金额提成 根据净Cell金额范围确定提成比例,采用分段累进方式: - **如果净Cell金额 < 50,000元**: - 提成金额 = 0(无提成) - **如果 50,000元 ≤ 净Cell金额 < 400,000元**: - 0-50,000元部分:无提成 - 50,000元以上部分:(净Cell金额 - 50,000) × 1% - 总提成 = (净Cell金额 - 50,000) × 1% - **如果净Cell金额 ≥ 400,000元**: - 0-50,000元部分:无提成 - 50,000-400,000元部分:350,000 × 1% = 3,500元 - 400,000元以上部分:(净Cell金额 - 400,000) × 1.5% - 总提成 = 3,500 + (净Cell金额 - 400,000) × 1.5% #### 5.4 计算最终工资 - **应发工资** = 底薪 + 溯源金额提成 + Cell金额提成 --- ## 📝 注意事项 1. **数据一致性**: - 溯源金额和Cell金额的统计逻辑必须与其他统计接口保持一致 - 必须扣除退卡金额,确保数据准确性 - 必须按管理的门店筛选,只统计该科技部总经理管理的门店 2. **数据校验**: - `F_BeautyType` 字段值可能不统一("溯源系统"、"溯源"、"cell"、"Cell"),需要兼容处理 - 优先使用明细表的 `F_BeautyType`,如果为空则使用品项表的 `F_BeautyType` - 如果科技部总经理在指定月份没有管理的门店,溯源金额和Cell金额为0,提成为0 3. **归属关系**: - 必须从 `lq_md_general_manager_lifeline` 表获取管理的门店 - 如果某个门店不在该科技部总经理的管理范围内,该门店的业绩不计入统计 - 需要确保 `lq_md_general_manager_lifeline` 表的数据准确性 4. **边界情况**: - 如果溯源金额或Cell金额为0或负数,对应提成为0 - 如果溯源金额或Cell金额计算后为负数(退卡金额大于开单金额),对应提成为0 - 如果科技部总经理在指定月份没有管理的门店,所有金额为0,提成为0 5. **计算精度**: - 涉及金额计算时,建议保留2位小数 - 提成金额四舍五入到分 6. **性能优化**: - 建议使用数据库聚合查询,避免在应用层进行大量数据计算 - 可以先获取管理的门店列表,然后在SQL中使用 `IN` 子句筛选 - 可以考虑创建统计视图或物化视图,提高查询性能 7. **岗位识别**: - 目前有"科技一部"和"科技二部",未来可能还有更多 - 建议使用模糊匹配(`LIKE '%科技一部%'`)或维护一个岗位列表 - 需要确保岗位识别逻辑能够适应未来的扩展 --- ## 📊 计算示例 ### 示例1:基础计算 **假设数据**: - 科技部总经理:科技一部(ID: 123456) - 管理的门店:门店A(ID: A001)、门店B(ID: B001) - 底薪:4000元 - 门店A溯源金额:150,000元,Cell金额:80,000元 - 门店B溯源金额:100,000元,Cell金额:120,000元 - 总溯源金额:250,000元 - 总Cell金额:200,000元 **计算过程**: 1. **溯源金额提成**: - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000-250,000元部分:50,000 × 1.5% = 750元 - 溯源金额提成 = 2,000 + 750 = 2,750元 2. **Cell金额提成**: - 0-50,000元部分:无提成 - 50,000-200,000元部分:150,000 × 1% = 1,500元 - Cell金额提成 = 1,500元 3. **应发工资**: - 应发工资 = 4,000 + 2,750 + 1,500 = 8,250元 --- ### 示例2:高业绩计算 **假设数据**: - 科技部总经理:科技二部(ID: 789012) - 管理的门店:门店C(ID: C001)、门店D(ID: D001)、门店E(ID: E001) - 底薪:4000元 - 门店C溯源金额:200,000元,Cell金额:150,000元 - 门店D溯源金额:250,000元,Cell金额:200,000元 - 门店E溯源金额:150,000元,Cell金额:100,000元 - 总溯源金额:600,000元 - 总Cell金额:450,000元 **计算过程**: 1. **溯源金额提成**: - 0-200,000元部分:200,000 × 1% = 2,000元 - 200,000-300,000元部分:100,000 × 1.5% = 1,500元 - 300,000-500,000元部分:200,000 × 2% = 4,000元 - 500,000-600,000元部分:100,000 × 2.5% = 2,500元 - 溯源金额提成 = 2,000 + 1,500 + 4,000 + 2,500 = 10,000元 2. **Cell金额提成**: - 0-50,000元部分:无提成 - 50,000-400,000元部分:350,000 × 1% = 3,500元 - 400,000-450,000元部分:50,000 × 1.5% = 750元 - Cell金额提成 = 3,500 + 750 = 4,250元 3. **应发工资**: - 应发工资 = 4,000 + 10,000 + 4,250 = 18,250元 --- ## 🔍 数据表结构参考 ### 科技部总经理工资统计表 参考其他岗位的工资表结构(如:`lq_business_unit_manager_salary_statistics`、`lq_tech_teacher_salary_statistics`),建议创建如下表结构: ```sql -- ============================================ -- 创建科技部总经理工资统计表 -- 功能:存储科技部总经理每月的工资计算数据,包括底薪、溯源金额提成、Cell金额提成、扣款、补贴、奖金、支付等信息 -- 创建时间:2025年 -- ============================================ DROP TABLE IF EXISTS lq_tech_general_manager_salary_statistics; CREATE TABLE lq_tech_general_manager_salary_statistics ( -- 主键 F_Id VARCHAR(50) NOT NULL COMMENT '主键ID', -- 一、基础信息字段 F_StatisticsMonth VARCHAR(6) NOT NULL COMMENT '统计月份(YYYYMM格式)', F_Position VARCHAR(50) NOT NULL COMMENT '核算岗位(科技一部/科技二部等)', F_EmployeeName VARCHAR(100) NOT NULL COMMENT '员工姓名', F_EmployeeId VARCHAR(50) NOT NULL COMMENT '员工ID', F_EmployeeAccount VARCHAR(100) NULL COMMENT '员工账号', F_IsTerminated INT NOT NULL DEFAULT 0 COMMENT '是否离职(0=在职,1=离职)', -- 二、管理的门店信息(JSON格式) F_StoreDetail TEXT NULL COMMENT '管理的门店明细(JSON格式,记录每个门店的溯源金额和Cell金额详情)', -- 三、业绩相关字段 F_TraceabilityAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '溯源金额(管理的所有门店的溯源金额总和,开单-退卡)', F_CellAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT 'Cell金额(管理的所有门店的Cell金额总和,开单-退卡)', -- 四、底薪相关字段 F_BaseSalary DECIMAL(18,2) NOT NULL DEFAULT 4000.00 COMMENT '底薪金额(固定4000元)', -- 五、提成相关字段 F_TraceabilityCommissionRate DECIMAL(18,4) DEFAULT NULL COMMENT '溯源金额提成比例(分段计算,存储平均比例)', F_TraceabilityCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '溯源金额提成金额', F_CellCommissionRate DECIMAL(18,4) DEFAULT NULL COMMENT 'Cell金额提成比例(分段计算,存储平均比例)', F_CellCommissionAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT 'Cell金额提成金额', F_TotalCommission DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '提成合计(溯源提成+Cell提成)', -- 六、考勤相关字段 F_WorkingDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '在店天数', F_LeaveDays DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假天数', -- 七、工资计算字段 F_CalculatedGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '核算应发工资(底薪 + 提成合计)', F_FinalGrossSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '最终应发工资(等于核算应发工资)', -- 八、补贴相关字段 F_MonthlyTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月培训补贴', F_MonthlyTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月交通补贴', F_LastMonthTrainingSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月培训补贴', F_LastMonthTransportSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '上月交通补贴', F_TotalSubsidy DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补贴合计', -- 九、扣款相关字段 F_MissingCard DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '缺卡扣款', F_LateArrival DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '迟到扣款', F_LeaveDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '请假扣款', F_SocialInsuranceDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣社保', F_RewardDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣除奖励', F_AccommodationDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣住宿费', F_StudyPeriodDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣学习期费用', F_WorkClothesDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣工作服费用', F_TotalDeduction DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '扣款合计', -- 十、奖金相关字段 F_Bonus DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '发奖金', F_ReturnPhoneDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退手机押金', F_ReturnAccommodationDeposit DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '退住宿押金', -- 十一、支付相关字段 F_ActualSalary DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '实发工资(最终应发工资 - 扣款合计 + 补贴合计 + 奖金)', F_MonthlyPaymentStatus VARCHAR(20) NOT NULL DEFAULT '未发放' COMMENT '当月是否发放(已发放/未发放/部分发放)', F_PaidAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '支付金额', F_PendingAmount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '待支付金额', F_LastMonthSupplement DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '补发上月', F_MonthlyTotalPayment DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当月支付总额', -- 十二、系统字段 F_IsLocked INT NOT NULL DEFAULT 0 COMMENT '是否锁定(0=未锁定,1=已锁定)', F_CreateTime DATETIME NOT NULL COMMENT '创建时间', F_UpdateTime DATETIME NOT NULL COMMENT '更新时间', F_CreateUser VARCHAR(50) NULL COMMENT '创建人', F_UpdateUser VARCHAR(50) NULL COMMENT '更新人', -- 主键约束 PRIMARY KEY (F_Id), -- 唯一索引:确保同一员工同一月份只有一条记录 UNIQUE KEY `uk_employee_month` (F_EmployeeId, F_StatisticsMonth), -- 普通索引 KEY `idx_statistics_month` (F_StatisticsMonth), KEY `idx_employee_id` (F_EmployeeId), KEY `idx_employee_account` (F_EmployeeAccount), KEY `idx_position` (F_Position), KEY `idx_is_terminated` (F_IsTerminated), KEY `idx_create_time` (F_CreateTime) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科技部总经理工资统计表'; ``` **门店明细JSON格式示例**: ```json [ { "storeId": "A001", "storeName": "门店A", "traceabilityBillingAmount": 160000.00, "traceabilityRefundAmount": 10000.00, "traceabilityAmount": 150000.00, "cellBillingAmount": 85000.00, "cellRefundAmount": 5000.00, "cellAmount": 80000.00 }, { "storeId": "B001", "storeName": "门店B", "traceabilityBillingAmount": 105000.00, "traceabilityRefundAmount": 5000.00, "traceabilityAmount": 100000.00, "cellBillingAmount": 125000.00, "cellRefundAmount": 5000.00, "cellAmount": 120000.00 } ] ``` --- ## ✅ 总结 科技部总经理工资计算规则相对简单明确: 1. **底薪固定**:4000元,无任何条件 2. **溯源提成**:根据管理的所有门店的溯源金额总和分段累进,最高2.5% 3. **Cell提成**:根据管理的所有门店的Cell金额总和分段累进,最高1.5%,低于5万无提成 关键点: - 必须从 `BASE_USER` 表识别科技部总经理(岗位为"科技一部"、"科技二部"等) - 必须从 `lq_md_general_manager_lifeline` 表获取管理的门店 - 必须正确区分溯源和Cell类型(通过 `F_BeautyType` 字段) - 必须扣除退卡金额,确保数据准确性 - 必须按管理的门店筛选,只统计该科技部总经理管理的门店 - 采用分段累进方式计算提成,确保计算准确