-- 毛利报表:提成比例配置表与计费日期查询索引。 -- 每位业务员维护一条固定比例;提成比例以百分数保存,例如 5 表示 5%。 CREATE TABLE IF NOT EXISTS `prc_profit_commission_rate` ( `rate_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '提成比例ID', `belong_saler_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务员编码', `belong_saler` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '业务员名称', `commission_rate` decimal(7,4) NOT NULL COMMENT '提成比例(百分数,例如5表示5%)', `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '状态:0正常 1停用', `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`rate_id`), UNIQUE KEY `uk_profit_commission_saler` (`belong_saler_code`), KEY `idx_profit_commission_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='毛利报表业务员固定提成比例'; SET @index_exists := ( SELECT COUNT(1) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'prc_order_bill' AND INDEX_NAME = 'idx_bill_biz_date_report' ); SET @sql := IF(@index_exists = 0, 'ALTER TABLE `prc_order_bill` ADD INDEX `idx_bill_biz_date_report` (`biz_date`, `bill_id`)', 'SELECT 1' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;