-- ============================================ -- 创建人次记录表(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;