diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/cim/CimDashboardOverviewJobController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/cim/CimDashboardOverviewJobController.java index c9e1cbbe..49aafc8d 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/cim/CimDashboardOverviewJobController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/cim/CimDashboardOverviewJobController.java @@ -41,6 +41,8 @@ public class CimDashboardOverviewJobController { return R.ok(); } + + /** * Cim大屏-监测预警-高频检查预警分析-区域月数据汇总-高频检查区域-高频检查企业-高频检查区域执法单位联合执法数排行-高频检查区域执法单位检查次数排行 * @return 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 457c665f..5a21ed5a 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 @@ -2,6 +2,7 @@ package com.zdxt.enforcementcode.controller.web.supervision; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.lang.tree.Tree; +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; import com.zdxt.enforcementcode.service.IDashboardAreaInfoService; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; @@ -37,4 +38,14 @@ public class DashboardAreaInfoController extends BaseController { List> areaTree = dashboardAreaInfoService.buildAreaTree(); return R.ok(areaTree); } + + /** + * 查询大屏基础信息-领域 + * @return + */ + @GetMapping("/getDomainInfo") + public R> getDomainInfo(){ + List listDomain=dashboardAreaInfoService.getDomainInfo(); + return R.ok(listDomain); + } } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardDomainDept.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardDomainDept.java new file mode 100644 index 00000000..26123c51 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/DashboardDomainDept.java @@ -0,0 +1,56 @@ +package com.zdxt.enforcementcode.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 大屏领域-部门对照关系对象 dashboard_domain_dept + * + * @author Lion Li + * @date 2026-10-09 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dashboard_domain_dept") +public class DashboardDomainDept extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 领域ID + */ + private String domainId; + + /** + * 领域名称 + */ + private String domainName; + + /** + * 部门ID(对应sys_dept主键) + */ + private String deptId; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 部门名称 + */ + private Long sort; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardDomainDeptBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardDomainDeptBo.java new file mode 100644 index 00000000..b62b2970 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardDomainDeptBo.java @@ -0,0 +1,59 @@ +package com.zdxt.enforcementcode.domain.bo; + +import com.zdxt.enforcementcode.domain.DashboardDomainDept; +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_domain_dept + * + * @author Lion Li + * @date 2026-10-09 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DashboardDomainDept.class, reverseConvertGenerate = false) +public class DashboardDomainDeptBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 领域ID + */ + @NotBlank(message = "领域ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private String domainId; + + /** + * 领域名称 + */ + @NotBlank(message = "领域名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String domainName; + + /** + * 部门ID(对应sys_dept主键) + */ + @NotBlank(message = "部门ID(对应sys_dept主键)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String deptId; + + /** + * 部门名称 + */ + @NotBlank(message = "部门名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String deptName; + + /** + * 部门名称 + */ + private Long sort; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewEntBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewEntBo.java new file mode 100644 index 00000000..e67372ec --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewEntBo.java @@ -0,0 +1,120 @@ +package com.zdxt.enforcementcode.domain.bo; + +import com.zdxt.enforcementcode.domain.DashboardOverviewEnt; +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_overview_ent + * + * @author Lion Li + * @date 2026-09-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DashboardOverviewEnt.class, reverseConvertGenerate = false) +public class DashboardOverviewEntBo extends BaseEntity { + + /** + * 主键ID + */ + @NotBlank(message = "主键ID不能为空", groups = { EditGroup.class }) + private String id; + + /** + * 市编码 + */ + @NotBlank(message = "市编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String cityCode; + + /** + * 市名称 + */ + @NotBlank(message = "市名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String cityName; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 街道编号 + */ + private String streetCode; + + /** + * 街道名称 + */ + private String streetName; + + /** + * 级别:1-市 2-区 3-街道 + */ + @NotNull(message = "级别:1-市 2-区 3-街道不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long level; + + /** + * 执法单位ID + */ + private String bureauDeptId; + + /** + * 执法单位名称 + */ + private String bureauDeptName; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + /** + * 领域ID + */ + private String domainId; + + /** + * 领域名称 + */ + private String domainName; + + /** + * 年份 + */ + @NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long year; + + /** + * 月份 + */ + @NotNull(message = "月份不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long month; + + /** + * 企业数量 + */ + private Long qysl; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewPersonnelBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewPersonnelBo.java new file mode 100644 index 00000000..b1759390 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardOverviewPersonnelBo.java @@ -0,0 +1,120 @@ +package com.zdxt.enforcementcode.domain.bo; + +import com.zdxt.enforcementcode.domain.DashboardOverviewPersonnel; +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_overview_personnel + * + * @author Lion Li + * @date 2026-09-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DashboardOverviewPersonnel.class, reverseConvertGenerate = false) +public class DashboardOverviewPersonnelBo extends BaseEntity { + + /** + * 主键ID + */ + @NotBlank(message = "主键ID不能为空", groups = { EditGroup.class }) + private String id; + + /** + * 市编码 + */ + @NotBlank(message = "市编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String cityCode; + + /** + * 市名称 + */ + @NotBlank(message = "市名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String cityName; + + /** + * 区编码 + */ + private String districtCode; + + /** + * 区名称 + */ + private String districtName; + + /** + * 街道编号 + */ + private String streetCode; + + /** + * 街道名称 + */ + private String streetName; + + /** + * 级别:1-市 2-区 3-街道 + */ + @NotNull(message = "级别:1-市 2-区 3-街道不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long level; + + /** + * 执法单位ID + */ + private String bureauDeptId; + + /** + * 执法单位名称 + */ + private String bureauDeptName; + + /** + * 部门ID + */ + private String deptId; + + /** + * 组织单位ID + */ + private String organId; + + /** + * 领域ID + */ + private String domainId; + + /** + * 领域名称 + */ + private String domainName; + + /** + * 年份 + */ + @NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long year; + + /** + * 月份 + */ + @NotNull(message = "月份不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long month; + + /** + * 执法人员数 + */ + private Long zfrys; + + /** + * 逻辑删除:0-否 1-是 + */ + private String isDelete; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardDomainDeptVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardDomainDeptVo.java new file mode 100644 index 00000000..29ff42d6 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardDomainDeptVo.java @@ -0,0 +1,69 @@ +package com.zdxt.enforcementcode.domain.vo; + +import com.zdxt.enforcementcode.domain.DashboardDomainDept; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +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_domain_dept + * + * @author Lion Li + * @date 2026-10-09 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DashboardDomainDept.class) +public class DashboardDomainDeptVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 领域ID + */ + @ExcelProperty(value = "领域ID") + private String domainId; + + /** + * 领域名称 + */ + @ExcelProperty(value = "领域名称") + private String domainName; + + /** + * 部门ID(对应sys_dept主键) + */ + @ExcelProperty(value = "部门ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "对=应sys_dept主键") + private String deptId; + + /** + * 部门名称 + */ + @ExcelProperty(value = "部门名称") + private String deptName; + + /** + * 部门名称 + */ + @ExcelProperty(value = "部门名称") + private Long sort; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardDomainDeptMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardDomainDeptMapper.java new file mode 100644 index 00000000..a16b3b49 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardDomainDeptMapper.java @@ -0,0 +1,19 @@ +package com.zdxt.enforcementcode.mapper; + +import com.zdxt.enforcementcode.domain.DashboardDomainDept; +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 大屏领域-部门对照关系Mapper接口 + * + * @author Lion Li + * @date 2026-10-09 + */ +public interface DashboardDomainDeptMapper extends BaseMapperPlus { + + List getDomainInfo(); + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ICimDashboardOverviewDataSumService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ICimDashboardOverviewDataSumService.java index 5ea9f303..2a093744 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ICimDashboardOverviewDataSumService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ICimDashboardOverviewDataSumService.java @@ -29,6 +29,13 @@ public interface ICimDashboardOverviewDataSumService { List getDashboardOverviewMonthDataSum(); + /** + * Cim大屏-大屏总览企业数量-执法单位数-执法人员数 + * 定时任务调用方法 + */ + Boolean getCityWholeMonthDataSum(); + + /** * Cim大屏-查询大屏总览汇总月度数据 * @return diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java index 0a02cb13..b3af85be 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java @@ -2,6 +2,8 @@ package com.zdxt.enforcementcode.service; import com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo; import com.zdxt.enforcementcode.domain.bo.DashboardAreaInfoBo; +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; +import com.zdxt.enforcementcode.domain.vo.DashboardSituationDomainVo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import cn.hutool.core.lang.tree.Tree; @@ -68,4 +70,6 @@ public interface IDashboardAreaInfoService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); List> buildAreaTree(); + + List getDomainInfo(); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardDomainDeptService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardDomainDeptService.java new file mode 100644 index 00000000..303f549f --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardDomainDeptService.java @@ -0,0 +1,68 @@ +package com.zdxt.enforcementcode.service; + +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; +import com.zdxt.enforcementcode.domain.bo.DashboardDomainDeptBo; +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-10-09 + */ +public interface IDashboardDomainDeptService { + + /** + * 查询大屏领域-部门对照关系 + * + * @param id 主键 + * @return 大屏领域-部门对照关系 + */ + DashboardDomainDeptVo queryById(Long id); + + /** + * 分页查询大屏领域-部门对照关系列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 大屏领域-部门对照关系分页列表 + */ + TableDataInfo queryPageList(DashboardDomainDeptBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的大屏领域-部门对照关系列表 + * + * @param bo 查询条件 + * @return 大屏领域-部门对照关系列表 + */ + List queryList(DashboardDomainDeptBo bo); + + /** + * 新增大屏领域-部门对照关系 + * + * @param bo 大屏领域-部门对照关系 + * @return 是否新增成功 + */ + Boolean insertByBo(DashboardDomainDeptBo bo); + + /** + * 修改大屏领域-部门对照关系 + * + * @param bo 大屏领域-部门对照关系 + * @return 是否修改成功 + */ + Boolean updateByBo(DashboardDomainDeptBo 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/CimDashboardOverviewDataSumSserviceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/CimDashboardOverviewDataSumSserviceImpl.java index c7b06f9e..509947cd 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 @@ -100,12 +100,11 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve } /** * 暂存需要确认数据来源 - * 企业总数,同比,环比(月) - * * 暂时未取数-执法人员数,执法单位数(月) * * 暂时未取数-区域-企业数量-执法单位数-执法人员数(月) */ + //添加月度数据 Boolean flag = insertNewData(vo); return flag; @@ -127,6 +126,17 @@ public class CimDashboardOverviewDataSumSserviceImpl implements ICimDashboardOve } + /** + * Cim大屏-大屏总览企业数量-执法单位数-执法人员数 + * 定时任务调用方法 + */ + @Override + public Boolean getCityWholeMonthDataSum(){ + + return null; + } + + /** * Cim大屏-查询大屏总览汇总月度数据-企业数量-执法单位数-执法人员数 * @return diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java index 7dd956f6..49fae7f0 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java @@ -1,6 +1,8 @@ package com.zdxt.enforcementcode.service.impl; import com.zdxt.enforcementcode.domain.bean.DashboardAreaInfo; +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; +import com.zdxt.enforcementcode.mapper.DashboardDomainDeptMapper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -28,6 +30,7 @@ import java.util.Collection; public class DashboardAreaInfoServiceImpl implements IDashboardAreaInfoService { private final DashboardAreaInfoMapper baseMapper; + private final DashboardDomainDeptMapper dashboardDomainDeptMapper; @Override public DashboardAreaInfoVo queryById(Long id){ @@ -110,4 +113,12 @@ public class DashboardAreaInfoServiceImpl implements IDashboardAreaInfoService { .putExtra("level", node.getLevel()) ); } + + + @Override + public List getDomainInfo() { + return dashboardDomainDeptMapper.getDomainInfo(); + } + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardDomainDeptServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardDomainDeptServiceImpl.java new file mode 100644 index 00000000..3bc24f17 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardDomainDeptServiceImpl.java @@ -0,0 +1,136 @@ +package com.zdxt.enforcementcode.service.impl; + +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.DashboardDomainDeptBo; +import com.zdxt.enforcementcode.domain.vo.DashboardDomainDeptVo; +import com.zdxt.enforcementcode.domain.DashboardDomainDept; +import com.zdxt.enforcementcode.mapper.DashboardDomainDeptMapper; +import com.zdxt.enforcementcode.service.IDashboardDomainDeptService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 大屏领域-部门对照关系Service业务层处理 + * + * @author Lion Li + * @date 2026-10-09 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class DashboardDomainDeptServiceImpl implements IDashboardDomainDeptService { + + private final DashboardDomainDeptMapper baseMapper; + + /** + * 查询大屏领域-部门对照关系 + * + * @param id 主键 + * @return 大屏领域-部门对照关系 + */ + @Override + public DashboardDomainDeptVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询大屏领域-部门对照关系列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 大屏领域-部门对照关系分页列表 + */ + @Override + public TableDataInfo queryPageList(DashboardDomainDeptBo 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(DashboardDomainDeptBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(DashboardDomainDeptBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(DashboardDomainDept::getId); + lqw.eq(StringUtils.isNotBlank(bo.getDomainId()), DashboardDomainDept::getDomainId, bo.getDomainId()); + lqw.like(StringUtils.isNotBlank(bo.getDomainName()), DashboardDomainDept::getDomainName, bo.getDomainName()); + lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), DashboardDomainDept::getDeptId, bo.getDeptId()); + lqw.like(StringUtils.isNotBlank(bo.getDeptName()), DashboardDomainDept::getDeptName, bo.getDeptName()); + lqw.eq(bo.getSort() != null, DashboardDomainDept::getSort, bo.getSort()); + return lqw; + } + + /** + * 新增大屏领域-部门对照关系 + * + * @param bo 大屏领域-部门对照关系 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DashboardDomainDeptBo bo) { + DashboardDomainDept add = MapstructUtils.convert(bo, DashboardDomainDept.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改大屏领域-部门对照关系 + * + * @param bo 大屏领域-部门对照关系 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DashboardDomainDeptBo bo) { + DashboardDomainDept update = MapstructUtils.convert(bo, DashboardDomainDept.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DashboardDomainDept 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/resources/mapper/enforcementcode/DashboardDomainDeptMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardDomainDeptMapper.xml new file mode 100644 index 00000000..ce44ef79 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardDomainDeptMapper.xml @@ -0,0 +1,10 @@ + + + + + +