|
|
|
@ -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<Map<String, Object>> queryUnionByHour(EnforcementRegistrationBo bo) { |
|
|
|
public List<UnionEnforcementGroupVo> 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<EnforcementRegistration> enforcementRegistrations = baseMapper.selectEnforcementRegistrationByUnion(bo); |
|
|
|
|
|
|
|
/** 进行时间筛选, 按需求,查询出来的联合编码想通的时间最早的必须在规定的时间范围类, 否则踢出列表 */ |
|
|
|
// 先把联合编码做成set
|
|
|
|
Set<String> noSet = enforcementRegistrations.stream().map(EnforcementRegistration::getUnionNo).collect(Collectors.toSet()); |
|
|
|
Set<String> noSet = enforcementRegistrations.stream() |
|
|
|
.map(EnforcementRegistration::getUnionNo) |
|
|
|
.collect(Collectors.toSet()); |
|
|
|
List<String> 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<EnforcementRegistration> iterator = enforcementRegistrations.iterator(); |
|
|
|
while (iterator.hasNext()) { |
|
|
|
EnforcementRegistration obj = iterator.next(); |
|
|
|
@ -1048,21 +1037,29 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 分组操作
|
|
|
|
Map<String, List<EnforcementRegistration>> groupedByNo = enforcementRegistrations.stream() |
|
|
|
.collect(Collectors.groupingBy(EnforcementRegistration::getUnionNo)); |
|
|
|
|
|
|
|
// 转换为 List<Map<String, String>>
|
|
|
|
List<Map<String, Object>> result = new ArrayList<>(); |
|
|
|
List<UnionEnforcementGroupVo> result = new ArrayList<>(); |
|
|
|
for (Map.Entry<String, List<EnforcementRegistration>> entry : groupedByNo.entrySet()) { |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
for (EnforcementRegistration e : entry.getValue()) { |
|
|
|
map.put(null, e); |
|
|
|
} |
|
|
|
result.add(map); |
|
|
|
UnionEnforcementGroupVo groupVo = new UnionEnforcementGroupVo(); |
|
|
|
groupVo.setUnionNo(entry.getKey()); |
|
|
|
|
|
|
|
List<EnforcementRegistrationVo> 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; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 大屏-重点企业监测检查详情(分页查询执法登记记录) |
|
|
|
* 根据企业统一社会信用代码、年份、月份查询执法登记详情 |
|
|
|
|