|
@@ -448,7 +448,7 @@ public class ApproveService implements IApproveService {
|
|
|
//通过任务id获取任务分支
|
|
|
List<TaskOutgoingVo> list = buildTaskOutgoingVoList(taskId);
|
|
|
for (ActivitiHolder activitiHolder: activitiHolderList){
|
|
|
- activitiHolder.setActivitiId(list.get(0).getActivitiId());
|
|
|
+ activitiHolder.setTaskDefinitionKey(list.get(0).getActivitiId());
|
|
|
}
|
|
|
}
|
|
|
transMessage.setActivitiHolders(activitiHolderList);
|
|
@@ -826,7 +826,6 @@ public class ApproveService implements IApproveService {
|
|
|
approvalInfoVo.setResourceInfoVo(resourceInfoVo);
|
|
|
return ResponseDTO.newInstance(approvalInfoVo);
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
* 设置是否显示撤回按钮
|
|
|
* @param taskOperateVo
|
|
@@ -835,20 +834,28 @@ public class ApproveService implements IApproveService {
|
|
|
*/
|
|
|
private void appendShowBack(TaskOperateVo taskOperateVo, String taskId, String processInstanceId,OutgoingVo outgoingVo,String pageType) {
|
|
|
ApprovalInfo approvalInfo = this.findApprovalInfo(processInstanceId, "");
|
|
|
+
|
|
|
+ List<String> taskDefinitionKeyList = new ArrayList<>();
|
|
|
+ for (TaskDefinitionVo taskDefinitionVo: outgoingVo.getTaskDefinitionVoList()){
|
|
|
+ taskDefinitionKeyList.add(taskDefinitionVo.getTaskDefinitionKey());
|
|
|
+ }
|
|
|
+
|
|
|
if(approvalInfo.getTaskId().equalsIgnoreCase(endStr)){
|
|
|
//流程结束不能撤回
|
|
|
taskOperateVo.setShowBack(false);
|
|
|
return;
|
|
|
}else {
|
|
|
- String HistoryTaskDefinitionKey = "";
|
|
|
+ String historyTaskDefinitionKey = "";
|
|
|
if (pageType.equalsIgnoreCase(myRequestPage)) {
|
|
|
- Map<String, String> out = outgoingVo.getOutgoingTransitions();
|
|
|
- Set<String> strings = out.keySet();
|
|
|
- String next = strings.iterator().next();
|
|
|
- HistoryTaskDefinitionKey = next;
|
|
|
+// Map<String, String> out = outgoingVo.getOutgoingTransitions();
|
|
|
+// Set<String> strings = out.keySet();
|
|
|
+// String next = strings.iterator().next();
|
|
|
+// historyTaskDefinitionKey = next;
|
|
|
+ historyTaskDefinitionKey = outgoingVo.getTaskDefinitionVoList().get(0).getTaskDefinitionKey();
|
|
|
+
|
|
|
}else {
|
|
|
TaskHistoryDetailVo currentTask = workflowClientFactory.getWorkflowTaskClient().queryTaskDetail(taskId);
|
|
|
- HistoryTaskDefinitionKey = currentTask.getTaskDefinitionKey();
|
|
|
+ historyTaskDefinitionKey = currentTask.getTaskDefinitionKey();
|
|
|
}
|
|
|
/**
|
|
|
* 1. 判断是否为第一个节点,是则不能撤回
|
|
@@ -858,7 +865,7 @@ public class ApproveService implements IApproveService {
|
|
|
//1.判断是否为第一个节点,是则不能撤回
|
|
|
TaskHistoryDetailVo taskHistoryDetailVo = workflowClientFactory.getWorkflowTaskClient().queryTaskDetail(approvalInfo.getTaskId());
|
|
|
String taskDefinitionKey = taskHistoryDetailVo.getTaskDefinitionKey();
|
|
|
- if(outgoingVo.getOutgoingTransitions().containsKey(taskDefinitionKey)){
|
|
|
+ if(taskDefinitionKeyList.contains(taskDefinitionKey)){
|
|
|
taskOperateVo.setShowBack(false);
|
|
|
return;
|
|
|
}
|
|
@@ -893,7 +900,7 @@ public class ApproveService implements IApproveService {
|
|
|
if(approveCommentVo.getId().equalsIgnoreCase(taskDefinitionKey)){
|
|
|
finishTaskIndexPosition = index;
|
|
|
}
|
|
|
- if(approveCommentVo.getId().equalsIgnoreCase(HistoryTaskDefinitionKey)){
|
|
|
+ if(approveCommentVo.getId().equalsIgnoreCase(historyTaskDefinitionKey)){
|
|
|
currentTaskIndexPosition = index;
|
|
|
}
|
|
|
index++;
|
|
@@ -1000,11 +1007,13 @@ public class ApproveService implements IApproveService {
|
|
|
private List<TaskOutgoingVo> buildTaskOutgoingVoList(String taskId) {
|
|
|
OutgoingVo outgoingVo = workflowClientFactory.getWorkflowTaskClient().queryTaskOutgoing(taskId);
|
|
|
List<TaskOutgoingVo> list = new ArrayList<>();
|
|
|
- for (Map.Entry<String, String> map : outgoingVo.getOutgoingTransitions().entrySet()) {
|
|
|
- if (!"end".equalsIgnoreCase(map.getKey())){
|
|
|
+
|
|
|
+ for (TaskDefinitionVo taskDefinitionVo: outgoingVo.getTaskDefinitionVoList()){
|
|
|
+ if (!"end".equalsIgnoreCase(taskDefinitionVo.getTaskCode())){
|
|
|
TaskOutgoingVo taskOutgoingVo = new TaskOutgoingVo();
|
|
|
- taskOutgoingVo.setActivitiId(map.getKey());
|
|
|
- taskOutgoingVo.setActivitiName(map.getValue());
|
|
|
+ taskOutgoingVo.setActivitiId(taskDefinitionVo.getTaskDefinitionKey());
|
|
|
+ taskOutgoingVo.setActivitiName(taskDefinitionVo.getName());
|
|
|
+ taskOutgoingVo.setTaskCode(taskDefinitionVo.getTaskCode());
|
|
|
list.add(taskOutgoingVo);
|
|
|
}
|
|
|
}
|
|
@@ -1019,7 +1028,12 @@ public class ApproveService implements IApproveService {
|
|
|
* @param taskDefinitionKey
|
|
|
*/
|
|
|
private void appendShowEdit(TaskOperateVo taskOperateVo, OutgoingVo outgoingVo, String taskDefinitionKey) {
|
|
|
- Boolean showEdit = outgoingVo.getOutgoingTransitions().get(taskDefinitionKey) != null;
|
|
|
+ List<String> taskDefinitionKeyList = new ArrayList<>();
|
|
|
+ for (TaskDefinitionVo taskDefinitionVo: outgoingVo.getTaskDefinitionVoList()){
|
|
|
+ taskDefinitionKeyList.add(taskDefinitionVo.getTaskDefinitionKey());
|
|
|
+ }
|
|
|
+// Boolean showEdit = outgoingVo.getOutgoingTransitions().get(taskDefinitionKey) != null;
|
|
|
+ Boolean showEdit = taskDefinitionKeyList.contains(taskDefinitionKey);
|
|
|
taskOperateVo.setShowEdit(showEdit);
|
|
|
}
|
|
|
|