1 年之前
父節點
當前提交
b927fb96ce

+ 1 - 1
platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml

@@ -64,7 +64,7 @@
         on info.id = job.sb_id
         <where>
         and (job.status = 1 or job.status =2) and position .id in
-        <foreach item="item" index="index" collection="list" open="(" close=")" separator=",">
+        <foreach item="item" index="index" collection="positionIds" open="(" close=")" separator=",">
             #{item}
         </foreach>
         <if test="searchEndTime!=null">

+ 44 - 17
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -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;
     }