Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom

This commit is contained in:
luoliming 2024-03-30 16:33:56 +08:00
commit 24926cc757
1 changed files with 10 additions and 2 deletions

View File

@ -186,9 +186,12 @@ private void checkBackStatus( List<BomNewMbomBackMaterialEntity> backList){
//是否存在退回
List<Long> backRowId=rowIds.stream().map(BomNewMbomBackMaterialDTO::getRowId).collect(Collectors.toList());
List<Integer> backStatusList=new ArrayList<>();
backStatusList.add(MBomConstantEnum.MBomBackStatusEnum.APPLY_0.getValue());
backStatusList.add(MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue());
QueryWrapper<BomNewMbomBackMaterialEntity> 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<BomNewMbomBackMaterialEntity> backList=getBaseMapper().selectList(queryWrapper);
if(CollectionUtil.isNotEmpty(backList)){
@ -205,12 +208,17 @@ private void checkBackStatus( List<BomNewMbomBackMaterialEntity> backList){
QueryWrapper<BomNewMbomDetailEntity> queryWrapper2=new QueryWrapper<>();
queryWrapper2.lambda().in(BomNewMbomDetailEntity::getRowId,backRowId);
List<BomNewMbomDetailEntity> detailEntityList = SpringUtil.getBean(BomNewMbomDetailService.class).list(queryWrapper2);
List<BomNewMbomDetailEntity> 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<String> 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()));
}