From 1fa310ba69d04cd92cdaf3fefa8a3153055d499c Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 30 八月 2021 15:17:38 +0800
Subject: [PATCH] 加入查询下一节点数

---
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java |   63 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 8 deletions(-)

diff --git a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
index 40ef4dd..0c4515b 100644
--- a/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
+++ b/service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java
@@ -177,8 +177,17 @@
         List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
         Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
 
+        OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
+        oaWorkflowFormDto.setFlowId(paramIn.get("flowId").toString());
+        oaWorkflowFormDto.setStoreId(paramIn.get("storeId").toString());
+        oaWorkflowFormDto.setRow(1);
+        oaWorkflowFormDto.setPage(1);
+        List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
+        Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+
         AuditUser auditUser = new AuditUser();
         auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
+        auditUser.setFlowId(paramIn.getString("flowId"));
         auditUser.setUserId(paramIn.getString("userId"));
         auditUser.setStoreId(paramIn.getString("storeId"));
         auditUser.setPage(paramIn.getInteger("page"));
@@ -191,7 +200,7 @@
         if (count > 0) {
             datas = oaWorkflowUserInnerServiceSMOImpl.getUserTasks(auditUser);
             //鍒锋柊 琛ㄥ崟鏁版嵁
-            freshFormData(datas, paramIn);
+            freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
         } else {
             datas = new ArrayList<>();
         }
@@ -217,8 +226,17 @@
         List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
         Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
 
+        OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
+        oaWorkflowFormDto.setFlowId(paramIn.get("flowId").toString());
+        oaWorkflowFormDto.setStoreId(paramIn.get("storeId").toString());
+        oaWorkflowFormDto.setRow(1);
+        oaWorkflowFormDto.setPage(1);
+        List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
+        Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+
         AuditUser auditUser = new AuditUser();
         auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
+        auditUser.setFlowId(paramIn.getString("flowId"));
         auditUser.setUserId(paramIn.getString("userId"));
         auditUser.setStoreId(paramIn.getString("storeId"));
         auditUser.setPage(paramIn.getInteger("page"));
@@ -231,7 +249,7 @@
         if (count > 0) {
             datas = oaWorkflowUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser);
             //鍒锋柊 琛ㄥ崟鏁版嵁
-            freshFormData(datas, paramIn);
+            freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
         } else {
             datas = new ArrayList<>();
         }
@@ -258,15 +276,41 @@
         List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
         Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
 
-
-        reqJson.put("createUserId", reqJson.getString("userId"));
-        boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
-        if (isLastTask) {
-            reqJson.put("state", "1005");
+        //涓氬姟鍔炵悊
+        if ("1100".equals(reqJson.getString("auditCode"))) {
+            reqJson.put("nextUserId", reqJson.getString("staffId"));
+            boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
+            if (isLastTask) {
+                reqJson.put("state", "1005");
+            } else {
+                reqJson.put("state", "1002");
+            }
             reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
             oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+        } else if ("1300".equals(reqJson.getString("auditCode"))) {
+            reqJson.put("nextUserId", reqJson.getString("staffId"));
+            oaWorkflowUserInnerServiceSMOImpl.changeTaskToOtherUser(reqJson);
+            reqJson.put("state", "1004");
+            reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
+            oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+        } else if ("1200".equals(reqJson.getString("auditCode"))) {
+            reqJson.put("curUserId", reqJson.getString("curUserId"));
+            oaWorkflowUserInnerServiceSMOImpl.goBackTask(reqJson);
+            reqJson.put("state", "1003");
+            reqJson.put("tableName", oaWorkflowFormDtos.get(0).getTableName());
+            oaWorkflowFormInnerServiceSMOImpl.updateOaWorkflowFormData(reqJson);
+        } else {
+            throw new IllegalArgumentException("涓嶆敮鎸佺殑绫诲瀷");
         }
+
+
         return ResultVo.success();
+    }
+
+    @Override
+    public ResponseEntity<String> getNextTask(JSONObject reqJson) {
+        List<JSONObject> tasks = oaWorkflowUserInnerServiceSMOImpl.nextAllNodeTaskList(reqJson);
+        return ResultVo.createResponseEntity(tasks);
     }
 
     /**
@@ -274,7 +318,7 @@
      *
      * @param datas
      */
-    private void freshFormData(List<JSONObject> datas, JSONObject paramIn) {
+    private void freshFormData(List<JSONObject> datas, JSONObject paramIn, OaWorkflowFormDto oaWorkflowFormDto) {
         List<String> ids = new ArrayList<>();
         for (JSONObject data : datas) {
             ids.add(data.getString("id"));
@@ -286,6 +330,9 @@
         Map paramMap = new HashMap();
         paramMap.put("storeId", paramIn.getString("storeId"));
         paramMap.put("ids", ids.toArray(new String[ids.size()]));
+        paramMap.put("tableName", oaWorkflowFormDto.getTableName());
+        paramMap.put("page", 1);
+        paramMap.put("row", ids.size());
         List<Map> formDatas = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowFormDatas(paramMap);
 
         for (JSONObject data : datas) {

--
Gitblit v1.8.0