Merge remote-tracking branch 'origin/dev_20230831_problem' into dev_20230831_problem
This commit is contained in:
+171
-11
@@ -1,5 +1,7 @@
|
|||||||
package com.jero.modules.project.service.impl;
|
package com.jero.modules.project.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ZipUtil;
|
||||||
|
import com.aliyuncs.utils.IOUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -8,8 +10,9 @@ import com.jero.common.constant.enums.CutEnum;
|
|||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.util.oss.CosBootUtil;
|
||||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
|
||||||
import com.jero.modules.dummy.enums.OrderEnum;
|
import com.jero.modules.dummy.enums.OrderEnum;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
@@ -23,8 +26,8 @@ import com.jero.modules.project.enums.ReviewResultEnum;
|
|||||||
import com.jero.modules.project.mapper.NcrTrackMapper;
|
import com.jero.modules.project.mapper.NcrTrackMapper;
|
||||||
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
|
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
|
||||||
import com.jero.modules.project.service.INcrTrackService;
|
import com.jero.modules.project.service.INcrTrackService;
|
||||||
import com.jero.modules.project.vo.NcrTrackInfoVO;
|
|
||||||
import com.jero.modules.project.vo.NcrTrackVO;
|
import com.jero.modules.project.vo.NcrTrackVO;
|
||||||
|
import com.jero.modules.project.vo.NcrTrackVOEn;
|
||||||
import com.jero.modules.project.vo.ProblemManagementVO;
|
import com.jero.modules.project.vo.ProblemManagementVO;
|
||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
@@ -33,25 +36,33 @@ import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
|||||||
import com.jero.modules.system.service.ISysDictService;
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||||
|
import com.jero.modules.system.util.PDFUtils;
|
||||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.aspectj.util.FileUtil;
|
||||||
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -89,9 +100,11 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ProblemManagementEOMapper problemManagementEOMapper;
|
private ProblemManagementEOMapper problemManagementEOMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
|
private BussDocumentLibraryEOServiceImpl bussDocumentLibraryEOService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOSSFileService iOSSFileService;
|
private IOSSFileService iOSSFileService;
|
||||||
|
@Value(value = "${jero.path.upload}")
|
||||||
|
private String uploadpath;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
|
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
|
||||||
@@ -890,36 +903,183 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void exportData(HttpServletResponse response, HttpServletRequest request, NcrTrackVO ncrTrackVO) {
|
public void exportData(HttpServletResponse response, HttpServletRequest request, NcrTrackVO ncrTrackVO) {
|
||||||
|
OutputStream os = null;
|
||||||
try {
|
try {
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
SimpleDateFormat sdfTemp = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
//导出的数据
|
//导出的数据
|
||||||
List<NcrTrackVO> dataList = getPageInfo(ncrTrackVO);
|
List<NcrTrackVO> dataList = getPageInfo(ncrTrackVO);
|
||||||
List<NcrTrackInfoVO> dataInfoList = new ArrayList<>();
|
List<NcrTrackVO> ncrTrackVOList = new ArrayList<>();
|
||||||
|
for (NcrTrackVO trackVO : dataList) {
|
||||||
|
if(ObjectUtils.isNotEmpty(trackVO.getCreateTime())){
|
||||||
|
trackVO.setCreateTimeStr(sdf.format(trackVO.getCreateTime()));
|
||||||
|
}
|
||||||
|
NcrTrackVO ncrTrackVO1 = new NcrTrackVO();
|
||||||
|
BeanUtils.copyProperties(trackVO,ncrTrackVO1);
|
||||||
|
ncrTrackVOList.add(ncrTrackVO1);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> fileList = dataList.stream()
|
||||||
|
.filter(e -> StringUtils.isNotBlank(e.getFile())).map(NcrTrackVO::getFile).collect(Collectors.toList());
|
||||||
|
List<String> approvalEvidenceList = dataList
|
||||||
|
.stream().filter(e -> StringUtils.isNotBlank(e.getApprovalEvidence())).map(NcrTrackVO::getApprovalEvidence).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
response.setContentType("application/force-download");
|
response.setContentType("application/force-download");
|
||||||
Workbook workbook = new XSSFWorkbook();
|
Workbook workbook = new XSSFWorkbook();
|
||||||
OutputStream excelOS = response.getOutputStream();;
|
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
if(StringUtils.isBlank(ncrTrackVO.getProjectLibraryId())){
|
List<NcrTrackVOEn> dataInfoList = new ArrayList<>();
|
||||||
|
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
|
||||||
workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVO.class, dataList);
|
workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVO.class, dataList);
|
||||||
}else{
|
}else{
|
||||||
//项目详情中的导出(没有相关项目字段)
|
|
||||||
for (NcrTrackVO trackVO : dataList) {
|
for (NcrTrackVO trackVO : dataList) {
|
||||||
NcrTrackInfoVO ncrTrackInfoVO = new NcrTrackInfoVO();
|
if(ObjectUtils.isNotEmpty(trackVO.getCreateTime())){
|
||||||
BeanUtils.copyProperties(trackVO,ncrTrackInfoVO);
|
trackVO.setCreateTimeStr(sdf.format(trackVO.getCreateTime()));
|
||||||
dataInfoList.add(ncrTrackInfoVO);
|
}
|
||||||
|
NcrTrackVOEn ncrTrackVOEn = new NcrTrackVOEn();
|
||||||
|
BeanUtils.copyProperties(trackVO,ncrTrackVOEn);
|
||||||
|
dataInfoList.add(ncrTrackVOEn);
|
||||||
}
|
}
|
||||||
workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackInfoVO.class, dataInfoList);
|
workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVOEn.class, dataInfoList);
|
||||||
}
|
}
|
||||||
|
String path = uploadpath + "/tempZip";
|
||||||
|
File fileTemp = new File(path);
|
||||||
|
if (fileTemp.exists()) {
|
||||||
|
fileTemp.delete();
|
||||||
|
}
|
||||||
|
fileTemp.mkdirs();
|
||||||
|
//excel
|
||||||
|
String name = "";
|
||||||
|
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
|
||||||
|
name = "问题管理";
|
||||||
|
}else{
|
||||||
|
name = "Problem management";
|
||||||
|
}
|
||||||
|
OutputStream excelOS = new FileOutputStream(path + File.separator + name + sdfTemp.format(new Date())+".xlsx");
|
||||||
workbook.write(excelOS);
|
workbook.write(excelOS);
|
||||||
excelOS.flush();
|
excelOS.flush();
|
||||||
|
|
||||||
|
List<String> connectIdList = new ArrayList<>();
|
||||||
|
if(!fileList.isEmpty()){
|
||||||
|
connectIdList.addAll(fileList);
|
||||||
|
}
|
||||||
|
if(!approvalEvidenceList.isEmpty()){
|
||||||
|
connectIdList.addAll(approvalEvidenceList);
|
||||||
|
}
|
||||||
|
if(!connectIdList.isEmpty()){
|
||||||
|
List<OSSFile> fileInfosList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectIdList, ","));
|
||||||
|
for (NcrTrackVO trackVO : ncrTrackVOList) {
|
||||||
|
String folder = trackVO.getTitle()+sdfTemp.format(trackVO.getCreateTime());
|
||||||
|
List<String> connectIdListTemp = new ArrayList<>();
|
||||||
|
if(StringUtils.isNotBlank(trackVO.getFile())){
|
||||||
|
connectIdListTemp.add(trackVO.getFile());
|
||||||
|
}
|
||||||
|
if(StringUtils.isNotBlank(trackVO.getApprovalEvidence())){
|
||||||
|
connectIdListTemp.add(trackVO.getApprovalEvidence());
|
||||||
|
}
|
||||||
|
if(!connectIdListTemp.isEmpty()){
|
||||||
|
List<OSSFile> ossFileList = fileInfosList.stream().filter(e -> connectIdListTemp.contains(e.getConnectId())).collect(Collectors.toList());
|
||||||
|
if (ossFileList.size() != 0) {
|
||||||
|
String fileNowPath = path + File.separator + folder;
|
||||||
|
File file = new File(fileNowPath);
|
||||||
|
if (file.exists()) {
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
file.mkdirs();
|
||||||
|
for (OSSFile ossFile : ossFileList) {
|
||||||
|
String url = ossFile.getUrl();
|
||||||
|
//判断文件是否存在
|
||||||
|
if(StringUtils.isNotBlank(url)){
|
||||||
|
//判断文件是否存在
|
||||||
|
boolean b = CosBootUtil.doesObjectExist(url);
|
||||||
|
if(b){
|
||||||
|
InputStream download = CosBootUtil.download(url);
|
||||||
|
if(url.endsWith(".pdf") || url.endsWith(".PDF")){
|
||||||
|
String currentTime = sdf.format(new Date());
|
||||||
|
String waterContent = loginUser.getUsername() + " " + currentTime;
|
||||||
|
File newFile = PDFUtils.PDFWatermark(download,uploadpath,ossFile.getFileName(),waterContent);
|
||||||
|
download = new FileInputStream(newFile.getPath());
|
||||||
|
}
|
||||||
|
bussDocumentLibraryEOService.copyFile(download, fileNowPath + File.separator + ossFile.getFileName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ZipUtil.zip(path, path + ".zip");
|
||||||
|
//文件
|
||||||
|
FileInputStream fis = new FileInputStream(path + ".zip");
|
||||||
|
os = response.getOutputStream();
|
||||||
|
|
||||||
|
int len = 0;
|
||||||
|
while ((len = fis.read()) != -1) {
|
||||||
|
os.write(len);
|
||||||
|
}
|
||||||
|
os.flush();
|
||||||
|
fis.close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
|
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
|
||||||
throw new JeroBootException("下载文件失败");
|
throw new JeroBootException("下载文件失败");
|
||||||
}else{
|
}else{
|
||||||
throw new JeroBootException("Failed to download file");
|
throw new JeroBootException("Failed to download file");
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
IOUtils.closeQuietly(os);
|
||||||
|
File file = new File(uploadpath + "/tempZip");
|
||||||
|
FileUtil.deleteContents(file);
|
||||||
|
File fileTemp = new File(uploadpath + "/tempZip.zip");
|
||||||
|
FileUtil.deleteContents(fileTemp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// /**
|
||||||
|
// * 导出数据
|
||||||
|
// * @param response
|
||||||
|
// * @param request
|
||||||
|
// * @param ncrTrackVO
|
||||||
|
// */
|
||||||
|
// @Override
|
||||||
|
// public void exportData(HttpServletResponse response, HttpServletRequest request, NcrTrackVO ncrTrackVO) {
|
||||||
|
// try {
|
||||||
|
// //导出的数据
|
||||||
|
// List<NcrTrackVO> dataList = getPageInfo(ncrTrackVO);
|
||||||
|
// List<NcrTrackInfoVO> dataInfoList = new ArrayList<>();
|
||||||
|
// response.setContentType("application/force-download");
|
||||||
|
// Workbook workbook = new XSSFWorkbook();
|
||||||
|
// OutputStream excelOS = response.getOutputStream();;
|
||||||
|
// ExportParams exportParams = new ExportParams();
|
||||||
|
// exportParams.setType(ExcelType.XSSF);
|
||||||
|
// if(StringUtils.isBlank(ncrTrackVO.getProjectLibraryId())){
|
||||||
|
// workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVO.class, dataList);
|
||||||
|
// }else{
|
||||||
|
// //项目详情中的导出(没有相关项目字段)
|
||||||
|
// for (NcrTrackVO trackVO : dataList) {
|
||||||
|
// NcrTrackInfoVO ncrTrackInfoVO = new NcrTrackInfoVO();
|
||||||
|
// BeanUtils.copyProperties(trackVO,ncrTrackInfoVO);
|
||||||
|
// dataInfoList.add(ncrTrackInfoVO);
|
||||||
|
// }
|
||||||
|
// workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackInfoVO.class, dataInfoList);
|
||||||
|
// }
|
||||||
|
// workbook.write(excelOS);
|
||||||
|
// excelOS.flush();
|
||||||
|
//
|
||||||
|
// } catch (IOException e) {
|
||||||
|
// if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
|
||||||
|
// throw new JeroBootException("下载文件失败");
|
||||||
|
// }else{
|
||||||
|
// throw new JeroBootException("Failed to download file");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+43
-55
@@ -35,10 +35,7 @@ public class NcrTrackVO implements Serializable {
|
|||||||
|
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
|
||||||
@ApiModelProperty(value = "创建日期")
|
|
||||||
private java.util.Date createTime;
|
|
||||||
|
|
||||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
@@ -52,29 +49,61 @@ public class NcrTrackVO implements Serializable {
|
|||||||
private String standId;
|
private String standId;
|
||||||
|
|
||||||
//编号
|
//编号
|
||||||
@Excel(name = "编号", width = 20)
|
|
||||||
private String serialNumber;
|
private String serialNumber;
|
||||||
|
|
||||||
//标题
|
//标题
|
||||||
@Excel(name = "标题", width = 20)
|
@Excel(name = "标题", width = 20)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
//流程类型
|
@Excel(name = "问题类型", width = 20)
|
||||||
@Excel(name = "流程类型", width = 20)
|
private String problemType_dictText;
|
||||||
private String flowType;
|
|
||||||
|
/**ps_issue*/
|
||||||
|
@ApiModelProperty(value = "ps_issue")
|
||||||
|
@Excel(name = "PS_ISSUE", width = 20)
|
||||||
|
private java.lang.String psIssue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
@Excel(name = "创建人", width = 20)
|
||||||
|
private java.lang.String createBy;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建日期")
|
||||||
|
// @Excel(name = "创建时间", width = 20)
|
||||||
|
private java.util.Date createTime;
|
||||||
|
|
||||||
|
@Excel(name = "创建时间", width = 20)
|
||||||
|
private String createTimeStr;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "相关法规")
|
||||||
|
@Excel(name = "相关法规", width = 20)
|
||||||
|
private String lawsName;
|
||||||
|
|
||||||
|
@Excel(name = "相关项目", width = 20)
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
//责任领域 duty_territory
|
|
||||||
@Dict(dicCode ="duty_territory")
|
@Dict(dicCode ="duty_territory")
|
||||||
@Excel(name = "责任领域", width = 20,dicCode ="duty_territory")
|
@Excel(name = "责任部门", width = 20)
|
||||||
private String dutyTerritory;
|
private String dutyTerritory;
|
||||||
|
|
||||||
|
/**问题状态*/
|
||||||
|
@ApiModelProperty(value = "问题状态")
|
||||||
|
@Excel(name = "问题状态", width = 20)
|
||||||
|
private java.lang.String problemState;
|
||||||
|
|
||||||
|
/**描述和分析*/
|
||||||
|
@ApiModelProperty(value = "描述和分析")
|
||||||
|
@Excel(name = "描述和分析", width = 20)
|
||||||
|
private java.lang.String description;
|
||||||
|
|
||||||
|
|
||||||
|
//流程类型
|
||||||
|
private String flowType;
|
||||||
|
|
||||||
//流程类型标识(枚举)
|
//流程类型标识(枚举)
|
||||||
private String flowTypeNumber;
|
private String flowTypeNumber;
|
||||||
|
|
||||||
//相关项目
|
|
||||||
@Excel(name = "相关项目", width = 20)
|
|
||||||
private String projectName;
|
|
||||||
|
|
||||||
//目标市场
|
//目标市场
|
||||||
private String targetMarket;
|
private String targetMarket;
|
||||||
|
|
||||||
@@ -85,17 +114,12 @@ public class NcrTrackVO implements Serializable {
|
|||||||
private String projectVersion;
|
private String projectVersion;
|
||||||
|
|
||||||
//问题类型
|
//问题类型
|
||||||
// @Dict(dicCode ="wen4_ti2_lei4_xing2")
|
|
||||||
@Excel(name = "问题类型", width = 20)
|
|
||||||
private String problemType;
|
private String problemType;
|
||||||
private String problemType_dictText;
|
|
||||||
|
|
||||||
//发起人
|
//发起人
|
||||||
@Excel(name = "发起人", width = 20)
|
|
||||||
private String initiator;
|
private String initiator;
|
||||||
|
|
||||||
//责任人
|
//责任人
|
||||||
@Excel(name = "责任人", width = 20)
|
|
||||||
private String duty;
|
private String duty;
|
||||||
|
|
||||||
//项目库id
|
//项目库id
|
||||||
@@ -112,8 +136,6 @@ public class NcrTrackVO implements Serializable {
|
|||||||
//验证符合性确认 verify_p_id
|
//验证符合性确认 verify_p_id
|
||||||
private String verifyPId;
|
private String verifyPId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//设计发起人 design_initiator_id
|
//设计发起人 design_initiator_id
|
||||||
private String designInitiatorId;
|
private String designInitiatorId;
|
||||||
//pre发起人 prehomo_initiator_id
|
//pre发起人 prehomo_initiator_id
|
||||||
@@ -169,44 +191,16 @@ public class NcrTrackVO implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**标题*/
|
|
||||||
// @Excel(name = "标题", width = 15)
|
|
||||||
// @ApiModelProperty(value = "标题")
|
|
||||||
// private java.lang.String title;
|
|
||||||
//
|
|
||||||
// /**问题类型*/
|
|
||||||
// @Excel(name = "问题类型", width = 15)
|
|
||||||
// @ApiModelProperty(value = "问题类型")
|
|
||||||
// private java.lang.String problemType;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建人")
|
|
||||||
private java.lang.String createBy;
|
|
||||||
|
|
||||||
/**ps_issue*/
|
|
||||||
@ApiModelProperty(value = "ps_issue")
|
|
||||||
private java.lang.String psIssue;
|
|
||||||
|
|
||||||
/**相关法规*/
|
/**相关法规*/
|
||||||
@ApiModelProperty(value = "相关法规")
|
@ApiModelProperty(value = "相关法规")
|
||||||
private java.lang.String lawsId;
|
private java.lang.String lawsId;
|
||||||
|
|
||||||
/**相关项目*/
|
/**相关项目*/
|
||||||
@Excel(name = "相关项目", width = 15)
|
|
||||||
@ApiModelProperty(value = "相关项目")
|
@ApiModelProperty(value = "相关项目")
|
||||||
private java.lang.String projectId;
|
private java.lang.String projectId;
|
||||||
|
|
||||||
// /**责任部门*/
|
|
||||||
// @ApiModelProperty(value = "责任部门")
|
|
||||||
// @Excel(name = "*责任领域", width = 15,dicCode ="duty_territory")
|
|
||||||
// private java.lang.String dutyTerritory;
|
|
||||||
|
|
||||||
/**问题状态*/
|
|
||||||
@ApiModelProperty(value = "问题状态")
|
|
||||||
private java.lang.String problemState;
|
|
||||||
|
|
||||||
/**描述和分析*/
|
|
||||||
@ApiModelProperty(value = "描述和分析")
|
|
||||||
private java.lang.String description;
|
|
||||||
|
|
||||||
/**相关文件链接*/
|
/**相关文件链接*/
|
||||||
@ApiModelProperty(value = "相关文件链接")
|
@ApiModelProperty(value = "相关文件链接")
|
||||||
@@ -242,12 +236,6 @@ public class NcrTrackVO implements Serializable {
|
|||||||
@ApiModelProperty(value = "审批证据链接(前端传参)")
|
@ApiModelProperty(value = "审批证据链接(前端传参)")
|
||||||
private List<ProblemManagementVO> approvalEvidenceLinkList;
|
private List<ProblemManagementVO> approvalEvidenceLinkList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "相关法规中文名")
|
|
||||||
private String lawsName;
|
|
||||||
|
|
||||||
// @TableField(exist = false)
|
|
||||||
// @ApiModelProperty(value = "相关项目中文名")
|
|
||||||
// private String projectName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "详情文件回显")
|
@ApiModelProperty(value = "详情文件回显")
|
||||||
private List<OSSFile> fileList;
|
private List<OSSFile> fileList;
|
||||||
|
|||||||
+254
@@ -0,0 +1,254 @@
|
|||||||
|
package com.jero.modules.project.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 项目未符合项跟踪
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-04-29
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class NcrTrackVOEn implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
//任务清单id
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
//用于导出时勾选数据
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "修改日期")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
|
||||||
|
//中英文切换
|
||||||
|
private String cut;
|
||||||
|
|
||||||
|
//文档库ID
|
||||||
|
private String standId;
|
||||||
|
|
||||||
|
//编号
|
||||||
|
private String serialNumber;
|
||||||
|
|
||||||
|
//标题
|
||||||
|
@Excel(name = "Title", width = 20)
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
@Excel(name = "Issue Type", width = 20)
|
||||||
|
private String problemType_dictText;
|
||||||
|
|
||||||
|
/**ps_issue*/
|
||||||
|
@ApiModelProperty(value = "ps_issue")
|
||||||
|
@Excel(name = "PS-ISSUE", width = 20)
|
||||||
|
private String psIssue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
@Excel(name = "Creator", width = 20)
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建日期")
|
||||||
|
// @Excel(name = "Create Date", width = 20)
|
||||||
|
private java.util.Date createTime;
|
||||||
|
@Excel(name = "Create Date", width = 20)
|
||||||
|
private String createTimeStr;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "相关法规")
|
||||||
|
@Excel(name = " Related Regualtions", width = 20)
|
||||||
|
private String lawsName;
|
||||||
|
|
||||||
|
@Excel(name = "Related Project", width = 20)
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@Dict(dicCode ="duty_territory")
|
||||||
|
@Excel(name = "Resonsible Field", width = 20)
|
||||||
|
private String dutyTerritory;
|
||||||
|
|
||||||
|
/**问题状态*/
|
||||||
|
@ApiModelProperty(value = "问题状态")
|
||||||
|
@Excel(name = "Status", width = 20)
|
||||||
|
private String problemState;
|
||||||
|
|
||||||
|
/**描述和分析*/
|
||||||
|
@ApiModelProperty(value = "描述和分析")
|
||||||
|
@Excel(name = "Description", width = 20)
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
|
||||||
|
//流程类型
|
||||||
|
private String flowType;
|
||||||
|
|
||||||
|
//流程类型标识(枚举)
|
||||||
|
private String flowTypeNumber;
|
||||||
|
|
||||||
|
//目标市场
|
||||||
|
private String targetMarket;
|
||||||
|
|
||||||
|
//年款
|
||||||
|
private String yearName;
|
||||||
|
|
||||||
|
//项目版本
|
||||||
|
private String projectVersion;
|
||||||
|
|
||||||
|
//问题类型
|
||||||
|
private String problemType;
|
||||||
|
|
||||||
|
//发起人
|
||||||
|
private String initiator;
|
||||||
|
|
||||||
|
//责任人
|
||||||
|
private String duty;
|
||||||
|
|
||||||
|
//项目库id
|
||||||
|
private String projectLibraryId;
|
||||||
|
//不符合
|
||||||
|
private String inconformity;
|
||||||
|
//待追踪
|
||||||
|
private String track;
|
||||||
|
|
||||||
|
//设计符合性确认 design_p_id
|
||||||
|
private String designPId;
|
||||||
|
//PreHomo确认 prehomo_p_id
|
||||||
|
private String prehomoPId;
|
||||||
|
//验证符合性确认 verify_p_id
|
||||||
|
private String verifyPId;
|
||||||
|
|
||||||
|
//设计发起人 design_initiator_id
|
||||||
|
private String designInitiatorId;
|
||||||
|
//pre发起人 prehomo_initiator_id
|
||||||
|
private String prehomoInitiatorId;
|
||||||
|
//验证发起人 verify_initiator_id
|
||||||
|
private String verifyInitiatorId;
|
||||||
|
|
||||||
|
|
||||||
|
//设计责任人 design_duty_id
|
||||||
|
private String designDutyId;
|
||||||
|
//pre责任人 prehomo_duty_id
|
||||||
|
private String prehomoDutyId;
|
||||||
|
//验证责任人 verify_duty_id
|
||||||
|
private String verifyDutyId;
|
||||||
|
|
||||||
|
|
||||||
|
//设计问题类型 design_flow_task_status
|
||||||
|
private String designFlowTaskStatus;
|
||||||
|
//pre问题类型 prehomo_flow_task_status
|
||||||
|
private String prehomoFlowTaskStatus;
|
||||||
|
//验证问题类型 verify_flow_task_status
|
||||||
|
private String verifyFlowTaskStatus;
|
||||||
|
|
||||||
|
private List<NcrTrackVOEn> ncrTrackVOList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
//以下字段跳转适用(还有项目库id)
|
||||||
|
//待办任务id
|
||||||
|
private String taskId;
|
||||||
|
//法规清单id
|
||||||
|
private String projectLawsInventoryId;
|
||||||
|
//流程实例id
|
||||||
|
private String prcId;
|
||||||
|
//流程类型
|
||||||
|
private String prcType;
|
||||||
|
//状态:待办 、已办
|
||||||
|
private String status;
|
||||||
|
//任务清单详情id
|
||||||
|
private String projectTaskInventoryDetailId;
|
||||||
|
//任务节点定义key
|
||||||
|
private String taskDefinitionKey;
|
||||||
|
//是否是系统管理员角色
|
||||||
|
private String administrator;
|
||||||
|
|
||||||
|
|
||||||
|
//排序(1->正序, 2->倒序)
|
||||||
|
private String orderBy;
|
||||||
|
|
||||||
|
//排序字段
|
||||||
|
private String orderByField;
|
||||||
|
|
||||||
|
private String flowStatus;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**相关法规*/
|
||||||
|
@ApiModelProperty(value = "相关法规")
|
||||||
|
private String lawsId;
|
||||||
|
|
||||||
|
/**相关项目*/
|
||||||
|
@ApiModelProperty(value = "相关项目")
|
||||||
|
private String projectId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**相关文件链接*/
|
||||||
|
@ApiModelProperty(value = "相关文件链接")
|
||||||
|
private String fileLink;
|
||||||
|
|
||||||
|
/**相关文件*/
|
||||||
|
@ApiModelProperty(value = "相关文件")
|
||||||
|
private String file;
|
||||||
|
|
||||||
|
/**进度追踪*/
|
||||||
|
@ApiModelProperty(value = "进度追踪")
|
||||||
|
private String progressTracking;
|
||||||
|
|
||||||
|
/**结论*/
|
||||||
|
@ApiModelProperty(value = "结论")
|
||||||
|
private String conclusion;
|
||||||
|
|
||||||
|
/**审批证据*/
|
||||||
|
@ApiModelProperty(value = "审批证据")
|
||||||
|
private String approvalEvidence;
|
||||||
|
|
||||||
|
/**审批证据链接*/
|
||||||
|
@ApiModelProperty(value = "审批证据链接")
|
||||||
|
private String approvalEvidenceLink;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "相关文件地址链接(前端传参)")
|
||||||
|
private List<ProblemManagementVO> fileLinkList;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "进度追踪(前端传参)")
|
||||||
|
private List<ProblemManagementVO> progressTrackingList;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批证据链接(前端传参)")
|
||||||
|
private List<ProblemManagementVO> approvalEvidenceLinkList;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "详情文件回显")
|
||||||
|
private List<OSSFile> fileList;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "详情文件回显")
|
||||||
|
private List<OSSFile> approvalEvidenceFileList;
|
||||||
|
|
||||||
|
//用于区分旧数据和新数据(旧数据->old,新数据->new)
|
||||||
|
@ApiModelProperty(value = "旧数据->old,新数据->new")
|
||||||
|
private String flag;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user