From c6edea4c81b3f41395179c0ad119e56c7140f64d Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 25 Sep 2023 16:03:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=AE=A1=E7=90=86-=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=A1=B9=E7=9B=AE=E4=B8=8B=E6=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ProblemManagementEOMapper.java | 10 +-- .../mapper/xml/ProblemManagementEOMapper.xml | 39 +++++++++++ .../impl/ProblemManagementEOServiceImpl.java | 10 +-- .../impl/ProjectNameInfoEOServiceImpl.java | 65 ++++++++++++++----- 4 files changed, 99 insertions(+), 25 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProblemManagementEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProblemManagementEOMapper.java index 2ce1e634d..b306ae681 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProblemManagementEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProblemManagementEOMapper.java @@ -1,11 +1,11 @@ package com.jero.modules.project.mapper; -import java.util.List; - +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.project.entity.ProblemManagementEO; import com.jero.modules.project.entity.ProjectLibraryBase; import org.apache.ibatis.annotations.Param; -import com.jero.modules.project.entity.ProblemManagementEO; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; /** * @Description: 问题管理 @@ -17,4 +17,6 @@ public interface ProblemManagementEOMapper extends BaseMapper queryByIds(@Param("ids") String ids); + List queryByIdsProblem(@Param("ids") String ids); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProblemManagementEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProblemManagementEOMapper.xml index d842006a9..8dce3710c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProblemManagementEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProblemManagementEOMapper.xml @@ -62,4 +62,43 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProblemManagementEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProblemManagementEOServiceImpl.java index 5751478fe..8cde535b8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProblemManagementEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProblemManagementEOServiceImpl.java @@ -265,10 +265,12 @@ public class ProblemManagementEOServiceImpl extends ServiceImpl targetMarketList, ProjectLibraryBase projectLibraryBase) { List dictModelList = new ArrayList<>(); - for (String s : projectLibraryBase.getTargetMarket().split(",")) { - List dictModelListTemp = targetMarketList.stream() - .filter(e -> s.equals(e.getValue())).collect(Collectors.toList()); - dictModelList.addAll(dictModelListTemp); + if(StringUtils.isNotBlank(projectLibraryBase.getTargetMarket())){ + for (String s : projectLibraryBase.getTargetMarket().split(",")) { + List dictModelListTemp = targetMarketList.stream() + .filter(e -> s.equals(e.getValue())).collect(Collectors.toList()); + dictModelList.addAll(dictModelListTemp); + } } String targetMarket = ""; if(dictModelList.size() != 0){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java index d8474e4af..d4a2463cd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java @@ -17,9 +17,11 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; +import java.util.Collections; import java.util.Date; +import java.util.LinkedList; import java.util.List; +import java.util.stream.Collectors; /** * @Description: 项目名信息表 @@ -132,27 +134,56 @@ public class ProjectNameInfoEOServiceImpl extends ServiceImpl queryProjectNameList(String cut) { - List projectLibraryBaseList = problemManagementEOMapper.queryByIds(null); + List projectLibraryBaseList = problemManagementEOMapper.queryByIdsProblem(null); //目标市场数据字典 List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); - for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { - //目标市场 - String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase); - //主项目的版本号 - String projectVersion = ""; - if(com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId())){ - projectVersion = "00"; + + List projectLibraryBaseParentList = projectLibraryBaseList.stream().filter(e -> StringUtils.isBlank(e.getParentId())).distinct().collect(Collectors.toList()); + + List result = new LinkedList<>(); + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseParentList) { + //子项目 + List children = projectLibraryBaseList.stream() + .filter(e -> StringUtils.isNotBlank(e.getParentId()) && projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList()); + if(children.size() != 0){ + //子项目的基础上添加的子项目 + List childrenIdList = children.stream().map(ProjectLibraryBase::getId).distinct().collect(Collectors.toList()); + List childrenList = projectLibraryBaseList.stream() + .filter(e -> StringUtils.isNotBlank(e.getParentId()) && childrenIdList.contains(e.getParentId())).collect(Collectors.toList()); + children.addAll(childrenList); + + //按版本排序 + Collections.sort(children); + result.add(projectLibraryBase); + result.addAll(children); }else{ - projectVersion = projectLibraryBase.getProjectVersion(); - } - if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){ - projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() - + "-" + projectLibraryBase.getYearName() - + "-" + targetMarket - +"-"+projectVersion); + result.add(projectLibraryBase); } } - return projectLibraryBaseList; + for (ProjectLibraryBase projectLibraryBase : result) { + if(StringUtils.isBlank(projectLibraryBase.getPlatform())){ + //目标市场 + String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase); + //主项目的版本号 + String projectVersion = ""; + if(StringUtils.isBlank(projectLibraryBase.getParentId())){ + projectVersion = "00"; + }else{ + projectVersion = projectLibraryBase.getProjectVersion(); + } + if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){ + String projectName = projectLibraryBase.getProjectName(); + String yearName = projectLibraryBase.getYearName(); + projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() + + "-" + projectLibraryBase.getYearName() + + "-" + targetMarket + +"-"+projectVersion); + } + }else{ + projectLibraryBase.setProjectName(projectLibraryBase.getProjectNameId()); + } + } + return result; } /* @Override