From 2b919980a8c70554a64cb3d03cc95679af4d817f Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 03 七月 2023 00:22:16 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 springboot/src/main/java/com/java110/boot/smo/undo/impl/UndoSMOImpl.java |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/springboot/src/main/java/com/java110/boot/smo/undo/impl/UndoSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/undo/impl/UndoSMOImpl.java
index 7bd6658..0c86ee2 100644
--- a/springboot/src/main/java/com/java110/boot/smo/undo/impl/UndoSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/undo/impl/UndoSMOImpl.java
@@ -4,14 +4,11 @@
 import com.java110.boot.smo.DefaultAbstractComponentSMO;
 import com.java110.boot.smo.undo.IUndoSMO;
 import com.java110.core.context.IPageData;
-import com.java110.dto.itemReleaseType.ItemReleaseTypeDto;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
-import com.java110.dto.user.UserDto;
-import com.java110.dto.workflow.WorkflowDto;
-import com.java110.entity.audit.AuditUser;
-import com.java110.entity.component.ComponentValidateResult;
-import com.java110.intf.common.IItemReleaseTypeV1InnerServiceSMO;
-import com.java110.intf.common.IOaWorkflowUserInnerServiceSMO;
+import com.java110.dto.oaWorkflow.WorkflowDto;
+import com.java110.dto.audit.AuditUser;
+import com.java110.dto.system.ComponentValidateResult;
+import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
 import com.java110.utils.exception.SMOException;
 import com.java110.vo.ResultVo;
@@ -36,7 +33,7 @@
     private RestTemplate restTemplate;
 
     @Autowired
-    private IOaWorkflowUserInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
+    private IOaWorkflowActivitiInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
 
 
     @Autowired
@@ -153,9 +150,60 @@
         }
         getItemReleaseCount(result, doing);
 
+        getVisitCount(result, doing);
+
+        getOwnerSettledApplyCount(result, doing);
+
         return ResultVo.createResponseEntity(doing);
     }
 
+    private void getOwnerSettledApplyCount(ComponentValidateResult result, JSONObject data) {
+        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+        oaWorkflowDto.setState(OaWorkflowDto.STATE_COMPLAINT);
+        oaWorkflowDto.setFlowType(OaWorkflowDto.FLOW_TYPE_OWNER_SETTLED);
+        List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
+
+        if (oaWorkflowDtos == null || oaWorkflowDtos.size() < 1) {
+            data.put("ownerSettledApplyCount", "0");
+            return ;
+        }
+        List<String> flowIds = new ArrayList<>();
+        for (OaWorkflowDto tmpOaWorkflowDto : oaWorkflowDtos) {
+            flowIds.add(WorkflowDto.DEFAULT_PROCESS + tmpOaWorkflowDto.getFlowId());
+        }
+
+        AuditUser auditUser = new AuditUser();
+        auditUser.setUserId(result.getUserId());
+        auditUser.setProcessDefinitionKeys(flowIds);
+
+        long itemReleaseCount = oaWorkflowUserInnerServiceSMOImpl.getDefinitionKeysUserTaskCount(auditUser);
+        data.put("ownerSettledApplyCount", itemReleaseCount);
+    }
+
+
+    private void getVisitCount(ComponentValidateResult result, JSONObject data) {
+        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+        oaWorkflowDto.setState(OaWorkflowDto.STATE_COMPLAINT);
+        oaWorkflowDto.setFlowType(OaWorkflowDto.FLOW_TYPE_VISIT);
+        List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
+
+        if (oaWorkflowDtos == null || oaWorkflowDtos.size() < 1) {
+            data.put("visitUndoCount", "0");
+            return ;
+        }
+        List<String> flowIds = new ArrayList<>();
+        for (OaWorkflowDto tmpOaWorkflowDto : oaWorkflowDtos) {
+            flowIds.add(WorkflowDto.DEFAULT_PROCESS + tmpOaWorkflowDto.getFlowId());
+        }
+
+        AuditUser auditUser = new AuditUser();
+        auditUser.setUserId(result.getUserId());
+        auditUser.setProcessDefinitionKeys(flowIds);
+
+        long itemReleaseCount = oaWorkflowUserInnerServiceSMOImpl.getDefinitionKeysUserTaskCount(auditUser);
+        data.put("visitUndoCount", itemReleaseCount);
+    }
+
     private void getItemReleaseCount(ComponentValidateResult result, JSONObject data) {
         OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
         oaWorkflowDto.setState(OaWorkflowDto.STATE_COMPLAINT);

--
Gitblit v1.8.0