From 8160b5c0a66f2a79b5e1a36f508eeb711a36ecda Mon Sep 17 00:00:00 2001 From: jing's Date: Fri, 22 Dec 2023 08:48:06 +0800 Subject: [PATCH] =?UTF-8?q?=20=E7=A7=BB=E5=8A=A8=E7=A0=B4=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/api/user/OptionalEbomApi.java | 10 +++++- .../master/OptionalEbomConfigMapper.java | 5 +++ .../OptionalEbomImportChildService.java | 34 ++++++++++--------- .../service/OptionalEbomMainService.java | 28 +++++++++++---- .../aggreg/AggregOptionConfigService.java | 22 ++++++++++++ .../aggreg/PublishMaterialService.java | 8 ++--- .../master/OptionalEbomConfigMapper.xml | 17 ++++++++++ 7 files changed, 96 insertions(+), 28 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java index 45c27330..a644e458 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalEbomApi.java @@ -14,6 +14,7 @@ import com.nflg.product.bomnew.excel.ExportDeviceHelper; import com.nflg.product.bomnew.excel.PreviewProduceExcelExportHelper; import com.nflg.product.bomnew.excel.PreviewTmpExcelExportHelper; import com.nflg.product.bomnew.pojo.dto.*; +import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigEntity; import com.nflg.product.bomnew.pojo.query.OptionalEbomConfigListQuery; import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery; import com.nflg.product.bomnew.pojo.query.OptionalEbomMainListQuery; @@ -200,9 +201,16 @@ public class OptionalEbomApi extends BaseApi { } if(Objects.equals(dto.getPartType() , OptionalBomConstant.PartTypeEnum.PART_TYPE_CHECBOX.getValue())){ dto.setParentRowId(null); + OptionalEbomConfigEntity entity= optionalEbomConfigService.getById(dto.getRootRowId()); + + if(entity!=null){ + dto.setRootRowId(entity.getParentRowId()); + } + } try { + if (this.optionalEbomImportChildService.insertOption(dto)) { return ResultVO.success(true); } else { @@ -263,7 +271,7 @@ public class OptionalEbomApi extends BaseApi { @GetMapping("tmpOptionTree") @ApiOperation("获取暂存数据选项") public ResultVO tmpOptionTree(@ApiParam("暂存id") @RequestParam("rowId") Long rowId) { - return ResultVO.success(aggregOptionConfigService.tmpOptionTree(rowId)); + return ResultVO.success(aggregOptionConfigService.tmpOptionInfoList(rowId)); } @PostMapping ("submitTmpOptionTree") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigMapper.java index 932d97c9..9a19cf7f 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalEbomConfigMapper.java @@ -34,7 +34,12 @@ public interface OptionalEbomConfigMapper extends BaseMapper getTmpOptionList(@Param("rowId") Long rowId); + List getPreviewOptionList(@Param("rowId") Long rowId); + List getTmpOptionInfoList(@Param("rowId") Long rowId); + + + } 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 56992f72..d57586c5 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 @@ -17,6 +17,7 @@ import com.nflg.product.bomnew.mapper.master.OptionalEbomImportChildMapper; import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildAddDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomMainDelDTO; +import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigREntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportChildEntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportEntity; import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery; @@ -197,12 +198,12 @@ public class OptionalEbomImportChildService extends ServiceImpl optionIdList=list.stream().map(OptionalEbomConfigRVO::getOptionRowId).collect(Collectors.toList()); //交集 相同 - List intersectionList2= CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList()); + // 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(intersectionList2)){ +// intersectionList.addAll(intersectionList2); +// } if(CollectionUtil.isNotEmpty(subList2)){ subList.addAll(subList2); } @@ -210,19 +211,20 @@ public class OptionalEbomImportChildService extends ServiceImpl 0; +// } + + //删除未发布的选配 及暂存的选配 + if (CollectionUtil.isNotEmpty(subList)) { + deleteByRowId(subList); + QueryWrapper delOptionWrapper= new QueryWrapper(); + delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId,subList); + SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper); + + } + return true; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomMainService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomMainService.java index cbed0cbc..cdd7d3f9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomMainService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalEbomMainService.java @@ -13,6 +13,7 @@ import com.nflg.product.bomnew.mapper.master.OptionalEbomMainMapper; import com.nflg.product.bomnew.pojo.dto.OptionalEbomMainDTO; import com.nflg.product.bomnew.pojo.dto.OptionalEbomMainDelDTO; import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigEntity; +import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigREntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportEntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomMainEntity; import com.nflg.product.bomnew.pojo.query.OptionalEbomMainListQuery; @@ -76,7 +77,9 @@ public class OptionalEbomMainService extends ServiceImpl configList = SpringUtil.getBean(OptionalEbomConfigService.class).list(queryWrapper); - List publishList = configList.stream().filter(item -> item.getEditStatus().equals(OptionalBomConstant.PublishEnum.PUBLISH.getValue())).collect(Collectors.toList()); + List publishList = configList.stream().filter(item -> item.getEditStatus().equals(OptionalBomConstant.PublishEnum.PUBLISH.getValue())).collect(Collectors.toList()); List tmpList = configList.stream().filter(item -> item.getEditStatus().equals(OptionalBomConstant.PublishEnum.TMP.getValue())).collect(Collectors.toList()); + + if (CollectionUtil.isNotEmpty(publishList)) { updateList.add(rowId); } else { delList.add(rowId); } + + if (CollectionUtil.isNotEmpty(tmpList)) { delTmpList.addAll(tmpList.stream().map(OptionalEbomConfigEntity::getRowId).collect(Collectors.toList())); } @@ -109,19 +116,26 @@ public class OptionalEbomMainService extends ServiceImpl delOptionWrapper= new QueryWrapper(); + delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getParentRowId,delTmpList); + SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper); + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/AggregOptionConfigService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/AggregOptionConfigService.java index f4176bd5..964e32c5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/AggregOptionConfigService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/AggregOptionConfigService.java @@ -205,6 +205,28 @@ public class AggregOptionConfigService { return tmpVo; } + /** + * 暂存 + * @param rowId + * @return + */ + public OptionalEbomConfigTmpAggregVO tmpOptionInfoList(Long rowId) { + OptionalEbomConfigEntity optionalEbomConfigEntity = optionalEbomConfigService.getById(rowId); + OptionalEbomConfigTmpAggregVO tmpVo = new OptionalEbomConfigTmpAggregVO(); + if (optionalEbomConfigEntity != null) { + OptionalEbomConfigVO optionalEbomConfigVO = Convert.convert(new TypeReference() { + }, optionalEbomConfigEntity); + + tmpVo.setDeviceInfo(optionalEbomConfigVO); + List listParent = optionalEbomImportService.getByRootIdList(optionalEbomConfigEntity.getParentRowId()); + List listChild = optionalEbomConfigService.getBaseMapper().getTmpOptionInfoList(rowId); + OptionalEbomConfigAggregVO optionalEbomConfigAggregVO= filterTree(listParent,listChild); + tmpVo.setSingleList(optionalEbomConfigAggregVO.getSingleList()); + tmpVo.setMulList(optionalEbomConfigAggregVO.getMulList()); + } + return tmpVo; + } + /** * 编辑暂存数据 diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/PublishMaterialService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/PublishMaterialService.java index 5f90fc5c..b082f73d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/PublishMaterialService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/aggreg/PublishMaterialService.java @@ -52,8 +52,8 @@ public class PublishMaterialService { * 2.更改状态 * 3.上传sap * - * @param rowId - */ + * + public void publish(Long rowId) { @@ -73,7 +73,7 @@ public class PublishMaterialService { System.out.println(result); System.out.println(signMd5); - } + } */ public ResultVO publishWork(OptionalEbomPublishAddDTO optionalEbomPublishAddDTO) { @@ -218,7 +218,7 @@ public class PublishMaterialService { */ private void genVirtualPackMachineLevel2(List materialList, List optionList, Long rootRowId, Long parentId, String desc) throws NflgBusinessException { - List materialNoList = optionList.stream().map(OptionalEbomImportChildVO::getMaterialNo).map(Long::parseLong).collect(Collectors.toList()); + List materialNoList = optionList.stream().filter(u-> u.getPartType().equals(OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue()) ).map(OptionalEbomImportChildVO::getMaterialNo).map(Long::parseLong).collect(Collectors.toList()); Collections.sort(materialNoList); String result = materialNoList.stream().map(String::valueOf).collect(Collectors.joining(",")); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml index 59515c06..7e0b61b6 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml @@ -52,9 +52,22 @@ order by created_time desc + + + + +