Browse Source

优化大屏的逻辑

dev-v1.0.2
ganhao 3 months ago
parent
commit
c2ccca953d
  1. 369
      script/sql/zfjd-refactoring-v1/其他/大屏/大屏数据库初始化-0613.sql
  2. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java
  3. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendDomain.java
  4. 2
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckHighAreaQueryBo.java
  5. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighQueryBo.java
  6. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendDomainBo.java
  7. 34
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/dashboard/LawEnforcementStatBo.java
  8. 14
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighAreaInfoVo.java
  9. 16
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java
  10. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java
  11. 20
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java
  12. 24
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendDomainVo.java
  13. 34
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/dashboard/LawEnforcementCountVo.java
  14. 39
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/dashboard/LawEnforcementIntensityDetailVo.java
  15. 3
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java
  16. 98
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java
  17. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java
  18. 255
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java
  19. 14
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml
  20. 182
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml
  21. 8
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml
  22. 8
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendDomainMapper.xml

369
script/sql/zfjd-refactoring-v1/其他/大屏/大屏数据库初始化-0613.sql

@ -0,0 +1,369 @@
CREATE TABLE `dashboard_area_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID(自增)',
`code` varchar(64) DEFAULT NULL COMMENT '编码',
`name` varchar(64) DEFAULT NULL COMMENT '名称',
`parent_code` varchar(64) DEFAULT NULL COMMENT '父级编码',
`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序号,数字越小越靠前',
`level` int(11) NOT NULL DEFAULT '0' COMMENT '级别',
`center_coord` varchar(100) DEFAULT NULL COMMENT '中心地段坐标,格式:经度,纬度(如 114.0579,22.5431)',
`fence_wkt` text COMMENT '电子围栏坐标,WKT格式(如 POLYGON((...)))',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认当前时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间,更新时自动刷新',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code` (`code`) COMMENT '区编码唯一',
KEY `idx_sort` (`sort`),
KEY `idx_is_delete` (`is_delete`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏-基础信息-行政区表';
CREATE TABLE `dashboard_check_register_area` (
`id` varchar(50) NOT NULL COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`month` tinyint(4) NOT NULL COMMENT '月份 1-12',
`city_code` varchar(32) NOT NULL COMMENT '地市编码',
`city_name` varchar(50) NOT NULL COMMENT '地市名称',
`area_code` varchar(32) NOT NULL COMMENT '区县编码',
`area_name` varchar(50) NOT NULL COMMENT '区县名称',
`level` tinyint(4) NOT NULL COMMENT '级别:1-市 2-区 3-街道',
`sqjczs` bigint(20) DEFAULT '0' COMMENT '涉企检查总数',
`sqjctb` decimal(10,2) DEFAULT NULL COMMENT '涉企检查同比%',
`sqjchb` decimal(10,2) DEFAULT NULL COMMENT '涉企检查环比%',
`xzjczs` bigint(20) DEFAULT '0' COMMENT '行政检查总数',
`xzjctb` decimal(10,2) DEFAULT NULL COMMENT '行政检查同比%',
`xzjchb` decimal(10,2) DEFAULT NULL COMMENT '行政检查环比%',
`xzcfzs` bigint(20) DEFAULT '0' COMMENT '行政处罚总数',
`xzcftb` decimal(10,2) DEFAULT NULL COMMENT '行政处罚同比%',
`xzcfhb` decimal(10,2) DEFAULT NULL COMMENT '行政处罚环比%',
`xzzqzs` bigint(20) DEFAULT '0' COMMENT '行政强制总数',
`xzzqtb` decimal(10,2) DEFAULT NULL COMMENT '行政强制同比%',
`xzzqhb` decimal(10,2) DEFAULT NULL COMMENT '行政强制环比%',
`qtzfzs` bigint(20) DEFAULT '0' COMMENT '其他执法总数',
`qtzftb` decimal(10,2) DEFAULT NULL COMMENT '其他执法同比%',
`qtzfhb` decimal(10,2) DEFAULT NULL COMMENT '其他执法环比%',
`ddzfzs` bigint(20) DEFAULT '0' COMMENT '单独执法总数',
`lhzfzs` bigint(20) DEFAULT '0' COMMENT '联合执法总数',
`fxzjczs` bigint(20) DEFAULT '0' COMMENT '非行政检查总数',
`high_freq_company_num` bigint(20) NOT NULL DEFAULT '0' COMMENT '高频检查企业数',
`is_high_freq` char(1) NOT NULL DEFAULT '0' COMMENT '是否高频检查:0-否 1-是',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认当前时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间,更新时自动刷新',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_month_city_area` (`year`,`month`,`city_code`,`area_code`),
KEY `idx_is_high_freq` (`is_high_freq`) COMMENT '是否高频检查索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏-检查登记-区域统计表';
CREATE TABLE `dashboard_check_register_domain` (
`id` varchar(50) NOT NULL COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`month` tinyint(4) NOT NULL COMMENT '月份 1-12',
`lyid` varchar(50) DEFAULT NULL COMMENT '领域ID',
`lymc` varchar(64) DEFAULT NULL COMMENT '领域名称',
`zfdwid` varchar(50) DEFAULT NULL COMMENT '执法单位ID',
`zfdwmc` varchar(100) DEFAULT NULL COMMENT '执法单位名称',
`sqjczs` bigint(20) DEFAULT '0' COMMENT '涉企检查总数',
`sqjctb` decimal(10,2) DEFAULT NULL COMMENT '涉企检查同比%',
`sqjchb` decimal(10,2) DEFAULT NULL COMMENT '涉企检查环比%',
`xzjczs` bigint(20) DEFAULT '0' COMMENT '行政检查总数',
`xzjctb` decimal(10,2) DEFAULT NULL COMMENT '行政检查同比%',
`xzjchb` decimal(10,2) DEFAULT NULL COMMENT '行政检查环比%',
`xzcfzs` bigint(20) DEFAULT '0' COMMENT '行政处罚总数',
`xzcftb` decimal(10,2) DEFAULT NULL COMMENT '行政处罚同比%',
`xzcfhb` decimal(10,2) DEFAULT NULL COMMENT '行政处罚环比%',
`xzqzzs` bigint(20) DEFAULT '0' COMMENT '行政强制总数',
`xzqztb` decimal(10,2) DEFAULT NULL COMMENT '行政强制同比%',
`xzqzhb` decimal(10,2) DEFAULT NULL COMMENT '行政强制环比%',
`qtzfzs` bigint(20) DEFAULT '0' COMMENT '其他执法总数',
`qtzftb` decimal(10,2) DEFAULT NULL COMMENT '其他执法同比%',
`qtzfhb` decimal(10,2) DEFAULT NULL COMMENT '其他执法环比%',
`ddzfzs` bigint(20) DEFAULT '0' COMMENT '单独执法总数',
`lhzfzs` bigint(20) DEFAULT '0' COMMENT '联合执法总数',
`fxzjczs` bigint(20) DEFAULT '0' COMMENT '非行政检查总数',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认当前时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间,更新时自动刷新',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
`type` varchar(4) DEFAULT '1' COMMENT '1|领域,2|总体概览',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_month_ly_zfdw` (`year`,`month`,`lyid`,`zfdwid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏-检查登记-领域统计表';
CREATE TABLE `dashboard_company_high_freq_check` (
`id` varchar(50) NOT NULL COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`month` tinyint(4) NOT NULL COMMENT '月份 1-12',
`qyid` varchar(50) DEFAULT NULL COMMENT '企业ID',
`qymc` varchar(255) NOT NULL COMMENT '企业名称',
`lyid` varchar(50) NOT NULL COMMENT '领域ID',
`lymc` varchar(64) NOT NULL COMMENT '领域名称',
`check_count` bigint(20) DEFAULT '0' COMMENT '检查次数',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
`enterprise_number` varchar(100) DEFAULT NULL COMMENT '被执法企业税号',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_month_qyid_lyid` (`year`,`month`,`qyid`,`lyid`) COMMENT '按月+企业+领域唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏-企业高频检查明细表';
CREATE TABLE `dashboard_domain_dept` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`domain_id` varchar(50) NOT NULL COMMENT '领域ID',
`domain_name` varchar(50) NOT NULL COMMENT '领域名称',
`dept_id` varchar(50) NOT NULL COMMENT '部门ID(对应sys_dept主键)',
`dept_name` varchar(100) NOT NULL COMMENT '部门名称',
`sort` int(11) DEFAULT '0' COMMENT '部门名称',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`level` tinyint(4) DEFAULT NULL COMMENT '级别:2-市直,4-区直',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_domain_dept` (`domain_id`,`dept_id`) COMMENT '领域+部门唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏领域-部门对照关系表';
CREATE TABLE `dashboard_enterprise_check` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`stat_year` int(11) NOT NULL COMMENT '统计年份',
`stat_month` int(11) NOT NULL COMMENT '统计月份',
`enterprise_id` varchar(64) NOT NULL COMMENT '企业ID',
`enterprise_name` varchar(200) NOT NULL COMMENT '企业名称',
`enterprise_number` varchar(18) NOT NULL COMMENT '统一社会信用代码',
`law_enforce_count` int(11) DEFAULT '0' COMMENT '涉企执法数',
`law_enforce_yoy` decimal(10,2) DEFAULT '0.00' COMMENT '涉企执法数-同比%',
`law_enforce_mom` decimal(10,2) DEFAULT '0.00' COMMENT '涉企执法数-环比%',
`unqualified_count` int(11) DEFAULT '0' COMMENT '不合格次数',
`unqualified_yoy` decimal(10,2) DEFAULT '0.00' COMMENT '不合格次数-同比%',
`unqualified_mom` decimal(10,2) DEFAULT '0.00' COMMENT '不合格次数-环比%',
`union_enforce_count` int(11) DEFAULT '0' COMMENT '联合执法数',
`union_enforce_yoy` decimal(10,2) DEFAULT '0.00' COMMENT '联合执法数-同比%',
`union_enforce_mom` decimal(10,2) DEFAULT '0.00' COMMENT '联合执法数-环比%',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_month_enterprise` (`stat_year`,`stat_month`,`enterprise_id`),
KEY `idx_enterprise_name` (`enterprise_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏重点企业监测检查表(按月统计)';
CREATE TABLE `dashboard_enterprise_monitor` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`enterprise_id` varchar(64) NOT NULL COMMENT '企业ID',
`enterprise_name` varchar(200) NOT NULL COMMENT '企业名称',
`enterprise_number` varchar(18) NOT NULL COMMENT '统一社会信用代码',
`enterprise_address` varchar(500) DEFAULT '' COMMENT '企业地址',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_enterprise_id` (`enterprise_id`),
UNIQUE KEY `uk_enterprise_number` (`enterprise_number`),
KEY `idx_enterprise_name` (`enterprise_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='大屏重点企业监测表';
CREATE TABLE `dashboard_overview` (
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID',
`city_code` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '市编码',
`city_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '市名称',
`district_code` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '区编码',
`district_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '区名称',
`street_code` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '街道编号',
`street_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '街道名称',
`level` tinyint(4) NOT NULL COMMENT '级别:1-市 2-区 3-街道',
`year` int(11) NOT NULL COMMENT '年份',
`month` int(11) NOT NULL COMMENT '月份',
`qyzs` int(11) DEFAULT '0' COMMENT '企业总数',
`qyzstb` decimal(10,4) DEFAULT '0.0000' COMMENT '企业总数同比',
`qyzshb` decimal(10,4) DEFAULT '0.0000' COMMENT '企业总数环比',
`ddzfs` int(11) DEFAULT '0' COMMENT '单独执法数',
`ddzfstb` decimal(10,4) DEFAULT '0.0000' COMMENT '单独执法数同比',
`ddzfshb` decimal(10,4) DEFAULT '0.0000' COMMENT '单独执法数环比',
`lhzfs` int(11) DEFAULT '0' COMMENT '联合执法数',
`lhzfstb` decimal(10,4) DEFAULT '0.0000' COMMENT '联合执法数同比',
`lhzfshb` decimal(10,4) DEFAULT '0.0000' COMMENT '联合执法数环比',
`bzfqys` int(11) DEFAULT '0' COMMENT '被执法企业数',
`bzfqystb` decimal(10,4) DEFAULT '0.0000' COMMENT '被执法企业数同比',
`bzfqyhb` decimal(10,4) DEFAULT '0.0000' COMMENT '被执法企业数环比',
`rqjys` int(11) DEFAULT '0' COMMENT '入企减压数',
`rqjygl` decimal(10,4) DEFAULT '0.0000' COMMENT '入企减压率',
`jczs` int(11) DEFAULT '0' COMMENT '检查总数',
`xzjc` int(11) DEFAULT '0' COMMENT '行政检查',
`xzcf` int(11) DEFAULT '0' COMMENT '行政处罚',
`xzqz` int(11) DEFAULT '0' COMMENT '行政强制',
`xzqt` int(11) DEFAULT '0' COMMENT '其他行政行为',
`zfrys` int(11) DEFAULT '0' COMMENT '执法人员数',
`zfdws` int(11) DEFAULT '0' COMMENT '执法单位数',
`pjblsc` decimal(10,2) DEFAULT '0.00' COMMENT '平均办理时长',
`asbjzs` int(11) DEFAULT '0' COMMENT '按时办结数',
`jcpcl` decimal(10,2) DEFAULT '0.00' COMMENT '检查频次',
`cfjccs` int(11) DEFAULT '0' COMMENT '重复检查次数',
`cfcxs` int(11) DEFAULT '0' COMMENT '处罚撤销数',
`cfcxl` decimal(10,4) DEFAULT '0.0000' COMMENT '处罚撤销率',
`cfbgs` int(11) DEFAULT '0' COMMENT '处罚变更数',
`cfbgl` decimal(10,4) DEFAULT '0.0000' COMMENT '处罚变更率',
`jhzs` int(11) DEFAULT '0' COMMENT '计划总数',
`yjzs` int(11) DEFAULT '0' COMMENT '预告总数',
`sqzfzs` int(11) DEFAULT '0' COMMENT '涉企执法总数',
`jcpjs` int(11) DEFAULT '0' COMMENT '检查评价总数',
`jctss` int(11) DEFAULT '0' COMMENT '检查投诉总数',
`zqsyzs` int(11) DEFAULT '0' COMMENT '职权使用总数',
`fxxyyj` int(11) DEFAULT '0' COMMENT '风险信用预警',
`gpjcyj` int(11) DEFAULT '0' COMMENT '高频检查预警',
`ycrys` int(11) DEFAULT '0' COMMENT '异常人员数',
`ycxwcs` int(11) DEFAULT '0' COMMENT '异常行为次数',
`create_dept` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`is_delete` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '执法单位ID',
`dept_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '组织单位ID',
`hpjccs` bigint(20) DEFAULT '0' COMMENT '高频检查次数',
`gplevel` tinyint(4) DEFAULT '4' COMMENT '高频检查登记级别:1-高,2-中,3-低',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_cdsym` (`city_code`,`district_code`,`street_code`,`year`,`month`),
KEY `idx_level` (`level`),
KEY `idx_year_month` (`year`,`month`),
KEY `idx_is_delete` (`is_delete`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='大屏总览统计表';
CREATE TABLE `dashboard_situation_trend_area` (
`id` varchar(50) NOT NULL COMMENT '主键ID(UUID)',
`year` int(11) NOT NULL COMMENT '年份(如:2025)',
`quarter` tinyint(4) NOT NULL COMMENT '季度 1-4',
`district_code` varchar(32) DEFAULT NULL COMMENT '区编码',
`district_name` varchar(64) DEFAULT NULL COMMENT '区名称',
`zhpj` varchar(8) DEFAULT NULL COMMENT '综合评级:A-优秀、B-良好、C-一般',
`fxxy` varchar(8) DEFAULT NULL COMMENT '风险信用:A-优秀、B-良好、C-一般',
`gpjc` varchar(8) DEFAULT NULL COMMENT '高频检查:A-优秀、B-良好、C-一般',
`ycxw` varchar(8) DEFAULT NULL COMMENT '异常行为:A-优秀、B-良好、C-一般',
`qsyc` varchar(8) DEFAULT NULL COMMENT '趋势异常:A-优秀、B-良好、C-一般',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_quarter_district` (`year`,`quarter`,`district_code`) COMMENT '年份+季度+区域唯一索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='态势趋势分析-区域统计表';
CREATE TABLE `dashboard_situation_trend_domain` (
`id` varchar(50) NOT NULL COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`quarter` tinyint(4) NOT NULL COMMENT '季度 1-4',
`lyid` varchar(50) NOT NULL COMMENT '领域ID',
`lymc` varchar(64) NOT NULL COMMENT '领域名称',
`zfdwid` varchar(50) DEFAULT NULL COMMENT '执法单位ID',
`zfdwmc` varchar(100) DEFAULT NULL COMMENT '执法单位名称',
`zhpj` varchar(8) DEFAULT NULL COMMENT '综合评级:A|优秀、B|良好、C|一般',
`fxxy` varchar(8) DEFAULT NULL COMMENT '风险信用:A|优秀、B|良好、C|一般',
`gpjc` varchar(8) DEFAULT NULL COMMENT '高频检查:A|优秀、B|良好、C|一般',
`ycxw` varchar(8) DEFAULT NULL COMMENT '异常行为:A|优秀、B|良好、C|一般',
`qsyc` varchar(8) DEFAULT NULL COMMENT '趋势异常:A|优秀、B|良好、C|一般',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_year_q_ly_zfdw` (`year`,`quarter`,`lyid`,`zfdwid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='态势趋势分析-领域统计表';
CREATE TABLE `dashboard_trend_stat` (
`id` bigint(50) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`quarter` tinyint(4) NOT NULL COMMENT '季度:1-一季度 2-二季度 3-三季度 4-四季度',
`district_code` varchar(32) DEFAULT NULL COMMENT '区编码',
`district_name` varchar(64) DEFAULT NULL COMMENT '区名称',
`lyid` varchar(50) NOT NULL COMMENT '领域ID',
`lymc` varchar(64) DEFAULT NULL COMMENT '领域名称',
`zfdwid` varchar(100) DEFAULT NULL COMMENT '执法单位ID',
`zfdwmc` varchar(100) DEFAULT NULL COMMENT '执法单位名称',
`jccs` int(11) DEFAULT '0' COMMENT '检查次数',
`dj_a_plus` int(11) DEFAULT '0' COMMENT '评级A+数量',
`dj_a` int(11) DEFAULT '0' COMMENT '评级A数量',
`dj_b` int(11) DEFAULT '0' COMMENT '评级B数量',
`dj_c` int(11) DEFAULT '0' COMMENT '评级C数量',
`dj_d` int(11) DEFAULT '0' COMMENT '评级D数量',
`dj_e` int(11) DEFAULT '0' COMMENT '评级E数量',
`wgcs` int(11) DEFAULT '0' COMMENT '违规次数',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
PRIMARY KEY (`id`),
KEY `idx_year_quarter` (`year`,`quarter`),
KEY `idx_district_code` (`district_code`),
KEY `idx_lyid` (`lyid`) COMMENT '领域ID索引',
KEY `idx_zfdwid` (`zfdwid`) COMMENT '执法单位ID索引',
KEY `idx_is_delete` (`is_delete`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='趋势行为分析-统计表';
CREATE TABLE `dashboard_trend_stat_area` (
`id` bigint(50) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`year` int(11) NOT NULL COMMENT '年份',
`quarter` tinyint(4) NOT NULL COMMENT '季度:1-一季度 2-二季度 3-三季度 4-四季度',
`district_code` varchar(32) DEFAULT NULL COMMENT '区编码',
`district_name` varchar(64) DEFAULT NULL COMMENT '区名称',
`jccs` int(11) DEFAULT '0' COMMENT '检查次数',
`dj_a_plus` int(11) DEFAULT '0' COMMENT '评级A+数量',
`dj_a` int(11) DEFAULT '0' COMMENT '评级A数量',
`dj_b` int(11) DEFAULT '0' COMMENT '评级B数量',
`dj_c` int(11) DEFAULT '0' COMMENT '评级C数量',
`dj_d` int(11) DEFAULT '0' COMMENT '评级D数量',
`dj_e` int(11) DEFAULT '0' COMMENT '评级E数量',
`wgcs` int(11) DEFAULT '0' COMMENT '违规次数',
`create_dept` varchar(100) DEFAULT NULL COMMENT '创建部门ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人ID',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`is_delete` char(1) DEFAULT '0' COMMENT '逻辑删除:0-否 1-是',
`bureau_dept_id` varchar(100) DEFAULT NULL COMMENT '局级部门ID',
`dept_id` varchar(100) DEFAULT NULL COMMENT '部门ID',
`organ_id` varchar(100) DEFAULT NULL COMMENT '组织单位ID',
PRIMARY KEY (`id`),
KEY `idx_year_quarter` (`year`,`quarter`),
KEY `idx_district_code` (`district_code`),
KEY `idx_is_delete` (`is_delete`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='趋势行为分析-区域-统计表';

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java

@ -72,6 +72,26 @@ public class DashboardSituationTrendArea extends BaseEntity {
*/
private String qsyc;
/**
* 风险信用评级统计次数
*/
private Integer fxxyCount;
/**
* 高频检查评级统计次数
*/
private Integer gpjcCount;
/**
* 异常行为评级统计次数
*/
private Integer ycxwCount;
/**
* 趋势异常评级统计次数
*/
private Integer qsycCount;
/**
* 局级部门ID
*/

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendDomain.java

@ -82,6 +82,26 @@ public class DashboardSituationTrendDomain extends BaseEntity {
*/
private String qsyc;
/**
* 风险信用评级统计次数
*/
private Long fxxyCount;
/**
* 高频检查评级统计次数
*/
private Long gpjcCount;
/**
* 异常行为评级统计次数
*/
private Long ycxwCount;
/**
* 趋势异常评级统计次数
*/
private Long qsycCount;
/**
* 逻辑删除0- 1-
*/

2
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckHighAreaQueryBo.java

@ -27,7 +27,7 @@ public class DashboardCheckHighAreaQueryBo extends BaseEntity {
private Long month;
/**
* 级别1- 2- 3-街道
* 级别1- 2-市直 3-4街道
*/
private Integer level;
}

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighQueryBo.java

@ -34,4 +34,9 @@ public class DashboardCheckRegisterHighQueryBo implements Serializable {
*/
private String lyid;
/**
* 查询类型1-领域2-总体概览
*/
private String type;
}

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendDomainBo.java

@ -88,6 +88,26 @@ public class DashboardSituationTrendDomainBo extends BaseEntity {
*/
private String qsyc;
/**
* 风险信用评级统计次数
*/
private Long fxxyCount;
/**
* 高频检查评级统计次数
*/
private Long gpjcCount;
/**
* 异常行为评级统计次数
*/
private Long ycxwCount;
/**
* 趋势异常评级统计次数
*/
private Long qsycCount;
/**
* 逻辑删除0- 1-
*/

34
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/dashboard/LawEnforcementStatBo.java

@ -0,0 +1,34 @@
package com.zdxt.enforcementcode.domain.bo.dashboard;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 执法统计查询业务对象
*
* @author Lion Li
* @date 2026-06-13
*/
@Data
public class LawEnforcementStatBo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 区域编码
*/
private String areaNode;
/**
* 年份
*/
private Long year;
/**
* 月份
*/
private Long month;
}

14
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighAreaInfoVo.java

@ -39,11 +39,23 @@ public class DashboardCheckHighAreaInfoVo implements Serializable {
/**
* 高频检查次数
*/
private Long hpjccs;
private Long gpjccs;
/**
* 高频检查登记级别级别1-4
*/
private Integer gplevel;
/**
* 中心地段坐标
*/
@ExcelProperty(value = "中心地段坐标")
private String centerCoord;
/**
* 电子围栏坐标
*/
@ExcelProperty(value = "电子围栏坐标")
private String fenceWkt;
}

16
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java

@ -60,13 +60,13 @@ public class DashboardCheckRegisterAreaVo implements Serializable {
private String cityName;
/**
* 区县编码
* 行政区划
*/
@ExcelProperty(value = "区县编码")
private String areaCode;
/**
* 区县名称
* 行政区划
*/
@ExcelProperty(value = "区县名称")
private String areaName;
@ -76,9 +76,9 @@ public class DashboardCheckRegisterAreaVo implements Serializable {
*/
private Integer level;
/**
* 涉企检查总
* 入企检查总数&涉企执法
*/
@ExcelProperty(value = "涉企检查总数")
@ExcelProperty(value = "入企检查总数&涉企执法数")
private Long sqjczs;
/**
@ -204,5 +204,13 @@ public class DashboardCheckRegisterAreaVo implements Serializable {
@ExcelProperty(value = "组织单位ID")
private String organId;
@ExcelProperty(value = "行政执法案件数")
private Long xzzfajcs;
public Long getXzzfajcs() {
if(sqjczs != null && qtzfzs != null){
return sqjczs - qtzfzs;
}
return sqjczs;
}
}

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java

@ -64,6 +64,26 @@ public class DashboardSituationAreaVo implements Serializable {
*/
private String qsyc;
/**
* 风险信用评级统计次数
*/
private Integer fxxyCount;
/**
* 高频检查评级统计次数
*/
private Integer gpjcCount;
/**
* 异常行为评级统计次数
*/
private Integer ycxwCount;
/**
* 趋势异常评级统计次数
*/
private Integer qsycCount;
/**
* 局级部门ID
*/

20
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java

@ -85,6 +85,26 @@ public class DashboardSituationDomainVo implements Serializable {
*/
private String qsyc;
/**
* 风险信用评级统计次数
*/
private Long fxxyCount;
/**
* 高频检查评级统计次数
*/
private Long gpjcCount;
/**
* 异常行为评级统计次数
*/
private Long ycxwCount;
/**
* 趋势异常评级统计次数
*/
private Long qsycCount;
/**
* 逻辑删除0- 1-
*/

24
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendDomainVo.java

@ -98,6 +98,30 @@ public class DashboardSituationTrendDomainVo implements Serializable {
@ExcelProperty(value = "趋势异常:A|优秀、B|良好、C|一般")
private String qsyc;
/**
* 风险信用评级统计次数
*/
@ExcelProperty(value = "风险信用评级统计次数")
private Long fxxyCount;
/**
* 高频检查评级统计次数
*/
@ExcelProperty(value = "高频检查评级统计次数")
private Long gpjcCount;
/**
* 异常行为评级统计次数
*/
@ExcelProperty(value = "异常行为评级统计次数")
private Long ycxwCount;
/**
* 趋势异常评级统计次数
*/
@ExcelProperty(value = "趋势异常评级统计次数")
private Long qsycCount;
/**
* 逻辑删除0- 1-
*/

34
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/dashboard/LawEnforcementCountVo.java

@ -0,0 +1,34 @@
package com.zdxt.enforcementcode.domain.vo.dashboard;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 执法数量统计VO
*
* @author Lion Li
* @date 2026-06-13
*/
@Data
public class LawEnforcementCountVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 总的执法数量
*/
private Long totalCount;
/**
* 单独执法数量
*/
private Long singleCount;
/**
* 联合执法数量
*/
private Long unionCount;
}

39
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/dashboard/LawEnforcementIntensityDetailVo.java

@ -0,0 +1,39 @@
package com.zdxt.enforcementcode.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 执法力度详细统计VO
*
* @author Lion Li
* @date 2026-06-13
*/
@Data
public class LawEnforcementIntensityDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 行政检查数
*/
private Long administrativeInspection;
/**
* 行政处罚数
*/
private Long administrativePenalty;
/**
* 行政强制数
*/
private Long administrativeCoercion;
/**
* 其他
*/
private Long other;
}

3
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java

@ -35,9 +35,10 @@ public interface DashboardCheckRegisterDomainMapper extends BaseMapperPlus<Dashb
* @param year 年份
* @param month 月份
* @param lyid 领域ID可选
* @param type 查询类型1-领域2-总体概览可选
* @return 领域统计列表
*/
List<DashboardCheckRegisterDomainVo> queryHighWarnDomainByMonth(Long year, Long month, String lyid, Page<DashboardCheckRegisterDomainVo> page);
List<DashboardCheckRegisterDomainVo> queryHighWarnDomainByMonth(Long year, Long month, String lyid, String type, Page<DashboardCheckRegisterDomainVo> page);
/**
* 查询高频预警领域统计-按季度汇总

98
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java

@ -5,10 +5,12 @@ import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.GenerateDataBo;
import com.zdxt.enforcementcode.domain.bo.LawEnforcementIntensityQueryBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo;
import com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo;
import com.zdxt.enforcementcode.domain.vo.DashboardCheckHighAreaInfoVo;
import com.zdxt.enforcementcode.domain.vo.DashboardOverviewVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
import com.zdxt.enforcementcode.domain.vo.dashboard.LawEnforcementCountVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
@ -43,4 +45,100 @@ public interface DashboardOverviewMapper extends BaseMapperPlus<DashboardOvervie
*/
java.util.List<DashboardCheckHighAreaInfoVo> queryHighInfoByArea(Long year, Long month, Integer level);
/**
* 统计执法人员数按区域
*
* @param areaNode 区域编码
* @return 执法人员数
*/
Long queryLawEnforcementPersonnel(String areaNode);
/**
* 统计执法单位数按区域
*
* @param areaNode 区域编码
* @return 执法单位数
*/
Long queryLawEnforcementDepartments(String areaNode);
/**
* 统计执法数量按区域
*
* @param areaNode 区域编码
* @return 执法数量统计总数量单独执法数联合执法数
*/
LawEnforcementCountVo queryLawEnforcementCount(String areaNode);
/**
* 统计执法人员数按区域和月份
*
* @param bo 查询条件
* @return 执法人员数
*/
Long queryLawEnforcementPersonnel(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计执法单位数按区域和月份
*
* @param bo 查询条件
* @return 执法单位数
*/
Long queryLawEnforcementDepartments(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计执法数量按区域和月份
*
* @param bo 查询条件
* @return 执法数量统计总数量单独执法数联合执法数
*/
LawEnforcementCountVo queryLawEnforcementCount(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计被执法企业数(按区域和月份)
*
* @param bo 查询条件
* @return 被执法企业数
*/
Long queryEnforcedEnterpriseCount(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计计划总数(按区域和月份)
*
* @param bo 查询条件
* @return 计划总数
*/
Long queryPlanCount(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计预告总数(按区域和月份)
*
* @param bo 查询条件
* @return 预告总数
*/
Long queryNoticeCount(LawEnforcementStatBo bo);
/**
* 统计检查评价总数(按区域和月份)
*
* @param bo 查询条件
* @return 检查评价总数
*/
Long queryEvaluateCount(LawEnforcementStatBo bo);
/**
* 统计检查投诉总数(按区域和月份)
*
* @param bo 查询条件
* @return 检查投诉总数
*/
Long queryComplaintCount(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
/**
* 统计执法力度按区域和月份
*
* @param bo 查询条件
* @return 执法力度统计行政检查数行政处罚数行政强制数其他
*/
com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityDetailVo queryLawEnforcementIntensityDetail(com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo bo);
}

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java

@ -196,6 +196,7 @@ public class DashboardCheckRegisterDomainServiceImpl implements IDashboardCheckR
Long month = bo.getMonth();
Integer queryType = bo.getQueryType();
String lyid = bo.getLyid();
String type = bo.getType();
Page<DashboardCheckRegisterDomainVo> page = pageQuery.build();
List<DashboardCheckRegisterDomainVo> resultList;
@ -208,7 +209,7 @@ public class DashboardCheckRegisterDomainServiceImpl implements IDashboardCheckR
year = (long) lastMonth.getYear();
month = (long) lastMonth.getMonthValue();
}
resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, page);
resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, type, page);
}
// queryType = 2: 汇总查询最近一个季度的所有数据
else if (queryType == 2) {
@ -249,7 +250,7 @@ public class DashboardCheckRegisterDomainServiceImpl implements IDashboardCheckR
year = (long) lastMonth.getYear();
month = (long) lastMonth.getMonthValue();
}
resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, page);
resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, type, page);
}
// 返回结果

255
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java

@ -6,6 +6,8 @@ import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.*;
import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityDetailVo;
import com.zdxt.enforcementcode.domain.vo.dashboard.LawEnforcementCountVo;
import com.zdxt.enforcementcode.service.IDashboardAreaInfoService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -47,7 +49,16 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
/**
* 生成大屏总览数据
*
按照月份区域统计
1统计企业总数单位数执法人员数
2统计总的执法数量单独执法数量联合执法数
3统计被执法企业数
4统计计划总数预告总数检查评价总数检查投诉总数
5统计执法力度行政检查数行政处罚数行政强制数其他
6统计执法频次涉企检查频次重复检查率
7统计执法效率涉企行政处罚案件平均办理时常执法案件按时办结率
8统计执法结果行政处罚撤销率行政处罚变更率
9态势预警风险信用预警高频检查预警异常人员数异常行为数
* @param bo 生成参数
* @return 生成结果信息
*/
@ -73,11 +84,34 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
// 先删除该年月的旧数据
baseMapper.deleteByYearMonth(bo.getYear().longValue(), bo.getMonth().longValue());
// 通过SQL批量生成区级大屏总览数据(level=2)
baseMapper.generateOverviewData(bo);
// 从 dashboard_area_info 查询所有区域信息(is_delete = '0')
com.zdxt.enforcementcode.domain.bo.DashboardAreaInfoBo areaBo = new com.zdxt.enforcementcode.domain.bo.DashboardAreaInfoBo();
areaBo.setLevel(2L);
areaBo.setIsDelete("0");
List<com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo> areaList = dashboardAreaInfoService.queryList(areaBo);
if (areaList != null && !areaList.isEmpty()) {
log.info("[大屏数据生成] 开始生成,年份={},月份={},区域数量={}",
bo.getYear(), bo.getMonth(), areaList.size());
// 遍历每个区域,生成统计数据
for (com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo area : areaList) {
try {
generateAreaOverviewData(area, bo);
} catch (Exception e) {
log.error("[大屏数据生成] 区域={} 生成失败", area.getName(), e);
}
}
log.info("[大屏数据生成] 所有区域数据生成完成");
} else {
log.warn("[大屏数据生成] 未找到任何区域信息");
}
// 汇总生成市级大屏总览数据(level=1)
baseMapper.generateCityOverviewData(bo);
// 汇总生成市级大屏总览数据(level=1),不传区域编码,统计全市数据
log.info("[大屏数据生成] 开始生成市级数据");
generateAreaOverviewData(null, bo);
log.info("[大屏数据生成] 市级数据生成完成");
// 计算并更新同比、环比数据
baseMapper.updateYoyMom(bo);
@ -85,6 +119,215 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
return "大屏总览数据生成成功,年份:" + bo.getYear() + ",月份:" + bo.getMonth();
}
/**
* 生成单个区域的大屏总览数据
*
* @param area 区域信息如果为null则生成市级数据
* @param bo 生成参数包含年月信息
*/
private void generateAreaOverviewData(com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo area, GenerateDataBo bo) {
// ==================== 1. 构建统计查询条件 ====================
com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo statBo =
new com.zdxt.enforcementcode.domain.bo.dashboard.LawEnforcementStatBo();
// 如果area不为null,设置区域编码;如果为null,则不设置(统计全市数据)
if (area != null) {
statBo.setAreaNode(area.getCode());
}
statBo.setYear(bo.getYear().longValue());
statBo.setMonth(bo.getMonth().longValue());
// ==================== 2. 执行各项统计查询 ====================
// 2.1 统计执法人员数
Long personnelCount = baseMapper.queryLawEnforcementPersonnel(statBo);
// 2.2 统计执法单位数
Long deptCount = baseMapper.queryLawEnforcementDepartments(statBo);
// 2.3 统计执法数量(总数、单独执法、联合执法)
LawEnforcementCountVo enforcementCount = baseMapper.queryLawEnforcementCount(statBo);
// 2.4 统计被执法企业数
Long enterpriseCount = baseMapper.queryEnforcedEnterpriseCount(statBo);
// 2.5 统计计划总数
Long planCount = baseMapper.queryPlanCount(statBo);
// 2.6 统计预告总数
Long noticeCount = baseMapper.queryNoticeCount(statBo);
// 2.7 统计检查评价总数
Long evaluateCount = baseMapper.queryEvaluateCount(statBo);
// 2.8 统计检查投诉总数
Long complaintCount = baseMapper.queryComplaintCount(statBo);
// 2.9 统计执法力度(行政检查、行政处罚、行政强制、其他)
LawEnforcementIntensityDetailVo intensityDetail =
baseMapper.queryLawEnforcementIntensityDetail(statBo);
// ==================== 3. 记录统计结果日志 ====================
String areaName = area != null ? area.getName() : "深圳市";
String areaCode = area != null ? area.getCode() : "440300";
Integer level = area != null && area.getLevel() != null ? area.getLevel().intValue() : 1;
log.info("[大屏数据生成] 区域={}({}), level={}, 执法人员={}, 执法单位={}, 执法总数={}, 被执法企业={}",
areaName, areaCode, level,
personnelCount, deptCount,
enforcementCount != null ? enforcementCount.getTotalCount() : 0,
enterpriseCount);
// ==================== 4. 构建 DashboardOverview 对象 ====================
// 4.1 创建大屏总览对象
com.zdxt.enforcementcode.domain.bean.DashboardOverview overview =
new com.zdxt.enforcementcode.domain.bean.DashboardOverview();
// 4.2 生成主键ID(使用UUID去除横杠)
overview.setId(cn.hutool.core.util.IdUtil.fastSimpleUUID());
// 4.3 设置市编码和名称(固定为深圳市)
overview.setCityCode("440300");
overview.setCityName("深圳市");
// 4.4 根据区域级别设置区/街道信息
if (area != null) {
setAreaInfo(overview, area);
} else {
// 市级数据:level=1,区/街道字段留空
overview.setLevel(1L);
overview.setDistrictCode(null);
overview.setDistrictName(null);
overview.setStreetCode(null);
overview.setStreetName(null);
}
// 4.5 设置统计年月
overview.setYear(bo.getYear());
overview.setMonth(bo.getMonth());
// ==================== 5. 设置统计数据 ====================
// 5.1 设置执法人员数和执法单位数
overview.setZfrys(personnelCount != null ? personnelCount : 0L);
overview.setZfdws(deptCount != null ? deptCount : 0L);
// 5.2 设置执法数量统计
if (enforcementCount != null) {
overview.setJczs(enforcementCount.getTotalCount() != null ? enforcementCount.getTotalCount() : 0L);
overview.setDdzfs(enforcementCount.getSingleCount() != null ? enforcementCount.getSingleCount() : 0L);
overview.setLhzfs(enforcementCount.getUnionCount() != null ? enforcementCount.getUnionCount() : 0L);
} else {
overview.setJczs(0L);
overview.setDdzfs(0L);
overview.setLhzfs(0L);
}
// 5.3 设置被执法企业数
overview.setBzfqys(enterpriseCount != null ? enterpriseCount : 0L);
// 5.4 设置计划和预告统计
overview.setJhzs(planCount != null ? planCount : 0L);
overview.setYjzs(noticeCount != null ? noticeCount : 0L);
// 5.5 设置评价和投诉统计
overview.setJcpjs(evaluateCount != null ? evaluateCount : 0L);
overview.setJctss(complaintCount != null ? complaintCount : 0L);
// 5.6 设置执法力度统计
if (intensityDetail != null) {
overview.setXzjc(intensityDetail.getAdministrativeInspection() != null ? intensityDetail.getAdministrativeInspection() : 0L);
overview.setXzcf(intensityDetail.getAdministrativePenalty() != null ? intensityDetail.getAdministrativePenalty() : 0L);
overview.setXzqz(intensityDetail.getAdministrativeCoercion() != null ? intensityDetail.getAdministrativeCoercion() : 0L);
overview.setXzqt(intensityDetail.getOther() != null ? intensityDetail.getOther() : 0L);
} else {
overview.setXzjc(0L);
overview.setXzcf(0L);
overview.setXzqz(0L);
overview.setXzqt(0L);
}
// 5.7 设置其他字段的默认值
setDefaultValues(overview);
// ==================== 6. 插入数据库 ====================
int insertResult = baseMapper.insert(overview);
if (insertResult > 0) {
log.info("[大屏数据生成] 区域={} 数据插入成功,ID={}", areaName, overview.getId());
} else {
log.warn("[大屏数据生成] 区域={} 数据插入失败", areaName);
}
}
/**
* 设置区域信息/街道编码和名称
*
* @param overview 大屏总览对象
* @param area 区域信息
*/
private void setAreaInfo(DashboardOverview overview, com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo area) {
if (area.getLevel() != null && area.getLevel() == 2) {
// 区级数据:level=2,设置区编码和区名称
overview.setLevel(2L);
overview.setDistrictCode(area.getCode());
overview.setDistrictName(area.getName());
// 街道字段留空
overview.setStreetCode(null);
overview.setStreetName(null);
} else if (area.getLevel() != null && area.getLevel() == 3) {
// 街道级数据:level=3,设置街道编码和街道名称
overview.setLevel(3L);
overview.setStreetCode(area.getCode());
overview.setStreetName(area.getName());
// 通过 parentCode 设置区级信息
overview.setDistrictCode(area.getParentCode());
// districtName 需要额外查询,暂时留空
overview.setDistrictName(null);
} else {
// 默认作为区级处理(level=2)
overview.setLevel(2L);
overview.setDistrictCode(area.getCode());
overview.setDistrictName(area.getName());
overview.setStreetCode(null);
overview.setStreetName(null);
}
}
/**
* 设置默认值未统计的字段设置为0
*
* @param overview 大屏总览对象
*/
private void setDefaultValues(DashboardOverview overview) {
overview.setQyzs(0L); // 企业总数(暂未统计)
overview.setQyzstb(0L); // 企业总数同比
overview.setQyzshb(0L); // 企业总数环比
overview.setDdzfstb(0L); // 单独执法数同比
overview.setDdzfshb(0L); // 单独执法数环比
overview.setLhzfstb(0L); // 联合执法数同比
overview.setLhzfshb(0L); // 联合执法数环比
overview.setBzfqystb(0L); // 被执法企业数同比
overview.setBzfqyhb(0L); // 被执法企业数环比
overview.setRqjys(0L); // 入企减压数
overview.setRqjygl(0L); // 入企减压率
overview.setPjblsc(0L); // 平均办理时长
overview.setAsbjzs(0L); // 按时办结数
overview.setJcpcl(0L); // 检查频次
overview.setCfjccs(0L); // 重复检查次数
overview.setCfcxs(0L); // 处罚撤销数
overview.setCfcxl(0L); // 处罚撤销率
overview.setCfbgs(0L); // 处罚变更数
overview.setCfbgl(0L); // 处罚变更率
overview.setSqzfzs(0L); // 涉企执法总数
overview.setZqsyzs(0L); // 职权使用总数
overview.setFxxyyj(0L); // 风险信用预警
overview.setGpjcyj(0L); // 高频检查预警
overview.setYcrys(0L); // 异常人员数
overview.setYcxwcs(0L); // 异常行为次数
}
/**
* 查询大屏总览
*
@ -396,7 +639,7 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
bo.setMonth((long) lastMonth.getMonthValue());
}
if (bo.getLevel() == null) {
bo.setLevel(2);
bo.setLevel(3);
}
List<DashboardCheckHighAreaInfoVo> list = baseMapper.queryHighInfoByArea(

14
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml

@ -88,7 +88,8 @@
xzqzhb,
qtzfzs,
qtzftb,
qtzfhb
qtzfhb,
lhzfzs
FROM dashboard_check_register_domain
WHERE is_delete = '0'
AND year = #{year}
@ -96,6 +97,9 @@
<if test="lyid != null and lyid != ''">
AND lyid = #{lyid}
</if>
<if test="type != null and type != ''">
AND type = #{type}
</if>
</select>
<!-- 查询高频预警领域统计-按季度汇总 -->
@ -117,7 +121,8 @@
SUM(xzqzhb) AS xzqzhb,
SUM(qtzfzs) AS qtzfzs,
SUM(qtzftb) AS qtzftb,
SUM(qtzfhb) AS qtzfhb
SUM(qtzfhb) AS qtzfhb,
SUM(lhzfzs) AS lhzfzs
FROM dashboard_check_register_domain
WHERE is_delete = '0'
AND year = #{year}
@ -127,7 +132,6 @@
AND lyid = #{lyid}
</if>
GROUP BY lyid, lymc
ORDER BY lymc
</select>
<!-- 查询高频预警领域统计-按年汇总 -->
@ -149,7 +153,8 @@
SUM(xzqzhb) AS xzqzhb,
SUM(qtzfzs) AS qtzfzs,
SUM(qtzftb) AS qtzftb,
SUM(qtzfhb) AS qtzfhb
SUM(qtzfhb) AS qtzfhb,
SUM(lhzfzs) AS lhzfzs
FROM dashboard_check_register_domain
WHERE is_delete = '0'
AND (
@ -161,7 +166,6 @@
AND lyid = #{lyid}
</if>
GROUP BY lyid, lymc
ORDER BY lymc
</select>
</mapper>

182
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml

@ -285,7 +285,7 @@
FROM dashboard_overview
WHERE year = #{year}
AND month = #{month}
AND level = 2
AND level = 3
AND is_delete = '0'
</insert>
@ -298,7 +298,7 @@
ON cur.district_code = yoy.district_code
AND yoy.year = #{year} - 1
AND yoy.month = #{month}
AND yoy.level = 2
AND yoy.level = 3
AND yoy.is_delete = '0'
LEFT JOIN dashboard_overview mom
ON cur.district_code = mom.district_code
@ -307,7 +307,7 @@
OR
(#{month} = 1 AND mom.year = #{year} - 1 AND mom.month = 12)
)
AND mom.level = 2
AND mom.level = 3
AND mom.is_delete = '0'
SET
cur.qyzstb = cur.qyzs - COALESCE(yoy.qyzs, 0),
@ -320,22 +320,178 @@
cur.bzfqyhb = cur.bzfqys - COALESCE(mom.bzfqys, 0)
WHERE cur.year = #{year}
AND cur.month = #{month}
AND cur.level = 2
AND cur.level = 3
AND cur.is_delete = '0'
</update>
<!-- 查询高频检查区域统计信息 -->
<select id="queryHighInfoByArea" resultType="com.zdxt.enforcementcode.domain.vo.DashboardCheckHighAreaInfoVo">
SELECT
district_code AS areaCode,
district_name AS areaName,
COALESCE(gpjcyj, 0) AS hpjccs,
gplevel
FROM dashboard_overview
WHERE is_delete = '0'
AND year = #{year}
AND month = #{month}
AND level = #{level}
d.district_code AS areaCode,
d.district_name AS areaName,
COALESCE(d.gpjccs, 0) AS gpjccs,
d.gplevel,
dai.center_coord AS centerCoord,
dai.fence_wkt AS fenceWkt
FROM dashboard_overview d
LEFT JOIN dashboard_area_info dai ON d.district_code = dai.code AND dai.is_delete = '0'
WHERE d.is_delete = '0'
AND d.year = #{year}
AND d.month = #{month}
AND d.level = 3
</select>
<!-- 查询执法人员数(按区域和月份) -->
<select id="queryLawEnforcementPersonnel" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM sys_user a
JOIN sys_dept b ON a.dept_id = b.dept_id
WHERE (a.law_certificate_num IS NOT NULL OR b.dept_name LIKE '%公安局%')
AND a.del_flag = '0'
<if test="areaNode != null and areaNode != ''">
AND b.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND a.create_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 查询执法单位数(按区域和月份) -->
<select id="queryLawEnforcementDepartments" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM sys_dept a
WHERE a.zone IN (3, 4, 15, 16)
<if test="areaNode != null and areaNode != ''">
AND a.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND a.create_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计执法数量(按区域和月份) -->
<select id="queryLawEnforcementCount" resultType="com.zdxt.enforcementcode.domain.vo.dashboard.LawEnforcementCountVo">
SELECT
COUNT(1) AS totalCount,
SUM(CASE WHEN er.is_real_union = 0 OR er.is_real_union IS NULL THEN 1 ELSE 0 END) AS singleCount,
SUM(CASE WHEN er.is_real_union = 1 THEN 1 ELSE 0 END) AS unionCount
FROM enforcement_registration er
INNER JOIN sys_dept sd ON er.bureau_dept_id = sd.dept_id
WHERE er.is_delete = 0
AND er.is_submit = 1
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND er.enforcement_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND er.enforcement_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计被执法企业数(按区域和月份) -->
<select id="queryEnforcedEnterpriseCount" resultType="java.lang.Long">
SELECT
COUNT(DISTINCT er.enterprise_number)
FROM enforcement_registration er
INNER JOIN sys_dept sd ON er.bureau_dept_id = sd.dept_id
WHERE er.is_delete = 0
AND er.is_submit = 1
AND er.enterprise_number IS NOT NULL
AND er.enterprise_number != ''
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND er.enforcement_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND er.enforcement_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计计划总数(按区域和月份) -->
<select id="queryPlanCount" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM efcode_cp_plan p
INNER JOIN sys_dept sd ON p.bureau_dept_id = sd.dept_id
WHERE p.is_delete = 0
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND p.create_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND p.create_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计预告总数(按区域和月份) -->
<select id="queryNoticeCount" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM efcode_cp_notice n
INNER JOIN sys_dept sd ON n.bureau_dept_id = sd.dept_id
WHERE n.is_delete = 0
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND n.enforce_date &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d')
AND n.enforce_date &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d')
</if>
</select>
<!-- 统计检查评价总数(按区域和月份) -->
<select id="queryEvaluateCount" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM enterprise_evaluate e
INNER JOIN enforcement_registration er ON e.enforcement_id = er.id
INNER JOIN sys_dept sd ON er.bureau_dept_id = sd.dept_id
WHERE er.is_delete = 0
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND er.enforcement_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND er.enforcement_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计检查投诉总数(按区域和月份) -->
<select id="queryComplaintCount" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM enterprise_complaint c
INNER JOIN sys_dept sd ON FIND_IN_SET(sd.dept_id, c.complaint_department_ids)
WHERE c.is_delete = 0
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND c.enforcement_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND c.enforcement_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
<!-- 统计执法力度(按区域和月份) -->
<select id="queryLawEnforcementIntensityDetail" resultType="com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityDetailVo">
SELECT
SUM(IF(er.law_enforce_category = 1, 1, 0)) AS administrativeInspection,
SUM(IF(er.law_enforce_category = 2, 1, 0)) AS administrativePenalty,
SUM(IF(er.law_enforce_category = 4, 1, 0)) AS administrativeCoercion,
SUM(IF(er.law_enforce_category NOT IN (1, 2, 4), 1, 0)) AS other
FROM enforcement_registration er
INNER JOIN sys_dept sd ON er.bureau_dept_id = sd.dept_id
WHERE er.is_delete = 0
AND er.is_submit = 1
<if test="areaNode != null and areaNode != ''">
AND sd.area_node = #{areaNode}
</if>
<if test="year != null and month != null">
AND er.enforcement_time &gt;= DATE_FORMAT(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), '%Y-%m-%d %H:%i:%s')
AND er.enforcement_time &lt; DATE_FORMAT(DATE_ADD(CONCAT(#{year}, '-', LPAD(#{month}, 2, '0'), '-01'), INTERVAL 1 MONTH), '%Y-%m-%d %H:%i:%s')
</if>
</select>
</mapper>

8
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml

@ -17,6 +17,10 @@
a.gpjc,
a.ycxw,
a.qsyc,
a.fxxy_count AS fxxyCount,
a.gpjc_count AS gpjcCount,
a.ycxw_count AS ycxwCount,
a.qsyc_count AS qsycCount,
a.bureau_dept_id AS bureauDeptId,
a.dept_id AS deptId,
a.organ_id AS organId
@ -76,6 +80,10 @@
a.gpjc,
a.ycxw,
a.qsyc,
a.fxxy_count AS fxxyCount,
a.gpjc_count AS gpjcCount,
a.ycxw_count AS ycxwCount,
a.qsyc_count AS qsycCount,
a.bureau_dept_id AS bureauDeptId,
a.dept_id AS deptId,
a.organ_id AS organId

8
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendDomainMapper.xml

@ -19,6 +19,10 @@
a.gpjc,
a.ycxw,
a.qsyc,
a.fxxy_count AS fxxyCount,
a.gpjc_count AS gpjcCount,
a.ycxw_count AS ycxwCount,
a.qsyc_count AS qsycCount,
a.bureau_dept_id AS bureauDeptId,
a.dept_id AS deptId,
a.organ_id AS organId
@ -80,6 +84,10 @@
a.gpjc,
a.ycxw,
a.qsyc,
a.fxxy_count AS fxxyCount,
a.gpjc_count AS gpjcCount,
a.ycxw_count AS ycxwCount,
a.qsyc_count AS qsycCount,
a.bureau_dept_id AS bureauDeptId,
a.dept_id AS deptId,
a.organ_id AS organId

Loading…
Cancel
Save