From 4383367efb6d207a428e2cbbe56e2dd78107f3de Mon Sep 17 00:00:00 2001 From: jing's Date: Sat, 27 Jan 2024 17:19:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=88=A0=E9=99=A4=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/OptionalEbomConfigRMapper.java | 2 +- .../service/OptionalEbomConfigRService.java | 2 +- .../OptionalEbomImportChildService.java | 113 +++++++++--------- .../master/OptionalEbomConfigRMapper.xml | 6 +- 4 files changed, 60 insertions(+), 63 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigRMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigRMapper.java index ddff0b54..1f95d328 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigRMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigRMapper.java @@ -22,7 +22,7 @@ import java.util.List; public interface OptionalEbomConfigRMapper extends BaseMapper { - public List countPublishList(@Param("optionRowIds")String optionRowIds); + public List countPublishList(@Param("optionRowIds")String optionRowIds); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomConfigRService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomConfigRService.java index a4b774d9..fe8f8de9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomConfigRService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomConfigRService.java @@ -44,7 +44,7 @@ public class OptionalEbomConfigRService extends ServiceImpl countPublish(String optionRowIds){ + public List countPublish(String optionRowIds){ return this.baseMapper.countPublishList(optionRowIds); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java index 50ec9a64..84aaa766 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomImportChildService.java @@ -72,13 +72,12 @@ public class OptionalEbomImportChildService extends ServiceImpl optionList = null; @@ -92,17 +91,15 @@ public class OptionalEbomImportChildService extends ServiceImpl listNo = StrUtil.splitTrim(strMaterial,";"); - listNo = listNo.stream().filter(str -> !str.trim().replace(" ","").isEmpty()).collect(Collectors.toList()); + List listNo = StrUtil.splitTrim(strMaterial, ";"); + listNo = listNo.stream().filter(str -> !str.trim().replace(" ", "").isEmpty()).collect(Collectors.toList()); List materialListVo = SpringUtil.getBean(MaterialMainService.class).initMaterialForMaterialNo(listNo); if (CollectionUtil.isEmpty(materialListVo)) { @@ -113,11 +110,8 @@ public class OptionalEbomImportChildService extends ServiceImpl queryWrapper3 = new QueryWrapper<>(); // 同一个机型下不可以存在相同的物料信息(物料编号),如果是“无”的情况,需同一个机型+同一个选项来做唯一判断 if (StrUtil.isEmpty(item.getMaterialNo()) && item.getMaterialName().equals("无")) { @@ -154,39 +148,34 @@ public class OptionalEbomImportChildService extends ServiceImpl list){ // List entityLists= Convert.toList(OptionalEbomImportChildEntity.class,list); // @@ -236,51 +225,59 @@ public class OptionalEbomImportChildService extends ServiceImpl longIds) { - List intersectionList=new ArrayList<>(); //交, 更新 - List subList=new ArrayList<>(); //差, 删除 - if(CollectionUtil.isNotEmpty(longIds)) { + public Boolean deleteBiz(List longIds) { + List intersectionList = null; //交, 更新 + List subList = null; //差, 删除 + if (CollectionUtil.isNotEmpty(longIds)) { String rowIds = longIds.stream().map(Object::toString) .collect(Collectors.joining(",")); - List list= SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds); - List optionIdList=list.stream().map(OptionalEbomConfigRVO::getOptionRowId).collect(Collectors.toList()); + List optionIdList = SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds); + if (optionIdList == null) { + optionIdList = new ArrayList<>(); + } - //交集 相同 - // List intersectionList2= CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList()); - //差 第一个list 不同部分 - List subList2= CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList()); -// if(CollectionUtil.isNotEmpty(intersectionList2)){ -// intersectionList.addAll(intersectionList2); -// } - if(CollectionUtil.isNotEmpty(subList2)){ - subList.addAll(subList2); - } + //交集 相同 已发布 + intersectionList = CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList()); + //差 第一个list 不同部分 未发布 + subList = CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList()); } + //已发布提示 + if (CollectionUtil.isNotEmpty(intersectionList)) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, intersectionList); + + List entityList = getBaseMapper().selectList(queryWrapper); + StringBuffer stringBuffer = new StringBuffer(); + for (OptionalEbomImportChildEntity item : + entityList) { + stringBuffer.append(StrUtil.format("{}({}) , ", item.getMaterialName(), item.getMaterialNo())); + } + stringBuffer.append("以上数据已发布不能删除"); + throw new NflgBusinessException(STATE.Error, stringBuffer.toString()); + } + //删除未发布的选配 及暂存的选配 if (CollectionUtil.isNotEmpty(subList)) { deleteByRowId(subList); - QueryWrapper delOptionWrapper= new QueryWrapper(); - delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId,subList); + QueryWrapper delOptionWrapper = new QueryWrapper(); + delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId, subList); SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper); - } - return true; + return true; } - - - public Boolean updateDelStatusByRowId(List rowIds) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, rowIds); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigRMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigRMapper.xml index 8d2e336a..caae7f89 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigRMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigRMapper.xml @@ -16,9 +16,9 @@ row_id,parent_row_id,option_row_id,choose_status,created_time - + SELECT t1.option_row_id from t_optional_ebom_config_r as t1 LEFT JOIN t_optional_ebom_config as t2 on t1.parent_row_id=t2.row_id + WHERE t1.option_row_id in (${optionRowIds}) and t2.edit_status=1 GROUP BY t1.option_row_id