diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java index e25b3969..8f4bde20 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java @@ -186,9 +186,12 @@ private void checkBackStatus( List backList){ //是否存在退回 List backRowId=rowIds.stream().map(BomNewMbomBackMaterialDTO::getRowId).collect(Collectors.toList()); + List backStatusList=new ArrayList<>(); + backStatusList.add(MBomConstantEnum.MBomBackStatusEnum.APPLY_0.getValue()); + backStatusList.add(MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue()); QueryWrapper queryWrapper=new QueryWrapper<>(); queryWrapper.lambda().in(BomNewMbomBackMaterialEntity::getDetailRowId,backRowId); - queryWrapper.lambda().eq(BomNewMbomBackMaterialEntity::getBackStatus,MBomConstantEnum.MBomBackStatusEnum.REJECT_2.getValue()); + queryWrapper.lambda().in(BomNewMbomBackMaterialEntity::getBackStatus,backStatusList); List backList=getBaseMapper().selectList(queryWrapper); if(CollectionUtil.isNotEmpty(backList)){ @@ -205,12 +208,17 @@ private void checkBackStatus( List backList){ QueryWrapper queryWrapper2=new QueryWrapper<>(); queryWrapper2.lambda().in(BomNewMbomDetailEntity::getRowId,backRowId); List detailEntityList = SpringUtil.getBean(BomNewMbomDetailService.class).list(queryWrapper2); + + List checkVirtualPartList= detailEntityList.stream().filter(item->Objects.nonNull(item.getVirtualPartType())&&item.getVirtualPartType().intValue()>0).collect(Collectors.toList()); if(CollectionUtil.isNotEmpty(checkVirtualPartList)){ throw new NflgBusinessException(STATE.BusinessError,"虚拟包数据不能进行退回"); } - if(detailEntityList.get(0).getFacCode().equals(FactoryCodeEnum.FACTORY_1010.getValue())){ + //1010工厂不能退 + List facCode=detailEntityList.stream().map(BomNewMbomDetailEntity::getFacCode).collect(Collectors.toList()); + + if(facCode.contains(FactoryCodeEnum.FACTORY_1010.getValue())){ throw new NflgBusinessException(STATE.BusinessError,StrUtil.format("{}({}) 工厂数据不能退回",FactoryCodeEnum.FACTORY_1010.getDescription(),FactoryCodeEnum.FACTORY_1010.getValue())); }