소스 검색

获取保证金流程标题,重新提交至多实例会签

lamphua 1 개월 전
부모
커밋
600548d4c0
1개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 13
    8
      oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java

+ 13
- 8
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java 파일 보기

@@ -455,18 +455,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
455 455
             runtimeService.createChangeActivityStateBuilder()
456 456
                     .processInstanceId(task.getProcessInstanceId())
457 457
                     .moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
458
-            String currentTaskId = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getId();
458
+
459 459
             List<HistoricTaskInstance> htiList = historyService.createHistoricTaskInstanceQuery()
460 460
                     .processInstanceId(task.getProcessInstanceId()).taskDefinitionKey(flowTaskVo.getTargetKey())
461 461
                     .list();
462
-            String taskAssignee = "";
463
-            for (HistoricTaskInstance hti: htiList) {
464
-                if (!hti.getId().equals(currentTaskId)) {
465
-                    taskAssignee = hti.getAssignee();
466
-                    break;
462
+            List<Task> currentTaskList = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).list();
463
+            for (int i = 0; i < currentTaskList.size(); i++) {
464
+                String taskAssignee = "";
465
+                if (!htiList.get(i).getId().equals(currentTaskList.get(i).getId())) {
466
+                    taskAssignee = htiList.get(i).getAssignee();
467
+                    taskService.setAssignee(currentTaskList.get(i).getId(), taskAssignee);
467 468
                 }
468 469
             }
469
-            taskService.setAssignee(currentTaskId, taskAssignee);
470 470
         } catch (FlowableObjectNotFoundException e) {
471 471
             throw new CustomException("未找到流程实例,流程可能已发生变化");
472 472
         } catch (FlowableException e) {
@@ -1768,7 +1768,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
1768 1768
         }
1769 1769
         if (flowTaskDto.getProcDefName().equals("保证金审批")) {
1770 1770
             CmcDeposit cmcDeposit = cmcDepositService.selectCmcDepositByDepositId(formId);
1771
-            projectId = cmcDeposit != null ? cmcDeposit.getTenderId().toString() : "";
1771
+            if (cmcDeposit != null) {
1772
+                if (cmcDeposit.getTenderId() != null)
1773
+                    projectId = cmcDeposit.getTenderId().toString();
1774
+                else
1775
+                    flowTaskDto.setTitle(cmcDeposit.getApplyReason());
1776
+            }
1772 1777
         }
1773 1778
         if (flowTaskDto.getProcDefName().equals("项目委外")) {
1774 1779
             CmcOutsource cmcOutsource = cmcOutsourceService.selectCmcOutsourceByOutsourceId(formId);

Loading…
취소
저장