From 7e11ce6ded5f5057cf98d63953bdf5ff1385dc78 Mon Sep 17 00:00:00 2001 From: niujiyi <18272501226@163.com> Date: Thu, 24 Sep 2026 14:24:58 +0800 Subject: [PATCH] =?UTF-8?q?cim-=E6=9F=A5=E6=96=B0=E9=87=8D=E7=82=B9?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E9=A2=86=E5=9F=9F=E5=AD=A3=E5=BA=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../其他/njy/2026-1.10.0.sql | 20 ++++++ .../domain/DashboardTrendStatArea.java | 23 +++++++ .../domain/DashboardTrendStatDomain.java | 23 +++++++ .../domain/vo/CimDashboardOverviewVo.java | 22 +++++++ ...mDashboardOverviewDataSumSserviceImpl.java | 61 +++++++++++++++---- .../CimDashboardOverviewMapper.xml | 57 +++++++++++++++-- 6 files changed, 187 insertions(+), 19 deletions(-) diff --git a/script/sql/zfjd-refactoring-v1/其他/njy/2026-1.10.0.sql b/script/sql/zfjd-refactoring-v1/其他/njy/2026-1.10.0.sql index 13bc7ca0..9dbf8833 100644 --- a/script/sql/zfjd-refactoring-v1/其他/njy/2026-1.10.0.sql +++ b/script/sql/zfjd-refactoring-v1/其他/njy/2026-1.10.0.sql @@ -94,3 +94,23 @@ CREATE TABLE `dashboard_overview_personnel` ( KEY `idx_year_month` (`year`,`month`), KEY `idx_is_delete` (`is_delete`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='大屏总览统计-执法人员数表'; + + +ALTER TABLE dashboard_trend_stat_area ADD firstTime varchar(100) NULL COMMENT '一季度时间'; +ALTER TABLE dashboard_trend_stat_area CHANGE firstTime firstTime varchar(100) NULL COMMENT '一季度时间' AFTER firstQuarter; +ALTER TABLE dashboard_trend_stat_area ADD secondTime varchar(100) NULL COMMENT '二季度时间'; +ALTER TABLE dashboard_trend_stat_area CHANGE secondTime secondTime varchar(100) NULL COMMENT '二季度时间' AFTER secondQuarter; +ALTER TABLE dashboard_trend_stat_area ADD thirdTime varchar(100) NULL COMMENT '三季度时间'; +ALTER TABLE dashboard_trend_stat_area CHANGE thirdTime thirdTime varchar(100) NULL COMMENT '三季度时间' AFTER thirdQuarter; +ALTER TABLE dashboard_trend_stat_area ADD fourthTime varchar(100) NULL COMMENT '四季度时间'; +ALTER TABLE dashboard_trend_stat_area CHANGE fourthTime fourthTime varchar(100) NULL COMMENT '四季度时间' AFTER fourthQuarter; + + +ALTER TABLE dashboard_trend_stat_domain ADD firstTime varchar(100) NULL COMMENT '一季度时间'; +ALTER TABLE dashboard_trend_stat_domain CHANGE firstTime firstTime varchar(100) NULL COMMENT '一季度时间' AFTER firstQuarter; +ALTER TABLE dashboard_trend_stat_domain ADD secondTime varchar(100) NULL COMMENT '二季度时间'; +ALTER TABLE dashboard_trend_stat_domain CHANGE secondTime secondTime varchar(100) NULL COMMENT '二季度时间' AFTER secondQuarter; +ALTER TABLE dashboard_trend_stat_domain ADD thirdTime varchar(100) NULL COMMENT '三季度时间'; +ALTER TABLE dashboard_trend_stat_domain CHANGE thirdTime thirdTime varchar(100) NULL COMMENT '三季度时间' AFTER thirdQuarter; +ALTER TABLE dashboard_trend_stat_domain ADD fourthTime varchar(100) NULL COMMENT '四季度时间'; +ALTER TABLE dashboard_trend_stat_domain CHANGE fourthTime fourthTime varchar(100) NULL COMMENT '四季度时间' AFTER fourthQuarter; diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatArea.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatArea.java index e7a0e8de..8dafb1fd 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatArea.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatArea.java @@ -52,21 +52,44 @@ public class DashboardTrendStatArea extends BaseEntity { */ private Long firstquarter; + /** + * 一季度时间 + */ + @TableField(value = "firstTime") + private String firstTime; + /** * 二季度 */ private Long secondquarter; + /** + * 二季度时间 + */ + @TableField(value = "secondTime") + private String secondTime; /** * 三季度 */ private Long thirdquarter; + /** + * 三季度时间 + */ + @TableField(value = "thirdTime") + private String thirdTime; + /** * 四季度 */ private Long fourthquarter; + /** + * 四季度时间 + */ + @TableField(value = "fourthTime") + private String fourthTime; + /** * 检查次数 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatDomain.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatDomain.java index 5469a185..c89f23df 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatDomain.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardTrendStatDomain.java @@ -52,21 +52,44 @@ public class DashboardTrendStatDomain extends BaseEntity { */ private Long firstquarter; + /** + * 一季度时间 + */ + @TableField(value = "firstTime") + private String firstTime; + /** * 二季度 */ private Long secondquarter; + /** + * 二季度时间 + */ + @TableField(value = "secondTime") + private String secondTime; /** * 三季度 */ private Long thirdquarter; + /** + * 三季度时间 + */ + @TableField(value = "thirdTime") + private String thirdTime; + /** * 四季度 */ private Long fourthquarter; + /** + * 四季度时间 + */ + @TableField(value = "fourthTime") + private String fourthTime; + /** * 检查次数 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/CimDashboardOverviewVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/CimDashboardOverviewVo.java index 5a299027..7c6ba9a5 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/CimDashboardOverviewVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/CimDashboardOverviewVo.java @@ -135,21 +135,43 @@ public class CimDashboardOverviewVo { */ private Long firstQuarter; + + + /** + * 一季度时间 + */ + private String firstTime; + /** * 二季度 */ private Long secondQuarter; + /** + * 二季度时间 + */ + private String secondTime; + /** * 三季度 */ private Long thirdQuarter; + /** + * 三季度时间 + */ + private String thirdTime; + /** * 四季度 */ private Long fourthQuarter; + /** + * 四季度时间 + */ + private String fourthTime; + /** * 领域ID */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/CimDashboardOverviewDataSumSserviceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/CimDashboardOverviewDataSumSserviceImpl.java index e5effcba..c7b06f9e 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/CimDashboardOverviewDataSumSserviceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/CimDashboardOverviewDataSumSserviceImpl.java @@ -472,13 +472,17 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve // 获取当前系统时间 CimDashboardOverviewQueryBo bo=getDateTime() ; + // 锁定基准月份:TbHbUtils.calculate 内部会通过 lambda 反复执行 bo.setMonthTime(...), + // 会导致 bo.monthTime 被污染,后续 calculate 的基准月会取到错误月份。 + Date baseMonthTime = bo.getMonthTime(); + // 行政执法数 + 同比 + 环比 TbHbUtils.TbHbResult tbHb = TbHbUtils.calculate( monthTime -> { bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getEnfRegistrationCountByMonth(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzzfs(tbHb.currentCount); vo.setXzzfsTb(tbHb.tb); @@ -490,7 +494,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getCheckCaseCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzjcajs(checkCasetbHb.currentCount); vo.setXzjcajsTb(checkCasetbHb.tb); @@ -503,7 +507,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getPenaltyCaseCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzcfajs(xzcfajsTbHb.currentCount); vo.setXzcfajsTb(xzcfajsTbHb.tb); @@ -515,7 +519,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getCompulsoryCaseCount( bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzqzajs(xzqzajsTbHb.currentCount); vo.setXzqzajsTb(xzqzajsTbHb.tb); @@ -672,13 +676,17 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve // 获取当前系统时间 CimDashboardOverviewQueryBo bo=getDateTime() ; + // 锁定基准月份:TbHbUtils.calculate 内部会通过 lambda 反复执行 bo.setMonthTime(...), + // 会导致 bo.monthTime 被污染,后续 calculate 的基准月会取到错误月份。 + Date baseMonthTime = bo.getMonthTime(); + // 行政执法数 + 同比 + 环比 TbHbUtils.TbHbResult tbHb = TbHbUtils.calculate( monthTime -> { bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getFileEnfRegistrationCountByMonth(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzzfs(tbHb.currentCount); vo.setXzzfsTb(tbHb.tb); @@ -690,7 +698,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getFieldCheckCaseCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzjcajs(checkCasetbHb.currentCount); vo.setXzjcajsTb(checkCasetbHb.tb); @@ -703,7 +711,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getFieldPenaltyCaseCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzcfajs(xzcfajsTbHb.currentCount); vo.setXzcfajsTb(xzcfajsTbHb.tb); @@ -715,7 +723,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getFieldCompulsoryCaseCount( bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzqzajs(xzqzajsTbHb.currentCount); vo.setXzqzajsTb(xzqzajsTbHb.tb); @@ -904,10 +912,28 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve */ @Override public Map getKeyEnterprisesMonthDataSumMaps(CimDashboardOverviewQueryBo bo) { - CimDashboardOverviewVo vo = new CimDashboardOverviewVo(); // 获取当前系统时间 bo.setMonthTime(getDateTime().getMonthTime()); + //查询重点企业 + if(bo.getEnterpriseNumber()== null || bo.getEnterpriseNumber().equals("")){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DashboardEnterpriseCheck::getIsDelete, "0"); + queryWrapper.eq(DashboardEnterpriseCheck::getStatYear, getDateTime().getYear()); + queryWrapper.eq(DashboardEnterpriseCheck::getStatMonth, getDateTime().getMonth()); + queryWrapper.orderByDesc(DashboardEnterpriseCheck::getXzzfzs); + queryWrapper.last("LIMIT 1"); + + DashboardEnterpriseCheck entity = dashboardEnterpriseCheckMapper.selectOne(queryWrapper); + bo.setEnterpriseNumber(entity.getEnterpriseNumber()); + vo.setEnterpriseNumber(entity.getEnterpriseNumber()); + vo.setEnterpriseName(entity.getEnterpriseName()); + vo.setEnterpriseAddress(entity.getEnterpriseAddress()); + } + + // 锁定基准月份:TbHbUtils.calculate 内部会通过 lambda 反复执行 bo.setMonthTime(...), + // 会导致 bo.monthTime 被污染,后续 calculate 的基准月以及趋势/明细查询都会取到错误月份。 + Date baseMonthTime = bo.getMonthTime(); // 行政执法数 + 同比 + 环比 TbHbUtils.TbHbResult tbHb = TbHbUtils.calculate( @@ -915,7 +941,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getFileEnfRegistrationCountByMonth(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setXzzfs(tbHb.currentCount); vo.setXzzfsTb(tbHb.tb); @@ -927,7 +953,7 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getNonEnfRegistrationCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setFxzzfs(fxzzftbHb.currentCount); vo.setFxzzfsTb(fxzzftbHb.tb); @@ -939,12 +965,14 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve bo.setMonthTime(monthTime); return cimDashboardOverviewMapper.getUnionLawCount(bo); }, - bo.getMonthTime() + baseMonthTime ); vo.setLhzfs(lhzfstbHb.currentCount); vo.setLhzfsTb(lhzfstbHb.tb); vo.setLhzfsHb(lhzfstbHb.hb); + // 恢复基准月份,保证趋势/明细查询使用正确的月份(上一个月) + bo.setMonthTime(baseMonthTime); List List= cimDashboardOverviewMapper.getEnfRegistrationTrend(bo); List list1=cimDashboardOverviewMapper.getKeyEnterpriseEnfRegDetails(bo); @@ -976,10 +1004,13 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve entity.setDistrictCode(vo.getCode()); entity.setDistrictName(vo.getName()); entity.setFirstquarter(vo.getFirstQuarter()); + entity.setFirstTime(vo.getFirstTime()); entity.setSecondquarter(vo.getSecondQuarter()); + entity.setSecondTime(vo.getSecondTime()); entity.setThirdquarter(vo.getThirdQuarter()); + entity.setThirdTime(vo.getThirdTime()); entity.setFourthquarter(vo.getFourthQuarter()); - + entity.setFourthTime(vo.getFourthTime()); entity.setIsDelete("0"); areaList.add(entity); } @@ -1106,9 +1137,13 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve entity.setDomainId(vo.getCode()); entity.setDomainName(vo.getName()); entity.setFirstquarter(vo.getFirstQuarter()); + entity.setFirstTime(vo.getFirstTime()); entity.setSecondquarter(vo.getSecondQuarter()); + entity.setSecondTime(vo.getSecondTime()); entity.setThirdquarter(vo.getThirdQuarter()); + entity.setThirdTime(vo.getThirdTime()); entity.setFourthquarter(vo.getFourthQuarter()); + entity.setFourthTime(vo.getFourthTime()); entity.setIsDelete("0"); domainList.add(entity); diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/CimDashboardOverviewMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/CimDashboardOverviewMapper.xml index f862fa26..5ad5f7ff 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/CimDashboardOverviewMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/CimDashboardOverviewMapper.xml @@ -346,7 +346,7 @@ @@ -1565,7 +1609,7 @@ AND t1.enterprise_number IS NOT NULL AND t1.enterprise_name IS NOT NULL - AND DATE_FORMAT(t1.enforcement_time , '%Y-%m') = DATE_FORMAT(#{monthTime}, '%Y-%m') + AND DATE_FORMAT(t1.enforcement_time , '%Y') = DATE_FORMAT(#{monthTime}, '%Y') AND t1.enterprise_number = #{enterpriseNumber} @@ -1584,7 +1628,7 @@ t1.has_delete = 0 - AND DATE_FORMAT(t1.enforcement_time , '%Y-%m') = DATE_FORMAT(#{monthTime}, '%Y-%m') + AND DATE_FORMAT(t1.enforcement_time , '%Y') = DATE_FORMAT(#{monthTime}, '%Y') AND t1.enterprise_number = #{enterpriseNumber} @@ -1592,5 +1636,6 @@ ) temp GROUP BY enterprise_number, enterprise_name, stat_month + order by stat_month