diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelController.java similarity index 93% rename from pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java rename to pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelController.java index 1ed240f28..2742ada8b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelController.java @@ -1,4 +1,4 @@ -package com.njcn.harmonic.controller; +package com.njcn.harmonic.controller.report; import cn.hutool.core.date.DatePattern; @@ -6,7 +6,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.ObjectUtil; -import com.njcn.common.pojo.constant.PatternRegex; +import cn.hutool.core.util.StrUtil; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; @@ -22,7 +22,6 @@ import com.njcn.device.pq.pojo.vo.LineDetailDataVO; import com.njcn.event.enums.EventResponseEnum; import com.njcn.harmonic.pojo.param.ReportQueryParam; import com.njcn.harmonic.pojo.po.report.EnumPass; -import com.njcn.harmonic.pojo.po.report.OverLimitInfo; import com.njcn.harmonic.pojo.po.report.Pass; import com.njcn.harmonic.pojo.po.report.ReportTarget; import com.njcn.harmonic.pojo.vo.ReportValue; @@ -34,7 +33,6 @@ import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.Theme; -import com.njcn.web.constant.ValidMessage; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,12 +43,13 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Encoder; +import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; import java.io.*; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; -import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -242,7 +241,7 @@ public class ExportModelController extends BaseController { reportmap.put("$btype$", btype); reportmap.put("$ctype$", ctype); - Map header = new HashMap<>(16); + /* Map header = new HashMap<>(16); if (ObjectUtil.isNotEmpty(file)) { byte[] bytes = file.getBytes(); if(bytes.length>0){ @@ -289,8 +288,12 @@ public class ExportModelController extends BaseController { header.put("height", 250); header.put("type", contentType); header.put("content", data); - } + + }*/ + // ======== 修复后的图片处理核心逻辑 ======== + Map header = handleImageData(file, picPathResource); + reportmap.put("$image$", header); reportmap.put("$image$", header); getVirtualData(param); @@ -454,31 +457,31 @@ public class ExportModelController extends BaseController { if (!(vmaxValue >= vminValue && vmaxValue >= vaveValue && vmaxValue >= vcp95Value)) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } else if (vaveValue < vminValue) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } else if (vcp95Value < vminValue) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } else if (!(imaxValue >= iminValue && imaxValue >= iaveValue && imaxValue >= icp95Value)) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } else if (iaveValue < iminValue) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } else if (icp95Value < iminValue) { strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName - + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "基波电压/电流数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; break; } } catch (Exception e) { - strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName + "基波电压/电流数据存在异常(不是数值类型)。"; + strBaseVIResult += "注意:从上表中可以看出" + strLineBaseName + "基波电压/电流数据存在异常(不是数值类型)。\r\n"; break; } } @@ -502,7 +505,12 @@ public class ExportModelController extends BaseController { new String[]{DateUtil.format(startDate, "yyyy年MM月dd日 HH时mm分ss秒"), DateUtil.format(endDate, "yyyy年MM月dd日 HH时mm分ss秒")}); // 报告编号 - reportmap.put("$number$", reportNumber); + if(StrUtil.isNotBlank(reportNumber)){ + reportmap.put("$number$", reportNumber); + }else { + reportmap.put("$number$", ""); + } + // 客户名称 reportmap.put("$titlePoint$", crmName); // 报告生成时间 @@ -637,7 +645,6 @@ public class ExportModelController extends BaseController { // 值错误判断 try { for (int i = 0; i < 3; i++) { - tmpstrMap = "A"; switch (i) { case 0: tmpstrMap = "A"; @@ -673,13 +680,13 @@ public class ExportModelController extends BaseController { if("".equals(strResultVdeviationdataValue)){ if (!(vmaxValue >= vminValue && vmaxValue >= vaveValue && vmaxValue >= vcp95Value)) { strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (vaveValue < vminValue) { strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (vcp95Value < vminValue) { strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "电压偏差数据数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } } @@ -726,7 +733,7 @@ public class ExportModelController extends BaseController { } } catch (Exception e) { - strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName + "电压偏差数据存在异常(不是数值类型)。"; + strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName + "电压偏差数据存在异常(不是数值类型)。\r\n"; } // @@ -782,7 +789,7 @@ public class ExportModelController extends BaseController { cp95Value = Double.parseDouble(valueOfFreValue.getCp95Value().toString()); limit = Math.abs(Double.parseDouble(valueOfFreLimit)); } catch (Exception e) { - strResultFreValue += "注意:从上表中可以看出" + strLineBaseName + "频率偏差数据存在异常(不是数值类型)。"; + strResultFreValue += "注意:从上表中可以看出" + strLineBaseName + "频率偏差数据存在异常(不是数值类型)。\r\n"; } if (Math.abs(maxValue) > limit) { @@ -800,13 +807,13 @@ public class ExportModelController extends BaseController { if (!(maxValue >= minValue && maxValue >= aveValue && maxValue >= cp95Value)) { strResultFreValue += "注意:从上表中可以看出" + strLineBaseName - + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (aveValue < minValue) { strResultFreValue += "注意:从上表中可以看出" + strLineBaseName - + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (cp95Value < minValue) { strResultFreValue += "注意:从上表中可以看出" + strLineBaseName - + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "频率偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } if ("".equals(tmpstrResultFre)) { @@ -816,9 +823,9 @@ public class ExportModelController extends BaseController { } else { // 三张大表取值 reportmap.put("$FV0R$", "不合格"); - strAnalysis += tmpstrResultFre + ",均不满足国标限值(±" + valueOfFreLimit + deviceUnit.getUnitFrequencyDev() + ")的要求。"; + strAnalysis += tmpstrResultFre + ",均不满足国标限值(±" + valueOfFreLimit + deviceUnit.getUnitFrequencyDev() + ")的要求。\r\n"; strResultFre += "从上表中可以看出" + strLineBaseName + "频率偏差" + tmpstrResultFre + ",均不满足国标限值(±" + valueOfFreLimit - + deviceUnit.getUnitFrequencyDev() + ")的要求。"; + + deviceUnit.getUnitFrequencyDev() + ")的要求。\r\n"; } reportmap.put("$ResultFre$", strResultFre); @@ -856,7 +863,7 @@ public class ExportModelController extends BaseController { cp95Value = Double.parseDouble(valueOfThree.getCp95Value().toString()); limit = Double.parseDouble(valueOfThreeLimit); } catch (Exception e) { - strResultThreeValue += "注意:从上表中可以看出" + strLineBaseName + "三相电压不平衡度数据存在异常(不是数值类型)。"; + strResultThreeValue += "注意:从上表中可以看出" + strLineBaseName + "三相电压不平衡度数据存在异常(不是数值类型)。\r\n"; } if (cp95Value > limit) { // 三张大表取值 @@ -869,13 +876,13 @@ public class ExportModelController extends BaseController { if (!(maxValue >= minValue && maxValue >= aveValue && maxValue >= cp95Value)) { strResultThreeValue += "注意:从上表中可以看出" + strLineBaseName - + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (aveValue < minValue) { strResultThreeValue += "注意:从上表中可以看出" + strLineBaseName - + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } else if (cp95Value < minValue) { strResultThreeValue += "注意:从上表中可以看出" + strLineBaseName - + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + + "三相电压不平衡度数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。\r\n"; } if ("".equals(tmpstrResultThree)) { @@ -910,7 +917,7 @@ public class ExportModelController extends BaseController { fmaxValue3 = Double.parseDouble(plt3.getFmaxValue().toString()); flickerLimit = Double.parseDouble(valueOfFlickerLimit); } catch (Exception e) { - strResultFlickerValue += "注意:从上表中可以看出" + strLineBaseName + "长时闪变数据存在异常(不是数值类型)。"; + strResultFlickerValue += "注意:从上表中可以看出" + strLineBaseName + "长时闪变数据存在异常(不是数值类型)。\r\n"; } if (fmaxValue1 > flickerLimit) { if (!"".equals(tmpstrResultFlicker)) @@ -1093,7 +1100,7 @@ public class ExportModelController extends BaseController { aveValue = Double.parseDouble(strCurrentC); limit = Double.parseDouble(strLimit); } catch (Exception e) { - strResultVoltageRateValue += "注意:从上表中可以看出" + strLineBaseName + "谐波电压含有率95%概率值数据存在异常(不是数值类型)。"; + strResultVoltageRateValue += "注意:从上表中可以看出" + strLineBaseName + (i+1)+"次谐波电压含有率95%概率值数据存在异常(不是数值类型)。\r\n"; } String tmpstrResult = ""; @@ -1132,16 +1139,16 @@ public class ExportModelController extends BaseController { } // 判断单个结论是否存在 if (!"".equals(tmpstrResult)) { - tmpstrResultVoltageRate += (i + 1) + "次谐波电压含有率95%概率值" + tmpstrResult + ";"; + tmpstrResultVoltageRate += (i + 1) + "次谐波电压含有率95%概率值" + tmpstrResult + ";\r\n"; } } // 假如为空则所有的都满足 if ("".equals(tmpstrResultVoltageRate)) { - strResultVoltageRate += "从上表中可以看出" + strLineBaseName + "2-25次谐波电压含有率95%概率值均满足国标限值要求。"; + strResultVoltageRate += "从上表中可以看出" + strLineBaseName + "2-25次谐波电压含有率95%概率值均满足国标限值要求。\r\n"; } else { - strAnalysis += tmpstrResultVoltageRate + "2-25次谐波电压含有率95%概率值均不满足国标限值要求。"; - strResultVoltageRate += "从上表中可以看出" + strLineBaseName + tmpstrResultVoltageRate + "均不满足国标限值要求。"; + strAnalysis += tmpstrResultVoltageRate + "2-25次谐波电压含有率95%概率值均不满足国标限值要求。\r\n"; + strResultVoltageRate += "从上表中可以看出" + strLineBaseName + "\r\n"+tmpstrResultVoltageRate + "均不满足国标限值要求。\r\n"; } /************************************************************** @@ -1187,7 +1194,7 @@ public class ExportModelController extends BaseController { cp95ValueC = Math.abs(Double.parseDouble(distortion3.getCp95Value().toString())); limit = Math.abs(Double.parseDouble(distortionLimit)); } catch (Exception e) { - strResultDistortionValue += "注意:从上表中可以看出" + strLineBaseName + "电压总谐波畸变率(THD)数据存在异常(不是数值类型)。"; + strResultDistortionValue += "注意:从上表中可以看出" + strLineBaseName + "电压总谐波畸变率(THD)数据存在异常(不是数值类型)。\r\n"; } // 限值判断 if (cp95ValueA > limit) { @@ -1223,17 +1230,20 @@ public class ExportModelController extends BaseController { // 三张大表取值 reportmap.put("$TV0R_C$", "合格"); } - + strError += strResultVoltageRateValue + strResultDistortionValue; // 假如为空则所有的都满足 - if ("".equals(tmpstrResultDistortion)) { - strResultDistortion += "电压总谐波畸变率(THD)95%概率值均满足国标限值要求。"; + if ("".equals(tmpstrResultDistortion) && "".equals(strResultDistortionValue)) { + strResultDistortion += "电压总谐波畸变率(THD)95%概率值均满足国标限值要求。\r\n"; + reportmap.put("$ResultVoltageRateValue$", ""); } else { - strAnalysis += "电压总谐波畸变率(THD)95%概率值" + tmpstrResultDistortion + "均不满足国标限值要求。"; - strResultDistortion += "电压总谐波畸变率(THD)95%概率值" + tmpstrResultDistortion + "均不满足国标限值要求。"; + strAnalysis += "电压总谐波畸变率(THD)95%概率值" + tmpstrResultDistortion + "均不满足国标限值要求。\r\n"; + strResultDistortion += "电压总谐波畸变率(THD)95%概率值" + tmpstrResultDistortion + "均不满足国标限值要求。\r\n"; + reportmap.put("$ResultVoltageRateValue$", strError); } reportmap.put("$ResultVoltageRate$", strResultVoltageRate + strResultDistortion); - reportmap.put("$ResultVoltageRateValue$", strResultVoltageRateValue + strResultDistortionValue); - strError += strResultVoltageRateValue + strResultDistortionValue; + + + /************************************************************** **** 谐波电流幅值 @@ -1283,7 +1293,7 @@ public class ExportModelController extends BaseController { aveValue = Double.parseDouble(strCurrentC); limit = Double.parseDouble(strLimit); } catch (Exception e) { - strResultCurrentValue += "注意:从上表中可以看出" + strLineBaseName + "谐波电流幅值95%概率值数据存在异常(不是数值类型)。"; + strResultCurrentValue += "注意:从上表中可以看出" + strLineBaseName +(i + 1)+ "次谐波电流幅值95%概率值数据存在异常(不是数值类型)。\r\n"; } String tmpstrResult = ""; @@ -1322,21 +1332,22 @@ public class ExportModelController extends BaseController { } // 判断单个结论是否存在 if (!"".equals(tmpstrResult)) { - tmpstrResultCurrent += (i + 1) + "次谐波电流幅值95%概率值" + tmpstrResult + ";"; + tmpstrResultCurrent += (i + 1) + "次谐波电流幅值95%概率值" + tmpstrResult + ";\r\n"; } } - + strError += strResultCurrentValue; // 假如为空则所有的都满足 - if ("".equals(tmpstrResultCurrent)) { - strResultCurrent += "从上表中可以看出" + strLineBaseName + "2-25次谐波电流幅值95%概率值均满足国标限值要求。"; + if ("".equals(tmpstrResultCurrent) && "".equals(strResultCurrentValue)) { + strResultCurrent += "从上表中可以看出" + strLineBaseName + "\r\n2-25次谐波电流幅值95%概率值均满足国标限值要求。\r\n"; + reportmap.put("$ResultCurrentValue$", ""); } else { strAnalysis += tmpstrResultCurrent + "均不满足国标限值要求。"; - strResultCurrent += "从上表中可以看出" + strLineBaseName + tmpstrResultCurrent + "均不满足国标限值要求。"; + strResultCurrent += "从上表中可以看出" + strLineBaseName + tmpstrResultCurrent + "均不满足国标限值要求。\r\n"; + reportmap.put("$ResultCurrentValue$", strError); + } reportmap.put("$ResultCurrent$", strResultCurrent); - reportmap.put("$ResultCurrentValue$", strResultCurrentValue); - strError += strResultCurrentValue; // 测试结果填写 reportmap.put("$ResultTitle$", String.format("通过对(%s——%s)时间段内%s电能质量统计数据分析后得出以下结论:", @@ -1816,4 +1827,64 @@ public class ExportModelController extends BaseController { list.add(overLimit.getUharm25()); return list; } + + + /** + * 修复:处理图片字节流+获取自适应宽高(按原图比例,适配Word的EMU单位,防止截断) + * @param multipartFile 上传的图片文件(可为null) + * @param defaultPicResource 默认图片资源(ClassPathResource) + * @return Map 包含content/width/height/type,直接给header用 + */ + private Map handleImageData(MultipartFile multipartFile, ClassPathResource defaultPicResource) { + Map imgMap = new HashMap<>(4); + byte[] imgBytes = null; + String contentType = null; + try { + if (ObjectUtil.isNotEmpty(multipartFile) && multipartFile.getSize() > 0) { + // 处理上传的图片 + imgBytes = multipartFile.getBytes(); + contentType = multipartFile.getContentType(); + } else { + // 处理默认图片,【修复流读取不完整问题】 + if (defaultPicResource != null && defaultPicResource.exists()) { + try (InputStream in = defaultPicResource.getInputStream()) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int len; + while ((len = in.read(buffer)) != -1) { + baos.write(buffer, 0, len); + } + imgBytes = baos.toByteArray(); + contentType = "image/jpeg"; // 默认图片是jpg + } + } + } + + // 核心修复:获取图片真实宽高 + 按比例自适应缩放(关键!解决只显示一半) + if (imgBytes != null && imgBytes.length > 0) { + ByteArrayInputStream bais = new ByteArrayInputStream(imgBytes); + BufferedImage bufferedImage = ImageIO.read(bais); + int realWidth = bufferedImage.getWidth(); + int realHeight = bufferedImage.getHeight(); + + // 【核心配置】设置Word中图片的最大显示宽度,高度按比例自动计算,永不截断 + int maxWordImgWidth = 550; // 建议值,适配Word页面宽度,可微调 + double scale = 1.0; + if (realWidth > maxWordImgWidth) { + scale = (double) maxWordImgWidth / realWidth; + } + int adaptWidth = (int) (realWidth * scale); + int adaptHeight = (int) (realHeight * scale); + + // 赋值到map,直接给原逻辑的header用 + imgMap.put("content", imgBytes); + imgMap.put("width", adaptWidth); + imgMap.put("height", adaptHeight); + imgMap.put("type", ObjectUtil.isNotEmpty(contentType) ? contentType : "image/jpeg"); + } + } catch (Exception e) { + log.error("处理图片数据异常", e); + } + return imgMap; + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelJBController.java similarity index 99% rename from pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java rename to pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelJBController.java index fa6dbb8b1..a4758a531 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/ExportModelJBController.java @@ -1,4 +1,4 @@ -package com.njcn.harmonic.controller; +package com.njcn.harmonic.controller.report; import cn.hutool.core.collection.CollUtil; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/CustomReportServiceImpl.java index 03858032f..4c277aeca 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/report/impl/CustomReportServiceImpl.java @@ -401,7 +401,7 @@ public class CustomReportServiceImpl implements CustomReportService { private void assStatMethod(EleEpdPqd item, List statTree, String oneKey, String twoKey) { //存在向别为M但是Stat_Method不为空 if (StrUtil.isNotBlank(item.getStatMethod())) { - String[] arr = item.getStatMethod().split(","); + String[] arr = item.getStatMethod().split(StrUtil.COMMA); List stat = Stream.of(arr).collect(Collectors.toList()); if (CollUtil.isNotEmpty(stat)) { stat.forEach(statItem -> { diff --git a/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx b/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx index a174b8bdc..84526aac3 100644 Binary files a/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx and b/pqs-harmonic/harmonic-boot/src/main/resources/file/areaReportTemplate.docx differ