Commit 8fedbbad authored by wangxl's avatar wangxl

1

parent 8a63499d
......@@ -304,14 +304,45 @@ public class ComProjectTaskServiceImpl extends BaseServiceImpl<ComProjectTaskDAO
List<ComFileDTO> fileList = ComFileService.getListByObjectId(dto.getId(), CommonEnum.fileType.projectTask.getCode());
if (null == fileList || fileList.size() == 0)
fileList = ComFileService.getListByObjectId(dto.getProjId(), CommonEnum.fileType.project.getCode());
if (null == fileList || fileList.size() == 0)
fileList = configureFileList(dto.getSystemType());
else
fileList = checkNecessaryAttachmentFile(dto.getSystemType(), fileList);
fileList = configureFileList(fileList);
dto.setFileList(fileList);
return dto;
}
private List<ComFileDTO> configureFileList(List<ComFileDTO> list) {
List<ComFileDTO> fileList = new ArrayList<>();
if (null != list && list.size() > 0) {
fileList = list.stream().filter(e -> null != e.getFileExplain()
&& (e.getFileExplain().equals("课题组成员签名表")
|| e.getFileExplain().equals("项目资金预算编制说明"))).collect(Collectors.toList());
}
if (null == fileList || fileList.size() == 0) {
List<SystemParameter> parameterList = systemParameterService.getListByType(70);
List<ComFileDTO> finalFileList = fileList;
parameterList.forEach(e -> {
finalFileList.add(configureFile(e.getName(), e.getDisplayOrder(), e.getIsRequired()));
});
}
fileList.forEach(p -> {
p.setRequired(true);
p.setIsRequired(true);
});
return fileList;
}
private ComFileDTO configureFile(String FileExplain, int showIndex, Boolean isRequired) {
ComFileDTO file = new ComFileDTO();
file.setFileType(CommonEnum.fileType.project.getCode());
file.setFileExplain(FileExplain);
file.setShowIndex(showIndex);
file.setRequired(true);
if (!isRequired.equals(null))
file.setIsRequired(isRequired);
else
file.setIsRequired(false);
return file;
}
private void LoadProjectKPIInfo(ComProjectTaskDTO dto) {
List<ComProjectKpitDTO> ProjectKPIList = comProjectKpitDetailService.getProjectKpitDetailStatistic(dto.getId());
if (null == ProjectKPIList || ProjectKPIList.size() == 0)
......@@ -374,78 +405,6 @@ public class ComProjectTaskServiceImpl extends BaseServiceImpl<ComProjectTaskDAO
dto.setProjectKPI(kpiDTO);
}
private List<ComFileDTO> configureFileList(Integer systemType) {
List<ComFileDTO> fileList = new ArrayList<>();
List<SystemParameter> parameterList;
//健康领域科技项目
if (systemType == CommonEnum.systemType.num.getCode())
parameterList = systemParameterService.getListByType(61);
else//临床科技项目
parameterList = systemParameterService.getListByType(13);
parameterList.forEach(e -> {
fileList.add(configureFile(e.getName(), e.getDisplayOrder(), e.getIsRequired()));
});
return fileList;
}
private ComFileDTO configureFile(String FileExplain, int showIndex, Boolean isRequired) {
ComFileDTO file = new ComFileDTO();
file.setFileType(CommonEnum.fileType.project.getCode());
file.setFileExplain(FileExplain);
file.setShowIndex(showIndex);
file.setRequired(true);
if (!isRequired.equals(null))
file.setIsRequired(isRequired);
else
file.setIsRequired(false);
return file;
}
public List<ComFileDTO> checkNecessaryAttachmentFile(Integer systemType, List<ComFileDTO> fileList) {
List<SystemParameter> parameterList;
//健康领域科技项目
if (systemType == CommonEnum.systemType.num.getCode()) {
parameterList = systemParameterService.getListByType(61);
SystemParameter pa = new SystemParameter();
pa.setName("经费预算书");
pa.setIsRequired(true);
pa.setDisplayOrder(4);
parameterList.add(4, pa);
} else//临床科技项目
parameterList = systemParameterService.getListByType(13);
AtomicInteger allCount = new AtomicInteger(parameterList.size() + 1);
fileList.forEach(e -> {
AtomicInteger num = new AtomicInteger(1);
int i = num.get();
parameterList.forEach(p -> {
if (null != e.getFileExplain() && e.getFileExplain().equals(p.getName())) {
e.setShowIndex(p.getDisplayOrder());
e.setRequired(true);
if (e.getFileExplain().equals("课题组成员签名表"))
e.setIsRequired(true);
num.incrementAndGet();
}
});
if (i == num.get()) {
e.setShowIndex(allCount.get());
e.setRequired(false);
allCount.incrementAndGet();
}
});
parameterList.forEach(p -> {
List<ComFileDTO> findList = fileList.stream().filter(e -> null != e.getFileExplain() && e.getFileExplain().equals(p.getName())).collect(Collectors.toList());
if (findList.size() == 0) {
ComFileDTO fileDTO = configureFile(p.getName(), p.getDisplayOrder(), p.getIsRequired());
fileList.add(fileDTO);
}
});
fileList.sort(Comparator.comparingInt(ComFileDTO::getShowIndex));
return fileList;
}
@Transactional
public String save(ComProjectTaskDTO dto) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment