From 48009ac677243ce3ce974feb173c85a752623874 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 18 十二月 2023 17:08:28 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java |  203 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 166 insertions(+), 37 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
index fd355ae..f07f6d4 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
@@ -1,6 +1,10 @@
 package com.zt.life.modules.configItemWarehouse.service;
 
+import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
+import com.zt.common.utils.CommonUtils;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao;
 import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto;
 import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
@@ -11,15 +15,29 @@
 import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
 import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
 import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderTechnicalService;
+import com.zt.life.modules.mainPart.utils.GetFilesPath;
+import com.zt.life.modules.mainPart.utils.GetShowDictList;
+import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
+import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
 import com.zt.life.modules.project.service.ProjectService;
 import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
+import com.zt.life.modules.testCheckOrder.model.TestCheckOrder;
+import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService;
 import com.zt.life.sys.service.SysOssConfigService;
 import com.zt.modules.coderule.service.SysCodeRuleService;
 import com.zt.modules.oss.service.SysOssService;
+import com.zt.modules.workflow.dto.FlowInfoDto;
+import com.zt.modules.workflow.service.WorkflowService;
+import org.apache.commons.lang3.StringUtils;
 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.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -28,11 +46,11 @@
 /**
  * config_item_warehouse
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2023-11-27
  */
 @Service
-public class ConfigItemWarehouseService  extends BaseService<ConfigItemWarehouseDao, ConfigItemWarehouse> {
+public class ConfigItemWarehouseService extends BaseService<ConfigItemWarehouseDao, ConfigItemWarehouse> {
     @Autowired
     private SysOssConfigService sysOssConfigService;
 
@@ -40,7 +58,7 @@
     private SysOssService sysOssService;
 
     @Autowired
-    private TestAgencyInfoService testAgencyInfoService;
+    private WorkflowService workflowService;
 
     @Autowired
     private SysCodeRuleService sysCodeRuleService;
@@ -57,6 +75,18 @@
     @Autowired
     private WarehouseConfigItemService configItemService;
 
+    @Autowired
+    private TestCheckOrderService testCheckOrderService;
+
+    @Autowired
+    private GetShowDictList getShowDictList;
+
+    @Autowired
+    private WordFileService wordFileService;
+
+    @Autowired
+    private GetFilesPath getFilesPath;
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -64,7 +94,11 @@
      * @return
      */
     public List<ConfigItemWarehouse> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        List<ConfigItemWarehouse> list= baseDao.getList(queryFilter.getQueryParams());
+        if (list.size() > 0) {
+            workflowService.getRunFlow(list, "pzxrk");
+        }
+        return list;
     }
 
     /**
@@ -76,39 +110,83 @@
         super.deleteLogic(ids);
     }
 
-   /* public Boolean save(ItemCirculatOrderDto itemCirculatOrderDto) {
-        Long circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
-        if (circulatOrderid != null)
-            baseDao.updateById(itemCirculatOrderDto.getCirculatOrder());
+    public Boolean save(ConfigItemWarehouseDto configItemDto) {
+        Long warehouseId = configItemDto.getConfigItemWarehouse().getId();
+        if (warehouseId != null)
+            baseDao.updateById(configItemDto.getConfigItemWarehouse());
         else {
             Map<String, String> map = new HashMap<>();
-            map.put("funCode", "item_circulat_order");
-            map.put("projectId",itemCirculatOrderDto.getProjectId().toString());
-            itemCirculatOrderDto.getCirculatOrder().setProjectId(itemCirculatOrderDto.getProjectId());
-            itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
-            baseDao.insert(itemCirculatOrderDto.getCirculatOrder());
-            circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
+            map.put("funCode", "config_item_warehouse");
+            map.put("projectId", configItemDto.getProjectId().toString());
+            configItemDto.getConfigItemWarehouse().setProjectId(configItemDto.getProjectId());
+            configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map));
+            baseDao.insert(configItemDto.getConfigItemWarehouse());
+            warehouseId = configItemDto.getConfigItemWarehouse().getId();
         }
 
-        for (ItemCirculatOrderTechnical circulatOrderTechnical : itemCirculatOrderDto.getTechnicalList()) {
-            circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
-            if (circulatOrderTechnical.getId() != null) {
-                technicalService.update(circulatOrderTechnical);
+        for (WarehouseConfigItem configItem : configItemDto.getConfigItemList()) {
+            configItem.setWarehouseId(warehouseId);
+            if (configItem.getId() != null) {
+                WarehouseConfigItem configItem2 = configItemService.get(configItem.getId());
+                if (CommonUtils.isActureChangeData(configItem,configItem2)) {
+                    configItemService.update(configItem);
+                }
             } else {
-                circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
-                technicalService.insert(circulatOrderTechnical);
+                Map<String, String> map = new HashMap<>();
+                String pageCode = configItem.getPageCode();
+                if (StringUtils.isNotBlank(pageCode) && "plan,explain,record,report".contains(pageCode)) {
+                    map.put("funCode", "test_" + pageCode);
+                    //map.put("projectId",configItemDto.getProjectId().toString());
+                    configItem.setItemIdentify(sysCodeRuleService.getNewCode(map));
+                }
+                configItem.setWarehouseId(warehouseId);
+                configItem.setProjectId(configItemDto.getConfigItemWarehouse().getProjectId());
+                configItemService.insert(configItem);
             }
-            sysOssConfigService.updateOss(circulatOrderTechnical.getId(), circulatOrderTechnical.getFiles());// 淇濆瓨闄勪欢
+            Long checkId = configItem.getCheckId();
+            if (checkId != null) {
+                TestCheckOrder testCheckOrder = testCheckOrderService.get(checkId);
+                if (testCheckOrder.getConfigItemId() == null) {
+                    Long configItemId = configItem.getId();
+                    testCheckOrder.setConfigItemId(configItemId);
+                    testCheckOrder.setConfigOrderId(warehouseId);
+                    testCheckOrderService.update(testCheckOrder);
+                }
+            }
+            sysOssConfigService.updateOss(configItem.getId(), configItem.getFiles());// 淇濆瓨闄勪欢
         }
 
-        if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
-            itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderid);
-            testAgencyInfoService.insert(itemCirculatOrderDto.getTestAgencyInfo());
-        } else {
-            testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
+        for (WarehouseCmAudit cmAudit : configItemDto.getCmAuditList()) {
+            cmAudit.setWarehouseId(warehouseId);
+            if (cmAudit.getId() != null) {
+                cmAuditService.update(cmAudit);
+            } else {
+                cmAudit.setWarehouseId(warehouseId);
+                cmAuditService.insert(cmAudit);
+            }
+        }
+
+        for (WarehouseQaAudit qaAudit : configItemDto.getQaAuditList()) {
+            qaAudit.setWarehouseId(warehouseId);
+            if (qaAudit.getId() != null) {
+                qaAuditService.update(qaAudit);
+            } else {
+                qaAudit.setWarehouseId(warehouseId);
+                qaAuditService.insert(qaAudit);
+            }
+        }
+
+        Long bizId = configItemDto.getConfigItemWarehouse().getId();
+        FlowInfoDto flowInfoDto = configItemDto.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 true;
-    }*/
+    }
 
     public ConfigItemWarehouseDto getDto(Long projectId, Long warehouseId) {
         ConfigItemWarehouseDto data = new ConfigItemWarehouseDto();
@@ -117,10 +195,9 @@
             ConfigItemWarehouse configItemWarehouse = this.get(warehouseId);
             data.setConfigItemWarehouse(configItemWarehouse);
 
-            projectId = configItemWarehouse.getProjectId();
-
-            data.setTestAgencyInfo(testAgencyInfoService.get(warehouseId));
-
+            if (projectId == null) {
+                projectId = configItemWarehouse.getProjectId();
+            }
             List<WarehouseCmAudit> CmAuditList = cmAuditService.getList(warehouseId);
             data.setCmAuditList(CmAuditList);
             List<WarehouseQaAudit> QaAuditList = qaAuditService.getList(warehouseId);
@@ -129,12 +206,17 @@
             data.setConfigItemList(ConfigItemList);
 
         } else {
-            ConfigItemWarehouse configItemWarehouse =new ConfigItemWarehouse();
+            ConfigItemWarehouse configItemWarehouse = new ConfigItemWarehouse();
             data.setConfigItemWarehouse(configItemWarehouse);
-            List<?> cmList = cmAuditService.itemList(projectId);
+            List<?> cmList = baseDao.itemList("warehouse_cm_audit");
             List<?> CmAuditList = cmList;
             data.setCmAuditList((List<WarehouseCmAudit>) CmAuditList);
-            List<?> resultList = qaAuditService.itemList(projectId);
+            List<?> qaList = baseDao.itemList("warehouse_qa_audit");
+            List<?> QaAuditList = qaList;
+            data.setQaAuditList((List<WarehouseQaAudit>) QaAuditList);
+            List<?> resultList = configItemService.ConfigItemList(projectId);
+            List<?> ConfigItemList = resultList;
+            data.setConfigItemList((List<WarehouseConfigItem>) ConfigItemList);
         }
 
         if (projectId != null) {
@@ -142,10 +224,57 @@
             data.setProject(projectService.get(projectId));
         }
 
-        if (data.getTestAgencyInfo() == null)
-            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
-
         return data;
     }
 
+    public void exportWarehouseOrder(Long id, HttpServletRequest request, HttpServletResponse response) {
+        try {
+            ConfigItemWarehouseDto dataObj = this.getDto(null, id);
+
+            String qaAuditorPath = "鏂囦欢鍥剧墖:"+ getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getQaAuditorId()));
+            dataObj.getConfigItemWarehouse().setQaAuditor(qaAuditorPath);
+            String cmAuditorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getCmAuditorId()));
+            dataObj.getConfigItemWarehouse().setCmAuditor(cmAuditorPath);
+            String approvalSignPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getApprovalId()));
+            dataObj.getConfigItemWarehouse().setApprovalSign(approvalSignPath);
+            String operatorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getOperatorId()));
+            dataObj.getConfigItemWarehouse().setOperator(operatorPath);
+            //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴�
+            String libraryTypeStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getLibraryType(), "library_type", false);
+            dataObj.getConfigItemWarehouse().setLibraryType(libraryTypeStr);
+
+            String QaAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getQaAuditResults(), "is_pass", false);
+            dataObj.getConfigItemWarehouse().setQaAuditResults(QaAuditResultStr);
+
+            String CmAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getCmAuditResults(), "is_pass", false);
+            dataObj.getConfigItemWarehouse().setCmAuditResults(CmAuditResultStr);
+
+            String ApprovalOpinionStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getApprovalOpinions(), "is_agree", false);
+            dataObj.getConfigItemWarehouse().setApprovalOpinions(ApprovalOpinionStr);
+
+            for (WarehouseCmAudit cmAuditList : dataObj.getCmAuditList()) {
+                String value = cmAuditList.getExamineResult();
+                String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false);
+                cmAuditList.setExamineResult(ExamineResultStr);
+            }
+            for (WarehouseQaAudit qaAuditList : dataObj.getQaAuditList()) {
+                String value = qaAuditList.getExamineResult();
+                String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false);
+                qaAuditList.setExamineResult(ExamineResultStr);
+            }
+            for (WarehouseConfigItem configItemList : dataObj.getConfigItemList()) {
+                String value = configItemList.getSecretClass();
+                String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false);
+                configItemList.setSecretClass(secretClassStr);
+            }
+            WordFile wordFile = new WordFile();
+            wordFile.setModulePath("閰嶇疆椤瑰叆搴撶敵璇峰崟.docx");
+            wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_閰嶇疆椤瑰叆搴撶敵璇峰崟.docx");
+            wordFileService.exportWordFile(request, dataObj, wordFile, response);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        }
+    }
 }

--
Gitblit v1.9.1