|
|
|
@ -415,7 +415,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat |
|
|
|
if (StringUtils.isNotEmpty(enforcementRegistration.getId())) { |
|
|
|
EnforcementRegistration raw_data = selectEnforcementRegistrationById(enforcementRegistration.getId()); |
|
|
|
// 如果是联合执法
|
|
|
|
if (1 == raw_data.getHasUnion()) { |
|
|
|
if (1 == raw_data.getHasUnion() && 1 == enforcementRegistration.getHasUnion()) { |
|
|
|
// 如果联合的部门没改变, 则无需处理!
|
|
|
|
if (!raw_data.getUnionNo().equals(enforcementRegistration.getUnionNo())) { |
|
|
|
// 如果改变, 这通过原联合code查出已联合数量, 数量>2则无需修改他人数据, 2<=则将他人的联合标签hasUnion设为0
|
|
|
|
@ -436,6 +436,22 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat |
|
|
|
enforcementRegistrationMapper.updateRegToUnionFlag(updateUnionParams2); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
EnforcementRegistration er = new EnforcementRegistration(); |
|
|
|
er.setUnionNo(raw_data.getUnionNo()); |
|
|
|
List<EnforcementRegistration> raw_unions = enforcementRegistrationMapper.selectEnforcementRegistrationByUnion(er); |
|
|
|
if (raw_unions.size() <= 2) { |
|
|
|
// 将原自身 union_no 清空 将所有关联的 has_union 置 0
|
|
|
|
EnforcementRegistration updateUnionParams1 = new EnforcementRegistration(); |
|
|
|
updateUnionParams1.setUnionNo("-1"); |
|
|
|
updateUnionParams1.setId(raw_data.getId()); |
|
|
|
enforcementRegistrationMapper.updateEnforcementRegistration(updateUnionParams1); |
|
|
|
|
|
|
|
EnforcementRegistration updateUnionParams2 = new EnforcementRegistration(); |
|
|
|
updateUnionParams2.setUnionNo(raw_data.getUnionNo()); |
|
|
|
updateUnionParams2.setHasUnion(0); |
|
|
|
enforcementRegistrationMapper.updateRegToUnionFlag(updateUnionParams2); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 然后开始走新增联合执法的流程
|
|
|
|
@ -1130,7 +1146,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat |
|
|
|
// 定义时间格式
|
|
|
|
DateTimeFormatter time_formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|
|
|
// 定义时间格式
|
|
|
|
DateTimeFormatter date_formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
|
|
|
// DateTimeFormatter date_formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
|
|
|
// 获取当前时间
|
|
|
|
LocalDateTime now_tmp = LocalDateTime.now(); |
|
|
|
@ -1145,24 +1161,47 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat |
|
|
|
LocalDateTime dateTime = LocalDateTime.parse(enforcementTime, time_formatter); |
|
|
|
// 获取登记前一个小时的时间
|
|
|
|
LocalDateTime oneHourAgo_tmp = dateTime.minusHours(1); |
|
|
|
LocalDateTime oneHourLater_tmp = dateTime.plusHours(1); |
|
|
|
// 格式化时间
|
|
|
|
String now = dateTime.format(time_formatter); |
|
|
|
String oneHourAgo = oneHourAgo_tmp.format(time_formatter); |
|
|
|
String oneHourLater = oneHourLater_tmp.format(time_formatter); |
|
|
|
er.setBeginTime(oneHourAgo); |
|
|
|
er.setEndTime(now); |
|
|
|
er.setUnionNo(unionNo); |
|
|
|
er.setEndTime(oneHourLater); |
|
|
|
// er.setUnionNo(unionNo);
|
|
|
|
} else { |
|
|
|
// 获取当前时间前一个小时的时间
|
|
|
|
LocalDateTime oneHourAgo_tmp = now_tmp.minusHours(1); |
|
|
|
LocalDateTime oneHourLater_tmp = now_tmp.plusHours(1); |
|
|
|
// 格式化时间
|
|
|
|
String now = now_tmp.format(time_formatter); |
|
|
|
String oneHourAgo = oneHourAgo_tmp.format(time_formatter); |
|
|
|
String oneHourLater = oneHourLater_tmp.format(time_formatter); |
|
|
|
er.setBeginTime(oneHourAgo); |
|
|
|
er.setEndTime(now); |
|
|
|
er.setEndTime(oneHourLater); |
|
|
|
} |
|
|
|
|
|
|
|
// 可能会出现 同一时间 多组人, 多组联合执法 , 所以新增的时候还是需要生成联合执法id ,
|
|
|
|
List<EnforcementRegistration> enforcementRegistrations = enforcementRegistrationMapper.selectEnforcementRegistrationByUnion(er); |
|
|
|
|
|
|
|
/** 进行时间筛选, 按需求,查询出来的联合编码想通的时间最早的必须在规定的时间范围类, 否则踢出列表 */ |
|
|
|
// 先把联合编码做成set
|
|
|
|
Set<String> noSet = enforcementRegistrations.stream().map(EnforcementRegistration::getUnionNo).collect(Collectors.toSet()); |
|
|
|
List<String> outNos = new ArrayList<>(); |
|
|
|
for (String no: noSet) { |
|
|
|
er.setUnionNo(no); |
|
|
|
int resNum = enforcementRegistrationMapper.outTimeByUnion(er); |
|
|
|
if (resNum > 0) { |
|
|
|
outNos.add(no); |
|
|
|
} |
|
|
|
} |
|
|
|
// 使用迭代器移除enforcementRegistrations中unionNo在outNo中存在的对象
|
|
|
|
Iterator<EnforcementRegistration> iterator = enforcementRegistrations.iterator(); |
|
|
|
while (iterator.hasNext()) { |
|
|
|
EnforcementRegistration obj = iterator.next(); |
|
|
|
if (outNos.contains(obj.getUnionNo())) { |
|
|
|
iterator.remove(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 分组操作
|
|
|
|
Map<String, List<EnforcementRegistration>> groupedByNo = enforcementRegistrations.stream() |
|
|
|
.collect(Collectors.groupingBy(EnforcementRegistration::getUnionNo)); |
|
|
|
|