liukangdong
2024-09-26 084ca7506e8dec25434a582acd700f9f97a132c0
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -17,6 +17,7 @@
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformShowParam;
import com.doumee.dao.web.reqeust.PlatformDataDTO;
import com.doumee.dao.web.response.PlatformGroupWorkVO;
import com.doumee.dao.web.response.PlatformWorkVO;
import com.doumee.service.business.PlatformGroupService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -260,13 +261,14 @@
                                    Constants.PlatformJobStatus.CALLED.getKey(),
                                    Constants.PlatformJobStatus.WORKING.getKey(),
                                    Constants.PlatformJobStatus.EXCEPTION.getKey(),
                                    Constants.PlatformJobStatus.OVER_NUMBER.getKey()
                                    Constants.PlatformJobStatus.OVER_NUMBER.getKey(),
                                    Constants.PlatformJobStatus.TRANSFERING.getKey()
                            )
//                    .like(PlatformJob::getArriveDate,DateUtil.getCurrDate())
                    .orderByDesc(PlatformJob::getCreateDate)
            );
            for (Platform platform:allPlatformList) {
                PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platform.getId(),platformJobList);
                PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platform,platformJobList);
                platform.setPlatformWorkVO(platformWorkVO);
            }
        }
@@ -277,11 +279,12 @@
    }
    public static PlatformWorkVO getPlatformWorkVO(Integer platformId,List<PlatformJob> platformJobList){
    public static PlatformWorkVO getPlatformWorkVO(Platform platform,List<PlatformJob> platformJobList){
        PlatformWorkVO platformWorkVO = new PlatformWorkVO();
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
            //获取月台下的所有作业数据
            List<PlatformJob> platformJobs = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platformId)).collect(Collectors.toList());
            List<PlatformJob> platformJobs = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId()) || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
            ).collect(Collectors.toList());
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){
                platformWorkVO.setWorkNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
@@ -290,12 +293,22 @@
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                );
                platformWorkVO.setWaitNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())).collect(Collectors.toList()).size()
                        platformJobs.stream().filter(i->
                                 Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                                ||  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                        ).collect(Collectors.toList()).size()
                        +
                        platformJobList.stream().filter(i->Constants.equalsInteger(platform.getId(),i.getPlatformId())
                                && (Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())
                               )
                        ).collect(Collectors.toList()).size()
                );
                platformWorkVO.setExceptionNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())).collect(Collectors.toList()).size()
                );
                platformWorkVO.setPlatformJobList(platformJobs);
                platformWorkVO.setPlatformJobList(platformJobs.stream().filter(
                        i->Constants.equalsInteger(platform.getId(),i.getPlatformId()) && !Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                ).collect(Collectors.toList()));
            }
        }
        return platformWorkVO;
@@ -303,5 +316,27 @@
    @Override
    public PlatformGroupWorkVO getPlatformGroupWork(Integer platformGroupId){
        PlatformGroupWorkVO platformGroupWorkVO = new PlatformGroupWorkVO();
        platformGroupWorkVO.setExceptionNum(platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                .eq(PlatformJob::getPlatformGroupId,platformGroupId)
                .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey())
            )
        );
        platformGroupWorkVO.setWaitNum(platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                        .eq(PlatformJob::getPlatformGroupId,platformGroupId)
                        .in(PlatformJob::getStatus,
                                Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey()
                        )
                )
        );
        return platformGroupWorkVO;
    }
}