Browse Source

优化大屏数据

dev-V1.0.1
ganhao 3 months ago
parent
commit
69bd7e5fbc
  1. 37
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java
  2. 6
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardEnterpriseCheckController.java
  3. 27
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardOverviewController.java
  4. 86
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCompanyHighFreqCheck.java
  5. 28
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighAreaBo.java
  6. 91
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCompanyHighFreqCheckBo.java
  7. 77
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/QueryDashboardOverviewCountBo.java
  8. 51
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighEnterpriseInfoVo.java
  9. 104
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCompanyHighFreqCheckVo.java
  10. 69
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/LawEnforcementIntensityCountVo.java
  11. 15
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCompanyHighFreqCheckMapper.java
  12. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java
  13. 68
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCompanyHighFreqCheckService.java
  14. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardOverviewService.java
  15. 144
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCompanyHighFreqCheckServiceImpl.java
  16. 80
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java
  17. 4
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardEnterpriseCheckMapper.xml
  18. 47
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml

37
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardCheckRegisterHighController.java

@ -1,11 +1,14 @@
package com.zdxt.enforcementcode.controller.web.supervision;
import com.zdxt.enforcementcode.common.util.StringUtils;
import com.zdxt.enforcementcode.domain.bo.DashboardCheckRegisterAreaQueryBo;
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.domain.bo.DashboardCompanyHighFreqCheckBo;
import com.zdxt.enforcementcode.domain.vo.*;
import com.zdxt.enforcementcode.service.IDashboardCheckRegisterAreaService;
import com.zdxt.enforcementcode.service.IDashboardCheckRegisterDomainService;
import com.zdxt.enforcementcode.service.IDashboardCompanyHighFreqCheckService;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -32,9 +35,13 @@ public class DashboardCheckRegisterHighController extends BaseController {
private final IDashboardCheckRegisterDomainService dashboardCheckRegisterDomainService;
private final IDashboardCompanyHighFreqCheckService dashboardCompanyHighFreqCheckService;
private final IDashboardCheckRegisterAreaService dashboardCheckRegisterAreaService;
/**
* 大屏-高频检查预警-区域
*
* 大屏-高频检查预警-各领域高频检查次数排行
* 1高频检查次数排行 pageQuery.orderByColumn = "sqjczs" , pageQuery.isAsc = "desc"
* 2联合执法数排行pageQuery.orderByColumn = "lhzfzs" , pageQuery.isAsc = "desc"
* @param bo 查询条件年份月份查询类型领域ID
* @param pageQuery 分页参数
* @return 领域统计信息
@ -47,4 +54,24 @@ public class DashboardCheckRegisterHighController extends BaseController {
return dashboardCheckRegisterDomainService.getCheckHighWarnBtyDomainList(bo, pageQuery);
}
/**
* 查询大屏-企业高频检查明细列表
*/
@GetMapping("/getCompanyHighlist")
public TableDataInfo<DashboardCompanyHighFreqCheckVo> getCompanyHighlist(DashboardCompanyHighFreqCheckBo bo, PageQuery pageQuery) {
return dashboardCompanyHighFreqCheckService.queryPageList(bo, pageQuery);
}
/**
* 高频检查预警-高频检查企业&高频检查区域统计
* 默认查询上个月数据
* 前端不用默认不用传参数
*/
@GetMapping("/getHighInfoByArea")
public R<DashboardCheckRegisterAreaInfoVo> getHighInfoByArea(DashboardCheckRegisterAreaQueryBo bo) {
return dashboardCheckRegisterAreaService.getCheckRegisterArea(bo);
}
}

6
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardEnterpriseCheckController.java

@ -40,8 +40,9 @@ public class DashboardEnterpriseCheckController extends BaseController {
private final IEnforcementRegistrationService enforcementRegistrationService;
/**
* 大屏-重点企业监测检查列表
* 1查询企业基础信息
* 2查询最近六个月的数据不包含当月数据
* 1总体概览:查询企业基础信息,获取最近的一个月的数据
* 2列表查询最近六个月的数据不包含当月数据
*
*/
@GetMapping("/getEnterpriseCheckInfo")
public DashboardEnterpriseCheckInfoVo getEnterpriseCheckInfo(DashboardEnterpriseCheckQueryBo bo) {
@ -63,7 +64,6 @@ public class DashboardEnterpriseCheckController extends BaseController {
.queryRecentSixMonths(bo.getEnterpriseNumber(), bo.getStatYear(), bo.getStatMonth());
result.setCheckVoList(checkVoList);
}
return result;
}

27
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardOverviewController.java

@ -1,7 +1,9 @@
package com.zdxt.enforcementcode.controller.web.supervision;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo;
import com.zdxt.enforcementcode.domain.vo.DashboardOverviewVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.service.IDashboardOverviewService;
import lombok.RequiredArgsConstructor;
@ -12,6 +14,8 @@ 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;
/**
* 大屏总览
*
@ -28,6 +32,7 @@ public class DashboardOverviewController extends BaseController {
/**
* 查询大屏总览信息
* 查询上一个月的数据
*/
@GetMapping("/getDpzl")
public R<DashboardOverviewVo> getDpzl(QueryDashboardOverviewBo bo) {
@ -38,7 +43,10 @@ public class DashboardOverviewController extends BaseController {
/**
* 查询执法力度信息
* 支持月度季度年度
*
* 级别1- 查询全市的数据 2- 查询区的数据需要同步传如区编码districtCode
* 月度查询前一个月的数据
* 季度查询前一个季度的数据
* 年度查询当前年的数据
* @param bo 查询条件statisticsType: month-月度, quarter-季度, year-年度
*/
@GetMapping("/getZfld")
@ -46,4 +54,21 @@ public class DashboardOverviewController extends BaseController {
LawEnforcementIntensityVo result = dashboardOverviewService.getLawEnforcementIntensity(bo);
return R.ok(result);
}
/**
* 查询企业数单位数执法人员数
* 默认查询上个月数据
* 类型1-企业数量2-执法单位数3-执法人员数
* 查询level =1 查询市下面所有区的数据leeve =2 查询区下面所有街道的数据需要同步传入区编码districtCode
* @param bo
* @return
*/
@GetMapping("/getCount")
public R<List<LawEnforcementIntensityCountVo>> getCount(QueryDashboardOverviewCountBo bo) {
//1、默认查询上个月数据
//2、类型:1-企业数量,2-执法单位数,3-执法人员数
List<LawEnforcementIntensityCountVo> result = dashboardOverviewService.getCount(bo);
return R.ok(result);
}
}

86
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardCompanyHighFreqCheck.java

@ -0,0 +1,86 @@
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_company_high_freq_check
*
* @author Lion Li
* @date 2026-06-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dashboard_company_high_freq_check")
public class DashboardCompanyHighFreqCheck extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private String id;
/**
* 年份
*/
private Long year;
/**
* 月份 1-12
*/
private Long month;
/**
* 企业ID
*/
private String qyid;
/**
* 企业名称
*/
private String qymc;
/**
* 领域ID
*/
private String lyid;
/**
* 领域名称
*/
private String lymc;
/**
* 检查次数
*/
private Long checkCount;
/**
* 逻辑删除0- 1-
*/
private String isDelete;
/**
* 局级部门ID
*/
private String bureauDeptId;
/**
* 部门ID
*/
private String deptId;
/**
* 组织单位ID
*/
private String organId;
}

28
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCheckRegisterHighAreaBo.java

@ -0,0 +1,28 @@
package com.zdxt.enforcementcode.domain.bo;
import lombok.Data;
import java.io.Serializable;
/**
* 大屏-高频预警检查
*
* @author Lion Li
* @date 2026-06-02
*/
@Data
public class DashboardCheckRegisterHighAreaBo implements Serializable {
/**
* 年份
*/
private Long year;
/**
* 月份 1-12
*/
private Long month;
}

91
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardCompanyHighFreqCheckBo.java

@ -0,0 +1,91 @@
package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.bean.DashboardCompanyHighFreqCheck;
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_company_high_freq_check
*
* @author Lion Li
* @date 2026-06-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DashboardCompanyHighFreqCheck.class, reverseConvertGenerate = false)
public class DashboardCompanyHighFreqCheckBo extends BaseEntity {
/**
* 主键ID
*/
@NotBlank(message = "主键ID不能为空", groups = { EditGroup.class })
private String id;
/**
* 年份
*/
@NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class })
private Long year;
/**
* 月份 1-12
*/
@NotNull(message = "月份 1-12不能为空", groups = { AddGroup.class, EditGroup.class })
private Long month;
/**
* 企业ID
*/
@NotBlank(message = "企业ID不能为空", groups = { AddGroup.class, EditGroup.class })
private String qyid;
/**
* 企业名称
*/
@NotBlank(message = "企业名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String qymc;
/**
* 领域ID
*/
@NotBlank(message = "领域ID不能为空", groups = { AddGroup.class, EditGroup.class })
private String lyid;
/**
* 领域名称
*/
@NotBlank(message = "领域名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String lymc;
/**
* 检查次数
*/
private Long checkCount;
/**
* 逻辑删除0- 1-
*/
private String isDelete;
/**
* 局级部门ID
*/
private String bureauDeptId;
/**
* 部门ID
*/
private String deptId;
/**
* 组织单位ID
*/
private String organId;
}

77
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/QueryDashboardOverviewCountBo.java

@ -0,0 +1,77 @@
package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import java.io.Serializable;
/**
* 大屏总览业务对象 dashboard_overview
*
* @author Lion Li
* @date 2026-05-27
*/
@Data
@AutoMapper(target = DashboardOverview.class, reverseConvertGenerate = false)
public class QueryDashboardOverviewCountBo implements Serializable {
/**
* 市编码
*/
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 = "级别不能为空")
private Long level;
/**
* 年份
*/
private Long year;
/**
* 月份
*/
private Long month;
/**
* 类型1-企业数量2-执法单位数3-执法人员数
*/
private Integer type;
}

51
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCheckHighEnterpriseInfoVo.java

@ -0,0 +1,51 @@
package com.zdxt.enforcementcode.domain.vo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.bean.DashboardCheckRegisterDomain;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import java.io.Serial;
import java.io.Serializable;
/**
* 大屏-检查登记-领域统计视图对象 dashboard_check_register_domain
*
* @author Lion Li
* @date 2026-06-02
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DashboardCheckRegisterDomain.class)
public class DashboardCheckHighEnterpriseInfoVo implements Serializable {
/**
* 企业ID
*/
private String enterpriseId;
/**
* 企业名称
*/
private String enterpriseName;
/**
* 领域ID
*/
private String lyid;
/**
* 领域名称
*/
private String lymc;
/**
* 检查次数
*/
private Integer checkNum;
}

104
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardCompanyHighFreqCheckVo.java

@ -0,0 +1,104 @@
package com.zdxt.enforcementcode.domain.vo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.bean.DashboardCompanyHighFreqCheck;
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_company_high_freq_check
*
* @author Lion Li
* @date 2026-06-04
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DashboardCompanyHighFreqCheck.class)
public class DashboardCompanyHighFreqCheckVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private String id;
/**
* 年份
*/
@ExcelProperty(value = "年份")
private Long year;
/**
* 月份 1-12
*/
@ExcelProperty(value = "月份 1-12")
private Long month;
/**
* 企业ID
*/
@ExcelProperty(value = "企业ID")
private String qyid;
/**
* 企业名称
*/
@ExcelProperty(value = "企业名称")
private String qymc;
/**
* 领域ID
*/
@ExcelProperty(value = "领域ID")
private String lyid;
/**
* 领域名称
*/
@ExcelProperty(value = "领域名称")
private String lymc;
/**
* 检查次数
*/
@ExcelProperty(value = "检查次数")
private Long checkCount;
/**
* 逻辑删除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;
}

69
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/LawEnforcementIntensityCountVo.java

@ -0,0 +1,69 @@
package com.zdxt.enforcementcode.domain.vo;
import cn.idev.excel.annotation.ExcelProperty;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import java.io.Serial;
import java.io.Serializable;
/**
* 执法力度统计VO
*
* @author Lion Li
* @date 2026-05-27
*/
@Data
public class LawEnforcementIntensityCountVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 统计类型month-月度, quarter-季度, year-年度
*/
private String statisticsType;
/**
* 时间标签格式月度-2026-05, 季度-2026-Q1, 年度-2026
*/
private String timeLabel;
/**
* 统计数量
*/
private Long count;
/**
* 市编码
*/
private String cityCode;
/**
* 市名称
*/
private String cityName;
/**
* 区编码
*/
private String districtCode;
/**
* 区名称
*/
private String districtName;
/**
* 街道编号
*/
private String streetCode;
/**
* 街道名称
*/
private String streetName;
}

15
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardCompanyHighFreqCheckMapper.java

@ -0,0 +1,15 @@
package com.zdxt.enforcementcode.mapper;
import com.zdxt.enforcementcode.domain.bean.DashboardCompanyHighFreqCheck;
import com.zdxt.enforcementcode.domain.vo.DashboardCompanyHighFreqCheckVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 大屏-企业高频检查明细Mapper接口
*
* @author Lion Li
* @date 2026-06-04
*/
public interface DashboardCompanyHighFreqCheckMapper extends BaseMapperPlus<DashboardCompanyHighFreqCheck, DashboardCompanyHighFreqCheckVo> {
}

12
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardOverviewMapper.java

@ -3,10 +3,13 @@ package com.zdxt.enforcementcode.mapper;
import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.LawEnforcementIntensityQueryBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo;
import com.zdxt.enforcementcode.domain.vo.DashboardOverviewVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
/**
* 大屏总览Mapper接口
@ -24,4 +27,13 @@ public interface DashboardOverviewMapper extends BaseMapperPlus<DashboardOvervie
*/
LawEnforcementIntensityVo queryLawEnforcementIntensity(LawEnforcementIntensityQueryBo queryBo);
/**
* 查询数量统计数据企业数执法单位数执法人员数
* level=1 查询该市下所有区数据level=2 查询该区下所有街道数据
*
* @param bo 查询参数
* @return 数量统计列表
*/
List<LawEnforcementIntensityCountVo> queryCount(QueryDashboardOverviewCountBo bo);
}

68
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardCompanyHighFreqCheckService.java

@ -0,0 +1,68 @@
package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.vo.DashboardCompanyHighFreqCheckVo;
import com.zdxt.enforcementcode.domain.bo.DashboardCompanyHighFreqCheckBo;
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-04
*/
public interface IDashboardCompanyHighFreqCheckService {
/**
* 查询大屏-企业高频检查明细
*
* @param id 主键
* @return 大屏-企业高频检查明细
*/
DashboardCompanyHighFreqCheckVo queryById(String id);
/**
* 分页查询大屏-企业高频检查明细列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 大屏-企业高频检查明细分页列表
*/
TableDataInfo<DashboardCompanyHighFreqCheckVo> queryPageList(DashboardCompanyHighFreqCheckBo bo, PageQuery pageQuery);
/**
* 查询符合条件的大屏-企业高频检查明细列表
*
* @param bo 查询条件
* @return 大屏-企业高频检查明细列表
*/
List<DashboardCompanyHighFreqCheckVo> queryList(DashboardCompanyHighFreqCheckBo bo);
/**
* 新增大屏-企业高频检查明细
*
* @param bo 大屏-企业高频检查明细
* @return 是否新增成功
*/
Boolean insertByBo(DashboardCompanyHighFreqCheckBo bo);
/**
* 修改大屏-企业高频检查明细
*
* @param bo 大屏-企业高频检查明细
* @return 是否修改成功
*/
Boolean updateByBo(DashboardCompanyHighFreqCheckBo bo);
/**
* 校验并批量删除大屏-企业高频检查明细信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardOverviewService.java

@ -57,6 +57,16 @@ public interface IDashboardOverviewService {
*/
com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo getLawEnforcementIntensity(com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewBo bo);
/**
* 获取数量统计企业数执法单位数执法人员数
* 默认查询上个月数据
* 类型1-企业数量2-执法单位数3-执法人员数
*
* @param bo 查询条件
* @return 数量统计列表
*/
List<com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo> getCount(com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo bo);
/**
* 新增大屏总览
*

144
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardCompanyHighFreqCheckServiceImpl.java

@ -0,0 +1,144 @@
package com.zdxt.enforcementcode.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zdxt.enforcementcode.domain.bean.DashboardCompanyHighFreqCheck;
import com.zdxt.enforcementcode.service.IDashboardCompanyHighFreqCheckService;
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.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.zdxt.enforcementcode.domain.bo.DashboardCompanyHighFreqCheckBo;
import com.zdxt.enforcementcode.domain.vo.DashboardCompanyHighFreqCheckVo;
import com.zdxt.enforcementcode.mapper.DashboardCompanyHighFreqCheckMapper;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 大屏-企业高频检查明细Service业务层处理
*
* @author Lion Li
* @date 2026-06-04
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class DashboardCompanyHighFreqCheckServiceImpl implements IDashboardCompanyHighFreqCheckService {
private final DashboardCompanyHighFreqCheckMapper baseMapper;
/**
* 查询大屏-企业高频检查明细
*
* @param id 主键
* @return 大屏-企业高频检查明细
*/
@Override
public DashboardCompanyHighFreqCheckVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询大屏-企业高频检查明细列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 大屏-企业高频检查明细分页列表
*/
@Override
public TableDataInfo<DashboardCompanyHighFreqCheckVo> queryPageList(DashboardCompanyHighFreqCheckBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<DashboardCompanyHighFreqCheck> lqw = buildQueryWrapper(bo);
Page<DashboardCompanyHighFreqCheckVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的大屏-企业高频检查明细列表
*
* @param bo 查询条件
* @return 大屏-企业高频检查明细列表
*/
@Override
public List<DashboardCompanyHighFreqCheckVo> queryList(DashboardCompanyHighFreqCheckBo bo) {
LambdaQueryWrapper<DashboardCompanyHighFreqCheck> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<DashboardCompanyHighFreqCheck> buildQueryWrapper(DashboardCompanyHighFreqCheckBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<DashboardCompanyHighFreqCheck> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(DashboardCompanyHighFreqCheck::getId);
lqw.eq(bo.getYear() != null, DashboardCompanyHighFreqCheck::getYear, bo.getYear());
lqw.eq(bo.getMonth() != null, DashboardCompanyHighFreqCheck::getMonth, bo.getMonth());
lqw.eq(StringUtils.isNotBlank(bo.getQyid()), DashboardCompanyHighFreqCheck::getQyid, bo.getQyid());
lqw.eq(StringUtils.isNotBlank(bo.getQymc()), DashboardCompanyHighFreqCheck::getQymc, bo.getQymc());
lqw.eq(StringUtils.isNotBlank(bo.getLyid()), DashboardCompanyHighFreqCheck::getLyid, bo.getLyid());
lqw.eq(StringUtils.isNotBlank(bo.getLymc()), DashboardCompanyHighFreqCheck::getLymc, bo.getLymc());
lqw.eq(bo.getCheckCount() != null, DashboardCompanyHighFreqCheck::getCheckCount, bo.getCheckCount());
lqw.eq(StringUtils.isNotBlank(bo.getIsDelete()), DashboardCompanyHighFreqCheck::getIsDelete, bo.getIsDelete());
lqw.eq(StringUtils.isNotBlank(bo.getBureauDeptId()), DashboardCompanyHighFreqCheck::getBureauDeptId, bo.getBureauDeptId());
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), DashboardCompanyHighFreqCheck::getDeptId, bo.getDeptId());
lqw.eq(StringUtils.isNotBlank(bo.getOrganId()), DashboardCompanyHighFreqCheck::getOrganId, bo.getOrganId());
return lqw;
}
/**
* 新增大屏-企业高频检查明细
*
* @param bo 大屏-企业高频检查明细
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(DashboardCompanyHighFreqCheckBo bo) {
DashboardCompanyHighFreqCheck add = MapstructUtils.convert(bo, DashboardCompanyHighFreqCheck.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改大屏-企业高频检查明细
*
* @param bo 大屏-企业高频检查明细
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(DashboardCompanyHighFreqCheckBo bo) {
DashboardCompanyHighFreqCheck update = MapstructUtils.convert(bo, DashboardCompanyHighFreqCheck.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(DashboardCompanyHighFreqCheck entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除大屏-企业高频检查明细信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

80
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardOverviewServiceImpl.java

@ -3,7 +3,10 @@ package com.zdxt.enforcementcode.service.impl;
import com.zdxt.enforcementcode.domain.bean.DashboardOverview;
import com.zdxt.enforcementcode.domain.bo.LawEnforcementIntensityQueryBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewBo;
import com.zdxt.enforcementcode.domain.bo.QueryDashboardOverviewCountBo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityVo;
import com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -106,8 +109,8 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
/**
* 获取执法力度统计信息支持月度季度年度
* 月度查询前月的数据
* 季度查询前季度的数据
* 月度查询前一个月的数据
* 季度查询前一个季度的数据
* 年度查询当前年的数据
* @param bo 查询条件
* @return 执法力度统计信息
@ -135,38 +138,38 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
// 根据统计类型设置时间范围
java.time.LocalDate now = java.time.LocalDate.now();
// int currentYear = now.getYear();
// int currentMonth = now.getMonthValue();
// // 获取上一个月
int currentYear = now.getYear();
int currentMonth = now.getMonthValue();
java.time.LocalDate lastMonth = now.minusMonths(1);
int year = lastMonth.getYear();
int month = lastMonth.getMonthValue();
int lastYear = lastMonth.getYear();
int lastMonthValue = lastMonth.getMonthValue();
switch (statisticsType.toLowerCase()) {
case "month":
// 统计前月的数据
queryBo.setYear((long) year);
queryBo.setMonth((long) month);
// 统计前一个月的数据
queryBo.setYear((long) lastYear);
queryBo.setMonth((long) lastMonthValue);
break;
case "quarter":
// 统计当前季度的数据
int currentQuarter = (month - 1) / 3 + 1;
queryBo.setYear((long) year);
// 计算当前季度的起始和结束月份
queryBo.setStartMonth((long) ((currentQuarter - 1) * 3 + 1));
int endMonth = currentQuarter * 3;
if(endMonth >month){
endMonth = month;
// 统计前一个季度的数据
int currentQuarter = (currentMonth - 1) / 3 + 1;
int prevQuarter = currentQuarter - 1;
int quarterYear = currentYear;
if (prevQuarter == 0) {
prevQuarter = 4;
quarterYear = currentYear - 1;
}
queryBo.setEndMonth((long) endMonth);
queryBo.setYear((long) quarterYear);
queryBo.setStartMonth((long) ((prevQuarter - 1) * 3 + 1));
queryBo.setEndMonth((long) (prevQuarter * 3));
break;
case "year":
// 统计当前年的数据
queryBo.setYear((long) year);
// 统计当前年的数据
queryBo.setYear((long) currentYear);
break;
default:
// 默认统计前月
queryBo.setYear((long) year);
queryBo.setMonth((long) month);
// 默认统计前一个
queryBo.setYear((long) lastYear);
queryBo.setMonth((long) lastMonthValue);
break;
}
@ -174,6 +177,35 @@ public class DashboardOverviewServiceImpl implements IDashboardOverviewService {
return baseMapper.queryLawEnforcementIntensity(queryBo);
}
/**
* 获取数量统计企业数执法单位数执法人员数
* 默认查询上个月数据
* 类型1-企业数量2-执法单位数3-执法人员数
*
* @param bo 查询条件
* @return 数量统计列表
*/
@Override
public List<LawEnforcementIntensityCountVo> getCount(QueryDashboardOverviewCountBo bo) {
if (bo.getLevel() == null) {
throw new IllegalArgumentException("级别参数不能为空,级别:1-市 2-区 3-街道");
}
// 默认查询上个月数据
if (bo.getYear() == null || bo.getMonth() == null) {
java.time.LocalDate now = java.time.LocalDate.now();
java.time.LocalDate lastMonth = now.minusMonths(1);
if (bo.getYear() == null) {
bo.setYear((long) lastMonth.getYear());
}
if (bo.getMonth() == null) {
bo.setMonth((long) lastMonth.getMonthValue());
}
}
return baseMapper.queryCount(bo);
}
private LambdaQueryWrapper<DashboardOverview> buildQueryWrapperForQuery(QueryDashboardOverviewBo bo) {
LambdaQueryWrapper<DashboardOverview> lqw = Wrappers.lambdaQuery();

4
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardEnterpriseCheckMapper.xml

@ -14,8 +14,8 @@
AND (a.stat_year &gt; #{startYear} OR (a.stat_year = #{startYear} AND a.stat_month &gt;= #{startMonth}))
AND (a.stat_year &lt; #{endYear} OR (a.stat_year = #{endYear} AND a.stat_month &lt;= #{endMonth}))
ORDER BY
a.stat_year,
a.stat_month
a.stat_year desc,
a.stat_month desc
</select>
</mapper>

47
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardOverviewMapper.xml

@ -50,4 +50,51 @@
</select>
<select id="queryCount" resultType="com.zdxt.enforcementcode.domain.vo.LawEnforcementIntensityCountVo">
SELECT
city_code AS cityCode,
city_name AS cityName,
district_code AS districtCode,
district_name AS districtName,
street_code AS streetCode,
street_name AS streetName,
CONCAT(#{year}, '-', LPAD(#{month}, 2, '0')) AS timeLabel,
'month' AS statisticsType,
<choose>
<when test="type == 1">
COALESCE(qyzs, 0) AS count
</when>
<when test="type == 2">
COALESCE(zfdws, 0) AS count
</when>
<when test="type == 3">
COALESCE(zfrys, 0) AS count
</when>
<otherwise>
COALESCE(qyzs, 0) AS count
</otherwise>
</choose>
FROM dashboard_overview
WHERE year = #{year}
AND month = #{month}
<if test="level == 1">
AND level = 2
<if test="cityCode != null and cityCode != ''">
AND city_code = #{cityCode}
</if>
</if>
<if test="level == 2">
AND level = 3
<if test="districtCode != null and districtCode != ''">
AND district_code = #{districtCode}
</if>
</if>
ORDER BY
<if test="level == 1">
district_code
</if>
<if test="level == 2">
street_code
</if>
</select>
</mapper>

Loading…
Cancel
Save