From 8fcab674e4781dafc9c4b9d2973ced5f952726f3 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 25 十一月 2021 09:15:08 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
index fb81ca7..9dc9edc 100644
--- a/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
@@ -263,8 +263,13 @@
             throw new IllegalArgumentException("浠诲姟宸插鐞�");
         }
 
-        //鎵╁睍 宸ヤ綔娴佸姛鑳�
-        doTaskAuditAgree(reqJson);
+        //鍒ゆ柇鏄惁涓虹粨鏉熸祦绋�
+        if ("1500".equals(reqJson.getString("auditCode"))) {
+            doTaskFinish(reqJson);
+        } else {
+            //鎵╁睍 宸ヤ綔娴佸姛鑳�
+            doTaskAuditAgree(reqJson);
+        }
 
         String processInstanceId = task.getProcessInstanceId();
         Authentication.setAuthenticatedUserId(reqJson.getString("nextUserId"));
@@ -278,6 +283,25 @@
             return true;
         }
         return false;
+    }
+
+    private void doTaskFinish(JSONObject reqJson) {
+        OaWorkflowDataDto oaWorkflowDataDto = new OaWorkflowDataDto();
+        oaWorkflowDataDto.setStoreId(reqJson.getString("storeId"));
+        oaWorkflowDataDto.setBusinessKey(reqJson.getString("id"));
+        oaWorkflowDataDto.setPage(1);
+        oaWorkflowDataDto.setRow(1);
+        List<OaWorkflowDataDto> oaWorkflowDataDtos = oaWorkflowDataInnerServiceSMOImpl.queryOaWorkflowDatas(oaWorkflowDataDto);
+
+        if (oaWorkflowDataDtos == null || oaWorkflowDataDtos.size() < 1) {
+            return;
+        }
+        //淇敼 褰撳墠 涓哄畬鎴�
+        OaWorkflowDataPo oaWorkflowDataPo = new OaWorkflowDataPo();
+        oaWorkflowDataPo.setDataId(oaWorkflowDataDtos.get(0).getDataId());
+        oaWorkflowDataPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+        oaWorkflowDataInnerServiceSMOImpl.updateOaWorkflowData(oaWorkflowDataPo);
     }
 
     /**
@@ -403,6 +427,18 @@
         if (task == null) {
             throw new IllegalArgumentException("浠诲姟宸插鐞�");
         }
+//        //閫�鍥炵粰鎻愪氦鑰�
+//        if ("1400".equals(reqJson.getString("auditCode"))) {
+//            String processInstanceId = task.getProcessInstanceId();
+//            Authentication.setAuthenticatedUserId(reqJson.getString("startUserId"));
+//            taskService.addComment(reqJson.getString("taskId"), processInstanceId, reqJson.getString("auditMessage"));
+//            Map<String, Object> variables = new HashMap<String, Object>();
+//            variables.put("nextUserId", reqJson.getString("startUserId"));
+//            variables.put("auditCode", reqJson.getString("auditCode"));
+//            taskService.complete(reqJson.getString("taskId"), variables);
+//
+//            return true;
+//        }
 
         String event = doTaskAuditUnAgree(reqJson);
         if (OaWorkflowDataDto.EVENT_COMMIT.equals(event)) { //鎻愪氦鐘舵��
@@ -441,7 +477,7 @@
 
         oaWorkflowDataDto = new OaWorkflowDataDto();
         oaWorkflowDataDto.setStoreId(reqJson.getString("storeId"));
-        oaWorkflowDataDto.setDataId(reqJson.getString(oaWorkflowDataDtos.get(0).getPreDataId()));
+        oaWorkflowDataDto.setDataId(oaWorkflowDataDtos.get(0).getPreDataId());
         oaWorkflowDataDto.setPage(1);
         oaWorkflowDataDto.setRow(1);
         List<OaWorkflowDataDto> preOaWorkflowDataDtos = oaWorkflowDataInnerServiceSMOImpl.queryOaWorkflowDatas(oaWorkflowDataDto);
@@ -455,7 +491,7 @@
 
         reqJson.put("nextUserId", preOaWorkflowDataDtos.get(0).getStaffId());
         if ("1400".equals(reqJson.getString("auditCode"))) {
-            reqJson.put("nextUserId", reqJson.getString("createUserId"));
+            reqJson.put("nextUserId", reqJson.getString("startUserId"));
         }
         oaWorkflowDataPo = new OaWorkflowDataPo();
         oaWorkflowDataPo.setBusinessKey(preOaWorkflowDataDtos.get(0).getBusinessKey());
@@ -553,7 +589,7 @@
         List<SequenceFlow> outgoingFlows = flowNode.getOutgoingFlows();
         JSONObject taskObj = null;
         taskObj = new JSONObject();
-        taskObj.put("assignee", "-1"); //  榛樿 涓嶉渶瑕佹寚瀹氫笅涓�涓鐞嗕汉
+        taskObj.put("assignee", "-1"); //  榛樿 涓嶉渶瑕佹寚瀹氫笅涓�涓鐞嗕汉 琛ㄧず缁撴潫
         boolean isReturn = false;
         //閬嶅巻杈撳嚭杩炵嚎
         for (SequenceFlow outgoingFlow : outgoingFlows) {

--
Gitblit v1.8.0