From a38a1ac77bb6ac9ea8bf0cf5f5f6b68d0e6e6974 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 02 一月 2024 08:44:10 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 97 insertions(+), 9 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
index 3f0dff6..c1d3206 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
@@ -1,6 +1,9 @@
 package com.zt.life.modules.testCheckOrder.service;
 
+import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto;
 import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit;
 import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
@@ -8,6 +11,8 @@
 import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
 import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
 import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
+import com.zt.life.modules.mainPart.utils.GetFilesPath;
+import com.zt.life.modules.mainPart.utils.GetShowDictList;
 import com.zt.life.modules.project.model.Project;
 import com.zt.life.modules.project.service.ProjectService;
 import com.zt.life.modules.testCheckOrder.dao.TestCheckOrderDao;
@@ -17,10 +22,16 @@
 import com.zt.life.sys.dto.OssDto;
 import com.zt.modules.coderule.service.SysCodeRuleService;
 import com.zt.modules.workflow.dto.FlowInfoDto;
+import com.zt.modules.workflow.service.WorkflowService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zt.common.db.query.QueryFilter;
+
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -30,11 +41,11 @@
 /**
  * test_check_order
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2023-12-05
  */
 @Service
-public class TestCheckOrderService  extends BaseService<TestCheckOrderDao, TestCheckOrder> {
+public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> {
     @Autowired
     private TestCheckOrderListService checkOrderListService;
 
@@ -42,7 +53,19 @@
     private ProjectService projectService;
 
     @Autowired
+    private GetShowDictList getShowDictList;
+
+    @Autowired
     private SysCodeRuleService sysCodeRuleService;
+
+    @Autowired
+    private WorkflowService workflowService;
+
+    @Autowired
+    private GetFilesPath getFilesPath;
+
+    @Autowired
+    private WordFileService wordFileService;
 
 
     /**
@@ -52,7 +75,11 @@
      * @return
      */
     public List<TestCheckOrder> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        List<TestCheckOrder> list = baseDao.getList(queryFilter.getQueryParams());
+        if (list.size() > 0) {
+            workflowService.getRunFlow(list, "csjcd");
+        }
+        return list;
     }
 
     /**
@@ -65,7 +92,7 @@
     }
 
 
-    public CheckOrderDto getDto(Long checkId, Long projectId,String pageCode) {
+    public CheckOrderDto getDto(Long checkId, Long projectId, String pageCode) {
         CheckOrderDto data = new CheckOrderDto();
         data.setPageCode(pageCode);
         if (checkId != null) {
@@ -75,14 +102,14 @@
             if (projectId == null) {
                 projectId = checkOrder.getProjectId();
             }
-
             List<TestCheckOrderList> checkOrderList = checkOrderListService.getList(checkId);
             data.setCheckOrderList(checkOrderList);
 
         } else {
             TestCheckOrder checkOrder = new TestCheckOrder();
+            checkOrder.setPageCode(pageCode);
             data.setCheckOrder(checkOrder);
-            List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode+"_check_item");
+            List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode + "_check_item");
             data.setCheckOrderList(checkOrderList);
         }
         if (projectId != null) {
@@ -92,13 +119,14 @@
         return data;
     }
 
-    public Boolean save(CheckOrderDto checkOrderDto) {
+    public Long save(CheckOrderDto checkOrderDto) {
         Long checkId = checkOrderDto.getCheckOrder().getId();
         if (checkId != null)
             baseDao.updateById(checkOrderDto.getCheckOrder());
         else {
             Map<String, String> map = new HashMap<>();
-            map.put("funCode", "test_check_order");
+            String pagecode = checkOrderDto.getPageCode();
+            map.put("funCode", "test_check_order_" + pagecode);
             map.put("projectId", checkOrderDto.getProjectId().toString());
             checkOrderDto.getCheckOrder().setProjectId(checkOrderDto.getProjectId());
             checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map));
@@ -115,6 +143,66 @@
                 checkOrderListService.insert(checkOrderList);
             }
         }
-        return true;
+
+        Long bizId = checkOrderDto.getCheckOrder().getId();
+        FlowInfoDto flowInfoDto = checkOrderDto.getFlowInfoDto();
+
+        if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) {
+            if ("tj".equals(flowInfoDto.getSubmitType())) {
+                workflowService.startFlow(flowInfoDto.getFlowCode(), bizId);
+            }
+            workflowService.approvePass(flowInfoDto.getFlowCode(), bizId, flowInfoDto.getStepIdMark());
+        }
+        return checkId;
+    }
+
+    public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) {
+        try {
+            CheckOrderDto dataObj = this.getDto(id, null, pageCode);
+            if (dataObj.getCheckOrder().getProcessorId() != null && dataObj.getCheckOrder().getVerifierId() != null) {
+                String processorPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getProcessorId()));
+                dataObj.getCheckOrder().setProcessor(processorPath);
+                String verifierPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getVerifierId()));
+                dataObj.getCheckOrder().setVerifier(verifierPath);
+            }
+
+            //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴�
+            for (TestCheckOrderList checkOrderList : dataObj.getCheckOrderList()) {
+                String value = checkOrderList.getCheckResult();
+                String checkResultStr = "";
+                if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) {
+                    checkResultStr = getShowDictList.getShowDictList(value, "tristate1", false);
+                } else {
+                    checkResultStr = getShowDictList.getShowDictList(value, "tristate2", false);
+                }
+                checkOrderList.setCheckResult(checkResultStr);
+            }
+
+            Map<String, String> map = new HashMap<>();
+            map.put("plan", "璁″垝");
+            map.put("report", "鎶ュ憡");
+            map.put("record", "璁板綍");
+            map.put("explain", "璇存槑");
+            map.put("contract", "鍚堝悓璇勫");
+            map.put("require", "娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝");
+            map.put("execute", "娴嬭瘯璁捐銆佸疄鐜颁笌鎵ц");
+            map.put("summary", "娴嬭瘯鎬荤粨");
+            String type = map.get(pageCode);
+            dataObj.setPageCode(type);
+            WordFile wordFile = new WordFile();
+
+            if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) {
+                wordFile.setModulePath("杞欢娴嬭瘯妫�鏌ュ崟.docx");
+                wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_杞欢娴嬭瘯" + type + "妫�鏌ュ崟.docx");
+            } else {
+                wordFile.setModulePath("璐ㄩ噺淇濊瘉妫�鏌ュ崟.docx");
+                wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_璐ㄩ噺淇濊瘉妫�鏌ュ崟(" + type + ").docx");
+            }
+            wordFileService.exportWordFile(request, dataObj, wordFile, response);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        }
     }
 }

--
Gitblit v1.9.1