|
@@ -55,6 +55,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
+import reactor.util.function.Tuple3;
|
|
|
import tk.mybatis.mapper.weekend.Weekend;
|
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
|
@@ -69,6 +70,9 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.ConcurrentHashMap;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.function.Predicate;
|
|
|
import java.util.stream.Collector;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -193,7 +197,10 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
mapper.deleteByExample(weekend);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
|
|
|
+ Map<Object, Boolean> seen = new ConcurrentHashMap<>();
|
|
|
+ return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
|
|
|
+ }
|
|
|
@Override
|
|
|
public CheckJobVO getCheckJobVODetail(CheckJobDTO checkJobDTO) {
|
|
|
CheckJobVO checkJobVO = new CheckJobVO();
|
|
@@ -201,9 +208,12 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
List<CheckJobVO> checkJobVOS = getJobVO(checkJobDTO);
|
|
|
checkJobVO.setSbNum(checkJobVOS.stream().map(CheckJobVO::getSbId).distinct().collect(Collectors.toList()).size());
|
|
|
checkJobVO.setCountNum(checkJobVOS.size());
|
|
|
- List<CheckJobVO> checkJobVOS1 = checkJobVOS.stream().collect(
|
|
|
- Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(CheckJobVO::getSbId))),ArrayList::new));
|
|
|
+// List<CheckJobVO> checkJobVOS1 = checkJobVOS.stream().collect(
|
|
|
+// Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+// Comparator.comparing(CheckJobVO::getSbId))),ArrayList::new));
|
|
|
+ List<CheckJobVO> checkJobVOS1 = checkJobVOS.stream()
|
|
|
+ .filter(distinctByKey(CheckJobVO::getSbId))
|
|
|
+ .collect(Collectors.toList());
|
|
|
// List<String> sbIds = checkJobVOS.stream().map(CheckJobVO::getSbId).distinct().collect(Collectors.toList());
|
|
|
// List<String> sbNames = checkJobVOS.stream().map(CheckJobVO::getSbName).distinct().collect(Collectors.toList());
|
|
|
Integer waitNum = 0;
|
|
@@ -221,21 +231,25 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
+// }
|
|
|
+ Integer dd = 0;
|
|
|
+// for (CheckJobVO vo: checkJobVOS1){
|
|
|
+// System.out.println(vo.getSbId());
|
|
|
// }
|
|
|
for (int i=0;i< checkJobVOS1.size();i++){
|
|
|
Integer checkNums = 0;
|
|
|
SbInfoVO info = new SbInfoVO();
|
|
|
for (int j=0;j<checkJobVOS.size();j++ ){
|
|
|
- if ((checkJobVOS1.get(i).getStatus()==checkJobVOS.get(j).getStatus()&&checkJobVOS1.get(i).getStatus()==1)&&checkJobVOS.get(j).getSbId().equals(checkJobVOS1.get(i).getSbId())){
|
|
|
+ if (checkJobVOS.get(j).getSbId().equals(checkJobVOS1.get(i).getSbId())){
|
|
|
checkNums++;
|
|
|
if (info.getName()==null){
|
|
|
-
|
|
|
info.setName(checkJobVOS1.get(i).getSbName());
|
|
|
info.setId(checkJobVOS1.get(i).getSbId());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (j>= checkJobVOS.size()-1){
|
|
|
+ dd+=checkNums;
|
|
|
info.setCheckNum(checkNums);
|
|
|
sbInfoVOS.add(info);
|
|
|
}
|
|
@@ -255,6 +269,14 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ Integer sd = 0;
|
|
|
+ for (SbInfoVO vo:sbInfoVOS){
|
|
|
+ if (vo.getCheckNum()!=null){
|
|
|
+ sd+=vo.getCheckNum();
|
|
|
+ }else {
|
|
|
+ System.out.println("");
|
|
|
+ }
|
|
|
+ }
|
|
|
checkJobVO.setSbNum(checkJobVOS1.size());
|
|
|
checkJobVO.setWaitNum(waitNum);
|
|
|
checkJobVO.setCompaleteNum(compaleteNum);
|
|
@@ -266,6 +288,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
@Override
|
|
|
public List<CheckJobVO> getCheckJobVO(CheckJobDTO dto) {
|
|
|
CheckJobDTO checkJobDTO = new CheckJobDTO();
|
|
|
+ checkJobDTO.setTimeFlag(dto.getTimeFlag());
|
|
|
List<CheckJobVO> checkJobVOS = getJobVO(checkJobDTO);
|
|
|
Integer waitNum = 0;
|
|
|
Integer compaleteNum = 0;
|
|
@@ -335,20 +358,24 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
|
|
|
}
|
|
|
checkJobDTO.setCheckUserId(userInfo.getUserId());
|
|
|
checkJobDTO.setType(2);
|
|
|
+ List<Integer> statusList = new ArrayList<>();
|
|
|
+ statusList.add(CheckJobStatusEnum.NOT_EXECUTE.getValue());
|
|
|
+ statusList.add(CheckJobStatusEnum.EXECUTING.getValue());
|
|
|
+ checkJobDTO.setStatusList(statusList);
|
|
|
List<CheckJobVO> checkJobVOS = mapper.selectList(checkJobDTO);
|
|
|
|
|
|
//加上已过期的任务
|
|
|
- checkJobDTO = new CheckJobDTO();
|
|
|
- checkJobDTO.setSearchEndTime(LocalDateTime.parse(firstDay,df));
|
|
|
- checkJobDTO.setCheckUserId(userInfo.getUserId());
|
|
|
- checkJobDTO.setType(2);
|
|
|
- List<Integer> statusList = new ArrayList<>();
|
|
|
- statusList.add(1);
|
|
|
- statusList.add(2);
|
|
|
- checkJobDTO.setStatusList(statusList);
|
|
|
- checkJobDTO.setReceiveOvertime(true);
|
|
|
- List<CheckJobVO> checkJobVOS1 = mapper.selectList(checkJobDTO);
|
|
|
- checkJobVOS.addAll(checkJobVOS1);
|
|
|
+// checkJobDTO = new CheckJobDTO();
|
|
|
+// checkJobDTO.setSearchEndTime(LocalDateTime.parse(firstDay,df));
|
|
|
+// checkJobDTO.setCheckUserId(userInfo.getUserId());
|
|
|
+// checkJobDTO.setType(2);
|
|
|
+// List<Integer> statusList = new ArrayList<>();
|
|
|
+// statusList.add(1);
|
|
|
+// statusList.add(2);
|
|
|
+// checkJobDTO.setStatusList(statusList);
|
|
|
+// checkJobDTO.setReceiveOvertime(true);
|
|
|
+// List<CheckJobVO> checkJobVOS1 = mapper.selectList(checkJobDTO);
|
|
|
+// checkJobVOS.addAll(checkJobVOS1);
|
|
|
return checkJobVOS;
|
|
|
}
|
|
|
|