Commit 60026cb7 authored by wangxl's avatar wangxl

77

parent b4e73a88
package com.yiboshi.science.service.impl;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itextpdf.html2pdf.html.HtmlUtils;
import com.yiboshi.arch.exception.BusinessException;
import com.yiboshi.science.Constants;
import com.yiboshi.science.base.BaseServiceImpl;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.config.bean.SystemProperties;
......@@ -25,17 +22,13 @@ import org.springframework.web.bind.annotation.PathVariable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import static com.yiboshi.science.utils.HtmlBuilder.loop;
/**
* 项目表 Service 实现类
*
......@@ -271,7 +264,7 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
NewProjectKPIInfo(dto);
// 附件
List<ComFileDTO> fileList = processAttachmentList(projType);
List<ComFileDTO> fileList = configureFileList(projType);
dto.setFileList(fileList);
dto.setReportYear(comBatchService.getReportYear(projType));
......@@ -309,13 +302,6 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
if (null != comUnitDTO) {
dto.setAppUnitName(comUnitDTO.getUnitName());
dto.setUnitTypeName(comUnitDTO.getUnitTypeName());
// dto.setOrganizationCode(comUnitDTO.getOrganizationCode());
// dto.setAddress(comUnitDTO.getUnitAddress());
// dto.setLegalPerson(null);
// dto.setDepositBank(null);
// dto.setBankAccount(null);
// dto.setDepositBankAddress(null);
// dto.setInterbankNumber(null);
}
// 项目合作单位
......@@ -380,11 +366,14 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
//附件列表
List<ComFileDTO> fileList = ComFileService.getListByObjectId(dto.getId(), CommonEnum.fileType.project.getCode());
if (null == fileList || fileList.size() == 0)
fileList = processAttachmentList(dto.getProjType());
fileList = configureFileList(dto.getProjType());
else
fileList = checkNecessaryAttachmentFile(dto.getProjType(), fileList);
dto.setFileList(fileList);
//审核记录列表
List<ComProjectAuditNoteDTO> auditList = comProjectAuditNoteService.getListByObjectId(dto.getId());
dto.setAuditList(auditList);
......@@ -449,6 +438,33 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
dto.setProjectKPI(kpiDTO);
}
private List<ComFileDTO> configureFileList(Integer projType) {
List<ComFileDTO> fileList = new ArrayList<>();
List<SystemParameter> parameterList;
//健康领域科技项目
if (projType == CommonEnum.projType.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 projType, List<ComFileDTO> fileList) {
List<SystemParameter> parameterList;
//健康领域科技项目
......@@ -456,6 +472,7 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
parameterList = systemParameterService.getListByType(61);
else//临床科技项目
parameterList = systemParameterService.getListByType(13);
AtomicInteger allCount = new AtomicInteger(parameterList.size() + 1);
fileList.forEach(e -> {
AtomicInteger num = new AtomicInteger(1);
......@@ -477,8 +494,8 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
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 = processAttachmentFile(p.getName(), p.getDisplayOrder());
fileList.add(0, fileDTO);
ComFileDTO fileDTO = configureFile(p.getName(), p.getDisplayOrder(),p.getIsRequired());
fileList.add( fileDTO);
}
});
......@@ -488,38 +505,6 @@ public class ComProjectServiceImpl extends BaseServiceImpl<ComProjectDAO, ComPro
}
private List<ComFileDTO> processAttachmentList(Integer projType) {
List<ComFileDTO> fileList = new ArrayList<>();
List<SystemParameter> parameterList;
//健康领域科技项目
if (projType == CommonEnum.projType.num.getCode())
parameterList = systemParameterService.getListByType(61);
else//临床科技项目
parameterList = systemParameterService.getListByType(13);
parameterList.forEach(e -> {
ComFileDTO AttachentFile = processAttachmentFile(e.getName(), e.getDisplayOrder());
if (null != e.getIsRequired() && e.getIsRequired().equals(true))
AttachentFile.setIsRequired(true);
else
AttachentFile.setIsRequired(false);
fileList.add(AttachentFile);
});
return fileList;
}
private ComFileDTO processAttachmentFile(String FileExplain, int showIndex) {
ComFileDTO fileDTO = new ComFileDTO();
fileDTO.setFileType(CommonEnum.fileType.project.getCode());
fileDTO.setFileExplain(FileExplain);
fileDTO.setShowIndex(showIndex);
fileDTO.setRequired(true);
return fileDTO;
}
private void loadPersonInfo(ComProjectDTO dto, ComPersonDTO comPersonDTO) {
dto.setAppPersonName(comPersonDTO.getPersonName());
dto.setSex(comPersonDTO.getSex());
......
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