From b23f8cd1438c2b3c6f7e334502de619ffbb7fdc7 Mon Sep 17 00:00:00 2001
From: linzhijie <19970921lzj>
Date: 星期三, 24 三月 2021 19:24:01 +0800
Subject: [PATCH] 报告邮件标题跟随语言变换

---
 src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java |  274 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 210 insertions(+), 64 deletions(-)

diff --git a/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java
index 37ec5d8..4629005 100644
--- a/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java
+++ b/src/main/java/com/ots/project/exam/service/impl/TExamReportServiceImpl.java
@@ -1,4 +1,5 @@
 package com.ots.project.exam.service.impl;
+
 import cn.hutool.core.collection.CollUtil;
 import com.ots.common.enums.LangTypeEnum;
 import com.ots.common.enums.ReportTypeEnum;
@@ -44,6 +45,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
@@ -59,82 +61,141 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
+/**
+ * 璇勬祴鎶ュ憡Service涓氬姟灞傚鐞�
+ *
+ * @author ots
+ * @date 2019-12-26
+ */
 @Service
 public class TExamReportServiceImpl implements ITExamReportService {
     @Autowired
     private TExamReportMapper tExamReportMapper;
+
     @Autowired
     private IDictDataService dictDataService;
+
     @Autowired
     private SysUserExtendMapper sysUserExtendMapper;
+
     @Autowired
     BarChart barChart;
+
     @Autowired
     IEntDemographyInfoService entDemographyInfoService;
+
     @Autowired
     IEntDemographyParamService entDemographyParamService;
+
     @Autowired
     private ITReportTemplateService itReportTemplateService;
+
     @Autowired
     private IEntTestMemberService entTestMemberService;
+
     private static final Logger logger = LoggerFactory.getLogger(Threads.class);
+
     @Autowired
     private MemberService memberService;
-    
+
+
+    /**
+     * 鏌ヨ璇勬祴鎶ュ憡
+     *
+     * @param id 璇勬祴鎶ュ憡ID
+     * @return 璇勬祴鎶ュ憡
+     */
     @Override
     public TExamReport selectTExamReportById(Long id) {
         return tExamReportMapper.selectTExamReportById(id);
     }
-    
+
+    /**
+     * 鏌ヨ璇勬祴鎶ュ憡鍒楄〃
+     *
+     * @param tExamReport 璇勬祴鎶ュ憡
+     * @return 璇勬祴鎶ュ憡
+     */
     @Override
     public List<TExamReport> selectTExamReportList(TExamReport tExamReport) {
         return tExamReportMapper.selectTExamReportList(tExamReport);
     }
+
     @Override
     public List<TExamReport> selectViewReportList(TExamReport tExamReport) {
         return tExamReportMapper.selectViewReportList(tExamReport);
     }
-    
+
+    /**
+     * 鏂板璇勬祴鎶ュ憡
+     *
+     * @param tExamReport 璇勬祴鎶ュ憡
+     * @return 缁撴灉
+     */
     @Override
     public int insertTExamReport(TExamReport tExamReport) {
         tExamReport.setCreateTime(DateUtils.getNowDate());
         return tExamReportMapper.insertTExamReport(tExamReport);
     }
-    
+
+    /**
+     * 淇敼璇勬祴鎶ュ憡
+     *
+     * @param tExamReport 璇勬祴鎶ュ憡
+     * @return 缁撴灉
+     */
     @Override
     public int updateTExamReport(TExamReport tExamReport) {
         tExamReport.setUpdateTime(DateUtils.getNowDate());
         return tExamReportMapper.updateTExamReport(tExamReport);
     }
+
     @Override
     @Transactional
     public int updateTExamReportStatus(TExamReport tExamReport) {
         tExamReport.setUpdateTime(DateUtils.getNowDate());
         return tExamReportMapper.updateTExamReportStatus(tExamReport);
     }
+
     @Override
     public int updateTExamReportByTokenId(TExamReport tExamReport) {
         tExamReport.setUpdateTime(DateUtils.getNowDate());
         return tExamReportMapper.updateTExamReportByTokenId(tExamReport);
     }
+
     @Override
     public int updateTExamReportDeleteLastOneByTokenId(TExamReport tExamReport) {
         tExamReport.setUpdateTime(DateUtils.getNowDate());
         return tExamReportMapper.updateTExamReportDeleteLastOneByTokenId(tExamReport);
     }
-    
+
+
+    /**
+     * 鍒犻櫎璇勬祴鎶ュ憡瀵硅薄
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
     @Override
     public int deleteTExamReportByIds(String ids) {
         return tExamReportMapper.deleteTExamReportByIds(Convert.toStrArray(ids));
     }
-    
+
+    /**
+     * 鍒犻櫎璇勬祴鎶ュ憡淇℃伅
+     *
+     * @param id 璇勬祴鎶ュ憡ID
+     * @return 缁撴灉
+     */
     public int deleteTExamReportById(Long id) {
         return tExamReportMapper.deleteTExamReportById(id);
     }
+
     @Override
     public int changeStatus(TExamReport tExamReport) {
         return tExamReportMapper.updateTExamReport(tExamReport);
     }
+
     @Override
     public int updateTexamReportByIds(String ids, String downloadTimes) {
         Map params = new HashMap<>();
@@ -143,17 +204,20 @@
         params.put("downloadTimes", downloadTimes);
         return tExamReportMapper.updateTExamReportByIds(params);
     }
+
     @Override
     public List<TExamReport> selectTExamReportByTokenList(String[] tokenIds) {
         return tExamReportMapper.selectTExamReportByTokenList(tokenIds);
     }
+
     @Override
     public List<TExamReport> selectTExamReportByIds(String[] ids) {
         return tExamReportMapper.selectTExamReportByIds(ids);
     }
+
     @Override
     public List<DictData> getType(Long id) {
-        
+        // 鏌ヨ瀛楀吀鍏�
         List<DictData> dictDataList = dictDataService.selectDictDataByType("lang_type");
         SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(id);
         String langType = sysUserExtend.getLangType();
@@ -165,6 +229,9 @@
         }
         return dictDataListResult;
     }
+
+
+
     @Override
     public TReportTemplate getReportTemplate(String questionTemplateId, String langType, String templateType) {
         TReportTemplate tReportTemplate = new TReportTemplate();
@@ -174,57 +241,69 @@
         tReportTemplate.setReportType(productTypeMap.get(questionTemplateId));
         return tReportTemplate;
     }
-    
+
+    // 妯℃嫙璋冪敤鎺ュ彛鎶藉彇鍒版湇鍔″眰
     @Override
     public void setTextPicture(TExamReport tExamReport, ReportResultData reportResultData, List<String> deleteStrList, LangTypeEnum langType, Map<String, Object> textMap) {
-        
-        
+        // begin 璋冪敤鎺ュ彛鐨勪唬鐮佸潡
+
+        // 杩欓噷鏄痯ut鏄犲皠锛宼extMap鍜寃ord鏂囨。瀵瑰簲
         setTextMap(tExamReport, reportResultData, textMap);
-        
-        
-        
-        
+
+        // begin 閫犺繘搴︽潯鐨勬暟鎹�
+        // setProgressPicture(deleteStrList, langType, thaiCalculationMap, textMap);
+        // end 閫犺繘搴︽潯鐨勬暟鎹�
+
+        // 澶勭悊姘存淮
         setWaterDropPicture(reportResultData, deleteStrList, textMap, tExamReport);
-        
+
+        // 澶勭悊url鐨勫浘鐗�
         setIconPicture(reportResultData, textMap);
     }
+
     @Override
     public void setExportBaseOrDetailReportData(List<TExamReport> tExamReportList, List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate) {
-        
+        // begin 浠巈xcel鍙栨暟鎹�
         Map<String, Map<String, String>> excelMap = new HashMap<>();
-        
-        
+        // end 浠巈xcel鍙栨暟鎹�
+
+        // 澶勭悊娉板浗鍥㈤槦鏁版嵁
         dealTaiData(tExamReportList, excelMap);
-        
+
+        // 鐢熸垚绠�鍗曠増鏈拰璇︾粏鐗�
         getBaseAndDetailReport(deleteStrList, fileNameList, tReportTemplate, excelMap);
     }
+
     private void getBaseAndDetailReport(List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate, Map<String, Map<String, String>> excelMap) {
         List<ReportResultData> reportResultDataList = new ArrayList<>();
         List<TExamReport> tExamReportList = new ArrayList<>();
         getBaseAndDetailRportDataList(tReportTemplate, excelMap, reportResultDataList, tExamReportList);
         getReportFile(deleteStrList, fileNameList, tReportTemplate, reportResultDataList, tExamReportList);
     }
+
     private void getReportFile(List<String> deleteStrList, List<String> fileNameList, TReportTemplate tReportTemplate, List<ReportResultData> reportResultDataList, List<TExamReport> tExamReportList) {
         Map<String, Object> textMap = new HashMap<>();
         String path = itReportTemplateService.selectTReportTemplateFilePath(tReportTemplate);
         for (int i = 0; i < tExamReportList.size(); i++) {
             setTextPicture(tExamReportList.get(i), reportResultDataList.get(i), deleteStrList, LangTypeEnum.codeOf(tReportTemplate.getLangType()), textMap);
-            
-            
+            // 鐢熸垚鎶ュ憡鏂囦欢锛岃繖涓槸鍙傝�冭缁嗙増
+            // String fileName = "/2020/04/13/7e57e1cb61e24c7cfc894fa55bf385d5.docx";
             WordUtil wordUtil = new WordUtil();
             String zipFileName = wordUtil.makeReportFile(path, tReportTemplate, textMap, new HashMap<>(), deleteStrList);
             fileNameList.add(zipFileName);
+
             wordUtil.deleteFileByStr(deleteStrList);
             textMap.clear();
         }
     }
+
     public void getBaseAndDetailRportDataList(TReportTemplate tReportTemplate, Map<String, Map<String, String>> excelMap, List<ReportResultData> reportResultDataList, List<TExamReport> tExamQueryReportList) {
         for (Map.Entry<String, Map<String, String>> entry : excelMap.entrySet()) {
             ReportResultData resultData = null;
             TExamReport tExamReport = new TExamReport();
-            
+            // if else MAQ SAQ CAQ
             String reportType = tReportTemplate.getReportType();
-            
+            // SAQ鐨勬姤鍛�
             reportType = getTypeIfIsSAQ(tReportTemplate, reportType);
             String langType = tReportTemplate.getLangType();
             resultData = getReportResultData(reportType, langType, entry, tExamReport);
@@ -232,12 +311,14 @@
             reportResultDataList.add(resultData);
         }
     }
+
     private String getTypeIfIsSAQ(TReportTemplate tReportTemplate, String reportType) {
         if (Objects.equals(tReportTemplate.getTemplateType(), TemplateTypeEnum.SAQ.getCode())) {
             reportType = TemplateTypeEnum.SAQ.getCode();
         }
         return reportType;
     }
+
     @Override
     public ReportResultData getReportResultData(String reportType,String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) {
         ReportResultData resultData = null;
@@ -254,13 +335,14 @@
         }
         return resultData;
     }
+
     public void dealTaiData(List<TExamReport> tExamReportList, Map<String, Map<String, String>> excelMap) {
         for (TExamReport tExamReport : tExamReportList) {
             List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(tExamReport.getInterfaceContent(), ReportAPIResult.class);
             Map dataMap = new HashMap();
             try {
                 reportAPIResultList.stream().forEach(reportAPIResult -> {
-                    
+                    // 闇�瑕佸皢绗竴娆¤皟鐢ㄦ嘲鍥藉洟闃熷拰绗簩娆¤皟鐢ㄧ殑鍔犺捣鏉�
                     Map<String, String> data = reportAPIResult.getData();
                     for (Map.Entry<String, String> entry : data.entrySet()) {
                         try {
@@ -278,10 +360,13 @@
             } catch (Exception e) {
                 logger.error("id:" + tExamReport.getId() + "  memberName:" + tExamReport.getMemberName() + "  " + tExamReport.getInterfaceContent());
             }
-            
+
+            // 鎶ュ憡棰濆鍊�
             setExcelMapextraValue(tExamReport, dataMap);
-            
+
+            // 鍙栦汉鍙e鍙橀噺濉殑閭d釜濮撳悕
             String name = getDemographicName(tExamReport);
+
             if (StringUtils.isNotEmpty(name)) {
                 excelMap.put(name, dataMap);
             } else {
@@ -289,6 +374,7 @@
             }
         }
     }
+
     public void setExcelMapextraValue(TExamReport tExamReport, Map dataMap) {
         dataMap.put("password", tExamReport.getTokenId());
         dataMap.put("reportId", tExamReport.getId().toString());
@@ -302,8 +388,10 @@
         EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(tExamReport.getMemberId().longValue());
         dataMap.put("reportGenerationDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, entTestMember.getEndTime()));
         List<ReportAPIResult> interfaceContentList = JsonUtil.parseArray(tExamReport.getInterfaceContent(), ReportAPIResult.class);
-        
+
+        // 閬嶅巻鎶ュ憡閲岄潰鐨勫�兼斁杩涘幓
         setPExtro(dataMap, interfaceContentList);
+
         if (ExamUtil.isListNotEmpty(interfaceContentList)) {
             dataMap.put("Signal", interfaceContentList.get(0).getSignal());
         }
@@ -311,28 +399,34 @@
         questionReports.stream().forEach(questionReport -> {
             dataMap.put(questionReport.getPermanentId(), questionReport.getAnswer());
         });
-        
-        
+
+        // 鍙戦偖浠剁殑閭d釜鍚嶅瓧
+        // 鍙栦汉鍙e鍙橀噺濉殑閭d釜濮撳悕
         String name = getDemographicName(tExamReport);
         if (StringUtils.isNotEmpty(name)) {
             dataMap.put("sendEmailFileName", name.replaceAll(" ", "_"));
         } else {
             dataMap.put("sendEmailFileName", tExamReport.getMemberName().replaceAll(" ", "_"));
         }
-        
+
+        // 娴嬭瘯浜哄憳閭
         dataMap.put("testEmail", tExamReport.getMemberEmail());
-        
+
+        // 娴嬭瘯寮�濮嬪拰缁撴潫鏃堕棿
         dataMap.put("beginTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getCreateTime()));
         dataMap.put("endTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, entTestMember.getEndTime()));
+
         RelatedParty relatedParty = memberService.queryProdidByToken(tExamReport.getTokenId());
-        
+
+        // 鏁板瓧琛ㄥご閭i噷鐢�
         dataMap.put("Phone", relatedParty.getMemberPhone());
         dataMap.put("Department", relatedParty.getMemberDept());
         dataMap.put("AccessCode", tExamReport.getTokenId());
         dataMap.put("Position", relatedParty.getPosition());
         dataMap.put("Occupation Category", relatedParty.getProfessionalCategory());
         dataMap.put("Superior Position", relatedParty.getSuperiorPosition());
-        
+
+        // 鎶妌ull寮勬帀
         Set dataKeySet = dataMap.keySet();
         for (Object dataKey : dataKeySet) {
             if (Objects.isNull(dataMap.get(dataKey))) {
@@ -340,6 +434,7 @@
             }
         }
     }
+
     private void setPExtro(Map dataMap, List<ReportAPIResult> interfaceContentList) {
         if (CollUtil.isEmpty(interfaceContentList)) {
             return;
@@ -355,6 +450,7 @@
             }
         }
     }
+
     @Override
     public String getDemographicName(TExamReport tExamReport) {
         EntDemographyInfo entDemographyInfo = new EntDemographyInfo();
@@ -363,21 +459,25 @@
         if (ExamUtil.isListEmpty(entDemographyInfos)) {
             return "";
         }
-        
+        // 浜哄彛瀛︾殑key
         Map<String, String> entDemographyMap = entDemographyInfos.stream().collect(
                 Collectors.toMap(EntDemographyInfo::getParamId, EntDemographyInfo::getParamValue));
-        
+
+        //浼佷笟鐨勯偅涓弬鏁�
         String  paramIds = entDemographyInfos.stream().map(it -> {
             return it.getParamId();
         }).collect(Collectors.joining(","));
+
         List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramIds);
         for (EntDemographyParam entDemographyParam : entDemographyParams) {
             if (Objects.equals(entDemographyParam.getParamCode(), "name")) {
                return entDemographyMap.get(entDemographyParam.getParamId().toString());
             }
         }
+
         return "";
     }
+
     public ReportResultData getMAQReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) {
         MAQReport report = new MAQReport();
         report.setQuestionnaireTaker(entry.getKey());
@@ -387,11 +487,13 @@
         ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType));
         return resultData;
     }
+
     public ReportResultData getJAQReportData(Map textMap) {
         ReportResultData reportResultData = new ReportResultData();
         reportResultData.setTextMap(textMap);
         return reportResultData;
     }
+
     public ReportResultData getSAQReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) {
         SAQReport report = new SAQReport();
         report.setQuestionnaireTaker(entry.getKey());
@@ -401,6 +503,7 @@
         ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType));
         return resultData;
     }
+
     public ReportResultData getCAQReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) {
         ReportResultData resultData = null;
         CAQReport report = new CAQReport();
@@ -413,6 +516,7 @@
         resultData.setTextMap(templateParameterMap);
         return resultData;
     }
+
     public ReportResultData getRuilinReportData(String langType, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) {
         ReportResultData resultData;
         RuilinMAQReport report = new RuilinMAQReport();
@@ -427,11 +531,13 @@
         resultData.setTextMap(templateParameterMap);
         return resultData;
     }
+
     private void setIconPicture(ReportResultData reportResultData, Map<String, Object> textMap) {
         Map<String, String> iconMap = reportResultData.getIconMap();
         if (Objects.isNull(iconMap) || iconMap.isEmpty()) {
             return;
         }
+
         for (Map.Entry<String, String> entry : iconMap.entrySet()) {
             WordParam wordParam = new WordParam();
             wordParam.setContent(EssConfig.getUploadPath() + entry.getValue());
@@ -439,81 +545,107 @@
             textMap.put(entry.getKey(), wordParam);
         }
     }
+
     public void setTextMap(TExamReport tExamReport, ReportResultData reportResultData, Map<String, Object> textMap) {
         textMap.putAll(reportResultData.getTextMap());
         textMap.put("reportId", tExamReport.getId().toString());
     }
+
     private void setWaterDropPicture(ReportResultData reportResultData, List<String> deleteStrList, Map<String, Object> textMap, TExamReport tExamReport) {
-        
+        // 绗簩涓浘鐗�
         if (Objects.isNull(reportResultData.getImageMap())) {
             return;
         }
+
         Map<String, String> pictureMap = reportResultData.getImageMap();
 
-
-
-
-
-
-
+//        // begin 璋冭瘯鐨勪复鏃朵唬鐮�
+//        pictureMap.put("Flexibility_1_waterDrops", "100");
+//        pictureMap.put("Creativity_2_waterDrops", "0");
+//        pictureMap.put("ResponseFidelityDiagnosis_waterDrops1", "100");
+//        pictureMap.put("ResponseFidelityDiagnosis_waterDrops2", "0");
+//        System.out.println("--ResponseFidelityDiagnosis_waterDrops1--" + pictureMap.get("ResponseFidelityDiagnosis_waterDrops1"));
+//        // end 璋冭瘯鐨勪复鏃朵唬鐮�
         for (Map.Entry<String, String> entry : pictureMap.entrySet()) {
-            
-            setWaterDropCreatePic(textMap, entry, deleteStrList, tExamReport.getId().toString()); 
+            // setWaterDrop(textMap, entry, deleteStrList);
+            setWaterDropCreatePic(textMap, entry, deleteStrList, tExamReport.getId().toString()); // 鐢熸垚鍥剧墖鐨勬柟寮�
         }
     }
-    
+
+    // 璁剧疆姘存淮
     private void setWaterDrop(Map<String, Object> textMap, Map.Entry<String, String> entry, List<String> deleteStrList) {
+
         String[] strValue = entry.getValue().toString().split("\\.");
         BufferedImage bufferedImage = saveNumberPicture(strValue[0]);
-        
+
+        // 寰楀埌鍥剧墖鍦板潃
         String path = getUploadPicturePath(entry.getKey()+ "_number.png");
+
         try {
             File file = new File(path);
-            ImageIO.write(bufferedImage, "png", file);
+            ImageIO.write(bufferedImage, "png", file);//鍐欏叆鏂囦欢
         } catch (IOException e) {
             e.printStackTrace();
         }
+
         deleteStrList.add(path);
         double retreat = 465;
-        
-        
+
+        // double posistionValue = Double.valueOf(entry.getValue()) * 5 - retreat;
+        // 姘存淮鐨勬暟瀛楀浘鐗�
         double posistionValue = (Double.valueOf(entry.getValue()) / 100) * retreat;
         double offsetNumX = -3;
         double offsetNumY = 2;
         WordParam wordParamWaterDorpNumber = new WordParam(posistionValue > 0 ? posistionValue + offsetNumX : offsetNumX, offsetNumY, 20, 20, path);
         wordParamWaterDorpNumber.setTopPosition(1);
         textMap.put(entry.getKey()+ "_number", wordParamWaterDorpNumber);
+
         WordParam wordParam = new WordParam();
         wordParam.setX(posistionValue > 0 ? posistionValue : 0);
+
         String[] watherDropPictrues = entry.getKey().split("_");
-        
+
+        // 涓嶅悓棰滆壊鐨勬按婊�
         wordParam.setContent(WordUtil.getTemplatePicture(ExamUtil.getWaterDropPictureMap(watherDropPictrues[0])));
-        
+
+        // 姘存淮鏀惧ぇ涓�鍊�
         wordParam.setPicWidth(15);
         wordParam.setPicHeight(25);
         textMap.put(entry.getKey(), wordParam);
     }
-    
+
+    // 璁剧疆姘存淮
     private void setWaterDropCreatePic(Map<String, Object> textMap, Map.Entry<String, String> entry, List<String> deleteStrList, String id) {
+
         String[] strValue = entry.getValue().toString().split("\\.");
         String key = entry.getKey();
+
         String[] waterDropPicture = key.split("_");
-        
+
+        // 鍙栧墠缂�鎴栬�呭叏鍚�
         String waterDropName =StringUtils.isNotEmpty(ExamUtil.getWaterDropPictureMap(waterDropPicture[0])) ? ExamUtil.getWaterDropPictureMap(waterDropPicture[0]) : ExamUtil.getWaterDropPictureMap(key);
+
         if (StringUtils.isEmpty(waterDropName)) {
             return;
         }
+
         WordParam wordParam = new WordParam();
+
         Float floatValue = Float.valueOf(strValue[0]);
+
         String suffixDate = DateTimeUtil.dateMillisecondFormat(new Date());
+
         ImageUtil.creteWaterDropPic(key, waterDropName, floatValue, id, suffixDate);
-        
+
+        // 鍥犱负鏄悓涓�涓洰褰曪紝鐢ㄥ悗缂�鍖轰竴涓嬪浘鐗�
         wordParam.setContent(EssConfig.getProfile() + "/" + key + "_" + id + "_" + floatValue.toString() + "_" + suffixDate + ".png");
+
         deleteStrList.add(EssConfig.getProfile() + "/" + key + "_" + id + "_" + floatValue.toString() + "_" + suffixDate + ".png");
-        
+
+        // 姘存淮鏀惧ぇ涓�鍊�
         if (StringUtils.equals(key.split("_")[0], "ResponseFidelityDiagnosis")) {
             wordParam.setPicWidth(446);
-            wordParam.setPicHeight(33); 
+            wordParam.setPicHeight(33); // 鐜板湪鐢�500/888 鍏跺疄鏄�445/888
         } else if (StringUtils.equals(key.split("_")[0], "RuilinTestResultValidityDiagnosisContext")) {
             wordParam.setPicWidth(450);
             wordParam.setPicHeight(35);
@@ -523,25 +655,33 @@
             wordParam.setPicHeight(35);
             wordParam.setX(-13.75);
         }
+
         textMap.put(entry.getKey(), wordParam);
+
     }
+
     private BufferedImage saveNumberPicture(String textNumber) {
         int width = 200;
         int heigth = 150;
-        Font font = new Font("", Font.BOLD, 60);
+        Font font = new Font("", Font.BOLD, 60);//瀛椾綋
         return ImageUtil.waterMarkByText(width, heigth, textNumber, Color.black, font, null,
                 0.8f);
     }
-    
+
+    // 缁熶竴璺緞
     private String getUploadPicturePath(String name) {
         return EssConfig.getUploadPath() + name;
     }
+
+
     @Override
     public boolean getBaseAndComleteSendMailFile(List<TExamReport> tExamReportList, TExamReport tExamReportResult, List<String> fileNameResult, List<String> deleteStrList, TReportTemplate tReportTemplate) {
         try {
             List<String> fileNameList = new ArrayList<>();
 
+//            setExportBaseOrDetailReportData(tExamReportList, deleteStrList, fileNameList, path, tReportTemplate, tReportTemplate.getLangType(), reportType, reportTypeEnumMap.get(tReportTemplate.getTemplateType()));
             setExportBaseOrDetailReportData(tExamReportList, deleteStrList, fileNameList, tReportTemplate);
+
             for (String fileNameTemp : fileNameList) {
                 if (StringUtils.isEmpty(fileNameTemp)) {
                     continue;
@@ -551,26 +691,32 @@
         } catch (Exception e) {
             return false;
         }
+
         return true;
     }
-    
+
+    // 鐢熸垚鎶ュ憡鐨勫叆鍙�
     @Override
     public TExamReport getReportFromTemplate(TExamReport tExamReport, List<String> fileNameResult, List<String> deleteStrList) {
         List<TExamReport> tExamReportList = selectTExamReportList(tExamReport);
         TExamReport tExamReportResult = tExamReportList.get(0);
-        
+
+        // 瓒呮椂
         if (Objects.isNull(tExamReportResult.getFinish()) || tExamReportResult.getFinish() == 0) {
             return null;
         }
-        
+
+        // 瀵煎嚭鍩虹鐗堟湰
         List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamReportResult.getReportTemplateId());
         for (TReportTemplate tReportTemplate : tReportTemplateList) {
-            
-
-
+            // 鍒ゆ柇涓嶆槸璇█鐨勬ā鐗堜笉瀵煎嚭锛屽悗鏉ュ張璇磋瀵煎嚭
+//            if (!Objects.equals(tReportTemplate.getLangType(), tExamReportResult.getLangType())) {
+//                continue;
+//            }
 
             getBaseAndComleteSendMailFile(tExamReportList, tExamReportResult, fileNameResult, deleteStrList, tReportTemplate);
         }
         return tExamReportResult;
     }
+
 }

--
Gitblit v1.9.1