浏览代码

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

lamphua 3 个月前
父节点
当前提交
600548d4c0

+ 13
- 8
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java 查看文件

455
             runtimeService.createChangeActivityStateBuilder()
455
             runtimeService.createChangeActivityStateBuilder()
456
                     .processInstanceId(task.getProcessInstanceId())
456
                     .processInstanceId(task.getProcessInstanceId())
457
                     .moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
457
                     .moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
458
-            String currentTaskId = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getId();
458
+
459
             List<HistoricTaskInstance> htiList = historyService.createHistoricTaskInstanceQuery()
459
             List<HistoricTaskInstance> htiList = historyService.createHistoricTaskInstanceQuery()
460
                     .processInstanceId(task.getProcessInstanceId()).taskDefinitionKey(flowTaskVo.getTargetKey())
460
                     .processInstanceId(task.getProcessInstanceId()).taskDefinitionKey(flowTaskVo.getTargetKey())
461
                     .list();
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
         } catch (FlowableObjectNotFoundException e) {
470
         } catch (FlowableObjectNotFoundException e) {
471
             throw new CustomException("未找到流程实例,流程可能已发生变化");
471
             throw new CustomException("未找到流程实例,流程可能已发生变化");
472
         } catch (FlowableException e) {
472
         } catch (FlowableException e) {
1768
         }
1768
         }
1769
         if (flowTaskDto.getProcDefName().equals("保证金审批")) {
1769
         if (flowTaskDto.getProcDefName().equals("保证金审批")) {
1770
             CmcDeposit cmcDeposit = cmcDepositService.selectCmcDepositByDepositId(formId);
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
         if (flowTaskDto.getProcDefName().equals("项目委外")) {
1778
         if (flowTaskDto.getProcDefName().equals("项目委外")) {
1774
             CmcOutsource cmcOutsource = cmcOutsourceService.selectCmcOutsourceByOutsourceId(formId);
1779
             CmcOutsource cmcOutsource = cmcOutsourceService.selectCmcOutsourceByOutsourceId(formId);

正在加载...
取消
保存