问题管理
This commit is contained in:
+22
@@ -3,7 +3,9 @@ package com.jero.modules.project.controller;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.util.PageUtil;
|
||||
import com.jero.modules.dummy.enums.OrderEnum;
|
||||
import com.jero.modules.project.entity.ProblemManagementEO;
|
||||
import com.jero.modules.project.service.INcrTrackService;
|
||||
import com.jero.modules.project.vo.NcrTrackVO;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -63,6 +65,26 @@ public class NcrTrackController {
|
||||
return Result.OK(ncrTrackVO.getCut(),pages);
|
||||
}
|
||||
|
||||
/**
|
||||
* 法规清单或者认证清单关联问题管理列表
|
||||
*
|
||||
* @param serialNumber
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "法规清单或者认证清单关联问题管理列表")
|
||||
@ApiOperation(value="法规清单或者认证清单关联问题管理列表", notes="法规清单或者认证清单关联问题管理列表")
|
||||
@GetMapping(value = "/queryPageProblem")
|
||||
public Result<?> queryPageProblem(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
String serialNumber,
|
||||
String cut) {
|
||||
List<ProblemManagementEO> pageInfo = iNcrTrackService.queryPageProblem(serialNumber,cut);
|
||||
//表头排序
|
||||
// orderHeader(ncrTrackVO, pageInfo);
|
||||
Page pages = PageUtil.getPages(pageNo,pageSize,pageInfo);
|
||||
return Result.OK(cut,pages);
|
||||
}
|
||||
|
||||
private void orderHeader(NcrTrackVO ncrTrackVO, List<NcrTrackVO> pageInfo) {
|
||||
String orderBy = ncrTrackVO.getOrderBy();
|
||||
String orderByField = ncrTrackVO.getOrderByField();
|
||||
|
||||
+3
@@ -2,6 +2,7 @@ package com.jero.modules.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.project.entity.ProblemManagementEO;
|
||||
import com.jero.modules.project.vo.NcrTrackVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -17,6 +18,8 @@ public interface INcrTrackService extends IService<NcrTrackVO> {
|
||||
|
||||
List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO);
|
||||
|
||||
List<ProblemManagementEO> queryPageProblem(String serialNumber, String cut);
|
||||
|
||||
Page getPages(Integer currentPage, Integer pageSize, List<NcrTrackVO> list);
|
||||
|
||||
void exportData(HttpServletResponse response,
|
||||
|
||||
+176
@@ -388,6 +388,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
return trackVOList;
|
||||
}
|
||||
}
|
||||
public List<ProblemManagementEO> queryPageProblem(String serialNumber,String cut) {
|
||||
List<ProblemManagementEO> problemManagement = getProblemManagement(serialNumber, cut);
|
||||
return problemManagement;
|
||||
}
|
||||
|
||||
private void heartSort(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
|
||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||
@@ -779,6 +783,178 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
}
|
||||
return ncrTrackVOList;
|
||||
}
|
||||
private List<ProblemManagementEO> getProblemManagement(String serialNumber,String cut) {
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(BussDocumentLibraryEO::getSerialNumber, serialNumber);
|
||||
List<BussDocumentLibraryEO> bussDocumentLibraryEOS = bussDocumentLibraryEOService.list(queryWrapper);
|
||||
if(ObjectUtils.isEmpty(bussDocumentLibraryEOS)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
//wen4_ti2_lei4_xing2 问题类型
|
||||
List<DictModel> problemTypeList = sysDictService.queryDictItemsByCode(DicCodeEnum.PROBLEM_TYPE.getCode());
|
||||
|
||||
List<DictModel> dictModelListTemp = problemTypeList.stream().filter(e -> "Lessons Learned".equals(e.getText())).collect(Collectors.toList());
|
||||
if(ObjectUtils.isEmpty(dictModelListTemp)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
LambdaQueryWrapper<ProblemManagementEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.like(ProblemManagementEO::getLawsId,bussDocumentLibraryEOS.get(0).getId());
|
||||
lambdaQueryWrapper.eq(ProblemManagementEO::getProjectType,dictModelListTemp.get(0).getValue());
|
||||
lambdaQueryWrapper.orderByDesc(ProblemManagementEO::getCreateTime);
|
||||
List<ProblemManagementEO> managementEOList = problemManagementEOService.list(lambdaQueryWrapper);
|
||||
//法规
|
||||
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<String> fileList = managementEOList.stream()
|
||||
.filter(e -> StringUtils.isNotBlank(e.getFile())).map(ProblemManagementEO::getFile).collect(Collectors.toList());
|
||||
//审批证据
|
||||
List<String> approvalEvidenceList = managementEOList.stream()
|
||||
.filter(e -> StringUtils.isNotBlank(e.getApprovalEvidence())).map(ProblemManagementEO::getApprovalEvidence).collect(Collectors.toList());
|
||||
List<String> connectList = new ArrayList<>();
|
||||
if(!fileList.isEmpty()){
|
||||
connectList.addAll(fileList);
|
||||
}
|
||||
if(!approvalEvidenceList.isEmpty()){
|
||||
connectList.addAll(approvalEvidenceList);
|
||||
}
|
||||
List<OSSFile> fileInfoList = new ArrayList<>();
|
||||
if(!connectList.isEmpty()){
|
||||
fileInfoList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectList,","));
|
||||
}
|
||||
|
||||
List<BussDocumentLibraryEO> documentLibraryEOList = new ArrayList<>();
|
||||
if(!lawsIdList.isEmpty()){
|
||||
Set<String> lawIdSet = new HashSet<>();
|
||||
for (String lawIds : lawsIdList) {
|
||||
lawIdSet.addAll(Arrays.asList(lawIds.split(",")));
|
||||
}
|
||||
if(!lawIdSet.isEmpty()){
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(BussDocumentLibraryEO::getId, lawIdSet);
|
||||
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<DictModel> problemPriorityList = sysDictService.queryDictItemsByCode(DicCodeEnum.PROBLEM_PRIORITY.getCode());
|
||||
for (ProblemManagementEO problemManagementEO : managementEOList) {
|
||||
//问题类型
|
||||
List<DictModel> dictModelList = problemTypeList.stream().filter(e -> e.getValue().equals(problemManagementEO.getProblemType())).collect(Collectors.toList());
|
||||
List<DictModel> dictModelListPp = problemPriorityList.stream().filter(e -> e.getValue().equals(problemManagementEO.getProblemPriority())).collect(Collectors.toList());
|
||||
|
||||
if(!dictModelList.isEmpty()){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
problemManagementEO.setProblemType_dictText(dictModelList.get(0).getText());
|
||||
}else{
|
||||
problemManagementEO.setProblemType_dictText(dictModelList.get(0).getTextEn());
|
||||
}
|
||||
}
|
||||
if(!dictModelListPp.isEmpty()){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
problemManagementEO.setProblemPriority_dictText(dictModelListPp.get(0).getText());
|
||||
}else{
|
||||
problemManagementEO.setProblemPriority_dictText(dictModelListPp.get(0).getTextEn());
|
||||
}
|
||||
}
|
||||
|
||||
//相关法规
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){
|
||||
if(!documentLibraryEOList.isEmpty()){
|
||||
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(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 : projectLibraryBaseListTemp) {
|
||||
//目标市场
|
||||
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();
|
||||
}
|
||||
projectNameList.add(projectLibraryBase.getProjectName()
|
||||
+ "-" + projectLibraryBase.getYearName()
|
||||
+ "-" + targetMarket
|
||||
+"-"+projectVersion);
|
||||
}
|
||||
if(!projectNameList.isEmpty()){
|
||||
problemManagementEO.setProjectName(StringUtils.join(projectNameList,","));
|
||||
}
|
||||
}
|
||||
|
||||
//相关文件连接
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){
|
||||
List<ProblemManagementVO> list = new ArrayList<>();
|
||||
for (String fileLink : problemManagementEO.getFileLink().split(",")) {
|
||||
ProblemManagementVO problemManagementVO = new ProblemManagementVO();
|
||||
problemManagementVO.setFileLink(fileLink);
|
||||
list.add(problemManagementVO);
|
||||
}
|
||||
problemManagementEO.setFileLinkList(list);
|
||||
}
|
||||
|
||||
//审批证据连接
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidenceLink())){
|
||||
List<ProblemManagementVO> list = new ArrayList<>();
|
||||
for (String approvalEvidenceLink : problemManagementEO.getApprovalEvidenceLink().split(",")) {
|
||||
ProblemManagementVO problemManagementVO = new ProblemManagementVO();
|
||||
problemManagementVO.setApprovalEvidenceLink(approvalEvidenceLink);
|
||||
list.add(problemManagementVO);
|
||||
}
|
||||
problemManagementEO.setApprovalEvidenceLinkList(list);
|
||||
}
|
||||
//进度追踪
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getProgressTracking())){
|
||||
List<ProblemManagementVO> list = new ArrayList<>();
|
||||
for (String progressTracking : problemManagementEO.getProgressTracking().split(",")) {
|
||||
ProblemManagementVO problemManagementVO = new ProblemManagementVO();
|
||||
problemManagementVO.setProgressTracking(progressTracking);
|
||||
list.add(problemManagementVO);
|
||||
}
|
||||
problemManagementEO.setProgressTrackingList(list);
|
||||
}
|
||||
//相关文件
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getFile())){
|
||||
List<OSSFile> collect = fileInfoList.stream()
|
||||
.filter(e -> e.getConnectId().equals(problemManagementEO.getFile())).collect(Collectors.toList());
|
||||
problemManagementEO.setFileList(collect);
|
||||
}
|
||||
//审批证据
|
||||
if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidence())){
|
||||
List<OSSFile> collect = fileInfoList.stream()
|
||||
.filter(e -> e.getConnectId().equals(problemManagementEO.getApprovalEvidence())).collect(Collectors.toList());
|
||||
problemManagementEO.setApprovalEvidenceFileList(collect);
|
||||
}
|
||||
}
|
||||
return managementEOList;
|
||||
}
|
||||
|
||||
private String getMarket(List<DictModel> targetMarketList, NcrTrackVO trackVO,String cut) {
|
||||
//目标市场
|
||||
|
||||
Reference in New Issue
Block a user