From f47ba9eea0e516c6c790e907788c67ff66f1e8ec Mon Sep 17 00:00:00 2001 From: ganhao Date: Thu, 11 Jun 2026 11:05:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=A7=E5=B1=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DashboardAreaInfoController.java | 13 +- .../DashboardTrendStatAreaController.java | 105 +++++++++++++ .../DashboardTrendStatController.java | 2 + .../domain/bean/DashboardAreaInfo.java | 8 + .../domain/bean/DashboardTrendStatArea.java | 111 +++++++++++++ .../domain/bo/DashboardAreaInfoBo.java | 9 ++ .../domain/bo/DashboardTrendStatAreaBo.java | 113 ++++++++++++++ .../domain/vo/DashboardAreaInfoVo.java | 10 ++ .../domain/vo/DashboardTrendStatAreaVo.java | 134 ++++++++++++++++ .../mapper/DashboardTrendStatAreaMapper.java | 28 ++++ .../IDashboardTrendStatAreaService.java | 68 ++++++++ .../DashboardTrendStatAreaServiceImpl.java | 147 ++++++++++++++++++ .../impl/DashboardTrendStatServiceImpl.java | 6 +- .../DashboardOverviewMapper.xml | 4 +- .../DashboardTrendStatAreaMapper.xml | 54 +++++++ 15 files changed, 808 insertions(+), 4 deletions(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatAreaController.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardTrendStatArea.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardTrendStatAreaBo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardTrendStatAreaVo.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardTrendStatAreaMapper.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardTrendStatAreaService.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatAreaServiceImpl.java create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatAreaMapper.xml diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardAreaInfoController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardAreaInfoController.java index 85c6e935..0be74ce8 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardAreaInfoController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardAreaInfoController.java @@ -1,9 +1,13 @@ package com.zdxt.enforcementcode.controller.web.supervision; import cn.hutool.core.lang.tree.Tree; +import com.zdxt.enforcementcode.domain.bo.DashboardAreaInfoBo; +import com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo; import com.zdxt.enforcementcode.service.IDashboardAreaInfoService; 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; @@ -28,7 +32,14 @@ public class DashboardAreaInfoController extends BaseController { /** * 查询大屏-基础信息-行政区列表 - * 树状结构 + */ + @GetMapping("/list") + public TableDataInfo list(DashboardAreaInfoBo bo, PageQuery pageQuery) { + return dashboardAreaInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出大屏-基础信息-行政区列表 */ @GetMapping("/getAreaInfo") public R>> getAreaInfo() { diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatAreaController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatAreaController.java new file mode 100644 index 00000000..a9d6979f --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatAreaController.java @@ -0,0 +1,105 @@ +package com.zdxt.enforcementcode.controller.web.supervision; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import com.zdxt.enforcementcode.domain.vo.DashboardTrendStatAreaVo; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatAreaBo; +import com.zdxt.enforcementcode.service.IDashboardTrendStatAreaService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 趋势行为分析-区域-统计 + * + * @author Lion Li + * @date 2026-06-11 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/enforcementcode/trendStatArea") +public class DashboardTrendStatAreaController extends BaseController { + + private final IDashboardTrendStatAreaService dashboardTrendStatAreaService; + + /** + * 查询趋势行为分析-区域-统计列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DashboardTrendStatAreaBo bo, PageQuery pageQuery) { + return dashboardTrendStatAreaService.queryPageList(bo, pageQuery); + } + + /** + * 导出趋势行为分析-区域-统计列表 + */ + + @Log(title = "趋势行为分析-区域-统计", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DashboardTrendStatAreaBo bo, HttpServletResponse response) { + List list = dashboardTrendStatAreaService.queryList(bo); + ExcelUtil.exportExcel(list, "趋势行为分析-区域-统计", DashboardTrendStatAreaVo.class, response); + } + + /** + * 获取趋势行为分析-区域-统计详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("enforcementcode:trendStatArea:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(dashboardTrendStatAreaService.queryById(id)); + } + + /** + * 新增趋势行为分析-区域-统计 + */ + @SaCheckPermission("enforcementcode:trendStatArea:add") + @Log(title = "趋势行为分析-区域-统计", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DashboardTrendStatAreaBo bo) { + return toAjax(dashboardTrendStatAreaService.insertByBo(bo)); + } + + /** + * 修改趋势行为分析-区域-统计 + */ + @SaCheckPermission("enforcementcode:trendStatArea:edit") + @Log(title = "趋势行为分析-区域-统计", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DashboardTrendStatAreaBo bo) { + return toAjax(dashboardTrendStatAreaService.updateByBo(bo)); + } + + /** + * 删除趋势行为分析-区域-统计 + * + * @param ids 主键串 + */ + @SaCheckPermission("enforcementcode:trendStatArea:remove") + @Log(title = "趋势行为分析-区域-统计", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(dashboardTrendStatAreaService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatController.java index b7af5ee2..b87c8edb 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardTrendStatController.java @@ -6,6 +6,7 @@ import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; import com.zdxt.enforcementcode.domain.vo.AreaQuarterStatVo; import com.zdxt.enforcementcode.domain.vo.DashboardTrendStatVo; import com.zdxt.enforcementcode.domain.vo.DomainQuarterStatVo; +import com.zdxt.enforcementcode.service.IDashboardTrendStatAreaService; import com.zdxt.enforcementcode.service.IDashboardTrendStatService; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; @@ -33,6 +34,7 @@ public class DashboardTrendStatController extends BaseController { private final IDashboardTrendStatService dashboardTrendStatService; + private final IDashboardTrendStatAreaService dashboardTrendStatAreaService; /** * 区域+季节(信用)检查次数 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java index 31c3e3a7..10ba421a 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java @@ -57,5 +57,13 @@ public class DashboardAreaInfo extends BaseEntity { */ private String isDelete; + /** + * 中心地段坐标 + */ + private String centerCoord; + /** + * 电子围栏坐标 + */ + private String fenceWkt; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardTrendStatArea.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardTrendStatArea.java new file mode 100644 index 00000000..6a8ea444 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardTrendStatArea.java @@ -0,0 +1,111 @@ +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_trend_stat_area + * + * @author Lion Li + * @date 2026-06-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dashboard_trend_stat_area") +public class DashboardTrendStatArea extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 年份 + */ + private Long year; + + /** + * 季度:1-一季度 2-二季度 3-三季度 4-四季度 + */ + private Long quarter; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 检查次数 + */ + private Long jccs; + + /** + * 评级A+数量 + */ + private Long djAPlus; + + /** + * 评级A数量 + */ + private Long djA; + + /** + * 评级B数量 + */ + private Long djB; + + /** + * 评级C数量 + */ + private Long djC; + + /** + * 评级D数量 + */ + private Long djD; + + /** + * 评级E数量 + */ + private Long djE; + + /** + * 违规次数 + */ + private Long wgcs; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + /** + * 局级部门ID + */ + private String bureauDeptId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardAreaInfoBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardAreaInfoBo.java index 3a7f2659..c49c617b 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardAreaInfoBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardAreaInfoBo.java @@ -58,5 +58,14 @@ public class DashboardAreaInfoBo extends BaseEntity { */ private String isDelete; + /** + * 中心地段坐标 + */ + private String centerCoord; + + /** + * 电子围栏坐标 + */ + private String fenceWkt; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardTrendStatAreaBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardTrendStatAreaBo.java new file mode 100644 index 00000000..630744c5 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardTrendStatAreaBo.java @@ -0,0 +1,113 @@ +package com.zdxt.enforcementcode.domain.bo; + + +import com.zdxt.enforcementcode.domain.bean.DashboardTrendStatArea; +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_trend_stat_area + * + * @author Lion Li + * @date 2026-06-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DashboardTrendStatArea.class, reverseConvertGenerate = false) +public class DashboardTrendStatAreaBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 年份 + */ + @NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long year; + + /** + * 季度:1-一季度 2-二季度 3-三季度 4-四季度 + */ + @NotNull(message = "季度:1-一季度 2-二季度 3-三季度 4-四季度不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long quarter; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 检查次数 + */ + private Long jccs; + + /** + * 评级A+数量 + */ + private Long djAPlus; + + /** + * 评级A数量 + */ + private Long djA; + + /** + * 评级B数量 + */ + private Long djB; + + /** + * 评级C数量 + */ + private Long djC; + + /** + * 评级D数量 + */ + private Long djD; + + /** + * 评级E数量 + */ + private Long djE; + + /** + * 违规次数 + */ + private Long wgcs; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + /** + * 局级部门ID + */ + private String bureauDeptId; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java index 10bbefe2..2fd111d7 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java @@ -70,4 +70,14 @@ public class DashboardAreaInfoVo implements Serializable { private String isDelete; + /** + * 中心地段坐标 + */ + private String centerCoord; + + /** + * 电子围栏坐标 + */ + private String fenceWkt; + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardTrendStatAreaVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardTrendStatAreaVo.java new file mode 100644 index 00000000..df4ee7ec --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardTrendStatAreaVo.java @@ -0,0 +1,134 @@ +package com.zdxt.enforcementcode.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import com.zdxt.enforcementcode.domain.bean.DashboardTrendStatArea; +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_trend_stat_area + * + * @author Lion Li + * @date 2026-06-11 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DashboardTrendStatArea.class) +public class DashboardTrendStatAreaVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 年份 + */ + @ExcelProperty(value = "年份") + private Long year; + + /** + * 季度:1-一季度 2-二季度 3-三季度 4-四季度 + */ + @ExcelProperty(value = "季度:1-一季度 2-二季度 3-三季度 4-四季度") + private Long quarter; + + /** + * 区编码 + */ + @ExcelProperty(value = "区编码") + private String districtCode; + + /** + * 区名称 + */ + @ExcelProperty(value = "区名称") + private String districtName; + + /** + * 检查次数 + */ + @ExcelProperty(value = "检查次数") + private Long jccs; + + /** + * 评级A+数量 + */ + @ExcelProperty(value = "评级A+数量") + private Long djAPlus; + + /** + * 评级A数量 + */ + @ExcelProperty(value = "评级A数量") + private Long djA; + + /** + * 评级B数量 + */ + @ExcelProperty(value = "评级B数量") + private Long djB; + + /** + * 评级C数量 + */ + @ExcelProperty(value = "评级C数量") + private Long djC; + + /** + * 评级D数量 + */ + @ExcelProperty(value = "评级D数量") + private Long djD; + + /** + * 评级E数量 + */ + @ExcelProperty(value = "评级E数量") + private Long djE; + + /** + * 违规次数 + */ + @ExcelProperty(value = "违规次数") + private Long wgcs; + + /** + * 逻辑删除:0-否 1-是 + */ + @ExcelProperty(value = "逻辑删除:0-否 1-是") + private String isDelete; + + /** + * 局级部门ID + */ + @ExcelProperty(value = "局级部门ID") + private String bureauDeptId; + + /** + * 部门ID + */ + @ExcelProperty(value = "部门ID") + private String deptId; + + /** + * 组织单位ID + */ + @ExcelProperty(value = "组织单位ID") + private String organId; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardTrendStatAreaMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardTrendStatAreaMapper.java new file mode 100644 index 00000000..3020b978 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardTrendStatAreaMapper.java @@ -0,0 +1,28 @@ +package com.zdxt.enforcementcode.mapper; + + +import com.zdxt.enforcementcode.domain.bean.DashboardTrendStatArea; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; +import com.zdxt.enforcementcode.domain.vo.AreaQuarterStatVo; +import com.zdxt.enforcementcode.domain.vo.DashboardTrendStatAreaVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 趋势行为分析-区域-统计Mapper接口 + * + * @author Lion Li + * @date 2026-06-11 + */ +public interface DashboardTrendStatAreaMapper extends BaseMapperPlus { + + + /** + * 区域+季节(信用)检查次数 + * + * @param queryBo 查询参数 + * @return 区域季度统计列表 + */ + List areaQuarterCheck(DashboardTrendStatQueryBo queryBo); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardTrendStatAreaService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardTrendStatAreaService.java new file mode 100644 index 00000000..51f15f24 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardTrendStatAreaService.java @@ -0,0 +1,68 @@ +package com.zdxt.enforcementcode.service; + +import com.zdxt.enforcementcode.domain.vo.DashboardTrendStatAreaVo; +import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatAreaBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 趋势行为分析-区域-统计Service接口 + * + * @author Lion Li + * @date 2026-06-11 + */ +public interface IDashboardTrendStatAreaService { + + /** + * 查询趋势行为分析-区域-统计 + * + * @param id 主键 + * @return 趋势行为分析-区域-统计 + */ + DashboardTrendStatAreaVo queryById(Long id); + + /** + * 分页查询趋势行为分析-区域-统计列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 趋势行为分析-区域-统计分页列表 + */ + TableDataInfo queryPageList(DashboardTrendStatAreaBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的趋势行为分析-区域-统计列表 + * + * @param bo 查询条件 + * @return 趋势行为分析-区域-统计列表 + */ + List queryList(DashboardTrendStatAreaBo bo); + + /** + * 新增趋势行为分析-区域-统计 + * + * @param bo 趋势行为分析-区域-统计 + * @return 是否新增成功 + */ + Boolean insertByBo(DashboardTrendStatAreaBo bo); + + /** + * 修改趋势行为分析-区域-统计 + * + * @param bo 趋势行为分析-区域-统计 + * @return 是否修改成功 + */ + Boolean updateByBo(DashboardTrendStatAreaBo bo); + + /** + * 校验并批量删除趋势行为分析-区域-统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatAreaServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatAreaServiceImpl.java new file mode 100644 index 00000000..cf7bec86 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatAreaServiceImpl.java @@ -0,0 +1,147 @@ +package com.zdxt.enforcementcode.service.impl; + +import com.zdxt.enforcementcode.domain.bean.DashboardTrendStatArea; +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.DashboardTrendStatAreaBo; +import com.zdxt.enforcementcode.domain.vo.DashboardTrendStatAreaVo; +import com.zdxt.enforcementcode.mapper.DashboardTrendStatAreaMapper; +import com.zdxt.enforcementcode.service.IDashboardTrendStatAreaService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 趋势行为分析-区域-统计Service业务层处理 + * + * @author Lion Li + * @date 2026-06-11 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class DashboardTrendStatAreaServiceImpl implements IDashboardTrendStatAreaService { + + private final DashboardTrendStatAreaMapper baseMapper; + + /** + * 查询趋势行为分析-区域-统计 + * + * @param id 主键 + * @return 趋势行为分析-区域-统计 + */ + @Override + public DashboardTrendStatAreaVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询趋势行为分析-区域-统计列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 趋势行为分析-区域-统计分页列表 + */ + @Override + public TableDataInfo queryPageList(DashboardTrendStatAreaBo 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(DashboardTrendStatAreaBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(DashboardTrendStatAreaBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(DashboardTrendStatArea::getId); + lqw.eq(bo.getYear() != null, DashboardTrendStatArea::getYear, bo.getYear()); + lqw.eq(bo.getQuarter() != null, DashboardTrendStatArea::getQuarter, bo.getQuarter()); + lqw.eq(StringUtils.isNotBlank(bo.getDistrictCode()), DashboardTrendStatArea::getDistrictCode, bo.getDistrictCode()); + lqw.like(StringUtils.isNotBlank(bo.getDistrictName()), DashboardTrendStatArea::getDistrictName, bo.getDistrictName()); + lqw.eq(bo.getJccs() != null, DashboardTrendStatArea::getJccs, bo.getJccs()); + lqw.eq(bo.getDjAPlus() != null, DashboardTrendStatArea::getDjAPlus, bo.getDjAPlus()); + lqw.eq(bo.getDjA() != null, DashboardTrendStatArea::getDjA, bo.getDjA()); + lqw.eq(bo.getDjB() != null, DashboardTrendStatArea::getDjB, bo.getDjB()); + lqw.eq(bo.getDjC() != null, DashboardTrendStatArea::getDjC, bo.getDjC()); + lqw.eq(bo.getDjD() != null, DashboardTrendStatArea::getDjD, bo.getDjD()); + lqw.eq(bo.getDjE() != null, DashboardTrendStatArea::getDjE, bo.getDjE()); + lqw.eq(bo.getWgcs() != null, DashboardTrendStatArea::getWgcs, bo.getWgcs()); + lqw.eq(StringUtils.isNotBlank(bo.getIsDelete()), DashboardTrendStatArea::getIsDelete, bo.getIsDelete()); + lqw.eq(StringUtils.isNotBlank(bo.getBureauDeptId()), DashboardTrendStatArea::getBureauDeptId, bo.getBureauDeptId()); + lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), DashboardTrendStatArea::getDeptId, bo.getDeptId()); + lqw.eq(StringUtils.isNotBlank(bo.getOrganId()), DashboardTrendStatArea::getOrganId, bo.getOrganId()); + return lqw; + } + + /** + * 新增趋势行为分析-区域-统计 + * + * @param bo 趋势行为分析-区域-统计 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DashboardTrendStatAreaBo bo) { + DashboardTrendStatArea add = MapstructUtils.convert(bo, DashboardTrendStatArea.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改趋势行为分析-区域-统计 + * + * @param bo 趋势行为分析-区域-统计 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DashboardTrendStatAreaBo bo) { + DashboardTrendStatArea update = MapstructUtils.convert(bo, DashboardTrendStatArea.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DashboardTrendStatArea entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除趋势行为分析-区域-统计信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatServiceImpl.java index 738bb61e..735902f2 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardTrendStatServiceImpl.java @@ -5,6 +5,7 @@ import com.zdxt.enforcementcode.domain.bean.DashboardTrendStat; import com.zdxt.enforcementcode.domain.bo.DashboardTrendStatQueryBo; import com.zdxt.enforcementcode.domain.vo.AreaQuarterStatVo; import com.zdxt.enforcementcode.domain.vo.DomainQuarterStatVo; +import com.zdxt.enforcementcode.mapper.DashboardTrendStatAreaMapper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -35,6 +36,9 @@ public class DashboardTrendStatServiceImpl implements IDashboardTrendStatService private final DashboardTrendStatMapper baseMapper; + + private final DashboardTrendStatAreaMapper trendStatAreaMapper; + /** * 查询趋势行为分析-领域统计 * @@ -199,7 +203,7 @@ public class DashboardTrendStatServiceImpl implements IDashboardTrendStatService queryBo.setEndQuarter(endQuarter); } - return baseMapper.areaQuarterCheck(queryBo); + return trendStatAreaMapper.areaQuarterCheck(queryBo); } /** diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml index 0008f886..24ac7d4a 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml @@ -54,9 +54,9 @@ city_code AS cityCode, city_name AS cityName, district_code AS districtCode, - district_name AS districtName, + TRIM(TRAILING '\r' FROM TRIM(TRAILING '\n' FROM district_name)) AS districtName, street_code AS streetCode, - street_name AS streetName, + TRIM(TRAILING '\r' FROM TRIM(TRAILING '\n' FROM street_name)) AS streetName, CONCAT(#{year}, '-', LPAD(#{month}, 2, '0')) AS timeLabel, 'month' AS statisticsType, diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatAreaMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatAreaMapper.xml new file mode 100644 index 00000000..077b1bff --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardTrendStatAreaMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + +