问题管理

相关项目下拉
This commit is contained in:
zhn
2023-09-06 09:54:12 +08:00
parent f7ab3f00bc
commit f952239177
5 changed files with 96 additions and 13 deletions
@@ -7,6 +7,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO; import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.service.IProjectNameInfoEOService; import com.jero.modules.project.service.IProjectNameInfoEOService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -36,7 +37,7 @@ import java.util.List;
public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoEO, IProjectNameInfoEOService> { public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoEO, IProjectNameInfoEOService> {
@Autowired @Autowired
private IProjectNameInfoEOService projectNameInfoEOService; private IProjectNameInfoEOService projectNameInfoEOService;
/** /**
* 分页列表查询 * 分页列表查询
* *
@@ -71,6 +72,18 @@ public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoE
List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList(); List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList();
return Result.OK(list); return Result.OK(list);
} }
/**
* 返回项目全拼
*
* @return
*/
@AutoLog(value = "返回项目全拼")
@ApiOperation(value="返回项目全拼", notes="返回项目全拼")
@GetMapping(value = "/queryProjectNameList")
public Result<List<ProjectLibraryBase>> queryProjectNameList(String cut) {
List<ProjectLibraryBase> list = projectNameInfoEOService.queryProjectNameList(cut);
return Result.OK(list);
}
/** /**
* 添加 * 添加
@@ -52,9 +52,13 @@
left join project_name_info as pni on plb.project_name_id=pni.id left join project_name_info as pni on plb.project_name_id=pni.id
left join sys_user as studiouser on plb.studio_engineer=studiouser.id left join sys_user as studiouser on plb.studio_engineer=studiouser.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id left join project_year_name_info as pyni on plb.year_name_id=pyni.id
where plb.id in <where>
<foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")"> <if test="ids != null and ids !=''">
#{item} plb.id in
</foreach> <foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select> </select>
</mapper> </mapper>
@@ -1,5 +1,6 @@
package com.jero.modules.project.service; package com.jero.modules.project.service;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO; import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@@ -59,6 +60,12 @@ public interface IProjectNameInfoEOService extends IService<ProjectNameInfoEO> {
*/ */
List<ProjectNameInfoEO> queryList(); List<ProjectNameInfoEO> queryList();
/**
* 返回项目全拼
* @return
*/
List<ProjectLibraryBase> queryProjectNameList(String cut);
//void getSpaceInfo(String cut); //void getSpaceInfo(String cut);
@@ -370,11 +370,13 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
}else{ }else{
managementEOList = problemManagementEOService.list(); managementEOList = problemManagementEOService.list();
} }
List<String> collect = managementEOList.stream().map(ProblemManagementEO::getLawsId).collect(Collectors.toList()); List<String> lawsIdList = managementEOList.stream()
.filter(e->StringUtils.isNotBlank(e.getLawsId())).map(ProblemManagementEO::getLawsId).collect(Collectors.toList());
List<String> projectIdList = managementEOList.stream().filter(e->StringUtils.isNotBlank(e.getProjectId())).map(ProblemManagementEO::getProjectId).collect(Collectors.toList());
List<BussDocumentLibraryEO> documentLibraryEOList = new ArrayList<>(); List<BussDocumentLibraryEO> documentLibraryEOList = new ArrayList<>();
if(!collect.isEmpty()){ if(!lawsIdList.isEmpty()){
Set<String> lawIdSet = new HashSet<>(); Set<String> lawIdSet = new HashSet<>();
for (String lawIds : collect) { for (String lawIds : lawsIdList) {
lawIdSet.addAll(Arrays.asList(lawIds.split(","))); lawIdSet.addAll(Arrays.asList(lawIds.split(",")));
} }
if(!lawIdSet.isEmpty()){ if(!lawIdSet.isEmpty()){
@@ -383,23 +385,38 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
documentLibraryEOList = bussDocumentLibraryEOService.list(wrapper); documentLibraryEOList = bussDocumentLibraryEOService.list(wrapper);
} }
} }
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
if(!projectIdList.isEmpty()){
Set<String> projectIdSet = new HashSet<>();
for (String projectIds : projectIdList) {
projectIdSet.addAll(Arrays.asList(projectIds.split(",")));
}
if(!projectIdSet.isEmpty()){
projectLibraryBaseList = problemManagementEOMapper.queryByIds(StringUtils.join(projectIdSet,","));
}
}
List<NcrTrackVO> ncrTrackVOList = new ArrayList<>(); List<NcrTrackVO> ncrTrackVOList = new ArrayList<>();
for (ProblemManagementEO problemManagementEO : managementEOList) { for (ProblemManagementEO problemManagementEO : managementEOList) {
//相关法规 //相关法规
if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){ if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){
if(!documentLibraryEOList.isEmpty()){ if(!documentLibraryEOList.isEmpty()){
documentLibraryEOList = documentLibraryEOList.stream().filter(e->problemManagementEO.getLawsId().contains(e.getId())).collect(Collectors.toList()); List<BussDocumentLibraryEO> documentLibraryEOListTemp = documentLibraryEOList.stream()
List<String> serialNumberList = documentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList()); .filter(e->StringUtils.isNotBlank(problemManagementEO.getLawsId())
&& problemManagementEO.getLawsId().contains(e.getId())).collect(Collectors.toList());
List<String> serialNumberList = documentLibraryEOListTemp.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
problemManagementEO.setLawsName(com.jero.modules.system.util.StringUtils.join(serialNumberList,",")); problemManagementEO.setLawsName(com.jero.modules.system.util.StringUtils.join(serialNumberList,","));
} }
} }
//相关项目 //相关项目
if(com.jero.modules.system.util.StringUtils.isNotBlank(problemManagementEO.getProjectId())){ if(StringUtils.isNotBlank(problemManagementEO.getProjectId())){
List<ProjectLibraryBase> projectLibraryBaseList = problemManagementEOMapper.queryByIds(problemManagementEO.getProjectId()); List<ProjectLibraryBase> projectLibraryBaseListTemp = projectLibraryBaseList.stream()
.filter(e->StringUtils.isNotBlank(problemManagementEO.getProjectId())
&& problemManagementEO.getProjectId().contains(e.getId())).collect(Collectors.toList());
//目标市场数据字典 //目标市场数据字典
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<String> projectNameList = new ArrayList<>(); List<String> projectNameList = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListTemp) {
//目标市场 //目标市场
String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase); String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase);
//主项目的版本号 //主项目的版本号
@@ -2,15 +2,22 @@ package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO; import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.entity.ProjectYearNameInfoEO; import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.service.IProjectNameInfoEOService; import com.jero.modules.project.service.IProjectNameInfoEOService;
import com.jero.modules.space.service.SpaceServiceImpl; import com.jero.modules.space.service.SpaceServiceImpl;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.util.StringUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@@ -30,6 +37,12 @@ public class ProjectNameInfoEOServiceImpl extends ServiceImpl<ProjectNameInfoEOM
@Autowired @Autowired
private ProjectYearNameInfoEOServiceImpl projectYearNameInfoEOService; private ProjectYearNameInfoEOServiceImpl projectYearNameInfoEOService;
@Autowired
private ProblemManagementEOMapper problemManagementEOMapper;
@Autowired
private ISysDictService sysDictService;
@Autowired
private ProblemManagementEOServiceImpl problemManagementEOService;
/** /**
* 保存 * 保存
* *
@@ -112,6 +125,35 @@ public class ProjectNameInfoEOServiceImpl extends ServiceImpl<ProjectNameInfoEOM
// List<ProjectNameInfoEO> projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear(); // List<ProjectNameInfoEO> projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear();
return projectNameInfoEOList; return projectNameInfoEOList;
} }
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectLibraryBase> queryProjectNameList(String cut) {
List<ProjectLibraryBase> projectLibraryBaseList = problemManagementEOMapper.queryByIds(null);
//目标市场数据字典
List<DictModel> 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";
}else{
projectVersion = projectLibraryBase.getProjectVersion();
}
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
+ "-" + projectLibraryBase.getYearName()
+ "-" + targetMarket
+"-"+projectVersion);
}
}
return projectLibraryBaseList;
}
/* @Override /* @Override
public void getSpaceInfo(String cut){ public void getSpaceInfo(String cut){