From aa223a550b25e2965974ee5cd3be107f50b998ef Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 18 十一月 2024 20:55:03 +0800
Subject: [PATCH] 优化代码

---
 service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java |   90 ++++++++++++++++++++++++++++-----------------
 1 files changed, 56 insertions(+), 34 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 a40b5d4..ddaebb8 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
@@ -1,22 +1,24 @@
 package com.java110.oa.bmo.oaWorkflowForm.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
-import com.java110.dto.oaWorkflowData.OaWorkflowDataDto;
-import com.java110.dto.oaWorkflowForm.OaWorkflowFormDto;
+import com.java110.dto.oaWorkflow.OaWorkflowDataDto;
+import com.java110.dto.oaWorkflow.OaWorkflowFormDto;
 import com.java110.dto.user.UserDto;
-import com.java110.dto.workflowDataFile.WorkflowDataFileDto;
-import com.java110.entity.audit.AuditUser;
-import com.java110.intf.common.IOaWorkflowUserInnerServiceSMO;
+import com.java110.dto.oaWorkflow.WorkflowDataFileDto;
+import com.java110.dto.audit.AuditUser;
+import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowDataInnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowFormInnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
 import com.java110.intf.oa.IWorkflowDataFileV1InnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.oa.bmo.oaWorkflowForm.IGetOaWorkflowFormBMO;
-import com.java110.po.workflowDataFile.WorkflowDataFilePo;
+import com.java110.po.oaWorkflow.WorkflowDataFilePo;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -46,7 +48,7 @@
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
     @Autowired
-    private IOaWorkflowUserInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
+    private IOaWorkflowActivitiInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
 
     @Autowired
     private IOaWorkflowDataInnerServiceSMO oaWorkflowDataInnerServiceSMOImpl;
@@ -94,10 +96,16 @@
      */
     @Override
     public ResponseEntity<String> queryOaWorkflowFormData(Map paramIn) {
+        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+        oaWorkflowDto.setFlowId(paramIn.get("flowId").toString());
+        oaWorkflowDto.setStoreId(paramIn.get("storeId").toString());
+        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.setFormId(oaWorkflowDtos.get(0).getCurFormId());
         oaWorkflowFormDto.setRow(1);
         oaWorkflowFormDto.setPage(1);
         List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
@@ -139,13 +147,12 @@
         if (workflowDataFileDtos == null || workflowDataFileDtos.size() < 1) {
             return;
         }
-        String imgUrl = MappingCache.getValue("IMG_PATH");
-        imgUrl += (!StringUtil.isEmpty(imgUrl) && imgUrl.endsWith("/") ? "" : "/");
-        for(WorkflowDataFileDto tmpWorkflowDataFileDto: workflowDataFileDtos){
+        String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH");
+        for (WorkflowDataFileDto tmpWorkflowDataFileDto : workflowDataFileDtos) {
             tmpWorkflowDataFileDto.setRealFileName(imgUrl + tmpWorkflowDataFileDto.getRealFileName());
         }
 
-        datas.get(0).put("files",workflowDataFileDtos);
+        datas.get(0).put("files", workflowDataFileDtos);
     }
 
     /**
@@ -155,6 +162,7 @@
      * @return
      */
     @Override
+    @Java110Transactional
     public ResponseEntity<String> saveOaWorkflowFormData(JSONObject reqJson) {
         OaWorkflowFormDto oaWorkflowFormDto = new OaWorkflowFormDto();
         oaWorkflowFormDto.setFlowId(reqJson.get("flowId").toString());
@@ -330,6 +338,7 @@
     }
 
     @Override
+    @Java110Transactional
     public ResponseEntity<String> auditOaWorkflow(JSONObject reqJson) {
         //鏌ヨ娴佺▼鏄惁瀛樺湪
         OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
@@ -391,9 +400,6 @@
         }
 
 
-
-
-
         return ResultVo.success();
     }
 
@@ -435,7 +441,8 @@
         oaWorkflowFormDto.setRow(1);
         oaWorkflowFormDto.setPage(1);
         List<OaWorkflowFormDto> oaWorkflowFormDtos = oaWorkflowFormInnerServiceSMOImpl.queryOaWorkflowForms(oaWorkflowFormDto);
-        Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+        //Assert.listOnlyOne(oaWorkflowFormDtos, "鏈寘鍚祦绋嬭〃鍗曪紝璇峰厛璁剧疆琛ㄥ崟");
+        OaWorkflowFormDto tmpOaWorkflowFormDto = (oaWorkflowFormDtos == null || oaWorkflowFormDtos.size() < 1) ? null : oaWorkflowFormDtos.get(0);
 
         OaWorkflowDataDto oaWorkflowDataDto = new OaWorkflowDataDto();
         oaWorkflowDataDto.setFlowId(paramIn.getString("flowId"));
@@ -454,7 +461,7 @@
                 datas.add(BeanConvertUtil.beanCovertJson(oaWorkflowDataDto1));
             }
             //鍒锋柊 琛ㄥ崟鏁版嵁
-            freshFormData(datas, paramIn, oaWorkflowFormDtos.get(0));
+            freshFormData(datas, paramIn, tmpOaWorkflowFormDto);
         }
 
         ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) paramIn.getInteger("row")), count, datas);
@@ -469,33 +476,19 @@
      * @param datas
      */
     private void freshFormData(List<JSONObject> datas, JSONObject paramIn, OaWorkflowFormDto oaWorkflowFormDto) {
-        List<String> ids = new ArrayList<>();
+
         List<String> userIds = new ArrayList<>();
         for (JSONObject data : datas) {
-            ids.add(data.getString("id"));
             if (!StringUtil.isEmpty(data.getString("staffId"))) {
                 userIds.add(data.getString("staffId"));
             }
         }
-        if (ids.size() < 1) {
-            return;
-        }
 
-        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);
+        //杈撳叆formData
+        refreshFormData(oaWorkflowFormDto, datas, paramIn);
+
         long duration = 0L;
         for (JSONObject data : datas) {
-            for (Map form : formDatas) {
-                if (data.getString("id").equals(form.get("id"))) {
-                    data.putAll(form);
-                }
-            }
-
             if (data.containsKey("startTime") && data.containsKey("endTime")) {
                 try {
                     if (data.getString("endTime") == null) {
@@ -530,6 +523,35 @@
         }
     }
 
+    private void refreshFormData(OaWorkflowFormDto oaWorkflowFormDto, List<JSONObject> datas, JSONObject paramIn) {
+        if (oaWorkflowFormDto == null) {
+            return;
+        }
+
+        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()]));
+        paramMap.put("tableName", oaWorkflowFormDto.getTableName());
+        paramMap.put("page", 1);
+        paramMap.put("row", 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);
+                }
+            }
+        }
+    }
+
     public String getCostTime(Long time) {
         if (time == null) {
             return "00:00";

--
Gitblit v1.8.0