diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseCheckController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseCheckController.java deleted file mode 100644 index 02442c09..00000000 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseCheckController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.zdxt.enforcementcode.controller; - -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.DashboardEnterpriseCheckVo; -import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseCheckBo; -import com.zdxt.enforcementcode.service.IDashboardEnterpriseCheckService; -import org.dromara.common.mybatis.core.page.TableDataInfo; - -/** - * 大屏重点企业监测检查(按月统计) - * - * @author Lion Li - * @date 2026-05-30 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/enforcementcode/enterpriseCheck") -public class DashboardEnterpriseCheckController extends BaseController { - - private final IDashboardEnterpriseCheckService dashboardEnterpriseCheckService; - - /** - * 查询大屏重点企业监测检查(按月统计)列表 - */ - @GetMapping("/list") - public TableDataInfo list(DashboardEnterpriseCheckBo bo, PageQuery pageQuery) { - return dashboardEnterpriseCheckService.queryPageList(bo, pageQuery); - } - - /** - * 导出大屏重点企业监测检查(按月统计)列表 - */ - @Log(title = "大屏重点企业监测检查(按月统计)", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(DashboardEnterpriseCheckBo bo, HttpServletResponse response) { - List list = dashboardEnterpriseCheckService.queryList(bo); - ExcelUtil.exportExcel(list, "大屏重点企业监测检查(按月统计)", DashboardEnterpriseCheckVo.class, response); - } - - /** - * 获取大屏重点企业监测检查(按月统计)详细信息 - * - * @param id 主键 - */ - @GetMapping("/getInfo") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(dashboardEnterpriseCheckService.queryById(id)); - } - - /** - * 新增大屏重点企业监测检查(按月统计) - */ - @Log(title = "大屏重点企业监测检查(按月统计)", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody DashboardEnterpriseCheckBo bo) { - return toAjax(dashboardEnterpriseCheckService.insertByBo(bo)); - } - - /** - * 修改大屏重点企业监测检查(按月统计) - */ - @Log(title = "大屏重点企业监测检查(按月统计)", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody DashboardEnterpriseCheckBo bo) { - return toAjax(dashboardEnterpriseCheckService.updateByBo(bo)); - } - - /** - * 删除大屏重点企业监测检查(按月统计) - * - * @param ids 主键串 - */ - @Log(title = "大屏重点企业监测检查(按月统计)", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(dashboardEnterpriseCheckService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseMonitorController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseMonitorController.java deleted file mode 100644 index 53480ee0..00000000 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/DashboardEnterpriseMonitorController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.zdxt.enforcementcode.controller; - -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.DashboardEnterpriseMonitorVo; -import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseMonitorBo; -import com.zdxt.enforcementcode.service.IDashboardEnterpriseMonitorService; -import org.dromara.common.mybatis.core.page.TableDataInfo; - -/** - * 大屏重点企业监测 - * - * @author Lion Li - * @date 2026-05-30 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/enforcementcode/enterpriseMonitor") -public class DashboardEnterpriseMonitorController extends BaseController { - - private final IDashboardEnterpriseMonitorService dashboardEnterpriseMonitorService; - - /** - * 查询大屏重点企业监测列表 - */ - @GetMapping("/list") - public TableDataInfo list(DashboardEnterpriseMonitorBo bo, PageQuery pageQuery) { - return dashboardEnterpriseMonitorService.queryPageList(bo, pageQuery); - } - - /** - * 导出大屏重点企业监测列表 - */ - @Log(title = "大屏重点企业监测", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(DashboardEnterpriseMonitorBo bo, HttpServletResponse response) { - List list = dashboardEnterpriseMonitorService.queryList(bo); - ExcelUtil.exportExcel(list, "大屏重点企业监测", DashboardEnterpriseMonitorVo.class, response); - } - - /** - * 获取大屏重点企业监测详细信息 - * - * @param id 主键 - */ - @GetMapping("/getInfo") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(dashboardEnterpriseMonitorService.queryById(id)); - } - - /** - * 新增大屏重点企业监测 - */ - @Log(title = "大屏重点企业监测", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody DashboardEnterpriseMonitorBo bo) { - return toAjax(dashboardEnterpriseMonitorService.insertByBo(bo)); - } - - /** - * 修改大屏重点企业监测 - */ - @Log(title = "大屏重点企业监测", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody DashboardEnterpriseMonitorBo bo) { - return toAjax(dashboardEnterpriseMonitorService.updateByBo(bo)); - } - - /** - * 删除大屏重点企业监测 - * - * @param ids 主键串 - */ - @Log(title = "大屏重点企业监测", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(dashboardEnterpriseMonitorService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardEnterpriseCheckController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardEnterpriseCheckController.java new file mode 100644 index 00000000..0ab6573d --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/DashboardEnterpriseCheckController.java @@ -0,0 +1,79 @@ +package com.zdxt.enforcementcode.controller.web.supervision; + +import cn.hutool.core.collection.CollUtil; +import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseCheckQueryBo; +import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseMonitorBo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnforcementRegistrationInfoVo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseCheckInfoVo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseCheckVo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseMonitorVo; +import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; +import com.zdxt.enforcementcode.service.IDashboardEnterpriseCheckService; +import com.zdxt.enforcementcode.service.IDashboardEnterpriseMonitorService; +import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 大屏-重点企业监测检查(按月统计) + * + * @author Lion Li + * @date 2026-05-30 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/web/dashboard/enterpriseCheck") +public class DashboardEnterpriseCheckController extends BaseController { + + private final IDashboardEnterpriseCheckService dashboardEnterpriseCheckService; + private final IDashboardEnterpriseMonitorService dashboardEnterpriseMonitorService; + private final IEnforcementRegistrationService enforcementRegistrationService; + /** + * 大屏-重点企业监测检查列表 + * 1、查询企业基础信息 + * 2、查询最近六个月的数据,不包含当月数据 + */ + @GetMapping("/getEnterpriseCheckInfo") + public DashboardEnterpriseCheckInfoVo getEnterpriseCheckInfo(DashboardEnterpriseCheckQueryBo bo) { + DashboardEnterpriseCheckInfoVo result = new DashboardEnterpriseCheckInfoVo(); + + // 1. 查询企业基础信息 + if (StringUtils.isNotBlank(bo.getEnterpriseNumber())) { + DashboardEnterpriseMonitorBo monitorBo = new DashboardEnterpriseMonitorBo(); + monitorBo.setEnterpriseNumber(bo.getEnterpriseNumber()); + List monitorList = dashboardEnterpriseMonitorService.queryList(monitorBo); + if (CollUtil.isNotEmpty(monitorList)) { + result.setEnterpriseMonitorVo(monitorList.get(0)); + } + } + + // 2. 查询最近六个月的数据,不包含当月数据 + if (StringUtils.isNotBlank(bo.getEnterpriseNumber())) { + List checkVoList = dashboardEnterpriseCheckService + .queryRecentSixMonths(bo.getEnterpriseNumber(), bo.getStatYear(), bo.getStatMonth()); + result.setCheckVoList(checkVoList); + } + + return result; + } + + /** + * 大屏-重点企业监测检查详情 + * + */ + @GetMapping("/getEnterpriseCheckDetail") + public TableDataInfo getEnterpriseCheckDetail(DashboardEnterpriseCheckQueryBo bo, PageQuery pageQuery) { + return enforcementRegistrationService.getEnterpriseCheckDetail(bo,pageQuery); + } + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardEnterpriseCheckQueryBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardEnterpriseCheckQueryBo.java new file mode 100644 index 00000000..1c26711b --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/DashboardEnterpriseCheckQueryBo.java @@ -0,0 +1,44 @@ +package com.zdxt.enforcementcode.domain.bo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 大屏重点企业监测检查(按月统计)业务对象 dashboard_enterprise_check + * + * @author Lion Li + * @date 2026-05-30 + */ +@Data +public class DashboardEnterpriseCheckQueryBo implements Serializable { + + /** + * 统计年份 + */ + + private Long statYear; + + /** + * 统计月份 + */ + private Long statMonth; + + /** + * 企业ID + */ + private String enterpriseId; + + /** + * 企业名称 + */ + private String enterpriseName; + + /** + * 统一社会信用代码 + */ + private String enterpriseNumber; + + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnforcementRegistrationInfoVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnforcementRegistrationInfoVo.java new file mode 100644 index 00000000..21def190 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnforcementRegistrationInfoVo.java @@ -0,0 +1,131 @@ +package com.zdxt.enforcementcode.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import com.zdxt.enforcementcode.domain.EnforcementRegistration; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + + +/** + * 企业端-执法登记记录视图对象 enforcement_registration + * + * @author Lion Li + * @date 2026-04-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = EnforcementRegistration.class) +public class DashboardEnforcementRegistrationInfoVo implements Serializable { + + /** + * 主键ID + */ + private String id; + + /** + * 执法部门 + */ + private String lawEnforcement; + + /** + * 执法事项 + */ + private String lawEnforcementItemText; + + + /** + * 执法部门ID + */ + private String lawEnforcementId; + + /** + * 被执法企业ID + */ + private String enterpriseId; + + /** + * 被执法企业 + */ + private String enterpriseName; + + /** + * 被执法企业税号 + */ + private String enterpriseNumber; + + /** + * 执法时间 + */ + private Date enforcementTime; + + /** + * 执法人员姓名 + */ + private String lawEnforcer; + + /** + * 执法人员ID + */ + private String lawEnforcerId; + + /** + * 执法人员联系方式 + */ + private String lawEnforcerTel; + + /** + * 其他执法人员 + */ + private String lawEnforcerTwo; + + /** + * 其他执法人员ID + */ + private String lawEnforcerIdTwo; + + /** + * 执法人员联系方式 + */ + private String lawEnforcerTelTwo; + + /** + * 辅助人员姓名 + */ + private String subsidiaryer; + + /** + * 辅助人员id + */ + private String subsidiaryerId; + + /** + * 辅助人员联系方式 + */ + private String subsidiaryerTel; + + /** + * 执法事项 + */ + private String lawEnforcementItem; + + /** + * 执法人员1展示文本(姓名+执法证号) + */ + private String lawEnforcerDisplay; + + + public String getLawEnforcerDisplay() { + lawEnforcerDisplay = lawEnforcer; + if(StringUtils.isNotBlank(lawEnforcerTwo)){ + lawEnforcerDisplay += "、" + lawEnforcerTwo; + } + return lawEnforcerDisplay; + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnterpriseCheckInfoVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnterpriseCheckInfoVo.java new file mode 100644 index 00000000..931edb18 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardEnterpriseCheckInfoVo.java @@ -0,0 +1,35 @@ +package com.zdxt.enforcementcode.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import com.zdxt.enforcementcode.domain.bean.DashboardEnterpriseCheck; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 大屏重点企业监测检查(按月统计)视图对象 dashboard_enterprise_check + * + * @author Lion Li + * @date 2026-05-30 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DashboardEnterpriseCheck.class) +public class DashboardEnterpriseCheckInfoVo implements Serializable { + + /** + * 企业基本信息 + */ + DashboardEnterpriseMonitorVo enterpriseMonitorVo; + + + /** + * 最近6个月的统计数据,不含当月 + */ + List checkVoList; + + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardEnterpriseCheckMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardEnterpriseCheckMapper.java index 14e60c05..0d0f98c2 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardEnterpriseCheckMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/DashboardEnterpriseCheckMapper.java @@ -3,8 +3,11 @@ package com.zdxt.enforcementcode.mapper; import com.zdxt.enforcementcode.domain.bean.DashboardEnterpriseCheck; import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseCheckVo; +import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 大屏重点企业监测检查(按月统计)Mapper接口 * @@ -13,4 +16,20 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface DashboardEnterpriseCheckMapper extends BaseMapperPlus { + /** + * 查询指定企业最近六个月的监测检查数据(不包含当月,按年月升序) + * + * @param enterpriseNumber 统一社会信用代码 + * @param startYear 区间起始年份 + * @param startMonth 区间起始月份 + * @param endYear 区间结束年份 + * @param endMonth 区间结束月份 + * @return 最近六个月统计数据 + */ + List selectRecentSixMonths(@Param("enterpriseNumber") String enterpriseNumber, + @Param("startYear") long startYear, + @Param("startMonth") long startMonth, + @Param("endYear") long endYear, + @Param("endMonth") long endMonth); + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardEnterpriseCheckService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardEnterpriseCheckService.java index 54cec871..ed0e3efe 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardEnterpriseCheckService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardEnterpriseCheckService.java @@ -2,8 +2,8 @@ package com.zdxt.enforcementcode.service; import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseCheckBo; import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseCheckVo; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import java.util.Collection; import java.util.List; @@ -41,6 +41,16 @@ public interface IDashboardEnterpriseCheckService { */ List queryList(DashboardEnterpriseCheckBo bo); + /** + * 查询指定企业最近六个月的监测检查数据(不包含当月) + * + * @param enterpriseNumber 统一社会信用代码 + * @param statYear 参照年份(为空时取当前年份) + * @param statMonth 参照月份(为空时取当前月份) + * @return 最近六个月统计数据(按年月升序) + */ + List queryRecentSixMonths(String enterpriseNumber, Long statYear, Long statMonth); + /** * 新增大屏重点企业监测检查(按月统计) * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementRegistrationService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementRegistrationService.java index 68f9afaf..0b6ea6b1 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementRegistrationService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnforcementRegistrationService.java @@ -1,8 +1,10 @@ package com.zdxt.enforcementcode.service; import com.zdxt.enforcementcode.domain.EnforcementRegistration; +import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseCheckQueryBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnforcementRegistrationInfoVo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationDetailVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; @@ -130,4 +132,13 @@ public interface IEnforcementRegistrationService { * @return */ EnforcementRegistrationVo selectEnforcementRegistrationById(String id); + + /** + * 大屏-重点企业监测检查详情(分页查询执法登记记录) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 执法登记记录分页列表 + */ + TableDataInfo getEnterpriseCheckDetail(DashboardEnterpriseCheckQueryBo bo, PageQuery pageQuery); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardEnterpriseCheckServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardEnterpriseCheckServiceImpl.java index 1cdabc02..6173db50 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardEnterpriseCheckServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardEnterpriseCheckServiceImpl.java @@ -16,6 +16,8 @@ import com.zdxt.enforcementcode.domain.vo.DashboardEnterpriseCheckVo; import com.zdxt.enforcementcode.mapper.DashboardEnterpriseCheckMapper; import com.zdxt.enforcementcode.service.IDashboardEnterpriseCheckService; +import java.time.YearMonth; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -70,6 +72,37 @@ public class DashboardEnterpriseCheckServiceImpl implements IDashboardEnterprise return baseMapper.selectVoList(lqw); } + /** + * 查询指定企业最近六个月的监测检查数据(不包含当月) + * + * @param enterpriseNumber 统一社会信用代码 + * @param statYear 参照年份(为空时取当前年份) + * @param statMonth 参照月份(为空时取当前月份) + * @return 最近六个月统计数据(按年月升序) + */ + @Override + public List queryRecentSixMonths(String enterpriseNumber, Long statYear, Long statMonth) { + if (StringUtils.isBlank(enterpriseNumber)) { + return new ArrayList<>(); + } + + // 确定参照月份:优先使用传入的年月,否则取当前月 + YearMonth current; + if (statYear != null && statMonth != null) { + current = YearMonth.of(statYear.intValue(), statMonth.intValue()); + } else { + current = YearMonth.now(); + } + + // 最近六个月(不含当月)的闭区间:[current-6, current-1] + YearMonth start = current.minusMonths(6); + YearMonth end = current.minusMonths(1); + + return baseMapper.selectRecentSixMonths(enterpriseNumber, + (long) start.getYear(), (long) start.getMonthValue(), + (long) end.getYear(), (long) end.getMonthValue()); + } + private LambdaQueryWrapper buildQueryWrapper(DashboardEnterpriseCheckBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java index 05ef7f0c..6c768f72 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java @@ -9,8 +9,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.zdxt.enforcementcode.common.annotation.DataScope; import com.zdxt.enforcementcode.common.commonenum.PlatformTypeEnums; import com.zdxt.enforcementcode.domain.*; +import com.zdxt.enforcementcode.domain.bo.DashboardEnterpriseCheckQueryBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; +import com.zdxt.enforcementcode.domain.vo.DashboardEnforcementRegistrationInfoVo; import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo; import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationDetailVo; @@ -1051,4 +1053,69 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat } return result; } + /** + * 大屏-重点企业监测检查详情(分页查询执法登记记录) + * 根据企业统一社会信用代码、年份、月份查询执法登记详情 + * 默认查询上个月的数据 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 执法登记记录分页列表 + */ + @Override + public TableDataInfo getEnterpriseCheckDetail(DashboardEnterpriseCheckQueryBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + + // 按企业统一社会信用代码查询 + if (StringUtils.isNotBlank(bo.getEnterpriseNumber())) { + lqw.eq(EnforcementRegistration::getEnterpriseNumber, bo.getEnterpriseNumber()); + } + + // 按企业名称模糊查询 + if (StringUtils.isNotBlank(bo.getEnterpriseName())) { + lqw.like(EnforcementRegistration::getEnterpriseName, bo.getEnterpriseName()); + } + + // 按年份和月份查询(执法时间) + if (bo.getStatYear() != null && bo.getStatMonth() != null) { + // 构建该月的起始和结束时间 + LocalDate startOfMonth = LocalDate.of(bo.getStatYear().intValue(), bo.getStatMonth().intValue(), 1); + LocalDate endOfMonth = startOfMonth.withDayOfMonth(startOfMonth.lengthOfMonth()); + + Date startDate = Date.from(startOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date endDate = Date.from(endOfMonth.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()); + + lqw.between(EnforcementRegistration::getEnforcementTime, startDate, endDate); + } else if (bo.getStatYear() != null) { + // 只按年份查询 + LocalDate startOfYear = LocalDate.of(bo.getStatYear().intValue(), 1, 1); + LocalDate endOfYear = LocalDate.of(bo.getStatYear().intValue(), 12, 31); + + Date startDate = Date.from(startOfYear.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date endDate = Date.from(endOfYear.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()); + + lqw.between(EnforcementRegistration::getEnforcementTime, startDate, endDate); + } else { + // 默认查询上个月的数据 + LocalDate now = LocalDate.now(); + LocalDate lastMonth = now.minusMonths(1); + + LocalDate startOfLastMonth = lastMonth.withDayOfMonth(1); + LocalDate endOfLastMonth = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth()); + + Date startDate = Date.from(startOfLastMonth.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date endDate = Date.from(endOfLastMonth.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant()); + + lqw.between(EnforcementRegistration::getEnforcementTime, startDate, endDate); + } + + // 按执法时间降序排列 + lqw.orderByDesc(EnforcementRegistration::getEnforcementTime); + + // 执行分页查询 + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw, DashboardEnforcementRegistrationInfoVo.class); + + return TableDataInfo.build(result); + } + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardEnterpriseCheckMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardEnterpriseCheckMapper.xml new file mode 100644 index 00000000..43cc46b2 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/DashboardEnterpriseCheckMapper.xml @@ -0,0 +1,21 @@ + + + + + + + +