Преглед на файлове

被拒绝的流程不要重新开始

buzhanyi преди 1 година
родител
ревизия
9795176aca

+ 12 - 3
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/ankaibei/controller/CostInfoController.java

@@ -178,8 +178,18 @@ public class CostInfoController {
         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageData.getDataList());
         //加上流程分类名称和关联的表单信息中的项目名称
         List<FlowTaskVo> flowTaskVoListAd = new ArrayList<>();
-
+        //使用一个新的集合当做中转,删除已经被拒绝的流程
+        List<FlowTaskVo> flowTaskVoListChange = new ArrayList<>(flowTaskVoList);
+        for (FlowTaskVo taskVo : flowTaskVoListChange) {
+            Integer flowStatus = flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus();
+            if (flowStatus == 2) {
+                flowTaskVoList.remove(taskVo);
+                break;
+            }
+        }
         for (FlowTaskVo taskVo : flowTaskVoList) {
+            taskVo.setFlowTaskStatus(flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus() + "");
+
             String categoryName = categoryService.getById(flowEntryService.getById(taskVo.getEntryId()).getCategoryId()).getName();
             taskVo.setCategoryName(categoryName);
             //拿到任务所在表单中数据字段和对应的值(包含每个申请记录的项目名称和流程的任务变量)
@@ -207,7 +217,6 @@ public class CostInfoController {
             } else {
                 taskVo.setCostType(categoryName);
             }
-            taskVo.setFlowTaskStatus(flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus() + "");
             if (StringUtils.isNotBlank(listRuntimeTaskRequestVo.getProjectName())) {
                 if (taskVo.getProjectName().contains(listRuntimeTaskRequestVo.getProjectName())) {
                     flowTaskVoListAd.add(taskVo);
@@ -216,7 +225,7 @@ public class CostInfoController {
                 flowTaskVoListAd.add(taskVo);
             }
         }
-        return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListAd, pageData.getTotalCount()));
+        return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoListAd, Long.valueOf(flowTaskVoListAd.size())));
     }
 
     /**

+ 11 - 1
common/common-flow/src/main/java/com/ankaibei/workFlow/common/flow/controller/FlowOperationController.java

@@ -521,7 +521,17 @@ public class FlowOperationController {
         MyPageData<Task> pageData = flowApiService.getTaskListByUserName(
                 username, listRuntimeTaskRequestVo);
         List<FlowTaskVo> flowTaskVoList = flowApiService.convertToFlowTaskList(pageData.getDataList());
-        return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoList, pageData.getTotalCount()));
+        //使用一个新的集合当做中转,删除已经被拒绝的流程
+        List<FlowTaskVo> flowTaskVoListChange = new ArrayList<>(flowTaskVoList);
+        for (FlowTaskVo taskVo : flowTaskVoListChange) {
+            Integer flowStatus = flowWorkOrderService.getFlowWorkOrderByProcessInstanceId(taskVo.getProcessInstanceId()).getFlowStatus();
+            if (flowStatus == 2) {
+                flowTaskVoList.remove(taskVo);
+                break;
+            }
+            taskVo.setFlowTaskStatus(flowStatus + "");
+        }
+        return ResMsg.newInstance(CodeEnum.OK, MyPageUtil.makeResponseData(flowTaskVoList, Long.valueOf(flowTaskVoList.size())));
     }