From f491d30b0a69148bd0991b3d5b1c4cf9f8216949 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 12 一月 2024 09:52:39 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java |  114 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 79 insertions(+), 35 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
index 420a064..8d356a0 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
@@ -1,7 +1,12 @@
 package com.zt.life.modules.riskTraceRecord.service;
 
+import cn.hutool.core.convert.Convert;
 import com.zt.common.service.BaseService;
 import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
 import com.zt.life.modules.project.service.ProjectService;
 import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto;
 import com.zt.life.modules.qaAuditReport.model.QaAuditReport;
@@ -12,11 +17,18 @@
 import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem;
 import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord;
 import com.zt.life.sys.service.SysOssConfigService;
+import com.zt.modules.oss.service.SysOssService;
 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;
@@ -26,11 +38,11 @@
 /**
  * risk_trace_item
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2024-01-09
  */
 @Service
-public class RiskTraceItemService  extends BaseService<RiskTraceItemDao, RiskTraceItem> {
+public class RiskTraceItemService extends BaseService<RiskTraceItemDao, RiskTraceItem> {
     @Autowired
     private RiskMeasureService measureService;
 
@@ -40,6 +52,15 @@
     @Autowired
     private ProjectService projectService;
 
+    @Autowired
+    private SysOssService sysOssService;
+
+    @Autowired
+    private WordFileService wordFileService;
+
+    @Autowired
+    private SysOssConfigService sysOssConfigService;
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -47,14 +68,13 @@
      * @return
      */
     public List<RiskTraceItem> page(QueryFilter queryFilter) {
-        return baseDao.getList(queryFilter.getQueryParams());
+        List<RiskTraceItem> list = baseDao.getList(queryFilter.getQueryParams());
+       /* if (list != null && list.size() > 0) {
+            sysOssService.setListOsses(list, "risk_trace_item");
+        }*/
+        return list;
     }
 
-    private List<RiskTraceItem> getList(Long riskId) {
-        Map<String, Object> params = new HashMap<>();
-        params.put("riskId",riskId);
-        return baseDao.getList(params);
-    }
     /**
      * 鍒犻櫎
      *
@@ -64,7 +84,7 @@
         super.deleteLogic(ids);
     }
 
-    public RiskTraceDto getDto(Long projectId, Long riskId){
+    public RiskTraceDto getDto(Long projectId, Long riskId) {
         RiskTraceDto data = new RiskTraceDto();
         if (riskId != null) {
             data.setId(riskId);
@@ -73,23 +93,28 @@
             if (riskMeasure != null && projectId == null) {
                 projectId = data.getProjectId();
             }
-            List<RiskTraceItem> itemList = this.getList(riskId);
-            data.setItemList(itemList);
-            List<RiskTraceRecord> recordList = recordService.getList(riskId);
-            data.setRecordList(recordList);
+            List<RiskTraceRecord> riskList = recordService.getList(riskId);
+            data.setRiskList(riskList);
         } else {
             RiskMeasure riskMeasure = new RiskMeasure();
             data.setRiskMeasure(riskMeasure);
-            List<RiskTraceItem> itemList = this.getList(null);
+            List<RiskTraceItem> itemList = this.getList(riskId);
             data.setItemList(itemList);
-            List<RiskTraceRecord> recordList = new ArrayList<>();
-            data.setRecordList(recordList);
+            List<RiskTraceRecord> riskList = recordService.getList(riskId);
+            data.setRiskList(riskList);
         }
         if (projectId != null) {
             data.setProjectId(projectId);
+            data.getRiskMeasure().setProjectId(projectId);
             data.setProject(projectService.get(projectId));
         }
         return data;
+    }
+
+    private List<RiskTraceItem> getList(Long riskId) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("riskId", riskId);
+        return baseDao.getList(params);
     }
 
 
@@ -102,28 +127,47 @@
             riskId = riskTraceDto.getRiskMeasure().getId();
         }
 
-        for (RiskTraceRecord record : riskTraceDto.getRecordList()) {
-            record.setRiskId(riskId);
-            if (record.getId() != null) {
-                RiskTraceRecord record2 = recordService.get(record.getId());
-                if (CommonUtils.isActureChangeData(record,record2)) {
-                    recordService.update(record2);
-                }
-            } else {
-                recordService.insert(record);
-            }
-        }
         for (RiskTraceItem item : riskTraceDto.getItemList()) {
-            item.setRiskId(riskId);
-            if (item.getId() != null) {
-                RiskTraceItem item2 = this.get(item.getId());
-                if (CommonUtils.isActureChangeData(item,item2)) {
-                    baseDao.updateById(item2);
-                }
-            } else {
-                baseDao.insert(item);
+            if (item.getRiskId() == null) {
+                item.setId(null);
+                item.setRiskId(riskId);
+                this.insert(item);
             }
         }
+
+        for (int i = 0; i < riskTraceDto.getRiskList().size(); i++) {
+            RiskTraceRecord risk = riskTraceDto.getRiskList().get(i);
+            RiskTraceItem item = null;
+            if (riskTraceDto.getItemList().size() > 0) {
+                item = riskTraceDto.getItemList().get(i);
+            }
+            risk.setRiskId(riskId);
+
+            if (risk.getId() != null) {
+                recordService.update(risk);
+            } else {
+                risk.setItemId(item.getId());
+                recordService.insert(risk);
+            }
+        }
+
+
+        sysOssConfigService.updateOss(riskTraceDto.getId(), riskTraceDto.getFiles());// 淇濆瓨闄勪欢
         return true;
     }
+
+    public void exportRiskRecord(Long id, HttpServletRequest request, HttpServletResponse response) {
+        try {
+            RiskTraceDto dataObj = this.getDto(null, id);
+            WordFile wordFile = new WordFile();
+            wordFile.setModulePath("娴嬭瘯椋庨櫓璺熻釜璁板綍.docx");
+            if (dataObj.getProject() == null) {
+                dataObj.setProject(projectService.get(dataObj.getRiskMeasure().getProjectId()));
+            }
+            wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_娴嬭瘯椋庨櫓璺熻釜璁板綍.docx");
+            wordFileService.exportWordFile(request, dataObj, wordFile, response);
+        } catch (UnsupportedEncodingException | FileNotFoundException e) {
+            e.printStackTrace();
+        }
+    }
 }

--
Gitblit v1.9.1