rk
昨天 e265fd71f866680a23248bf54575083cedb531ed
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -610,27 +610,22 @@
            || Objects.isNull(dto.getType())){
            return jkCabinetGridList;
        }else{
            JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId());
            JkCabinet jkCabinet = jkCabinetMapper.selectJoinOne(JkCabinet.class,new MPJLambdaWrapper<JkCabinet>()
                            .selectAll(JkCabinet.class)
                            .select("now()",JkCabinet::getNow)
                    .eq(JkCabinet::getId,dto.getCabinetId()));
            if(Objects.isNull(jkCabinet)){
                return jkCabinetGridList;
            }
            if(Constants.equalsInteger(jkCabinet.getDoubleAuth(),Constants.ONE)){
                if(StringUtils.isBlank(jkCabinet.getAuthMemberId())){
            if(Constants.equalsInteger(jkCabinet.getDoubleAuth(),Constants.ONE)&&Constants.equalsInteger(dto.getType(),Constants.ZERO)){
                if(StringUtils.isBlank(jkCabinet.getAuthMemberId())||Objects.isNull(dto.getAutoMemberId())){
                    return jkCabinetGridList;
                }
                List<String> authMemberList =  Arrays.asList(jkCabinet.getAuthMemberId().split(","));
                Boolean flag = true;
                for (String id:authMemberList) {
                    if(Arrays.asList(jkCabinet.getAuthMemberId().split(",")).contains(id)){
                        flag = false;
                        break;
                    }
                }
                if(flag){
                if(!authMemberList.contains(dto.getAutoMemberId())){
                    return jkCabinetGridList;
                }
            }
            //如果是还钥匙 则直接查询已借出的钥匙的数据
            if(Constants.equalsInteger(dto.getType(),Constants.ONE)){
                jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
@@ -667,7 +662,7 @@
                //判断当前时间是否处于保洁时段内
                String cleanConfig =  systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.CLEAN_TIME).getCode();
                String earlyConfig =  systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.EARLY_CONFIG).getCode();
                Boolean isCleanTime = Constants.betweenTimeConfig(cleanConfig);
                Boolean isCleanTime = Constants.betweenTimeConfig(cleanConfig,jkCabinet.getNow());
                List<Integer> girdIdList = new ArrayList<>();
                //查询根据任务可以领取的数据
                jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
@@ -688,7 +683,11 @@
                                .eq(JkKeys::getRoleType,Constants.ONE)
//                                .eq(Cars::getMemberId,dto.getMemberId())
                                .isNotNull(JkCabinetGrid::getKeyId)
                                .apply(" t2.code in ( select c.car_code from car_use_book c   where c.isdeleted = 0   and NOW() > DATE_SUB(c.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < c.end_time  and c.DRIVER_ID = "+dto.getMemberId()+" ) ")
                                .apply(" ( t2.code in ( select c.car_code from car_use_book c   where c.isdeleted = 0   and NOW() > DATE_SUB(c.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < c.end_time  " +
                                        " and   c.DRIVER_ID = "+dto.getMemberId()+"   )" +
                                        " or t2.code in ( select c.car_code from car_use_book c inner join  cars c1 on c.CAR_ID = c1.ID  where c1.MEMBER_ID = 6611 AND NOW() > DATE_SUB( c.START_TIME, INTERVAL 30 MINUTE ) AND now() < c.end_time )" +
                                        " )" +
                                        " ")
                );
                for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
@@ -1220,7 +1219,7 @@
            List<SyncGridDTO> gridSyncList = gridDTOList.stream().filter(i->StringUtils.isNotBlank(i.getBoardCode())&&
                    StringUtils.isNotBlank(i.getChannelCode())&&StringUtils.isNotBlank(i.getActualLable())&&i.getBoardCode().equals(jkCabinetGrid.getBoardCode())
            && i.getChannelCode().equals(jkCabinetGrid.getChannelCode())).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(gridDTOList)){
            if(CollectionUtils.isEmpty(gridSyncList)){
                continue;
            }
            SyncGridDTO syncGridDTO = gridSyncList.get(Constants.ZERO);