|
@@ -1019,26 +1019,25 @@ public class AnalysisDataImpl {
|
|
|
for (File file1 : files) {
|
|
|
if (file1.isDirectory()) {
|
|
|
File[] files1 = file1.listFiles();
|
|
|
- //筛选包含.elog后缀的文件
|
|
|
- List<File> fileNameList = Arrays.asList(files1).stream().filter(f -> f.getName().contains(".elog")).collect(Collectors.toList());
|
|
|
+ //筛选包含.log后缀的文件
|
|
|
+ List<File> fileNameList = Arrays.asList(files1).stream().filter(f -> !f.isDirectory() && f.getName().substring(f.getName().lastIndexOf(".")).contains(".log")).collect(Collectors.toList());
|
|
|
//循环文件名
|
|
|
for (File fileNameForELog : fileNameList) {
|
|
|
- String fileName = fileNameForELog.getName().substring(0, fileNameForELog.getName().indexOf(".elog"));
|
|
|
+ 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());
|
|
|
- HashMap<String, String> stringStringHashMap = this.parseWnd(wndFile.get(0));
|
|
|
- String eqNo = stringStringHashMap.get("SiteNumber");
|
|
|
|
|
|
- //移动原始文件
|
|
|
- com.jiayue.biz.util.FileUtil.move(fileNameForELog.getPath(), eolFilePath + File.separator + eqNo);
|
|
|
- //找出csv文件
|
|
|
- List<File> csvFile = Arrays.stream(files1).filter(f -> f.getName().contains(".csv") && f.getName().contains(fileName)).collect(Collectors.toList());
|
|
|
+ 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());
|
|
|
|
|
|
- if (csvFile.size() > 0 && wndFile.size() > 0) {
|
|
|
- parseEol(csvFile.get(0), stringStringHashMap, eqNo);
|
|
|
+ if (csvFile.size() > 0 && wndFile.size() > 0) {
|
|
|
+ parseEol(csvFile.get(0), stringStringHashMap, eqNo, fileNameForELog);
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -1050,8 +1049,9 @@ public class AnalysisDataImpl {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
//解析eol文件
|
|
|
- public void parseEol(File fileCsv, HashMap<String, String> stringStringHashMap, String eqNo) {
|
|
|
+ public void parseEol(File fileCsv, HashMap<String, String> stringStringHashMap, String eqNo, File fileNameForELog) {
|
|
|
//todo 需要修改
|
|
|
// String s = "C:\\Users\\Administrator\\Desktop\\ID220810_20220919_180304_20230515_063537.log_20230515_063540.csv";
|
|
|
// //从文件中读取CSV数据
|
|
@@ -1092,6 +1092,7 @@ public class AnalysisDataImpl {
|
|
|
dataList.add(hashMap);
|
|
|
}
|
|
|
}
|
|
|
+ this.emailWindTowerInfoSave(eqNo);
|
|
|
List<WindTowerInfo> list = windTowerInfoService.list();
|
|
|
List<WindTowerInfo> collect = list.stream().filter(w -> w.getEquipmentNo().equals(eqNo)).collect(Collectors.toList());
|
|
|
if (collect.size() > 0) {
|
|
@@ -1110,20 +1111,21 @@ public class AnalysisDataImpl {
|
|
|
windTowerInfo.setRecorderNo(stringStringHashMap.get("SiteNumber"));
|
|
|
windTowerInfo.setModelNumber("eol");
|
|
|
windTowerInfoService.saveOrUpdate(windTowerInfo);
|
|
|
- }
|
|
|
+ }else{
|
|
|
+ try {
|
|
|
+ //移动原始文件
|
|
|
+ com.jiayue.biz.util.FileUtil.move(fileNameForELog.getPath(), eolFilePath + File.separator + eqNo);
|
|
|
+ //移动csv文件
|
|
|
+// com.jiayue.biz.util.FileUtil.move(fileCsv.getPath(), eolFilePath + File.separator + eqNo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
- this.emailWindTowerInfoSave(eqNo);
|
|
|
+ windTowerDataParentTableService.packageData(dataList, eqNo, "", "eol", "");
|
|
|
+ }
|
|
|
|
|
|
- try {
|
|
|
- //移动csv文件
|
|
|
- com.jiayue.biz.util.FileUtil.move(fileCsv.getPath(), eolFilePath + File.separator + eqNo);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- windTowerDataParentTableService.packageData(dataList, eqNo, "", "eol", "");
|
|
|
-
|
|
|
}
|
|
|
|
|
|
//解析经纬度 记录仪编号 解析wnd文件
|
|
@@ -1161,12 +1163,16 @@ public class AnalysisDataImpl {
|
|
|
}
|
|
|
|
|
|
public void emailWindTowerInfoSave(String equipmentNo) {
|
|
|
- List<EmailWindTowerInfo> emailWindTowerInfoList = emailWindTowerInfoService.list();
|
|
|
- List<EmailWindTowerInfo> emailWindTowerInfos = emailWindTowerInfoList.stream().filter(e -> e.getEquipmentNo().equals(equipmentNo)).collect(Collectors.toList());
|
|
|
- if (emailWindTowerInfos.size() == 0) {
|
|
|
+ List<EmailWindTowerInfo> emailWindTowerInfoList = emailWindTowerInfoService.lambdaQuery().eq(EmailWindTowerInfo::getEquipmentNo, equipmentNo).list();
|
|
|
+ if (emailWindTowerInfoList.size() == 0) {
|
|
|
EmailWindTowerInfo emailWindTowerInfo = new EmailWindTowerInfo();
|
|
|
emailWindTowerInfo.setId(UUID.randomUUID().toString());
|
|
|
emailWindTowerInfo.setEquipmentNo(equipmentNo);
|
|
|
+ emailWindTowerInfoService.save(emailWindTowerInfo);
|
|
|
+ } else {
|
|
|
+ EmailWindTowerInfo emailWindTowerInfo = emailWindTowerInfoList.get(0);
|
|
|
+ emailWindTowerInfo.setEquipmentNo(equipmentNo);
|
|
|
+ emailWindTowerInfoService.saveOrUpdate(emailWindTowerInfo);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -1228,7 +1234,7 @@ public class AnalysisDataImpl {
|
|
|
|
|
|
|
|
|
public String assembleProperty(String property) {
|
|
|
- String s = "";
|
|
|
+ String s = "Ave";
|
|
|
if (property.contains("-")) {
|
|
|
if (property.contains("STDev")) {
|
|
|
s = "Sta";
|