fix(企标稽查计划): 可跳过节点为空不显示

This commit is contained in:
yjz
2023-12-15 14:22:57 +08:00
parent 0aae51651f
commit 63b8339f40
3 changed files with 34 additions and 6 deletions
@@ -7,9 +7,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import java.util.Date;
/**
*流程节点
*@author liJiaRao
@@ -138,4 +139,10 @@ public class ProcessNode {
@TableField(value = "is_view")
@ApiModelProperty(value = "是否显示(0否,1是)")
private Integer isView;
/**
* 是否可跳过节点(0否,1是)
*/
@TableField(value = "is_skip")
@ApiModelProperty(value = "是否可跳过节点(0否,1是)")
private String isSkip;
}
@@ -344,6 +344,23 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
saveCountersign(esInspectPlanFlowVO, map, task);
// 完成任务
taskService.complete(task.getId(), map);
// 可跳过节点处理
if (map.containsKey("pass") && (boolean) map.get("pass")){
// 更新流程实例节点关联用户表
processNodeLinkService.saveNodeUserLink(processAll.getProcessDefinitionId(), processAll.getProcessInstanceId(), listToString(map));
}else if (map.containsKey("pass") && !(boolean) map.get("pass")){
// 驳回删除可跳过节点人员信息
ProcessNode processNode = processNodeService.getOne(new LambdaQueryWrapper<ProcessNode>()
.eq(ProcessNode::getProcessDefinitionId, processAll.getProcessDefinitionId())
.eq(ProcessNode::getVariableName, "involveList")
.orderByDesc(ProcessNode::getCreateTime));
processNodeLinkService.update(
new LambdaUpdateWrapper<ProcessNodeLink>()
.eq(ProcessNodeLink::getProcessDefinitionId, processAll.getProcessDefinitionId())
.eq(ProcessNodeLink::getProcessInstanceId, processAll.getProcessInstanceId())
.eq(ProcessNodeLink::getProcessNodeId, processNode.getId())
.set(ProcessNodeLink::getUserId, ""));
}
// 判断是否是最后一个节点
if (isLastNode(processAll.getProcessInstanceId())
&& map.containsKey("pass") && (boolean) map.get("pass")){
@@ -2,17 +2,17 @@ package com.jero.modules.activiti.service;
import cn.hutool.core.collection.CollStreamUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.modules.activiti.entity.ProcessModelNode;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.mapper.ProcessModelNodeMapper;
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
import com.jero.modules.activiti.mapper.ProcessNodeMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.activiti.mapper.ProcessNodeMapper;
import com.jero.modules.activiti.entity.ProcessNode;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -106,7 +106,11 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
wrapper.orderByAsc(ProcessNode::getSort);
//List<ProcessNode> processNodeList = this.list(wrapper);
List<ProcessNode> processNodeList = processNodeMapper.selectByIdPdIdAndPiId(processDefinitionId,processInstanceId);
// 可跳过节点判断
processNodeList = processNodeList.stream().filter(v ->
YesOrNoEnum.NO.getValue().equals(v.getIsSkip())
|| (YesOrNoEnum.YES.getValue().equals(v.getIsSkip()) && StringUtils.isNotBlank(v.getLinkUserIds())))
.collect(Collectors.toList());
return processNodeList;
}
}