问题管理

相关项目下拉
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.system.base.controller.JeroController;
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.service.IProjectNameInfoEOService;
import io.swagger.annotations.Api;
@@ -36,7 +37,7 @@ import java.util.List;
public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoEO, IProjectNameInfoEOService> {
@Autowired
private IProjectNameInfoEOService projectNameInfoEOService;
/**
* 分页列表查询
*
@@ -71,6 +72,18 @@ public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoE
List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList();
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 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
where plb.id in
<foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<where>
<if test="ids != null and ids !=''">
plb.id in
<foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
@@ -1,5 +1,6 @@
package com.jero.modules.project.service;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -59,6 +60,12 @@ public interface IProjectNameInfoEOService extends IService<ProjectNameInfoEO> {
*/
List<ProjectNameInfoEO> queryList();
/**
* 返回项目全拼
* @return
*/
List<ProjectLibraryBase> queryProjectNameList(String cut);
//void getSpaceInfo(String cut);
@@ -370,11 +370,13 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
}else{
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<>();
if(!collect.isEmpty()){
if(!lawsIdList.isEmpty()){
Set<String> lawIdSet = new HashSet<>();
for (String lawIds : collect) {
for (String lawIds : lawsIdList) {
lawIdSet.addAll(Arrays.asList(lawIds.split(",")));
}
if(!lawIdSet.isEmpty()){
@@ -383,23 +385,38 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
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<>();
for (ProblemManagementEO problemManagementEO : managementEOList) {
//相关法规
if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){
if(!documentLibraryEOList.isEmpty()){
documentLibraryEOList = documentLibraryEOList.stream().filter(e->problemManagementEO.getLawsId().contains(e.getId())).collect(Collectors.toList());
List<String> serialNumberList = documentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
List<BussDocumentLibraryEO> documentLibraryEOListTemp = documentLibraryEOList.stream()
.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,","));
}
}
//相关项目
if(com.jero.modules.system.util.StringUtils.isNotBlank(problemManagementEO.getProjectId())){
List<ProjectLibraryBase> projectLibraryBaseList = problemManagementEOMapper.queryByIds(problemManagementEO.getProjectId());
if(StringUtils.isNotBlank(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<String> projectNameList = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) {
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListTemp) {
//目标市场
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.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.ProjectYearNameInfoEO;
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.service.IProjectNameInfoEOService;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -30,6 +37,12 @@ public class ProjectNameInfoEOServiceImpl extends ServiceImpl<ProjectNameInfoEOM
@Autowired
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();
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
public void getSpaceInfo(String cut){