Browse Source

完善流程的审批,对流程相邻环节设置相同待办人的情况进行自动跳转

master
yxt_djz 3 years ago
parent
commit
209ba13601
  1. 31
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  2. 9
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java
  3. 70
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  4. 155
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  5. 2
      anrui-system-ui/src/views/Home/Home.vue

31
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -515,8 +515,24 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
appMap.put("sid",bv.getBusinessSid());
bv.getFormVariables().put("app",appMap);
//================添加app相关参数
/* BaseOutsourcingApplicationDto dto = baseMapper.getBySid(bv.getBusinessSid());
ResultBean<List<GetNodeVo>> nextNodesForSubmit = getNextNodesForSubmit(dto);
List<GetNodeVo> datas = nextNodesForSubmit.getData();
GetNodeVo getNodeVo = datas.get(0);
List<String> candidateGroups = getNodeVo.getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath(bv.getOrgSidPath());
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv);
String taskDefKey = rb.getData().getTaskDefKey();
if(sysUserVos.size()==0){
bv.setTaskDefKey(rb.getData().getTaskDefKey());
bv.setTaskId(rb.getData().getTaskId());
return complete(bv);
}*/
BaseOutsourcingApplicationDto dto= baseMapper.getBySid(bv.getBusinessSid());
ResultBean<UpdateFlowFieldVo> rb = complete_handleProsess(bv,dto);
/* String taskDefKey = rb.getData().getTaskDefKey();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData());
updateFlowFiled(stringObjectMap);
if ("Event_end".equals(taskDefKey)) {
@ -567,12 +583,23 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
// String msgSid = getMessage(uff, appMap, baseOutsourcingApplication);
//======================添加消息推送结束
}
*/
return rb;
} else {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
}
public ResultBean<UpdateFlowFieldVo> complete_handleProsess(BusinessVariables bv, BaseOutsourcingApplicationDto dto) {
ResultBean<List<GetNodeVo>> nextNodesForSubmit = getNextNodesForSubmit(dto);
List<GetNodeVo> datas = nextNodesForSubmit.getData();
GetNodeVo getNodeVo = datas.get(0);
List<String> candidateGroups = getNodeVo.getCandidateGroups();
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv);
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData());
updateFlowFiled(stringObjectMap);
return rb;
}
/**
* 创建采购入库单
* @return

9
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java

@ -3,6 +3,15 @@ package com.yxt.anrui.flowable.api.flowtask;
public class TaskUserInfo {
private String assigneeName;
private String assigneeHeadImage;
private String assigneeSid;
public String getAssigneeSid() {
return assigneeSid;
}
public void setAssigneeSid(String assigneeSid) {
this.assigneeSid = assigneeSid;
}
public String getAssigneeName() {
return assigneeName;

70
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -28,13 +28,14 @@ package com.yxt.anrui.flowable.biz.flow;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.flowable.api.flow.*;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.biz.flowtask.FlowTaskService;
import com.yxt.anrui.flowable.biz.process.ProcessService;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
@ -43,6 +44,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import org.flowable.bpmn.model.ExtensionAttribute;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.UserTask;
import org.flowable.engine.TaskService;
import org.flowable.task.api.DelegationState;
import org.flowable.task.api.Task;
@ -52,10 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
/**
* Project: anrui-parent <br/>
@ -83,10 +84,8 @@ public class FlowableRest implements FlowableFeign {
private SysUserFeign sysUserFeign;
@Resource
protected TaskService taskService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Resource
private ProcessService processService;
@Override
public ResultBean businessStart(BusinessVariables bv) {
return flowableService.businessStart( bv);
@ -221,9 +220,19 @@ public class FlowableRest implements FlowableFeign {
Logger log= LoggerFactory.getLogger(FlowableRest.class);
@Override
public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables dto) {
return handleProsess(dto,true);
}
/**
*
* @param dto
* @param b 是否连续跳转环节
* @return
*/
public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables dto,boolean b) {
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean rb = ResultBean.fireFail();
// Map<String, Object> formVariables = dto.getFormVariables();
// Map<String, Object> formVariables = dto.getFormVariables();
String taskId = dto.getTaskId();
if (StringUtils.isBlank(taskId)) {
@ -271,7 +280,7 @@ public class FlowableRest implements FlowableFeign {
return rb.setMsg("任务不存在");
}
String assignee = task.getAssignee();
if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){
if(b&&(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0)){
return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!");
}
String nodeState = "";
@ -309,6 +318,42 @@ public class FlowableRest implements FlowableFeign {
vo.setNodeState(FlowComment.SETTLE.getRemark());
}
}
//ResultBean<FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(dto.getInstanceId(), dto.getModelId());
List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(),
dto.getFormVariables());
boolean contains=false;
for(int i=0;i<flowElements.size();i++){
FlowElement flowElement = flowElements.get(i);
String id = flowElement.getId();
if(taskDefKey.equals(id)&&i+1<flowElements.size()){
FlowElement flowElement1 = flowElements.get(i + 1);
if(flowElement1 instanceof UserTask){
UserTask userTask=(UserTask)flowElement1;
List<String> candidateGroups = userTask.getCandidateGroups();
List<SysUserVo> sysUserVoLists=new ArrayList<>();
for(String roleSid:candidateGroups){
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
sysUserVoLists.addAll(sysUserVos);
}
if(sysUserVoLists.size()==1&&sysUserVoLists.get(0).getSid().equals(nextUserSid)){
contains=true;
break;
}
}
}
if(contains){
break;
}
}
if(contains){
dto.setUserSid(nextUserSid);
dto.setTaskId(vo.getTaskId());
dto.setTaskDefKey(taskDefKey);
return handleProsess(dto,false);
}
vo.setProcInsId(instanceId);
vo.setProcDefId(task.getProcessDefinitionId());
vo.setNodeState(nodeState);
@ -316,7 +361,6 @@ public class FlowableRest implements FlowableFeign {
vo.setNextNodeUserSids(nextUserSid);
return rb.success().setData(vo);
}
@Override
public ResultBean<UpdateFlowFieldVo> revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) {
ResultBean rb = ResultBean.fireFail();

155
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -10,6 +10,7 @@ import com.yxt.anrui.flowable.api.flowcomment.FlowCommentDto;
import com.yxt.anrui.flowable.api.flowtask.*;
import com.yxt.anrui.flowable.api.sysform.SysForm;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
import com.yxt.anrui.flowable.biz.flow.FlowableService;
import com.yxt.anrui.flowable.biz.process.ProcessService;
import com.yxt.anrui.flowable.biz.sysdeployform.SysDeployFormService;
import com.yxt.anrui.flowable.biz.sysprourl.SysProUrlService;
@ -110,7 +111,8 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
private SysStaffOrgFeign sysStaffOrgFeign;
@Resource
private SysOrganizationFeign sysOrganizationFeign;
@Resource
private FlowableService flowableService;
public ResultBean getProcessCirculationNodesByMap(BusinessVariables bv) {
String modelId = null;
if (bv.getModelId()!= null) {
@ -272,6 +274,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
for( SysUserVo data:data1){
TaskUserInfo taskUserInfo=new TaskUserInfo();
taskUserInfo.setAssigneeName(data.getName());
taskUserInfo.setAssigneeSid(data.getSid());
if(!StringUtils.isBlank(data.getHeadImage())){
taskUserInfo.setAssigneeHeadImage(fileUploadComponent.getUrlPrefix() +data.getHeadImage());
}
@ -1113,6 +1116,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
* @param flowTaskVo
*/
public ResultBean<List<LatestTaskVo>> taskReject(FlowTaskVo flowTaskVo) {
return taskReject_(flowTaskVo,false);
}
/**
* 驳回任务
*
* @param flowTaskVo
*/
public ResultBean<List<LatestTaskVo>> taskReject_(FlowTaskVo flowTaskVo,boolean b) {
// 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
if (task.isSuspended()) {
@ -1230,18 +1241,38 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
// 最近环节
parentUserTaskList.forEach(item -> {
Map<String, Object> map2 = flowTaskMapper.getTaskByDefKey(task.getProcessInstanceId(), targetIds.get(0));
Map<String, Object> map = flowTaskMapper.getHistTaskByID(task.getProcessInstanceId(), targetIds.get(0));
String assignee_ =item.getAssignee();
if(map.get("ASSIGNEE_")!=null){
assignee_ = map.get("ASSIGNEE_").toString();
}
// String assignee_ = map.get("ASSIGNEE_").toString();
String id_ = map2.get("id_").toString();
/* List<FlowElement> flowElements = processService.calApprovePath(flowTaskVo.getInstanceId(), flowTaskVo.getInstanceId(),
flowTaskVo.getValues());
for(int i=0;i<flowElements.size();i++){
FlowElement flowElement = flowElements.get(i);
System.out.println(flowElement.getId());
}*/
ResultBean<List<LatestTaskVo>> listResultBean_2=null;
if(flowTaskVo.getUserSid().equals(assignee_)){
flowTaskVo.setTaskId(id_);
flowTaskVo.setUserSid(assignee_);
flowTaskVo.setTargetKey(item.getId());
listResultBean_2= taskReject_(flowTaskVo, true);
}else{taskService.setAssignee(id_, assignee_);}
LatestTaskVo latestTaskVo = new LatestTaskVo();
latestTaskVo.setASSIGNEE_(item.getAssignee());
// latestTaskVo.setId_(item.getId());
Map<String, Object> map = flowTaskMapper.getHistTaskByID(task.getProcessInstanceId(), targetIds.get(0));
Map<String, Object> map2 = flowTaskMapper.getTaskByDefKey(task.getProcessInstanceId(), targetIds.get(0));
String id_ = map2.get("id_").toString();
latestTaskVo.setId_(id_);
String assignee_ = map.get("ASSIGNEE_").toString();
taskService.setAssignee(id_, assignee_);
latestTaskVo.setName_(item.getName());
latestTaskVo.setTask_def_key_(item.getId());
latestTaskVo.setIncomingSourceRef(item.getIncomingFlows().get(0).getSourceRef());
latestTaskVo.setId_(listResultBean_2!=null?listResultBean_2.getData().get(0).getId_():id_);
if(b){
taskService.setAssignee(id_, assignee_);
}
latestTaskVo.setName_(listResultBean_2!=null?listResultBean_2.getData().get(0).getName_():item.getName());
latestTaskVo.setTask_def_key_(listResultBean_2!=null?listResultBean_2.getData().get(0).getTask_def_key_():item.getId());
latestTaskVo.setIncomingSourceRef(listResultBean_2!=null?listResultBean_2.getData().get(0).getIncomingSourceRef():item.getIncomingFlows().get(0).getSourceRef());
latestTaskList.add(latestTaskVo);
});
} catch (FlowableObjectNotFoundException e) {
@ -1335,13 +1366,11 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
return historicActivityInstance.getTaskId();
}
// @Transactional(rollbackFor = Exception.class)
public ResultBean<List<LatestTaskVo>> revokeProcess(FlowTaskVo flowTaskVo) {
public ResultBean<List<LatestTaskVo>> revokeProcess(FlowTaskVo flowTaskVo,int j) {
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Execution execution = runtimeService.createExecutionQuery().executionId(historicTaskInstance.getExecutionId()).singleResult();
DelegateExecution delegateExecution = (DelegateExecution) execution;
if(delegateExecution==null){
if (delegateExecution == null) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("流程已办结,不能撤回!").setData(new ArrayList<>());
}
// 获取当前节点的activityId,即xml中每个标签的ID
@ -1350,21 +1379,86 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// taskService.addComment(currentTask.getId(), execution.getProcessInstanceId(), body.get("msg").toString());
// FlowNode flowNode2 = (FlowNode)bpmnModel.getFlowElement(sourceRef);
String taskId = getTaskId(currentActivityId, historicTaskInstance.getProcessInstanceId(), historicTaskInstance.getProcessDefinitionId());
if(StringUtils.isBlank(taskId)){
if (StringUtils.isBlank(taskId)) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("流程找不到上一环节,撤回操作失败!").setData(new ArrayList<>());
}
HistoricTaskInstance historicTaskInstance1 = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
String assignee = historicTaskInstance1.getAssignee();
String userSid = flowTaskVo.getUserSid();
if (!assignee.equals(userSid)) {
ResultBean<FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(flowTaskVo.getInstanceId(), flowTaskVo.getInstanceId());
List<FlowTask> flowList = flowRecordVoResultBean.getData().getFlowList();
String ybrsid="";
int ii=0;
FlowTask flowTask_1 = flowList.get(j+1);
List<TaskUserInfo> taskUserInfos_1 = flowTask_1.getTaskUserInfos();
TaskUserInfo taskUserInfo_1 = taskUserInfos_1.get(0);
FlowTask flowTask_0 = flowList.get(j);
List<TaskUserInfo> taskUserInfos_0 = flowTask_0.getTaskUserInfos();
TaskUserInfo taskUserInfo_0 = taskUserInfos_0.get(0);
String assigneeSid1 = taskUserInfo_1.getAssigneeSid();
String assigneeSid0 = taskUserInfo_0.getAssigneeSid();
/* if(assigneeSid1.equals(assigneeSid0)){
ii=1;
ybrsid=userSid;
}else{
ybrsid=assigneeSid1;
}*/
if(!assigneeSid1.equals(assigneeSid0)){
ybrsid=assignee;
}else{
for(int i=1;i<flowList.size();i++){
FlowTask flowTask = flowList.get(i);
List<TaskUserInfo> taskUserInfos = flowTask.getTaskUserInfos();
TaskUserInfo taskUserInfo = taskUserInfos.get(0);
if(assigneeSid0.equals(taskUserInfo.getAssigneeSid())){
ii++;
continue;
}else{
ybrsid=flowList.get(i).getTaskUserInfos().get(0).getAssigneeSid();
break;
}
}
}
if (!ybrsid.equals(userSid)) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("您不是上一环节处理人,不能进行撤回操作!").setData(new ArrayList<>());
} else {
ResultBean<List<LatestTaskVo>> listResultBean = null;
for(int i=0;i<=ii;i++){
listResultBean = revokeProcess_(historicTaskInstance.getProcessInstanceId(),userSid);
}
return listResultBean;
}
}
public ResultBean<List<LatestTaskVo>> revokeProcess(FlowTaskVo flowTaskVo) {
return revokeProcess(flowTaskVo,0);
}
/* private ResultBean<List<LatestTaskVo>> getListResultBean(FlowTaskVo flowTaskVo, String assignee, ResultBean<List<LatestTaskVo>> listResultBean) {
List<LatestTaskVo> data = listResultBean.getData();
LatestTaskVo latestTaskVo = data.get(0);
flowTaskVo.setTaskId(latestTaskVo.getId_());
flowTaskVo.setUserSid(assignee);
// ResultBean<List<LatestTaskVo>> listResultBean1 = revokeProcess(flowTaskVo);
LatestTaskVo latestTaskVo2 = data.get(0);
String assignee_ = latestTaskVo2.getASSIGNEE_();
if(!assignee_.equals(assignee)){
return getListResultBean(flowTaskVo, assignee, listResultBean);
}
return listResultBean1;
}*/
// @Transactional(rollbackFor = Exception.class)
private ResultBean<List<LatestTaskVo>> revokeProcess_( String processInstanceId,
String assignee ) {
// 流程回退到上一个节点,审批人继续审批
/* runtimeService.createChangeActivityStateBuilder().processInstanceId(historicTaskInstance.getProcessInstanceId())
.moveActivityIdTo(currentActivityId,sourceRef).changeState();
*/
// 获取流程定义信息
String processInstanceId = historicTaskInstance.getProcessInstanceId();
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
ProcessDefinition processDefinition = repositoryService
.createProcessDefinitionQuery()
@ -1395,7 +1489,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
// 如果流程已经结束,则得到结束节点
if (historyService.createHistoricProcessInstanceQuery().finished()
.processInstanceId(task.getProcessInstanceId()).count() > 0) {
.processInstanceId(processInstanceId).count() > 0) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("当前已经结束不能撤回").setData(new ArrayList<>());
}
// 获取活动 ID 即节点 Key
@ -1403,7 +1497,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
parentUserTaskList.forEach(item -> parentUserTaskKeyList.add(item.getId()));
// 获取全部历史节点活动实例,即已经走过的节点历史,数据采用开始时间升序
List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(task.getProcessInstanceId())
.processInstanceId(processInstanceId)
.orderByHistoricTaskInstanceStartTime().asc().list();
// 数据清洗,将回滚导致的脏数据清洗掉
List<String> lastHistoricTaskInstanceList = FlowableUtils.historicTaskInstanceClean(allElements, historicTaskInstanceList);
@ -1437,7 +1531,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
UserTask oneUserTask = parentUserTaskList.get(0);
// 获取所有正常进行的任务节点 Key,这些任务不能直接使用,需要找出其中需要撤回的任务
List<Task> runTaskList = taskService.createTaskQuery()
.processInstanceId(task.getProcessInstanceId()).list();
.processInstanceId(processInstanceId).list();
List<String> runTaskKeyList = new ArrayList<>();
runTaskList.forEach(item -> runTaskKeyList.add(item.getTaskDefinitionKey()));
// 需驳回任务列表
@ -1459,10 +1553,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}));
// 设置撤回意见
currentTaskIds.forEach(item -> {
taskService.addComment(item, historicTaskInstance.getProcessInstanceId(),
taskService.addComment(item, processInstanceId,
FlowComment.RECALL.getType(), "撤回办理");
// 设置实际办理人
taskService.setAssignee(item, userSid);
/* if(assignee.equals("0d8d8119-d476-47ce-89c2-075cd809dda6")){
taskService.setAssignee(item, assignee);
}else{*/
taskService.setAssignee(item, assignee);
/* }*/
});
// 最近环节
@ -1472,14 +1570,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if (targetIds.size() > 1) {
// 1 对 多任务跳转,currentIds 当前节点(1),targetIds 跳转到的节点(多)
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(task.getProcessInstanceId()).
.processInstanceId(processInstanceId).
moveSingleActivityIdToActivityIds(currentIds.get(0), targetIds).changeState();
}
// 如果父级任务只有一个,因此当前任务可能为网关中的任务
if (targetIds.size() == 1) {
// 1 对 1 或 多 对 1 情况,currentIds 当前要跳转的节点列表(1或多),targetIds.get(0) 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(task.getProcessInstanceId())
.processInstanceId(processInstanceId)
.moveActivityIdsToSingleActivityId(currentIds, targetIds.get(0)).changeState();
}
// 最近环节
@ -1491,8 +1589,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
latestTaskVo.setTask_def_key_(item.getId());
latestTaskVo.setIncomingSourceRef(item.getIncomingFlows().get(0).getSourceRef());
Map<String, Object> task_map = flowTaskMapper.getTaskByDefKey(historicTaskInstance.getProcessInstanceId(), item.getId());
taskService.setAssignee(task_map.get("id_").toString(), userSid);
Map<String, Object> task_map = flowTaskMapper.getTaskByDefKey(processInstanceId, item.getId());
/* if(assignee.equals("0d8d8119-d476-47ce-89c2-075cd809dda6")){
taskService.setAssignee(task_map.get("id_").toString(), assignee);
}else{*/
taskService.setAssignee(task_map.get("id_").toString(), assignee);
/* }*/
latestTaskVo.setId_(task_map.get("id_").toString());
latestTaskList.add(latestTaskVo);
});

2
anrui-system-ui/src/views/Home/Home.vue

@ -283,7 +283,7 @@
} else if (index == '8') {
let myPopup = window.open('http://120.46.172.184/message/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '1') {
let myPopup = window.open('http://120.46.172.184/scm/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://127.0.0.1:9531/scm/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '4') {
let myPopup = window.open('http://120.46.172.184/fin/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '5') {

Loading…
Cancel
Save