jiangping
2024-09-02 843d0abd014ec20424844546fc57a9f976f366ba
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -16,6 +16,8 @@
import com.doumee.dao.business.model.PlatformGroup;
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.PlatformWorkVO;
import com.doumee.service.business.PlatformGroupService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -202,10 +204,16 @@
    @Override
    public List<PlatformGroup> getAllPlatformGroup(Integer queryType,LoginUserInfo loginUserInfo) {
    public List<PlatformGroup> getAllPlatformGroup(PlatformDataDTO platformDataDTO, LoginUserInfo loginUserInfo) {
        if(Objects.isNull(platformDataDTO)
        || Objects.isNull(platformDataDTO.getQueryType())
        || Objects.isNull(platformDataDTO.getQueryData())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        List<PlatformGroup> platformGroups = platformGroupMapper.selectList(
                new QueryWrapper<PlatformGroup>()
                        .lambda().eq(PlatformGroup::getIsdeleted, Constants.ZERO)
                        .lambda()
                        .eq(PlatformGroup::getIsdeleted, Constants.ZERO)
                        .orderByAsc(PlatformGroup::getSortnum)
        );
        //查询月台组下所有月台
@@ -214,10 +222,12 @@
                        .selectAll(Platform.class)
                        .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ")
                        .eq(Platform::getIsdeleted, Constants.ZERO)
                        .eq(Objects.nonNull(queryType)&&!Constants.equalsInteger(queryType,Constants.ZERO),Platform::getStatus,Constants.ZERO)
                        .eq(Objects.nonNull(platformDataDTO.getQueryType())&&!Constants.equalsInteger(platformDataDTO.getQueryType(),Constants.ZERO),
                                Platform::getStatus,Constants.ZERO)
        );
        //处理我的月台信息 是否配置隐藏
        if(Constants.equalsInteger(queryType,Constants.TWO)){
        if(Constants.equalsInteger(platformDataDTO.getQueryType(),Constants.ONE)){
            //查询当前登录人配置的可查看月台
            List<PlatformShowParam> platformShowParamList = platformShowParamMapper.selectList(new QueryWrapper<PlatformShowParam>()
                    .lambda()
                    .eq(PlatformShowParam::getIsdeleted, Constants.ZERO)
@@ -240,6 +250,26 @@
                }
            }
        }
        if(Constants.equalsInteger(platformDataDTO.getQueryData(),Constants.ONE)){
            //查询今天所有的任务数据
            List<PlatformJob> platformJobList =  platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
                    .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                            .in(PlatformJob::getStatus,
                                    Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                    Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                    Constants.PlatformJobStatus.CALLED.getKey(),
                                    Constants.PlatformJobStatus.WORKING.getKey(),
                                    Constants.PlatformJobStatus.EXCEPTION.getKey(),
                                    Constants.PlatformJobStatus.OVER_NUMBER.getKey()
                            )
//                    .like(PlatformJob::getArriveDate,DateUtil.getCurrDate())
                    .orderByDesc(PlatformJob::getCreateDate)
            );
            for (Platform platform:allPlatformList) {
                PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platform.getId(),platformJobList);
                platform.setPlatformWorkVO(platformWorkVO);
            }
        }
        for (PlatformGroup platformGroup:platformGroups) {
            platformGroup.setPlatformList(allPlatformList.stream().filter(m->Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList()));
        }
@@ -247,7 +277,31 @@
    }
    public static PlatformWorkVO getPlatformWorkVO(Integer platformId,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());
            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()
                );
                platformWorkVO.setCallNum(
                        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()
                );
                platformWorkVO.setExceptionNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())).collect(Collectors.toList()).size()
                );
                platformWorkVO.setPlatformJobList(platformJobs);
            }
        }
        return platformWorkVO;
    }
}