diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java new file mode 100644 index 00000000..5f997533 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java @@ -0,0 +1,50 @@ +package com.zdxt.enforcementcode.controller.web.supervision; + +import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterHighQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainInfoVo; +import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainVo; +import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import com.zdxt.enforcementcode.service.IDashboardCheckRegisterDomainService; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 大屏-高频检查预警 + * + * @author Lion Li + * @date 2026-06-02 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/web/dashboard/checkHighWarn") +public class DashboardCheckRegisterHighController extends BaseController { + + private final IDashboardCheckRegisterDomainService dashboardCheckRegisterDomainService; + + /** + * 大屏-高频检查预警-区域 + * + * @param bo 查询条件(年份、月份、查询类型、领域ID) + * @param pageQuery 分页参数 + * @return 领域统计信息 + */ + @GetMapping("/getCheckHighWarnBtyDomainList") + public TableDataInfo getCheckHighWarnBtyDomainList(DashboardCheckRegisterHighQueryBo bo, PageQuery pageQuery) { + //1、默认查询上个月的数据 + //2、queryType =2 ,默认查询上个季度的数据 + //3、queryType =3 ,默认查询最近一年的数据,不包含当月数据 + return dashboardCheckRegisterDomainService.getCheckHighWarnBtyDomainList(bo, pageQuery); + } + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterArea.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterArea.java index ff3a726b..f463046b 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterArea.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterArea.java @@ -148,6 +148,10 @@ public class DashboardCheckRegisterArea extends BaseEntity { * 联合执法总数 */ private Long lhzfzs; + /** + * 非行政检查总数 + */ + private Long fxzjczs; /** * 逻辑删除:0-否 1-是 diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterDomain.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterDomain.java index a03e559a..ae039bad 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterDomain.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCheckRegisterDomain.java @@ -131,7 +131,20 @@ public class DashboardCheckRegisterDomain extends BaseEntity { * 其他执法环比% */ private Long qtzfhb; + /** + * 单独执法总数 + */ + private Long ddzfzs; + /** + * 非行政检查总数% + */ + private Long fxzjczs; + + /** + * 联合执法总数% + */ + private Long lhzfzs; /** * 逻辑删除:0-否 1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaBo.java index f4c47161..8da7eca3 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterAreaBo.java @@ -151,6 +151,12 @@ public class DashboardCheckRegisterAreaBo extends BaseEntity { */ private Long lhzfzs; + + /** + * 非行政检查总数 + */ + private Long fxzjczs; + /** * 逻辑删除:0-否 1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterDomainBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterDomainBo.java index 8a1475bc..4d1e52c8 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterDomainBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterDomainBo.java @@ -138,6 +138,21 @@ public class DashboardCheckRegisterDomainBo extends BaseEntity { */ private Long qtzfhb; + /** + * 单独执法总数 + */ + private Long ddzfzs; + + /** + * 非行政检查总数% + */ + private Long fxzjczs; + + /** + * 联合执法总数% + */ + private Long lhzfzs; + /** * 逻辑删除:0-否 1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighQueryBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighQueryBo.java new file mode 100644 index 00000000..83b9da23 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighQueryBo.java @@ -0,0 +1,37 @@ +package com.zdxt.enforcementcode.domain.bo; + + +import lombok.Data; + +import java.io.Serializable; + +/** + * 大屏-高频预警检查 + * + * @author Lion Li + * @date 2026-06-02 + */ +@Data +public class DashboardCheckRegisterHighQueryBo implements Serializable { + + /** + * 年份 + */ + private Long year; + + /** + * 月份 1-12 + */ + private Long month; + + /** + * 查询类型 月-1,季度-2,年-3 + */ + private Integer queryType; + + /** + * 领域id + */ + private String lyid; + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java index 7378f506..878581f0 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterAreaVo.java @@ -176,7 +176,10 @@ public class DashboardCheckRegisterAreaVo implements Serializable { */ @ExcelProperty(value = "联合执法总数") private Long lhzfzs; - + /** + * 非行政检查总数 + */ + private Long fxzjczs; /** * 逻辑删除:0-否 1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterDomainVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterDomainVo.java index 46e51f5f..a86c6df3 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterDomainVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckRegisterDomainVo.java @@ -160,6 +160,21 @@ public class DashboardCheckRegisterDomainVo implements Serializable { @ExcelProperty(value = "其他执法环比%") private Long qtzfhb; + /** + * 单独执法总数 + */ + private Long ddzfzs; + + /** + * 非行政检查总数% + */ + private Long fxzjczs; + + /** + * 联合执法总数% + */ + private Long lhzfzs; + /** * 逻辑删除:0-否 1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java index 9dbfab05..542d111b 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCheckRegisterDomainMapper.java @@ -5,14 +5,10 @@ import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterDomain; import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + import java.util.List; -/** - * 大屏-检查登记-领域统计Mapper接口 - * - * @author Lion Li - * @date 2026-06-02 - */ public interface DashboardCheckRegisterDomainMapper extends BaseMapperPlus { /** @@ -33,4 +29,37 @@ public interface DashboardCheckRegisterDomainMapper extends BaseMapperPlus queryRegisterDomainList(Long year, Long month); + /** + * 查询高频预警领域统计-按月 + * + * @param year 年份 + * @param month 月份 + * @param lyid 领域ID(可选) + * @return 领域统计列表 + */ + List queryHighWarnDomainByMonth(Long year, Long month, String lyid, Page page); + + /** + * 查询高频预警领域统计-按季度汇总 + * + * @param year 年份 + * @param startMonth 季度开始月份 + * @param endMonth 季度结束月份 + * @param lyid 领域ID(可选) + * @return 领域统计汇总列表 + */ + List queryHighWarnDomainByQuarter(Long year, Long startMonth, Long endMonth, String lyid, Page page); + + /** + * 查询高频预警领域统计-按年汇总 + * + * @param startYear 开始年份 + * @param startMonth 开始月份 + * @param endYear 结束年份 + * @param endMonth 结束月份 + * @param lyid 领域ID(可选) + * @return 领域统计汇总列表 + */ + List queryHighWarnDomainByYear(Integer startYear, Integer startMonth, Integer endYear, Integer endMonth, String lyid, Page page); + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCheckRegisterDomainService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCheckRegisterDomainService.java index 43f2f64c..38695fc1 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCheckRegisterDomainService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCheckRegisterDomainService.java @@ -1,6 +1,7 @@ package com.zdxt.enforcementcode.service; import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterHighQueryBo; import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainInfoVo; import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainVo; import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainBo; @@ -52,6 +53,15 @@ public interface IDashboardCheckRegisterDomainService { */ R getDomainInfo(DashboardCheckRegisterDomainQueryBo bo); + /** + * 大屏-高频检查预警-领域统计 + * + * @param bo 查询条件(年份、月份、查询类型、领域ID) + * @param pageQuery 分页参数 + * @return 领域统计分页列表 + */ + TableDataInfo getCheckHighWarnBtyDomainList(DashboardCheckRegisterHighQueryBo bo, PageQuery pageQuery); + /** * 新增大屏-检查登记-领域统计 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java index 006a1c82..654ea59e 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCheckRegisterDomainServiceImpl.java @@ -2,6 +2,7 @@ package com.zdxt.enforcementcode.service.impl; import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterDomain; import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterHighQueryBo; import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainInfoVo; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; @@ -20,6 +21,8 @@ import com.zdxt.enforcementcode.domain.vo.DashboardCheckRegisterDomainVo; import com.zdxt.enforcementcode.mapper.DashboardCheckRegisterDomainMapper; import com.zdxt.enforcementcode.service.IDashboardCheckRegisterDomainService; +import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -175,6 +178,80 @@ public class DashboardCheckRegisterDomainServiceImpl implements IDashboardCheckR return R.ok(infoVo); } + /** + * 大屏-高频检查预警-领域统计 + * 1、queryType = 1 or queryType = NULL 默认查询上个月的数据 + * 2、queryType =2 ,默认查询最近一个季度的数据 + * 3、queryType =3 ,默认查询最近一年的数据,不包含当月数据 + * @param bo 查询条件(年份、月份、查询类型、领域ID) + * @return 领域统计分页列表 + */ + @Override + public TableDataInfo getCheckHighWarnBtyDomainList(DashboardCheckRegisterHighQueryBo bo, PageQuery pageQuery) { + Long year = bo.getYear(); + Long month = bo.getMonth(); + Integer queryType = bo.getQueryType(); + String lyid = bo.getLyid(); + + Page page = pageQuery.build(); + List resultList; + + // queryType = 1 (默认): 查询上个月的数据 + if (queryType == null || queryType == 1) { + // 如果未传入年份和月份,默认查询上个月 + if (year == null || month == null) { + LocalDate lastMonth = LocalDate.now().minusMonths(1); + year = (long) lastMonth.getYear(); + month = (long) lastMonth.getMonthValue(); + } + resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, page); + } + // queryType = 2: 汇总查询最近一个季度的所有数据 + else if (queryType == 2) { + LocalDate now = LocalDate.now(); + int currentMonth = now.getMonthValue(); + int quarterStartMonth; + int quarterEndMonth = currentMonth - 1; + + // 计算上个季度的月份范围 + if (quarterEndMonth <= 0) { + quarterEndMonth += 12; + } + + if (quarterEndMonth >= 10) { + quarterStartMonth = 10; + } else if (quarterEndMonth >= 7) { + quarterStartMonth = 7; + } else if (quarterEndMonth >= 4) { + quarterStartMonth = 4; + } else { + quarterStartMonth = 1; + } + + resultList = baseMapper.queryHighWarnDomainByQuarter((long) now.getYear(), (long) quarterStartMonth, (long) quarterEndMonth, lyid, page); + } + // queryType = 3: 汇总查询最近一年的数据(不包含当月) + else if (queryType == 3) { + LocalDate now = LocalDate.now(); + LocalDate startOfLastYear = now.minusMonths(13).withDayOfMonth(1); + + resultList = baseMapper.queryHighWarnDomainByYear(startOfLastYear.getYear(), startOfLastYear.getMonthValue(), + now.getYear(), now.getMonthValue() - 1, lyid, page); + } + else { + // 其他情况按单月查询 + if (year == null || month == null) { + LocalDate lastMonth = LocalDate.now().minusMonths(1); + year = (long) lastMonth.getYear(); + month = (long) lastMonth.getMonthValue(); + } + resultList = baseMapper.queryHighWarnDomainByMonth(year, month, lyid, page); + } + + // 返回结果 + return TableDataInfo.build(resultList); + } + /** * 校验并批量删除大屏-检查登记-领域统计信息 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml index 08c86f39..f8abf7cb 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardCheckRegisterDomainMapper.xml @@ -11,20 +11,20 @@ #{year} AS year, #{month} AS month, SUM(sqjczs) AS sqjczs, - AVG(sqjctb) AS sqjctb, - AVG(sqjchb) AS sqjchb, + SUM(sqjctb) AS sqjctb, + SUM(sqjchb) AS sqjchb, SUM(xzjczs) AS xzjczs, - AVG(xzjctb) AS xzjctb, - AVG(xzjchb) AS xzjchb, + SUM(xzjctb) AS xzjctb, + SUM(xzjchb) AS xzjchb, SUM(xzcfzs) AS xzcfzs, - AVG(xzcftb) AS xzcftb, - AVG(xzcfhb) AS xzcfhb, + SUM(xzcftb) AS xzcftb, + SUM(xzcfhb) AS xzcfhb, SUM(xzzqzs) AS xzzqzs, - AVG(xzzqtb) AS xzzqtb, - AVG(xzzqhb) AS xzzqhb, + SUM(xzzqtb) AS xzzqtb, + SUM(xzzqhb) AS xzzqhb, SUM(qtzfzs) AS qtzfzs, - AVG(qtzftb) AS qtzftb, - AVG(qtzfhb) AS qtzfhb + SUM(qtzftb) AS qtzftb, + SUM(qtzfhb) AS qtzfhb FROM dashboard_check_register_domain WHERE is_delete = '0' AND year = #{year} @@ -66,4 +66,101 @@ ORDER BY lymc + + + + + + + + +