浏览代码

优化调整eol文件解析

wangt 1 年之前
父节点
当前提交
d864652c77

+ 13 - 7
neim-biz/src/main/java/com/jiayue/biz/service/impl/AnalysisDataImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.text.csv.CsvReader;
 import cn.hutool.core.text.csv.CsvRow;
 import cn.hutool.core.text.csv.CsvUtil;
 import cn.hutool.core.util.ZipUtil;
+import cn.hutool.json.JSONUtil;
 import cn.hutool.poi.excel.ExcelReader;
 import cn.hutool.poi.excel.ExcelUtil;
 import com.jiayue.biz.domain.EmailWindTowerInfo;
@@ -29,6 +30,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 采集数据解析实现类
@@ -1021,24 +1023,28 @@ public class AnalysisDataImpl {
             for (File file1 : files) {
                 if (file1.isDirectory()) {
                     File[] files1 = file1.listFiles();
+                    Stream<File> fileStream= Arrays.asList(files1).stream();
                     //筛选包含.log后缀的文件
-                    List<File> fileNameList = Arrays.asList(files1).stream().filter(f -> !f.isDirectory() && f.getName().substring(f.getName().lastIndexOf(".")).contains(".log")).collect(Collectors.toList());
+                    List<File> fileNameList = fileStream.filter(f -> !f.isDirectory() && f.getName().substring(f.getName().lastIndexOf(".")).contains(".log")).collect(Collectors.toList());
                     //循环文件名
                     for (File fileNameForELog : fileNameList) {
+                        log.info("找到eol-fileNameForELog文件:{}",fileNameForELog);
                         try {
                             String fileName = fileNameForELog.getName().substring(0, fileNameForELog.getName().indexOf(".log"));
                             //找出wnd文件
-                            List<File> wndFile = Arrays.stream(files1).filter(f -> f.getName().contains(".wnd") && f.getName().contains(fileName)).collect(Collectors.toList());
-
+                            List<File> wndFile = fileStream.filter(f -> f.getName().contains(".wnd") && f.getName().contains(fileName)).collect(Collectors.toList());
+                             log.info("找到eol文件的wnd格式文件:{}",JSONUtil.parse(wndFile));
                             if (wndFile.size() > 0) {
                                 HashMap<String, String> stringStringHashMap = this.parseWnd(wndFile.get(0));
                                 String eqNo = stringStringHashMap.get("SiteNumber");
                                 //找出csv文件
-                                List<File> csvFile = Arrays.stream(files1).filter(f -> f.getName().contains(".csv") && f.getName().contains(fileName)).collect(Collectors.toList());
-                                
+                                List<File> csvFile = fileStream.filter(f -> f.getName().contains(".csv") && f.getName().contains(fileName)).collect(Collectors.toList());
+
+                                //移动原文件备份
                                 File orgFile = new File(fileNameForELog.getParent() + File.separator + "Email" + File.separator);
-                                File[] orgFiles = orgFile.listFiles();
-                                List<File> orgElogFile = Arrays.stream(orgFiles).filter(f -> f.getName().endsWith(".elog") && f.getName().contains(fileName)).collect(Collectors.toList());
+                                List<File> orgElogFile = Arrays.asList(orgFile.listFiles()).stream().filter(f -> f.getName().endsWith(".elog") && f.getName().contains(fileName)).collect(Collectors.toList());
+                                log.info("找到eol-orgElogFile:{}",JSONUtil.parse(orgElogFile));
+
                                 if (csvFile.size() > 0) {
                                     parseEol(csvFile.get(0), stringStringHashMap, eqNo, fileNameForELog, orgElogFile);
                                 }

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/service/impl/EmailImpl.java

@@ -550,7 +550,7 @@ public class EmailImpl extends ServiceImpl<EmailMapper, Email> implements EmailS
                                 return;
                             } else {
                                 String[] s = new String[]{
-                                        "\"D:\\soft\\SymphoniePRO\\SymPRODesktop.exe\"",
+                                        "\"D:\\Program Files (x86)\\Renewable NRG Systems\\SymPRO Desktop\\SymPRODesktop.exe\"",
                                         "/cmd", "convert", "/file", f.getPath(),
                                         "/pass", windTowerInfo.getPassword(), "/type", "\"meas\"", "/outputdir", "\"D:\\out\\new\""
                                 };

+ 1 - 1
neim-biz/src/main/resources/application-prod.yml

@@ -17,7 +17,7 @@ spring:
       primary: mysql #设置默认的数据源或者数据源组,默认值即为master
       datasource:
         mysql:
-          url: jdbc:mysql://168.178.8.1:3306/nerp-db-v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&connectTimeout=6000&socketTimeout=6000
+          url: jdbc:mysql://168.178.8.1:3306/nerp-db-v2?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true&autoReconnectForPools=true&connectTimeout=30000&socketTimeout=60000&rewriteBatchedStatements=true
           username: root
           password: '!QAZ2root'
           driver-class-name: com.mysql.cj.jdbc.Driver