项目未符合项跟踪--跳转数据

This commit is contained in:
zhn
2022-05-13 09:31:28 +08:00
parent 8ff051e869
commit 99da321392
3 changed files with 66 additions and 14 deletions
@@ -3,6 +3,7 @@
<mapper namespace="com.jero.modules.project.mapper.NcrTrackMapper"> <mapper namespace="com.jero.modules.project.mapper.NcrTrackMapper">
<resultMap id="NcrTrackVOResultMap" type="com.jero.modules.project.vo.NcrTrackVO"> <resultMap id="NcrTrackVOResultMap" type="com.jero.modules.project.vo.NcrTrackVO">
<id column="id" property="id" /> <id column="id" property="id" />
<id column="project_library_id" property="projectLibraryId" />
<id column="serial_number" property="serialNumber" /> <id column="serial_number" property="serialNumber" />
<result column="title" property="title" /> <result column="title" property="title" />
<result column="duty_territory" property="dutyTerritory" /> <result column="duty_territory" property="dutyTerritory" />
@@ -27,8 +28,8 @@
<select id="getInfoList" resultMap="NcrTrackVOResultMap"> <select id="getInfoList" resultMap="NcrTrackVOResultMap">
SELECT SELECT
pni.project_name,plb.target_market, pni.project_name,plb.target_market,
pli.id,pli.serial_number,pli.title,pli.duty_territory,pli.create_time, pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id, pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
FROM project_task_inventory pti FROM project_task_inventory pti
@@ -1,9 +1,11 @@
package com.jero.modules.project.service.impl; package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
import com.jero.modules.project.enums.ReviewResultEnum; 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.service.INcrTrackService; import com.jero.modules.project.service.INcrTrackService;
@@ -11,6 +13,7 @@ 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.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
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;
@@ -45,8 +48,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
private NcrTrackMapper ncrTrackMapper; private NcrTrackMapper ncrTrackMapper;
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Value(value = "${jero.path.upload}") @Autowired
private String uploadpath; private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
@Override @Override
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) { public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
@@ -76,11 +79,11 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
for (NcrTrackVO trackVO : infoList) { for (NcrTrackVO trackVO : infoList) {
//设计符合性确认 //设计符合性确认
String designPId = trackVO.getDesignPId(); String designPId = trackVO.getDesignPId();//流程实例id
//PreHomo确认 //PreHomo确认
String prehomoPId = trackVO.getPrehomoPId(); String prehomoPId = trackVO.getPrehomoPId();//流程实例id
//验证符合性确认 //验证符合性确认
String verifyPId = trackVO.getVerifyPId(); String verifyPId = trackVO.getVerifyPId();//流程实例id
//设计问题类型 //设计问题类型
String designFlowTaskStatus = trackVO.getDesignFlowTaskStatus(); String designFlowTaskStatus = trackVO.getDesignFlowTaskStatus();
@@ -116,7 +119,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
designName, designName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.SJFHXSHLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
//PreHomo确认 //PreHomo确认
@@ -132,7 +138,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
prehomoName, prehomoName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.PREHOMOQRLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
//验证符合性确认 //验证符合性确认
@@ -148,7 +157,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
verifyName, verifyName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.YZFHXSCLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
} }
@@ -160,10 +172,29 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
if(StringUtils.isNotBlank(ncrTrackVO.getProblemType())){ if(StringUtils.isNotBlank(ncrTrackVO.getProblemType())){
trackVOList = trackVOList.stream().filter(e->ncrTrackVO.getProblemType().equals(e.getProblemType())).collect(Collectors.toList()); trackVOList = trackVOList.stream().filter(e->ncrTrackVO.getProblemType().equals(e.getProblemType())).collect(Collectors.toList());
} }
//待办任务id
if(trackVOList.size() != 0){
List<String> projectTaskInventoryIdList = trackVOList.stream().map(NcrTrackVO::getId).distinct().collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectTaskInventoryIdList);
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = projectTaskInventoryDetailEOService.list(taskDetailQueryWrapper);
for (NcrTrackVO trackVO : trackVOList) {
String projectTaskInventoryId = trackVO.getId();
String prcType = trackVO.getPrcType();
if(StringUtils.isNotBlank(projectTaskInventoryId) && StringUtils.isNotBlank(prcType)){
List<ProjectTaskInventoryDetailEO> collect = projectTaskInventoryDetailEOList.stream()
.filter(e -> projectTaskInventoryId.equals(e.getProjectTaskInventoryId()) && prcType.equals(e.getFlowType()))
.collect(Collectors.toList());
if(collect.size() != 0){
trackVO.setTaskId(collect.get(0).getTaskId());
}
}
}
}
List<NcrTrackVO> trackVOListTemp = new ArrayList<>(); List<NcrTrackVO> trackVOListTemp = new ArrayList<>();
List<NcrTrackVO> ncrTrackVOList = ncrTrackVO.getNcrTrackVOList(); List<NcrTrackVO> ncrTrackVOList = ncrTrackVO.getNcrTrackVOList();
//导出数据过滤(列表中选取多条进行导出的时候,用id和流程类型作为条件进行数据过滤) //导出数据过滤(列表中选取多条进行导出的时候,用任务清单id和流程类型作为条件进行数据过滤)
if(ObjectUtils.allNotNull(ncrTrackVOList)){ if(ObjectUtils.allNotNull(ncrTrackVOList)){
for (NcrTrackVO trackVO : ncrTrackVOList) { for (NcrTrackVO trackVO : ncrTrackVOList) {
List<NcrTrackVO> collect = trackVOList.stream() List<NcrTrackVO> collect = trackVOList.stream()
@@ -238,7 +269,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
String name, String name,
List<SysUser> sysUserList, List<SysUser> sysUserList,
String id, String id,
Date createTime){ Date createTime,
String projectLibraryId,
String projectLawsInventoryId,
String flowTypeNumber){
String uuid = UUID.randomUUID().toString().replace("-", ""); String uuid = UUID.randomUUID().toString().replace("-", "");
String initiatorTemp =""; String initiatorTemp ="";
String dutyTemp =""; String dutyTemp ="";
@@ -255,7 +289,12 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
} }
} }
NcrTrackVO ncrTrackVO = new NcrTrackVO(); NcrTrackVO ncrTrackVO = new NcrTrackVO();
ncrTrackVO.setId(id); //跳转字段赋值
ncrTrackVO.setPrcId(flowType);//流程实例
ncrTrackVO.setProjectLibraryId(projectLibraryId);//项目库id
ncrTrackVO.setProjectLawsInventoryId(projectLawsInventoryId);//法规清单id
ncrTrackVO.setPrcType(flowTypeNumber);//流程类型
ncrTrackVO.setTaskId(id);
ncrTrackVO.setUuid(uuid); ncrTrackVO.setUuid(uuid);
ncrTrackVO.setCreateTime(createTime); ncrTrackVO.setCreateTime(createTime);
ncrTrackVO.setSerialNumber(serialNumber);//编号 ncrTrackVO.setSerialNumber(serialNumber);//编号
@@ -289,10 +328,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
OutputStream excelOS = response.getOutputStream();; 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())){ if(StringUtils.isBlank(ncrTrackVO.getProjectLibraryId())){
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(); NcrTrackInfoVO ncrTrackInfoVO = new NcrTrackInfoVO();
BeanUtils.copyProperties(trackVO,ncrTrackInfoVO); BeanUtils.copyProperties(trackVO,ncrTrackInfoVO);
@@ -25,6 +25,7 @@ import java.util.List;
public class NcrTrackVO implements Serializable { public class NcrTrackVO implements Serializable {
//任务清单id
private String id; private String id;
//用于导出时勾选数据 //用于导出时勾选数据
@@ -116,6 +117,17 @@ public class NcrTrackVO implements Serializable {
private List<NcrTrackVO> ncrTrackVOList; private List<NcrTrackVO> ncrTrackVOList;
//以下字段跳转适用(还有项目库id)
//待办任务id
private String taskId;
//法规清单id
private String projectLawsInventoryId;
//流程实例id
private String prcId;
//流程类型
private String prcType;