From 59f36e2501b2a4713a0cdf118e4736de77003511 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 25 八月 2021 11:32:12 +0800
Subject: [PATCH] 优化代码
---
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 110 insertions(+), 0 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 d4aeb5d..2c6895e 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
@@ -5,6 +5,7 @@
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.oaWorkflowForm.OaWorkflowFormDto;
import com.java110.dto.user.UserDto;
+import com.java110.entity.audit.AuditUser;
import com.java110.intf.common.IOaWorkflowUserInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowFormInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
@@ -19,6 +20,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -160,4 +162,112 @@
return ResultVo.success();
}
+ /**
+ * 鏌ヨ宸ヤ綔娴佸緟鍔�
+ *
+ * @param paramIn
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> queryOaWorkflowUserTaskFormData(JSONObject paramIn) {
+
+ OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+ oaWorkflowDto.setStoreId(paramIn.getString("storeId"));
+ oaWorkflowDto.setFlowId(paramIn.getString("flowId"));
+ List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
+ Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
+
+ AuditUser auditUser = new AuditUser();
+ auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
+ auditUser.setUserId(paramIn.getString("userId"));
+ auditUser.setStoreId(paramIn.getString("storeId"));
+ auditUser.setPage(paramIn.getInteger("page"));
+ auditUser.setRow(paramIn.getInteger("row"));
+
+ long count = oaWorkflowUserInnerServiceSMOImpl.getUserTaskCount(auditUser);
+
+ List<JSONObject> datas = null;
+
+ if (count > 0) {
+ datas = oaWorkflowUserInnerServiceSMOImpl.getUserTasks(auditUser);
+ //鍒锋柊 琛ㄥ崟鏁版嵁
+ freshFormData(datas, paramIn);
+ } else {
+ datas = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) paramIn.getInteger("row")), count, datas);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+ return responseEntity;
+ }
+
+ /**
+ * 鏌ヨ宸ヤ綔娴佸緟鍔�
+ *
+ * @param paramIn
+ * @return
+ */
+ @Override
+ public ResponseEntity<String> queryOaWorkflowUserHisTaskFormData(JSONObject paramIn) {
+
+ OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+ oaWorkflowDto.setStoreId(paramIn.getString("storeId"));
+ oaWorkflowDto.setFlowId(paramIn.getString("flowId"));
+ List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
+ Assert.listOnlyOne(oaWorkflowDtos, "娴佺▼涓嶅瓨鍦�");
+
+ AuditUser auditUser = new AuditUser();
+ auditUser.setProcessDefinitionKey(oaWorkflowDtos.get(0).getProcessDefinitionKey());
+ auditUser.setUserId(paramIn.getString("userId"));
+ auditUser.setStoreId(paramIn.getString("storeId"));
+ auditUser.setPage(paramIn.getInteger("page"));
+ auditUser.setRow(paramIn.getInteger("row"));
+
+ long count = oaWorkflowUserInnerServiceSMOImpl.getUserHistoryTaskCount(auditUser);
+
+ List<JSONObject> datas = null;
+
+ if (count > 0) {
+ datas = oaWorkflowUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser);
+ //鍒锋柊 琛ㄥ崟鏁版嵁
+ freshFormData(datas, paramIn);
+ } else {
+ datas = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) paramIn.getInteger("row")), count, datas);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+ return responseEntity;
+ }
+
+ /**
+ * 鍒峰叆琛ㄥ崟鏁版嵁
+ *
+ * @param datas
+ */
+ private void freshFormData(List<JSONObject> datas, JSONObject paramIn) {
+ List<String> ids = new ArrayList<>();
+ for (JSONObject data : datas) {
+ ids.add(data.getString("id"));
+ }
+ if (ids.size() < 1) {
+ return;
+ }
+
+ Map paramMap = new HashMap();
+ paramMap.put("storeId", paramIn.getString("storeId"));
+ paramMap.put("ids", ids.toArray(new String[ids.size()]));
+ List<Map> formDatas = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowFormDatas(paramMap);
+
+ for (JSONObject data : datas) {
+ for (Map form : formDatas) {
+ if (data.getString("id").equals(form.get("id"))) {
+ data.putAll(form);
+ }
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0