rk
10 小时以前 42ad8dcebd40baa9f7933fcb9b5308fdb5756085
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -259,6 +259,7 @@
                //更新钥匙柜信息
                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getKeyId,null)
                        .set(JkCabinetGrid::getActualLable,null)
                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
                        .eq(JkCabinetGrid::getId,model.getId()));
                JkKeys keysModel = jkKeysMapper.selectById(model.getKeyId());
@@ -277,6 +278,7 @@
            if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getKeyId,null)
                        .set(JkCabinetGrid::getActualLable,null)
                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
                        .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
                List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
@@ -488,6 +490,14 @@
                                .set(JkKeys::getStatus,dto.getKeyStatus())
                                .eq(JkKeys::getId,jkKeys.getId())
                        );
                        if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)&&
                                (StringUtils.isBlank(jkCabinetGrid.getActualLable())||!StringUtils.equals(jkCabinetGrid.getActualLable(),jkKeys.getRfidLable()))){
                            //更新钥匙实际编码
                            jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
                                    .set(JkCabinetGrid::getActualLable,jkKeys.getRfidLable())
                                    .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
                            );
                        }
                    }
                }
            }
@@ -1144,5 +1154,53 @@
    @Override
    public void syncGridData(SyncCabinetDTO dto){
        if(Objects.isNull(dto)
                ||StringUtils.isBlank(dto.getCode())
                || CollectionUtils.isEmpty(dto.getGridDTOList())){
            return;
        }
        List<JkCabinetGrid> jkCabinetGridList =
                jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>()
                        .selectAll(JkCabinetGrid.class)
                        .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
                        .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
                        .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
                        .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
                        .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId)
                        .eq(JkCabinet::getCode,dto.getCode())
                        .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
                        .isNotNull(JkCabinetGrid::getBoardCode)
                        .isNotNull(JkCabinetGrid::getChannelCode)
                        .orderByAsc(JkCabinetGrid::getCode)
                );
        if(CollectionUtils.isEmpty(jkCabinetGridList)){
            return;
        }
        List<SyncGridDTO> gridDTOList = dto.getGridDTOList();
        for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
            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(gridSyncList)){
                continue;
            }
            SyncGridDTO syncGridDTO = gridSyncList.get(Constants.ZERO);
            if(StringUtils.isBlank(jkCabinetGrid.getKeyCode())
                    || (!jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable())
                    && !jkCabinetGrid.getActualLable().equals(syncGridDTO.getActualLable()))){
                //更新数据 标记对应code
                jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getActualLable,syncGridDTO.getActualLable())
                        .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
                );
            }
        }
    }
}