创建科技部总经理工资统计表.sql 10.1 KB
-- ============================================
-- 创建科技部总经理工资统计表
-- 功能:存储科技部总经理每月的工资计算数据,包括底薪、溯源金额提成、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='科技部总经理工资统计表';

-- ============================================
-- 表结构说明
-- ============================================
/*
表名:lq_tech_general_manager_salary_statistics(科技部总经理工资统计表)

功能说明:
1. 存储科技部总经理每月的工资计算数据
2. 包括底薪、溯源金额提成、Cell金额提成、扣款、补贴、奖金、支付等信息
3. 支持按员工、月份查询
4. 记录管理的门店汇总信息

主要字段说明:
- F_BaseSalary:底薪(固定4000元)
- F_TraceabilityAmount:溯源金额(管理的所有门店的溯源金额总和,开单-退卡)
- F_CellAmount:Cell金额(管理的所有门店的Cell金额总和,开单-退卡)
- F_TraceabilityCommissionAmount:溯源金额提成金额
- F_CellCommissionAmount:Cell金额提成金额
- F_StoreDetail:管理的门店明细(JSON格式,记录每个门店的溯源金额和Cell金额详情)

数据来源:
- 科技部总经理识别:BASE_USER 表(F_GW字段包含"科技一部"、"科技二部"等)
- 管理的门店归属:lq_md_general_manager_lifeline 表(通过F_GeneralManagerId和F_Month获取)
- 溯源金额:lq_kd_pxmx 表(F_BeautyType='溯源系统'或'溯源')和 lq_hytk_mx 表(退卡)
- Cell金额:lq_kd_pxmx 表(F_BeautyType='cell'或'Cell')和 lq_hytk_mx 表(退卡)

计算公式:
- 溯源金额 = 管理的所有门店的溯源类型品项开单金额总和 - 退卡金额总和
- Cell金额 = 管理的所有门店的Cell类型品项开单金额总和 - 退卡金额总和
- 溯源金额提成计算(分段累进):
  - < 200,000元:提成 = 溯源金额 × 1%
  - 200,000-300,000元:提成 = 200,000 × 1% + (溯源金额 - 200,000) × 1.5%
  - 300,000-500,000元:提成 = 200,000 × 1% + 100,000 × 1.5% + (溯源金额 - 300,000) × 2%
  - ≥ 500,000元:提成 = 200,000 × 1% + 100,000 × 1.5% + 200,000 × 2% + (溯源金额 - 500,000) × 2.5%
- Cell金额提成计算(分段累进):
  - < 50,000元:提成 = 0(无提成)
  - 50,000-400,000元:提成 = (Cell金额 - 50,000) × 1%
  - ≥ 400,000元:提成 = 350,000 × 1% + (Cell金额 - 400,000) × 1.5%
- 提成合计 = 溯源金额提成 + Cell金额提成
- 核算应发工资 = 底薪(4000) + 提成合计
- 最终应发工资 = 核算应发工资
- 实发工资 = 最终应发工资 - 扣款合计 + 补贴合计 + 奖金

门店明细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
  }
]

JSON字段说明:
- storeId:门店ID
- storeName:门店名称
- traceabilityBillingAmount:该门店的溯源类型品项开单金额
- traceabilityRefundAmount:该门店的溯源类型品项退卡金额
- traceabilityAmount:该门店的净溯源金额(开单-退卡)
- cellBillingAmount:该门店的Cell类型品项开单金额
- cellRefundAmount:该门店的Cell类型品项退卡金额
- cellAmount:该门店的净Cell金额(开单-退卡)

索引说明:
- 主键索引:F_Id
- 唯一索引:F_EmployeeId + F_StatisticsMonth(确保同一员工同一月份只有一条记录)
- 普通索引:
  - F_StatisticsMonth:按月份查询
  - F_EmployeeId:按员工查询
  - F_Position:按岗位查询(科技一部/科技二部等)
  - F_CreateTime:按创建时间查询

数据校验要求:
1. 底薪固定为4000元
2. 必须从lq_md_general_manager_lifeline表获取管理的门店
3. 必须按管理的门店筛选,只统计归属范围内的门店
4. 必须正确区分溯源和Cell类型(通过F_BeautyType字段)
5. 必须扣除退卡金额,确保数据准确性
6. 提成必须按照分段累进方式计算
7. 如果溯源金额或Cell金额为0或负数,对应提成为0
*/