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

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">
<resultMap id="NcrTrackVOResultMap" type="com.jero.modules.project.vo.NcrTrackVO">
<id column="id" property="id" />
<id column="project_library_id" property="projectLibraryId" />
<id column="serial_number" property="serialNumber" />
<result column="title" property="title" />
<result column="duty_territory" property="dutyTerritory" />
@@ -27,8 +28,8 @@
<select id="getInfoList" resultMap="NcrTrackVOResultMap">
SELECT
pni.project_name,plb.target_market,
pli.id,pli.serial_number,pli.title,pli.duty_territory,pli.create_time,
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,
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.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
FROM project_task_inventory pti
@@ -1,9 +1,11 @@
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.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
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.mapper.NcrTrackMapper;
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.system.entity.SysUser;
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.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
@@ -45,8 +48,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
private NcrTrackMapper ncrTrackMapper;
@Autowired
private ISysUserService sysUserService;
@Value(value = "${jero.path.upload}")
private String uploadpath;
@Autowired
private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
@Override
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
@@ -76,11 +79,11 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
for (NcrTrackVO trackVO : infoList) {
//设计符合性确认
String designPId = trackVO.getDesignPId();
String designPId = trackVO.getDesignPId();//流程实例id
//PreHomo确认
String prehomoPId = trackVO.getPrehomoPId();
String prehomoPId = trackVO.getPrehomoPId();//流程实例id
//验证符合性确认
String verifyPId = trackVO.getVerifyPId();
String verifyPId = trackVO.getVerifyPId();//流程实例id
//设计问题类型
String designFlowTaskStatus = trackVO.getDesignFlowTaskStatus();
@@ -116,7 +119,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
designName,
sysUserList,
trackVO.getId(),
trackVO.getCreateTime());
trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.SJFHXSHLC.getValue());
trackVOList.add(ncrTrackVOTemp);
}
//PreHomo确认
@@ -132,7 +138,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
prehomoName,
sysUserList,
trackVO.getId(),
trackVO.getCreateTime());
trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.PREHOMOQRLC.getValue());
trackVOList.add(ncrTrackVOTemp);
}
//验证符合性确认
@@ -148,7 +157,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
verifyName,
sysUserList,
trackVO.getId(),
trackVO.getCreateTime());
trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.YZFHXSCLC.getValue());
trackVOList.add(ncrTrackVOTemp);
}
}
@@ -160,10 +172,29 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
if(StringUtils.isNotBlank(ncrTrackVO.getProblemType())){
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> ncrTrackVOList = ncrTrackVO.getNcrTrackVOList();
//导出数据过滤(列表中选取多条进行导出的时候,用id和流程类型作为条件进行数据过滤)
//导出数据过滤(列表中选取多条进行导出的时候,用任务清单id和流程类型作为条件进行数据过滤)
if(ObjectUtils.allNotNull(ncrTrackVOList)){
for (NcrTrackVO trackVO : ncrTrackVOList) {
List<NcrTrackVO> collect = trackVOList.stream()
@@ -238,7 +269,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
String name,
List<SysUser> sysUserList,
String id,
Date createTime){
Date createTime,
String projectLibraryId,
String projectLawsInventoryId,
String flowTypeNumber){
String uuid = UUID.randomUUID().toString().replace("-", "");
String initiatorTemp ="";
String dutyTemp ="";
@@ -255,7 +289,12 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, 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.setCreateTime(createTime);
ncrTrackVO.setSerialNumber(serialNumber);//编号
@@ -289,10 +328,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
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);
@@ -25,6 +25,7 @@ import java.util.List;
public class NcrTrackVO implements Serializable {
//任务清单id
private String id;
//用于导出时勾选数据
@@ -116,6 +117,17 @@ public class NcrTrackVO implements Serializable {
private List<NcrTrackVO> ncrTrackVOList;
//以下字段跳转适用(还有项目库id)
//待办任务id
private String taskId;
//法规清单id
private String projectLawsInventoryId;
//流程实例id
private String prcId;
//流程类型
private String prcType;