-- ============================================
-- 创建人次记录表（lq_person_times_record）
-- ============================================
-- 说明：用于记录耗卡/开单时健康师或科技老师的工作人次
-- 支持人头统计（按健康师+月份+客户去重累加）和人次统计（按健康师+日期+客户去重累加）
-- 
-- 业务场景：
-- 1. 耗卡时记录健康师或科技老师的工作人次
-- 2. 未来可能记录开单时的工作人次
-- 
-- 统计规则：
-- - 人头统计：按健康师+月份+客户去重，累加数量
-- - 人次统计：按健康师+日期+客户去重，累加数量
-- ============================================

CREATE TABLE IF NOT EXISTS `lq_person_times_record` (
  `F_Id` VARCHAR(50) NOT NULL COMMENT '主键ID',
  `F_BusinessId` VARCHAR(50) NULL COMMENT '关联业务记录ID',
  `F_BusinessType` VARCHAR(20) NULL COMMENT '业务类型（耗卡/开单）',
  `F_PersonType` VARCHAR(20) NULL COMMENT '人员类型（健康师/科技老师）',
  `F_PersonId` VARCHAR(50) NULL COMMENT '人员ID',
  `F_PersonName` VARCHAR(100) NULL COMMENT '人员姓名',
  `F_MemberId` VARCHAR(50) NULL COMMENT '客户ID',
  `F_MemberName` VARCHAR(100) NULL COMMENT '客户姓名',
  `F_WorkDate` DATE NULL COMMENT '工作日期（用于人次统计，格式：YYYY-MM-DD）',
  `F_WorkMonth` VARCHAR(6) NULL COMMENT '工作月份（用于人头统计，格式：202511）',
  `F_Quantity` DECIMAL(10,2) NULL COMMENT '数量',
  `F_CreateTime` DATETIME NULL COMMENT '创建时间',
  `F_IsEffective` INT NULL DEFAULT 1 COMMENT '是否有效',
  PRIMARY KEY (`F_Id`),
  INDEX `idx_person_month_member` (`F_PersonId`, `F_WorkMonth`, `F_MemberId`) COMMENT '人头统计索引（健康师+月份+客户）',
  INDEX `idx_person_date_member` (`F_PersonId`, `F_WorkDate`, `F_MemberId`) COMMENT '人次统计索引（健康师+日期+客户）',
  INDEX `idx_business` (`F_BusinessId`, `F_BusinessType`) COMMENT '业务查询索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人次记录表';

-- ============================================
-- 验证表结构
-- ============================================
-- SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT, COLUMN_COMMENT 
-- FROM INFORMATION_SCHEMA.COLUMNS 
-- WHERE TABLE_NAME = 'lq_person_times_record'
-- ORDER BY ORDINAL_POSITION;

-- ============================================
-- 验证索引
-- ============================================
-- SHOW INDEX FROM lq_person_times_record;

