From 8cf15c54a005eb1d641023bea6684a6cb2b8e357 Mon Sep 17 00:00:00 2001 From: ganhao Date: Fri, 29 May 2026 14:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=80=81=E5=8A=BF=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E5=88=86=E6=9E=90-=E5=8C=BA=E5=9F=9F=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nforcementInspectionProgramController.java | 2 +- ...DashboardSituationTrendAreaController.java | 62 ++++++ ...shboardSituationTrendDomainController.java | 8 +- .../bean/DashboardSituationTrendArea.java | 96 +++++++++ ...Bo.java => BashboardSituationQueryBo.java} | 8 +- .../bo/DashboardSituationTrendAreaBo.java | 97 +++++++++ .../domain/vo/DashboardSituationAreaVo.java | 117 ++++++++++ .../domain/vo/DashboardSituationDomainVo.java | 37 +++- .../vo/DashboardSituationTrendAreaVo.java | 116 ++++++++++ .../DashboardSituationTrendAreaMapper.java | 43 ++++ .../DashboardSituationTrendDomainMapper.java | 7 +- .../IDashboardSituationTrendAreaService.java | 96 +++++++++ ...IDashboardSituationTrendDomainService.java | 8 +- ...ashboardSituationTrendAreaServiceImpl.java | 203 ++++++++++++++++++ ...hboardSituationTrendDomainServiceImpl.java | 8 +- .../DashboardSituationTrendAreaMapper.xml | 93 ++++++++ 16 files changed, 979 insertions(+), 22 deletions(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendAreaController.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java rename zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/{ComprehensiveEvaluationStatBo.java => BashboardSituationQueryBo.java} (77%) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendAreaBo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendAreaVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendAreaMapper.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardSituationTrendAreaService.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendAreaServiceImpl.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java index 5521e7d3..2ab112e4 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementInspectionProgramController.java @@ -94,7 +94,7 @@ public class AppEnforcementInspectionProgramController extends BaseController { /** * 新增执法检查计划 */ - @Log(title = "执法检查计划", businessType = BusinessType.INSERT) +// @Log(title = "执法检查计划", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody EnforcementInspectionProgramBo bo) { diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendAreaController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendAreaController.java new file mode 100644 index 00000000..e5568074 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendAreaController.java @@ -0,0 +1,62 @@ +package com.zdxt.enforcementcode.controller.web.supervision; + +import java.util.List; + +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationAreaVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerVo; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.core.domain.R; +import com.zdxt.enforcementcode.service.IDashboardSituationTrendAreaService; + +/** + * 态势趋势分析-区域统计 + * + * @author Lion Li + * @date 2026-05-28 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/enforcementcode/situationTrendArea") +public class DashboardSituationTrendAreaController extends BaseController { + + private final IDashboardSituationTrendAreaService dashboardSituationTrendAreaService; + /** + * 区域-各区风险态势分布 + */ + @GetMapping("/querySituationTrendAreaList") + public R> querySituationTrendAreaList(@Validated DashboardTrendStatQueryBo bo) { + List list = dashboardSituationTrendAreaService.querySituationTrendAreaList(bo); + return R.ok(list); + } + + /** + * 区域-风险态势情况占比 + * + * @param bo 查询参数 + * @return 综合评价统计列表 + */ + @GetMapping("/statByComprehensiveEvaluation") + public R statByComprehensiveEvaluation(@Validated BashboardSituationQueryBo bo) { + DashboardSituationPerVo dashboardSituationPerVo = dashboardSituationTrendAreaService.statByComprehensiveEvaluation(bo); + return R.ok(dashboardSituationPerVo); + } + + + /** + * 区域-风险态势构成 + * + * @param bo 查询参数 + * @return 态势趋势分析-领域统计信息 + */ + @GetMapping("/getSituationTrendAreaInfo") + public R getSituationTrendAreaInfo(@Validated BashboardSituationQueryBo bo) { + DashboardSituationAreaVo vo = dashboardSituationTrendAreaService.getSituationTrendAreaInfo(bo); + return R.ok(vo); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendDomainController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendDomainController.java index b60dda94..2b49fad0 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendDomainController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardSituationTrendDomainController.java @@ -2,10 +2,8 @@ package com.zdxt.enforcementcode.controller.web.supervision; import java.util.List; -import com.zdxt.enforcementcode.domain.bo.ComprehensiveEvaluationStatBo; -import com.zdxt.enforcementcode.domain.bo.DashboardSituationDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; -import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationDomainVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerVo; import lombok.RequiredArgsConstructor; @@ -44,7 +42,7 @@ public class DashboardSituationTrendDomainController extends BaseController { * @return 综合评价统计列表 */ @GetMapping("/statByComprehensiveEvaluation") - public R statByComprehensiveEvaluation(@Validated ComprehensiveEvaluationStatBo bo) { + public R statByComprehensiveEvaluation(@Validated BashboardSituationQueryBo bo) { DashboardSituationPerVo dashboardSituationPerVo = situationTrendDomainService.statByComprehensiveEvaluation(bo); return R.ok(dashboardSituationPerVo); } @@ -57,7 +55,7 @@ public class DashboardSituationTrendDomainController extends BaseController { * @return 态势趋势分析-领域统计信息 */ @GetMapping("/getSituationTrendDomainInfo") - public R getSituationTrendDomainInfo(@Validated ComprehensiveEvaluationStatBo bo) { + public R getSituationTrendDomainInfo(@Validated BashboardSituationQueryBo bo) { DashboardSituationDomainVo vo = situationTrendDomainService.getSituationTrendDomainInfo(bo); return R.ok(vo); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java new file mode 100644 index 00000000..76b40b95 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardSituationTrendArea.java @@ -0,0 +1,96 @@ +package com.zdxt.enforcementcode.domain.bean; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 态势趋势分析-区域统计对象 dashboard_situation_trend_area + * + * @author Lion Li + * @date 2026-05-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dashboard_situation_trend_area") +public class DashboardSituationTrendArea extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID(UUID) + */ + @TableId(value = "id") + private String id; + + /** + * 年份(如:2025) + */ + private Long year; + + /** + * 季度 1-4 + */ + private Long quarter; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 综合评级:A-优秀、B-良好、C-一般 + */ + private String zhpj; + + /** + * 风险信用:A-优秀、B-良好、C-一般 + */ + private String fxxy; + + /** + * 高频检查:A-优秀、B-良好、C-一般 + */ + private String gpjc; + + /** + * 异常行为:A-优秀、B-良好、C-一般 + */ + private String ycxw; + + /** + * 趋势异常:A-优秀、B-良好、C-一般 + */ + private String qsyc; + + /** + * 局级部门ID + */ + private String bureauDeptId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/ComprehensiveEvaluationStatBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/BashboardSituationQueryBo.java similarity index 77% rename from zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/ComprehensiveEvaluationStatBo.java rename to zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/BashboardSituationQueryBo.java index f907c098..c3f7c3f5 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/ComprehensiveEvaluationStatBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/BashboardSituationQueryBo.java @@ -11,7 +11,7 @@ import java.io.Serializable; * @author Vincent */ @Data -public class ComprehensiveEvaluationStatBo implements Serializable { +public class BashboardSituationQueryBo implements Serializable { /** * 年份 @@ -30,4 +30,10 @@ public class ComprehensiveEvaluationStatBo implements Serializable { * 领域ID */ private String lyid; + + + /** + * 区域编码 + */ + private String districtCode; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendAreaBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendAreaBo.java new file mode 100644 index 00000000..76155c11 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardSituationTrendAreaBo.java @@ -0,0 +1,97 @@ +package com.zdxt.enforcementcode.domain.bo; + +import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendArea; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 态势趋势分析-区域统计业务对象 dashboard_situation_trend_area + * + * @author Lion Li + * @date 2026-05-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DashboardSituationTrendArea.class, reverseConvertGenerate = false) +public class DashboardSituationTrendAreaBo extends BaseEntity { + + /** + * 主键ID(UUID) + */ + @NotBlank(message = "主键ID(UUID)不能为空", groups = { EditGroup.class }) + private String id; + + /** + * 年份(如:2025) + */ + @NotNull(message = "年份(如:2025)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long year; + + /** + * 季度 1-4 + */ + @NotNull(message = "季度 1-4不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long quarter; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 综合评级:A-优秀、B-良好、C-一般 + */ + private String zhpj; + + /** + * 风险信用:A-优秀、B-良好、C-一般 + */ + private String fxxy; + + /** + * 高频检查:A-优秀、B-良好、C-一般 + */ + private String gpjc; + + /** + * 异常行为:A-优秀、B-良好、C-一般 + */ + private String ycxw; + + /** + * 趋势异常:A-优秀、B-良好、C-一般 + */ + private String qsyc; + + /** + * 局级部门ID + */ + private String bureauDeptId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java new file mode 100644 index 00000000..584d036a --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationAreaVo.java @@ -0,0 +1,117 @@ +package com.zdxt.enforcementcode.domain.vo; + +import com.zdxt.enforcementcode.common.commonenum.ComprehensiveEvaluationEnum; +import lombok.Data; + +import java.io.Serializable; + +/** + * 态势趋势分析-区域统计VO + * + * @author Lion Li + * @date 2026-05-28 + */ +@Data +public class DashboardSituationAreaVo implements Serializable { + + /** + * 主键ID + */ + private String id; + + /** + * 年份 + */ + private Long year; + + /** + * 季度 1-4 + */ + private Long quarter; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 综合评级:A-优秀、B-良好、C-一般 + */ + private String zhpj; + + /** + * 风险信用:A-优秀、B-良好、C-一般 + */ + private String fxxy; + + /** + * 高频检查:A-优秀、B-良好、C-一般 + */ + private String gpjc; + + /** + * 异常行为:A-优秀、B-良好、C-一般 + */ + private String ycxw; + + /** + * 趋势异常:A-优秀、B-良好、C-一般 + */ + private String qsyc; + + /** + * 局级部门ID + */ + private String bureauDeptId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + /** + * 综合评级描述 + */ + public String getZhpjDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(zhpj); + } + + /** + * 风险信用描述 + */ + public String getFxxyDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(fxxy); + } + + /** + * 高频检查描述 + */ + public String getGpjcDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(gpjc); + } + + /** + * 异常行为描述 + */ + public String getYcxwDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(ycxw); + } + + /** + * 趋势异常描述 + */ + public String getQsycDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(qsyc); + } + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java index 3121e0aa..2d901d90 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationDomainVo.java @@ -1,6 +1,6 @@ package com.zdxt.enforcementcode.domain.vo; - +import com.zdxt.enforcementcode.common.commonenum.ComprehensiveEvaluationEnum; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -105,5 +105,40 @@ public class DashboardSituationDomainVo implements Serializable { */ private String organId; + /** + * 综合评级描述 + */ + public String getZhpjDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(zhpj); + } + + /** + * 风险信用描述 + */ + public String getFxxyDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(fxxy); + } + + /** + * 高频检查描述 + */ + public String getGpjcDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(gpjc); + } + + /** + * 异常行为描述 + */ + public String getYcxwDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(ycxw); + } + + /** + * 趋势异常描述 + */ + public String getQsycDescription() { + return ComprehensiveEvaluationEnum.getDescriptionByCode(qsyc); + } + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendAreaVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendAreaVo.java new file mode 100644 index 00000000..2bfec5ec --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardSituationTrendAreaVo.java @@ -0,0 +1,116 @@ +package com.zdxt.enforcementcode.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendArea; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 态势趋势分析-区域统计视图对象 dashboard_situation_trend_area + * + * @author Lion Li + * @date 2026-05-28 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DashboardSituationTrendArea.class) +public class DashboardSituationTrendAreaVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID(UUID) + */ + @ExcelProperty(value = "主键ID(UUID)") + private String id; + + /** + * 年份(如:2025) + */ + @ExcelProperty(value = "年份(如:2025)") + private Long year; + + /** + * 季度 1-4 + */ + @ExcelProperty(value = "季度 1-4") + private Long quarter; + + /** + * 区编码 + */ + @ExcelProperty(value = "区编码") + private String districtCode; + + /** + * 区名称 + */ + @ExcelProperty(value = "区名称") + private String districtName; + + /** + * 综合评级:A-优秀、B-良好、C-一般 + */ + @ExcelProperty(value = "综合评级:A-优秀、B-良好、C-一般") + private String zhpj; + + /** + * 风险信用:A-优秀、B-良好、C-一般 + */ + @ExcelProperty(value = "风险信用:A-优秀、B-良好、C-一般") + private String fxxy; + + /** + * 高频检查:A-优秀、B-良好、C-一般 + */ + @ExcelProperty(value = "高频检查:A-优秀、B-良好、C-一般") + private String gpjc; + + /** + * 异常行为:A-优秀、B-良好、C-一般 + */ + @ExcelProperty(value = "异常行为:A-优秀、B-良好、C-一般") + private String ycxw; + + /** + * 趋势异常:A-优秀、B-良好、C-一般 + */ + @ExcelProperty(value = "趋势异常:A-优秀、B-良好、C-一般") + private String qsyc; + + /** + * 局级部门ID + */ + @ExcelProperty(value = "局级部门ID") + private String bureauDeptId; + + /** + * 部门ID + */ + @ExcelProperty(value = "部门ID") + private String deptId; + + /** + * 组织单位ID + */ + @ExcelProperty(value = "组织单位ID") + private String organId; + + /** + * 逻辑删除:0-否 1-是 + */ + @ExcelProperty(value = "逻辑删除:0-否 1-是") + private String isDelete; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendAreaMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendAreaMapper.java new file mode 100644 index 00000000..0088dddf --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendAreaMapper.java @@ -0,0 +1,43 @@ +package com.zdxt.enforcementcode.mapper; + +import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendArea; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationAreaVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationTrendAreaVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; +/** + * 态势趋势分析-区域统计Mapper接口 + * + * @author Lion Li + * @date 2026-05-28 + */ +public interface DashboardSituationTrendAreaMapper extends BaseMapperPlus { + + /** + * 查询态势趋势分析-区域统计列表 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计列表 + */ + List querySituationTrendAreaList(DashboardTrendStatQueryBo bo); + + /** + * 根据年份和季度,按综合评价分组统计个数 + * + * @param bo 查询参数 + * @return 综合评价统计列表 + */ + List statByComprehensiveEvaluation(BashboardSituationQueryBo bo); + + /** + * 根据年度、季度、区编码查询态势趋势分析-区域统计信息 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计信息 + */ + DashboardSituationAreaVo getSituationTrendAreaInfo(BashboardSituationQueryBo bo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendDomainMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendDomainMapper.java index 4c7ab9a6..220a48d2 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendDomainMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardSituationTrendDomainMapper.java @@ -2,8 +2,7 @@ package com.zdxt.enforcementcode.mapper; import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendDomain; -import com.zdxt.enforcementcode.domain.bo.ComprehensiveEvaluationStatBo; -import com.zdxt.enforcementcode.domain.bo.DashboardSituationDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationDomainVo; @@ -34,7 +33,7 @@ public interface DashboardSituationTrendDomainMapper extends BaseMapperPlus statByComprehensiveEvaluation(ComprehensiveEvaluationStatBo bo); + List statByComprehensiveEvaluation(BashboardSituationQueryBo bo); /** * 根据年度、季度、领域ID查询态势趋势分析-领域统计信息 @@ -42,5 +41,5 @@ public interface DashboardSituationTrendDomainMapper extends BaseMapperPlus queryPageList(DashboardSituationTrendAreaBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的态势趋势分析-区域统计列表 + * + * @param bo 查询条件 + * @return 态势趋势分析-区域统计列表 + */ + List queryList(DashboardSituationTrendAreaBo bo); + + /** + * 新增态势趋势分析-区域统计 + * + * @param bo 态势趋势分析-区域统计 + * @return 是否新增成功 + */ + Boolean insertByBo(DashboardSituationTrendAreaBo bo); + + /** + * 修改态势趋势分析-区域统计 + * + * @param bo 态势趋势分析-区域统计 + * @return 是否修改成功 + */ + Boolean updateByBo(DashboardSituationTrendAreaBo bo); + + /** + * 校验并批量删除态势趋势分析-区域统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询态势趋势分析-区域统计列表 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计列表 + */ + List querySituationTrendAreaList(DashboardTrendStatQueryBo bo); + + /** + * 根据年份和季度,按综合评价分组统计个数 + * + * @param bo 查询参数 + * @return 综合评价统计列表 + */ + DashboardSituationPerVo statByComprehensiveEvaluation(BashboardSituationQueryBo bo); + + /** + * 根据年度、季度、区编码查询态势趋势分析-区域统计信息 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计信息 + */ + DashboardSituationAreaVo getSituationTrendAreaInfo(BashboardSituationQueryBo bo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardSituationTrendDomainService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardSituationTrendDomainService.java index 4e93318d..e6adad1d 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardSituationTrendDomainService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardSituationTrendDomainService.java @@ -1,9 +1,7 @@ package com.zdxt.enforcementcode.service; -import com.zdxt.enforcementcode.domain.bo.ComprehensiveEvaluationStatBo; -import com.zdxt.enforcementcode.domain.bo.DashboardSituationDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; -import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationDomainVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationTrendDomainVo; @@ -86,7 +84,7 @@ public interface IDashboardSituationTrendDomainService { * @param bo 查询参数 * @return 综合评价统计列表 */ - DashboardSituationPerVo statByComprehensiveEvaluation(ComprehensiveEvaluationStatBo bo); + DashboardSituationPerVo statByComprehensiveEvaluation(BashboardSituationQueryBo bo); /** * 根据年度、季度、领域ID查询态势趋势分析-领域统计信息 @@ -94,5 +92,5 @@ public interface IDashboardSituationTrendDomainService { * @param bo 查询参数 * @return 态势趋势分析-领域统计信息 */ - DashboardSituationDomainVo getSituationTrendDomainInfo(ComprehensiveEvaluationStatBo bo); + DashboardSituationDomainVo getSituationTrendDomainInfo(BashboardSituationQueryBo bo); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendAreaServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendAreaServiceImpl.java new file mode 100644 index 00000000..6bdfe444 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendAreaServiceImpl.java @@ -0,0 +1,203 @@ +package com.zdxt.enforcementcode.service.impl; + +import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendArea; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationAreaVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerVo; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.zdxt.enforcementcode.domain.bo.DashboardSituationTrendAreaBo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationTrendAreaVo; +import com.zdxt.enforcementcode.mapper.DashboardSituationTrendAreaMapper; +import com.zdxt.enforcementcode.service.IDashboardSituationTrendAreaService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 态势趋势分析-区域统计Service业务层处理 + * + * @author Lion Li + * @date 2026-05-28 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class DashboardSituationTrendAreaServiceImpl implements IDashboardSituationTrendAreaService { + + private final DashboardSituationTrendAreaMapper baseMapper; + + /** + * 查询态势趋势分析-区域统计 + * + * @param id 主键 + * @return 态势趋势分析-区域统计 + */ + @Override + public DashboardSituationTrendAreaVo queryById(String id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询态势趋势分析-区域统计列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 态势趋势分析-区域统计分页列表 + */ + @Override + public TableDataInfo queryPageList(DashboardSituationTrendAreaBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的态势趋势分析-区域统计列表 + * + * @param bo 查询条件 + * @return 态势趋势分析-区域统计列表 + */ + @Override + public List queryList(DashboardSituationTrendAreaBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(DashboardSituationTrendAreaBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(DashboardSituationTrendArea::getId); + lqw.eq(bo.getYear() != null, DashboardSituationTrendArea::getYear, bo.getYear()); + lqw.eq(bo.getQuarter() != null, DashboardSituationTrendArea::getQuarter, bo.getQuarter()); + lqw.eq(StringUtils.isNotBlank(bo.getDistrictCode()), DashboardSituationTrendArea::getDistrictCode, bo.getDistrictCode()); + lqw.like(StringUtils.isNotBlank(bo.getDistrictName()), DashboardSituationTrendArea::getDistrictName, bo.getDistrictName()); + lqw.eq(StringUtils.isNotBlank(bo.getZhpj()), DashboardSituationTrendArea::getZhpj, bo.getZhpj()); + lqw.eq(StringUtils.isNotBlank(bo.getFxxy()), DashboardSituationTrendArea::getFxxy, bo.getFxxy()); + lqw.eq(StringUtils.isNotBlank(bo.getGpjc()), DashboardSituationTrendArea::getGpjc, bo.getGpjc()); + lqw.eq(StringUtils.isNotBlank(bo.getYcxw()), DashboardSituationTrendArea::getYcxw, bo.getYcxw()); + lqw.eq(StringUtils.isNotBlank(bo.getQsyc()), DashboardSituationTrendArea::getQsyc, bo.getQsyc()); + lqw.eq(StringUtils.isNotBlank(bo.getBureauDeptId()), DashboardSituationTrendArea::getBureauDeptId, bo.getBureauDeptId()); + lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), DashboardSituationTrendArea::getDeptId, bo.getDeptId()); + lqw.eq(StringUtils.isNotBlank(bo.getOrganId()), DashboardSituationTrendArea::getOrganId, bo.getOrganId()); + lqw.eq(StringUtils.isNotBlank(bo.getIsDelete()), DashboardSituationTrendArea::getIsDelete, bo.getIsDelete()); + return lqw; + } + + /** + * 新增态势趋势分析-区域统计 + * + * @param bo 态势趋势分析-区域统计 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DashboardSituationTrendAreaBo bo) { + DashboardSituationTrendArea add = MapstructUtils.convert(bo, DashboardSituationTrendArea.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改态势趋势分析-区域统计 + * + * @param bo 态势趋势分析-区域统计 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DashboardSituationTrendAreaBo bo) { + DashboardSituationTrendArea update = MapstructUtils.convert(bo, DashboardSituationTrendArea.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DashboardSituationTrendArea entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除态势趋势分析-区域统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + /** + * 查询态势趋势分析-区域统计列表 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计列表 + */ + @Override + public List querySituationTrendAreaList(DashboardTrendStatQueryBo bo) { + return baseMapper.querySituationTrendAreaList(bo); + } + + /** + * 根据年份和季度,按综合评价分组统计个数 + * + * @param bo 查询参数 + * @return 综合评价统计列表 + */ + @Override + public DashboardSituationPerVo statByComprehensiveEvaluation(BashboardSituationQueryBo bo) { + DashboardSituationPerVo dashboardSituationPerVo = new DashboardSituationPerVo(); + List list = baseMapper.statByComprehensiveEvaluation(bo); + + // 计算总数 + int total = list.stream() + .mapToInt(item -> item.getCount() != null ? item.getCount().intValue() : 0) + .sum(); + + // 计算每个级别的比例 + if (total > 0) { + list.forEach(item -> { + long count = item.getCount() != null ? item.getCount() : 0; + double per = (double) count / total * 100; + // 保留两位小数 + item.setPer(Math.round(per * 100.0) / 100.0); + }); + } + + dashboardSituationPerVo.setTotal(total); + dashboardSituationPerVo.setList(list); + + return dashboardSituationPerVo; + } + + /** + * 根据年度、季度、区编码查询态势趋势分析-区域统计信息 + * + * @param bo 查询参数 + * @return 态势趋势分析-区域统计信息 + */ + @Override + public DashboardSituationAreaVo getSituationTrendAreaInfo(BashboardSituationQueryBo bo) { + return baseMapper.getSituationTrendAreaInfo(bo); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendDomainServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendDomainServiceImpl.java index e3d6da9d..d8a51385 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendDomainServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardSituationTrendDomainServiceImpl.java @@ -1,9 +1,7 @@ package com.zdxt.enforcementcode.service.impl; -import cn.hutool.core.collection.CollectionUtil; import com.zdxt.enforcementcode.domain.bean.DashboardSituationTrendDomain; -import com.zdxt.enforcementcode.domain.bo.ComprehensiveEvaluationStatBo; -import com.zdxt.enforcementcode.domain.bo.DashboardSituationDomainQueryBo; +import com.zdxt.enforcementcode.domain.bo.BashboardSituationQueryBo; import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationPerListVo; import com.zdxt.enforcementcode.domain.vo.DashboardSituationDomainVo; @@ -169,7 +167,7 @@ public class DashboardSituationTrendDomainServiceImpl implements IDashboardSitua * @return 综合评价统计列表 */ @Override - public DashboardSituationPerVo statByComprehensiveEvaluation(ComprehensiveEvaluationStatBo bo) { + public DashboardSituationPerVo statByComprehensiveEvaluation(BashboardSituationQueryBo bo) { DashboardSituationPerVo dashboardSituationPerVo = new DashboardSituationPerVo(); List list = baseMapper.statByComprehensiveEvaluation(bo); @@ -201,7 +199,7 @@ public class DashboardSituationTrendDomainServiceImpl implements IDashboardSitua * @return 态势趋势分析-领域统计信息 */ @Override - public DashboardSituationDomainVo getSituationTrendDomainInfo(ComprehensiveEvaluationStatBo bo) { + public DashboardSituationDomainVo getSituationTrendDomainInfo(BashboardSituationQueryBo bo) { return baseMapper.getSituationTrendDomainInfo(bo); } } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml new file mode 100644 index 00000000..ba79b42f --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardSituationTrendAreaMapper.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + +