2f4513d501
Co-authored-by: Cursor <cursoragent@cursor.com>
444 lines
20 KiB
SQL
444 lines
20 KiB
SQL
-- 统计指定账号在指定日期内、各业务模块创建的数据量
|
|
--
|
|
-- 使用前只改下面两个日期(含首尾)。单日统计时两个日期填同一天。
|
|
-- 统计口径:
|
|
-- 1. 按 blade_user.account 找到用户 ID,再按各业务主表 create_user、create_time 计数。
|
|
-- 2. 同一账号若存在多个用户 ID(含已删除账号),历史数据会一并计入该账号。
|
|
-- 3. 只统计各功能列表对应的主表。随主单保存的明细、联系人、附件、变更流水不重复计数。
|
|
-- 4. 含已逻辑删除的数据,因为这些记录确实被创建过。
|
|
-- 5. 客商档案菜单挂在「车/船务管理」下,这里按统计口径单独计入「客商管理」。
|
|
-- 6. 未纳入:结算管理、首付款管理、在途管理,以及系统管理下的开票项目。
|
|
-- 7. 导入运单产生的运单计入「业务模块-运单管理」,不另计导入批次。
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
SET @stat_start = '2026-09-29';
|
|
SET @stat_end = '2026-09-29';
|
|
SET @stat_end_exclusive = DATE_ADD(@stat_end, INTERVAL 1 DAY);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_stat_account;
|
|
CREATE TEMPORARY TABLE tmp_stat_account (
|
|
sort_no INT NOT NULL,
|
|
account VARCHAR(45) NOT NULL,
|
|
PRIMARY KEY (account)
|
|
);
|
|
|
|
INSERT INTO tmp_stat_account (sort_no, account) VALUES
|
|
(1, 'zhanghu01'),
|
|
(2, 'zhanghu02'),
|
|
(3, 'zhanghu03'),
|
|
(4, 'zhanghu04'),
|
|
(5, 'zhanghu05'),
|
|
(6, 'zhanghu06'),
|
|
(7, 'zhanghu07'),
|
|
(8, 'zhanghu08'),
|
|
(9, 'zhanghu09'),
|
|
(10, 'zhanghu10'),
|
|
(11, 'zhanghu11'),
|
|
(12, 'zhanghu12'),
|
|
(13, 'zhanghu13'),
|
|
(14, 'zhanghu14'),
|
|
(15, 'zhanghu15'),
|
|
(16, 'zhanghu16');
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_stat_user;
|
|
CREATE TEMPORARY TABLE tmp_stat_user AS
|
|
SELECT u.id, u.account, u.real_name, u.tenant_id, u.is_deleted, a.sort_no
|
|
FROM blade_user u
|
|
INNER JOIN tmp_stat_account a ON a.account = u.account;
|
|
|
|
ALTER TABLE tmp_stat_user ADD PRIMARY KEY (id);
|
|
ALTER TABLE tmp_stat_user ADD INDEX idx_tmp_stat_user_account (account);
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp_stat_detail;
|
|
CREATE TEMPORARY TABLE tmp_stat_detail (
|
|
create_user BIGINT NOT NULL,
|
|
module_sort INT NOT NULL,
|
|
module_name VARCHAR(32) NOT NULL,
|
|
biz_sort INT NOT NULL,
|
|
biz_name VARCHAR(64) NOT NULL,
|
|
table_name VARCHAR(64) NOT NULL,
|
|
cnt BIGINT NOT NULL,
|
|
KEY idx_tmp_stat_detail_user (create_user)
|
|
);
|
|
|
|
-- 每张表单独插入。MySQL 不允许同一条语句多次打开临时表。
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 1, '客商类型', 'blade_customer_type', COUNT(*)
|
|
FROM blade_customer_type t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 2, '费用项', 'blade_fee_item', COUNT(*)
|
|
FROM blade_fee_item t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 3, '币种汇率管理', 'blade_currency', COUNT(*)
|
|
FROM blade_currency t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 4, '计量单位', 'blade_measurement_unit', COUNT(*)
|
|
FROM blade_measurement_unit t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 5, '货物类型', 'blade_cargo_type', COUNT(*)
|
|
FROM blade_cargo_type t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 6, '行政区划', 'blade_region', COUNT(*)
|
|
FROM blade_region t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 7, '港口码头主数据', 'blade_port_terminal', COUNT(*)
|
|
FROM blade_port_terminal t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 8, '空港机场主数据', 'blade_airport_master', COUNT(*)
|
|
FROM blade_airport_master t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 9, '铁路车站主数据', 'blade_railway_station', COUNT(*)
|
|
FROM blade_railway_station t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 1, '基础配置', 10, '保险OCR识别模板', 'blade_insurance_ocr_template', COUNT(*)
|
|
FROM blade_insurance_ocr_template t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 2, '基础数据', 1, '常用地址', 'blade_common_address', COUNT(*)
|
|
FROM blade_common_address t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 3, '客商管理', 1, '客商档案', 'blade_customer_archive', COUNT(*)
|
|
FROM blade_customer_archive t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 4, '项目管理', 1, '项目管理', 'blade_project_apply', COUNT(*)
|
|
FROM blade_project_apply t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 4, '项目管理', 2, '临时额度管理', 'blade_temporary_credit_limit', COUNT(*)
|
|
FROM blade_temporary_credit_limit t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 5, '合同模块', 1, '合同管理', 'blade_contract_manage', COUNT(*)
|
|
FROM blade_contract_manage t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 1, '常用货物', 'blade_common_cargo', COUNT(*)
|
|
FROM blade_common_cargo t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 2, '常用线路', 'blade_common_route', COUNT(*)
|
|
FROM blade_common_route t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 3, '发货模板', 'blade_shipping_template', COUNT(*)
|
|
FROM blade_shipping_template t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 4, '过程配置', 'blade_process_config', COUNT(*)
|
|
FROM blade_process_config t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 5, '总单管理', 'blade_master_order', COUNT(*)
|
|
FROM blade_master_order t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 6, '运输计划', 'blade_transport_plan', COUNT(*)
|
|
FROM blade_transport_plan t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 7, '配载管理', 'blade_loading_manage', COUNT(*)
|
|
FROM blade_loading_manage t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 8, '运单管理', 'blade_waybill', COUNT(*)
|
|
FROM blade_waybill t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 6, '业务模块', 9, '凭证管理', 'blade_voucher_manage', COUNT(*)
|
|
FROM blade_voucher_manage t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 1, '设备台账', 'blade_equipment_ledger', COUNT(*)
|
|
FROM blade_equipment_ledger t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 2, '保险记录', 'blade_insurance_record', COUNT(*)
|
|
FROM blade_insurance_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 3, '年检记录', 'blade_annual_inspection_record', COUNT(*)
|
|
FROM blade_annual_inspection_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 4, '保养记录', 'blade_vehicle_maintenance_plan', COUNT(*)
|
|
FROM blade_vehicle_maintenance_plan t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 5, '维修记录', 'blade_vehicle_maintenance_record', COUNT(*)
|
|
FROM blade_vehicle_maintenance_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 6, '违章记录', 'blade_violation_record', COUNT(*)
|
|
FROM blade_violation_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 7, '事故记录', 'blade_accident_record', COUNT(*)
|
|
FROM blade_accident_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 8, 'ETC记录', 'blade_etc_record', COUNT(*)
|
|
FROM blade_etc_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 9, '油电记录', 'blade_oil_electric_record', COUNT(*)
|
|
FROM blade_oil_electric_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 10, '里程记录', 'blade_mileage_record', COUNT(*)
|
|
FROM blade_mileage_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 11, '换胎记录', 'blade_tire_replacement_record', COUNT(*)
|
|
FROM blade_tire_replacement_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 12, '其他费用记录', 'blade_other_expense_record', COUNT(*)
|
|
FROM blade_other_expense_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 13, '变更记录', 'blade_transport_change_record', COUNT(*)
|
|
FROM blade_transport_change_record t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 7, '车/船务模块', 14, '评分量化表', 'blade_credit_score_quantification', COUNT(*)
|
|
FROM blade_credit_score_quantification t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 8, '运力模块', 1, '车辆管理', 'blade_transport_vehicle', COUNT(*)
|
|
FROM blade_transport_vehicle t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 8, '运力模块', 2, '船舶管理', 'blade_transport_ship', COUNT(*)
|
|
FROM blade_transport_ship t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 8, '运力模块', 3, '司机管理', 'blade_transport_driver', COUNT(*)
|
|
FROM blade_transport_driver t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user
|
|
;
|
|
|
|
INSERT INTO tmp_stat_detail (create_user, module_sort, module_name, biz_sort, biz_name, table_name, cnt)
|
|
SELECT t.create_user, 8, '运力模块', 4, '车辆调度', 'blade_transport_vehicle_dispatch', COUNT(*)
|
|
FROM blade_transport_vehicle_dispatch t
|
|
INNER JOIN tmp_stat_user u ON u.id = t.create_user
|
|
WHERE t.create_time >= @stat_start AND t.create_time < @stat_end_exclusive
|
|
GROUP BY t.create_user;
|
|
|
|
-- 结果 1:账号匹配情况。用户 ID 为空表示库中没有该账号。
|
|
SELECT
|
|
a.sort_no AS `序号`,
|
|
a.account AS `账号`,
|
|
u.id AS `用户ID`,
|
|
u.real_name AS `姓名`,
|
|
u.tenant_id AS `租户`,
|
|
CASE WHEN u.id IS NULL THEN '未找到' WHEN u.is_deleted = 0 THEN '正常' ELSE '已删除' END AS `账号状态`
|
|
FROM tmp_stat_account a
|
|
LEFT JOIN tmp_stat_user u ON u.account = a.account
|
|
ORDER BY a.sort_no, u.id;
|
|
|
|
-- 结果 2:按账号、模块汇总创建数量。
|
|
SELECT
|
|
a.account AS `账号`,
|
|
IFNULL(GROUP_CONCAT(DISTINCT NULLIF(u.real_name, '') ORDER BY u.id SEPARATOR '、'), '') AS `姓名`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '基础配置' THEN d.cnt ELSE 0 END), 0) AS `基础配置`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '基础数据' THEN d.cnt ELSE 0 END), 0) AS `基础数据`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '客商管理' THEN d.cnt ELSE 0 END), 0) AS `客商管理`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '项目管理' THEN d.cnt ELSE 0 END), 0) AS `项目管理`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '合同模块' THEN d.cnt ELSE 0 END), 0) AS `合同模块`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '业务模块' THEN d.cnt ELSE 0 END), 0) AS `业务模块`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '车/船务模块' THEN d.cnt ELSE 0 END), 0) AS `车/船务模块`,
|
|
IFNULL(SUM(CASE WHEN d.module_name = '运力模块' THEN d.cnt ELSE 0 END), 0) AS `运力模块`,
|
|
IFNULL(SUM(d.cnt), 0) AS `合计`
|
|
FROM tmp_stat_account a
|
|
LEFT JOIN tmp_stat_user u ON u.account = a.account
|
|
LEFT JOIN tmp_stat_detail d ON d.create_user = u.id
|
|
GROUP BY a.sort_no, a.account
|
|
ORDER BY a.sort_no;
|
|
|
|
-- 结果 3:按账号、功能展开,只显示创建数量大于 0 的项。
|
|
SELECT
|
|
a.account AS `账号`,
|
|
d.module_name AS `模块`,
|
|
d.biz_name AS `功能`,
|
|
d.table_name AS `数据表`,
|
|
SUM(d.cnt) AS `创建数量`
|
|
FROM tmp_stat_account a
|
|
INNER JOIN tmp_stat_user u ON u.account = a.account
|
|
INNER JOIN tmp_stat_detail d ON d.create_user = u.id
|
|
GROUP BY a.sort_no, a.account, d.module_sort, d.module_name, d.biz_sort, d.biz_name, d.table_name
|
|
ORDER BY a.sort_no, d.module_sort, d.biz_sort;
|