From 327a851e63663e8829b0ed950ceba945f87c786a Mon Sep 17 00:00:00 2001 From: niujiyi <18272501226@163.com> Date: Fri, 26 Jun 2026 16:38:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E6=B3=95=E7=AB=AF-=E8=81=94=E5=90=88?= =?UTF-8?q?=E6=89=A7=E6=B3=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppEnforcementRegistrationController.java | 7 +- .../enterprise/UnionEnforcementGroupVo.java | 22 ++++++ .../IEnforcementRegistrationService.java | 10 ++- .../EnforcementRegistrationServiceImpl.java | 71 +++++++++---------- 4 files changed, 65 insertions(+), 45 deletions(-) create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/UnionEnforcementGroupVo.java diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java index 3780d5b6..8e12e2cb 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java @@ -2,11 +2,7 @@ package com.zdxt.enforcementcode.controller.app.enforcement; import cn.dev33.satoken.annotation.SaIgnore; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zdxt.enforcementcode.common.util.CommonUtil; -import com.zdxt.enforcementcode.domain.EnforcementRegistration; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo; import com.zdxt.enforcementcode.domain.bo.enterprise.AppEnterpriseComplaintBo; @@ -14,6 +10,7 @@ import com.zdxt.enforcementcode.domain.bo.enterprise.AppLawEnforcementCaseBo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo; import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo; +import com.zdxt.enforcementcode.domain.vo.enterprise.UnionEnforcementGroupVo; import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo; import com.zdxt.enforcementcode.domain.vo.enterprise.AppLawEnforcementCaseVo; import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; @@ -249,7 +246,7 @@ public class AppEnforcementRegistrationController extends BaseController { */ @SaIgnore @GetMapping("/queryUnionByHour") - public R>> queryUnionByHour(EnforcementRegistrationBo bo) + public R> queryUnionByHour(EnforcementRegistrationBo bo) { return R.ok(enforcementRegistrationService.queryUnionByHour(bo)); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/UnionEnforcementGroupVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/UnionEnforcementGroupVo.java new file mode 100644 index 00000000..a5be716e --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/UnionEnforcementGroupVo.java @@ -0,0 +1,22 @@ +package com.zdxt.enforcementcode.domain.vo.enterprise; + +import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +@Data +public class UnionEnforcementGroupVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 联合执法编号 + */ + private String unionNo; + + /** + * 该联合执法编号下的所有执法登记记录 + */ + private List registrations; +} 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 0b6ea6b1..e35264e4 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,11 +1,11 @@ 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.UnionEnforcementGroupVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationDetailVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.PathVariable; import java.util.Collection; import java.util.List; -import java.util.Map; /** * 企业端-执法登记记录Service接口 @@ -123,8 +122,13 @@ public interface IEnforcementRegistrationService { /** * 执法端-查询联合执法 + * 根据企业统一信用号, 搜索出该企业前推一小时内的联合执法 + * 用于用户自行进行关联 + * + * @param bo 查询条件 + * @return 联合执法分组列表 */ - List> queryUnionByHour(EnforcementRegistrationBo bo); + List queryUnionByHour(EnforcementRegistrationBo bo); /** * 执法端-查询执法登记详情 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 6e3b78d0..ad24ec9b 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 @@ -12,13 +12,8 @@ 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; -import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationInfoVo; -import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; -import com.zdxt.enforcementcode.domain.vo.enterprise.EnterpriseEvaluateInfoVo; +import com.zdxt.enforcementcode.domain.vo.*; +import com.zdxt.enforcementcode.domain.vo.enterprise.*; import com.zdxt.enforcementcode.mapper.*; import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; @@ -31,7 +26,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.system.domain.SysDept; import org.dromara.system.domain.SysUser; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.domain.vo.SysDictDataVo; @@ -39,7 +33,6 @@ import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.service.ISysDictTypeService; import org.springframework.stereotype.Service; -import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; import java.time.Instant; @@ -989,48 +982,44 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat * 执法端-查询联合执法 */ @Override - public List> queryUnionByHour(EnforcementRegistrationBo bo) { + public List queryUnionByHour(EnforcementRegistrationBo bo) { // 定义时间格式 DateTimeFormatter time_formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 获取当前时间 LocalDateTime now_tmp = LocalDateTime.now(); // 正常登记为一个小时范围, 补录为为单天 - if ("edit".equals(bo.getCheckCss())) { - if (bo.getEnforcementTime() == null) { - throw new IllegalArgumentException("编辑模式下,执法时间不能为空"); - } + if ("9".equals(bo.getCheckCss())) { + bo.setCheckCss(bo.getEnforcementTime().toString()); + } else if ("edit".equals(bo.getCheckCss())) { + if (bo.getEnforcementTime() == null) { + throw new IllegalArgumentException("编辑模式下,执法时间不能为空"); + } bo.setCheckCss(null); - LocalDateTime dateTime = bo.getEnforcementTime().toInstant() + LocalDateTime dateTime = bo.getEnforcementTime().toInstant() .atZone(java.time.ZoneId.systemDefault()) .toLocalDateTime(); - //LocalDateTime dateTime = LocalDateTime.parse((CharSequence) bo.getEnforcementTime(), time_formatter); - // 获取登记前一个小时的时间 LocalDateTime oneHourAgo_tmp = dateTime.minusHours(1); LocalDateTime oneHourLater_tmp = dateTime.plusHours(1); - // 格式化时间 String oneHourAgo = oneHourAgo_tmp.format(time_formatter); String oneHourLater = oneHourLater_tmp.format(time_formatter); - bo.setBeginTime(oneHourAgo); - bo.setEndTime(oneHourLater); + bo.setBeginTime(oneHourAgo); + bo.setEndTime(oneHourLater); } else { - // 获取当前时间前一个小时的时间 LocalDateTime oneHourAgo_tmp = now_tmp.minusHours(1); LocalDateTime oneHourLater_tmp = now_tmp.plusHours(1); - // 格式化时间 String oneHourAgo = oneHourAgo_tmp.format(time_formatter); String oneHourLater = oneHourLater_tmp.format(time_formatter); - bo.setBeginTime(oneHourAgo); - bo.setEndTime(oneHourLater); + bo.setBeginTime(oneHourAgo); + bo.setEndTime(oneHourLater); } - // 可能会出现 同一时间 多组人, 多组联合执法 , 所以新增的时候还是需要生成联合执法id , List enforcementRegistrations = baseMapper.selectEnforcementRegistrationByUnion(bo); - /** 进行时间筛选, 按需求,查询出来的联合编码想通的时间最早的必须在规定的时间范围类, 否则踢出列表 */ - // 先把联合编码做成set - Set noSet = enforcementRegistrations.stream().map(EnforcementRegistration::getUnionNo).collect(Collectors.toSet()); + Set noSet = enforcementRegistrations.stream() + .map(EnforcementRegistration::getUnionNo) + .collect(Collectors.toSet()); List outNos = new ArrayList<>(); for (String no: noSet) { bo.setUnionNo(no); @@ -1039,7 +1028,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat outNos.add(no); } } - // 使用迭代器移除enforcementRegistrations中unionNo在outNo中存在的对象 + Iterator iterator = enforcementRegistrations.iterator(); while (iterator.hasNext()) { EnforcementRegistration obj = iterator.next(); @@ -1048,21 +1037,29 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat } } - // 分组操作 Map> groupedByNo = enforcementRegistrations.stream() .collect(Collectors.groupingBy(EnforcementRegistration::getUnionNo)); - // 转换为 List> - List> result = new ArrayList<>(); + List result = new ArrayList<>(); for (Map.Entry> entry : groupedByNo.entrySet()) { - Map map = new HashMap<>(); - for (EnforcementRegistration e : entry.getValue()) { - map.put(null, e); - } - result.add(map); + UnionEnforcementGroupVo groupVo = new UnionEnforcementGroupVo(); + groupVo.setUnionNo(entry.getKey()); + + List voList = entry.getValue().stream() + .map(reg -> { + EnforcementRegistrationVo vo = new EnforcementRegistrationVo(); + org.springframework.beans.BeanUtils.copyProperties(reg, vo); + return vo; + }) + .collect(Collectors.toList()); + + groupVo.setRegistrations(voList); + result.add(groupVo); } + return result; } + /** * 大屏-重点企业监测检查详情(分页查询执法登记记录) * 根据企业统一社会信用代码、年份、月份查询执法登记详情