瀏覽代碼

Merge remote-tracking branch 'origin/master'

不夜De星空 2 年之前
父節點
當前提交
a219a7cea3
共有 100 個文件被更改,包括 484 次插入886 次删除
  1. 353 356
      neim-biz/src/test/java/service/DeleteUploadLogServiceTest.java
  2. 2 2
      neim-biz/src/test/java/service/TDengineTest.java
  3. 129 138
      neim-biz/src/test/java/service/Test.java
  4. 0 102
      neim-biz/target/classes/application-dev.yml
  5. 0 93
      neim-biz/target/classes/application-prod.yml
  6. 0 195
      neim-biz/target/classes/application.yml
  7. 二進制
      neim-biz/target/classes/com/jiayue/NerpApplication.class
  8. 二進制
      neim-biz/target/classes/com/jiayue/NerpServletInitializer.class
  9. 二進制
      neim-biz/target/classes/com/jiayue/biz/conf/Channel.class
  10. 二進制
      neim-biz/target/classes/com/jiayue/biz/conf/MybatisPlusConfig.class
  11. 二進制
      neim-biz/target/classes/com/jiayue/biz/conf/RequestDataHelper.class
  12. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/AnalysisLogController.class
  13. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/CompanyController.class
  14. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/DataRecalculationController.class
  15. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/DisplayConfigController.class
  16. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/ElectricFieIdController.class
  17. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/ElectricStationController.class
  18. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/EmailWindTowerInfoController.class
  19. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/FileUploadController.class
  20. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/HomePageController.class
  21. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/PdfController.class
  22. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/ProjectController.class
  23. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/RealTimeDisplayController.class
  24. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/StatisticsSituationController.class
  25. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/SysFileController.class
  26. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/TunnelInfoController.class
  27. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/WindSpeedController.class
  28. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/WindTowerCalculationDataController.class
  29. 二進制
      neim-biz/target/classes/com/jiayue/biz/controller/WindTowerInfoController.class
  30. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/AnalysisLog.class
  31. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/Company.class
  32. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/DisplayConfig.class
  33. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/ElectricField.class
  34. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/ElectricStation.class
  35. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/Email.class
  36. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/EmailWindTowerInfo.class
  37. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/EquipmentAttribute.class
  38. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/FakeDataRecord$IrrationalDataType.class
  39. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/FakeDataRecord.class
  40. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/PointAttribute.class
  41. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/Project.class
  42. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/ProphaseAnemometryData.class
  43. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/ProphaseWeatherData.class
  44. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/StatisticsSituation.class
  45. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/TunnelInfo.class
  46. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/WindDirectionStatisticsData.class
  47. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/WindTowerCalculationData.class
  48. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/WindTowerDataChildTable.class
  49. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/WindTowerDataParentTable.class
  50. 二進制
      neim-biz/target/classes/com/jiayue/biz/domain/WindTowerInfo.class
  51. 二進制
      neim-biz/target/classes/com/jiayue/biz/dto/FileLogBean.class
  52. 二進制
      neim-biz/target/classes/com/jiayue/biz/dto/SpeedAndDensityDto.class
  53. 二進制
      neim-biz/target/classes/com/jiayue/biz/eunms/ElectricFieldStatrsEnum.class
  54. 二進制
      neim-biz/target/classes/com/jiayue/biz/eunms/ElectricFieldTypeEnum.class
  55. 二進制
      neim-biz/target/classes/com/jiayue/biz/eunms/ProvinceEnum.class
  56. 二進制
      neim-biz/target/classes/com/jiayue/biz/eunms/TimeDimension.class
  57. 二進制
      neim-biz/target/classes/com/jiayue/biz/eunms/WindDirectionEnum.class
  58. 二進制
      neim-biz/target/classes/com/jiayue/biz/job/AirDensityJob.class
  59. 二進制
      neim-biz/target/classes/com/jiayue/biz/job/FileAnalysisJob.class
  60. 二進制
      neim-biz/target/classes/com/jiayue/biz/job/WindTowerCalculationDataJob.class
  61. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/AnalysisLogMapper.class
  62. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/CompanyMapper.class
  63. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/DisplayConfigMapper.class
  64. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/ElectricFieIdMapper.class
  65. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/ElectricStationMapper.class
  66. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/EmailMapper.class
  67. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/EmailWindTowerInfoMapper.class
  68. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/EquipmentAttributeMapper.class
  69. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/PointAttributeMapper.class
  70. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/ProjectMapper.class
  71. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/ProphaseAnemometryDataMapper.class
  72. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/ProphaseWeatherDataMapper.class
  73. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/StatisticsSituationMapper.class
  74. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/TunnelInfoMapper.class
  75. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/WindDirectionStatisticsDataMapper.class
  76. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerCalculationDataMapper.class
  77. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerDataChildTableMapper.class
  78. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerDataParentTableMapper.class
  79. 二進制
      neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerInfoMapper.class
  80. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/CompanyService.class
  81. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/DataRecalculationService.class
  82. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/EamilService.class
  83. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/ElectricFieldService.class
  84. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/ElectricStationService.class
  85. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/EmailService.class
  86. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/EmailWindTowerInfoService.class
  87. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/EquipmentAttributeService.class
  88. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/HomePageService.class
  89. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/IAnalysisLogService.class
  90. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/IDisplayConfigService.class
  91. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/PdfService.class
  92. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/PointAttributeService.class
  93. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/ProjectService.class
  94. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/ProphaseAnemometryDataService.class
  95. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/ProphaseWeatherDataService.class
  96. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/RealTimeDisplayService.class
  97. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/StatisticsSituationService.class
  98. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/SysFileService.class
  99. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/TunnelInfoService.class
  100. 二進制
      neim-biz/target/classes/com/jiayue/biz/service/TurbulenceService.class

+ 353 - 356
neim-biz/src/test/java/service/DeleteUploadLogServiceTest.java

@@ -1,356 +1,353 @@
-package service;
-
-import com.jiayue.NerpApplication;
-import com.jiayue.biz.domain.*;
-import com.jiayue.biz.service.StatisticsSituationService;
-import com.jiayue.biz.service.WindTowerInfoService;
-import com.jiayue.biz.service.impl.*;
-import com.jiayue.biz.util.CalculationUtil;
-import com.jiayue.common.utils.DateUtil;
-import org.apache.commons.math3.fitting.PolynomialCurveFitter;
-import org.apache.commons.math3.fitting.WeightedObservedPoints;
-import org.apache.poi.xssf.streaming.SXSSFRow;
-import org.apache.poi.xssf.streaming.SXSSFSheet;
-import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import wei.yigulu.modbus.domain.FunctionCode;
-import wei.yigulu.modbus.domain.Obj4RequestRegister;
-import wei.yigulu.modbus.domain.datatype.IModbusDataType;
-import wei.yigulu.modbus.domain.datatype.ModbusDataTypeEnum;
-import wei.yigulu.modbus.domain.datatype.NumericModbusData;
-import wei.yigulu.modbus.exceptiom.ModbusException;
-import wei.yigulu.modbus.netty.ModbusTcpMasterBuilder;
-import wei.yigulu.modbus.utils.ModbusRequestDataUtils;
-
-import javax.annotation.Resource;
-import javax.lang.model.SourceVersion;
-import java.io.*;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * 删除上报日志测试类
- *
- * @author xsl
- * @version 3.0
- */
-@SpringBootTest(classes = NerpApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-public class DeleteUploadLogServiceTest {
-    @Autowired
-    WindTowerInfoService windTowerInfoService;
-    @Autowired
-    AnalysisLogServiceImpl analysisLogService;
-
-    @Autowired
-    HomePageServiceImpl homePageService;
-
-    @Autowired
-    WindTowerDataChildTableServiceImpl windTowerDataChildTableService;
-    @Autowired
-    WindTowerCalculationDataServiceImpl windTowerCalculationDataService;
-
-    @Autowired
-    WsWdServiceImpl wsWdService;
-    @Autowired
-    TurbulenceServiceImpl turbulenceService;
-    @Autowired
-    PdfServiceImpl pdfService;
-    @Autowired
-    EquipmentAttributeServiceImpl equipmentAttributeService;
-    @Autowired
-    WindTowerDataParentTableServiceImpl windTowerDataParentTableService;
-
-    @Autowired
-    StatisticsSituationService statisticsSituationService;
-
-    public static void main(String[] args) throws Exception {
-
-    }
-
-    @Test
-    public void mains() {
-//       homePageService. getWsAndWpdForHeight("006174");
-    }
-
-    @Test
-    public void homePageCharts() {
-//        homePageService.getWsAndWpdForHeight("006174");
-
-    }
-
-
-    public void saveData(HashMap<String, BigDecimal> dataMap, HashSet<Integer> heightSet) {
-        WindTowerDataParentTable windTowerDataParentTable = new WindTowerDataParentTable();
-        List<WindTowerInfo> windTowerInfos = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getType, "2").eq(WindTowerInfo::getEquipmentNo, "3002").list();
-        String id = String.valueOf(UUID.randomUUID());
-        List<EquipmentAttribute> equipmentAttributes = equipmentAttributeService.lambdaQuery().eq(EquipmentAttribute::getAttributeFunction, "height").list();
-        List<WindTowerDataChildTable> windTowerDataChildTableList = new ArrayList<>();
-        for (Integer height : heightSet) {
-            List<EquipmentAttribute> eqHeight = equipmentAttributes.stream().filter(e -> e.getFieldName().equals(height.toString())).collect(Collectors.toList());
-            WindTowerDataChildTable windTowerDataChildTable = new WindTowerDataChildTable();
-            windTowerDataChildTable.setParentId(id);
-            windTowerDataChildTable.setLayerHeight(eqHeight.get(0).getId());
-            windTowerDataChildTable.setWsAve(CalculationUtil.getBigDecimal(dataMap.get("wsAve" + height) == null ? null : dataMap.get("wsAve" + height).toString()));
-            windTowerDataChildTable.setWsMin(CalculationUtil.getBigDecimal(dataMap.get("wsMin" + height) == null ? null : dataMap.get("wsMin" + height).toString()));
-            windTowerDataChildTable.setWsMax(CalculationUtil.getBigDecimal(dataMap.get("wsMax" + height) == null ? null : dataMap.get("wsMax" + height).toString()));
-            windTowerDataChildTable.setWsSta(CalculationUtil.getBigDecimal(dataMap.get("wsSta" + height) == null ? null : dataMap.get("wsSta" + height).toString()));
-            windTowerDataChildTable.setWsInst(CalculationUtil.getBigDecimal(dataMap.get("wsInst" + height) == null ? null : dataMap.get("wsInst" + height).toString()));
-            windTowerDataChildTable.setWsGust(CalculationUtil.getBigDecimal(dataMap.get("wsGust" + height) == null ? null : dataMap.get("wsGust" + height).toString()));
-            windTowerDataChildTable.setWdAve(CalculationUtil.getBigDecimal(dataMap.get("wdAve" + height) == null ? null : dataMap.get("wdAve" + height).toString()));
-            windTowerDataChildTable.setWdMax(CalculationUtil.getBigDecimal(dataMap.get("wdMax" + height) == null ? null : dataMap.get("wdMax" + height).toString()));
-            windTowerDataChildTable.setWdMin(CalculationUtil.getBigDecimal(dataMap.get("wdMin" + height) == null ? null : dataMap.get("wdMin" + height).toString()));
-            windTowerDataChildTable.setWdSta(CalculationUtil.getBigDecimal(dataMap.get("wdSta" + height) == null ? null : dataMap.get("wdSta" + height).toString()));
-            windTowerDataChildTable.setWdInst(CalculationUtil.getBigDecimal(dataMap.get("wdInst" + height) == null ? null : dataMap.get("wdInst" + height).toString()));
-            windTowerDataChildTableList.add(windTowerDataChildTable);
-        }
-
-        windTowerDataParentTable.setEquipmentId(windTowerInfos.get(0).getEquipmentNo());
-        windTowerDataParentTable.setId(id);
-        String time = dataMap.get("yyyy").toString() + (dataMap.get("MM")) + (dataMap.get("dd")) + (dataMap.get("HH")) + (dataMap.get("mm")) + (dataMap.get("ss"));
-        //TODO 目前不知道接收的数据长什么样
-        windTowerDataParentTable.setTime(DateUtil.parseDate(time));
-        if (dataMap.get("paMax") != null)
-            //kpa转hpa
-            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMax").toString())).compareTo(new BigDecimal(200)) < 0)
-                windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
-            else
-                windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()));
-        if (dataMap.get("paMin") != null)
-            //kpa转hpa
-            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMin").toString())).compareTo(new BigDecimal(200)) < 0)
-                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
-            else
-                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()));
-        if (dataMap.get("paInst") != null)
-            //kpa转hpa
-            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paInst").toString())).compareTo(new BigDecimal(200)) < 0)
-                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
-            else
-                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()));
-        if (dataMap.get("paAve") != null)
-            //kpa转hpa
-            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paAve").toString())).compareTo(new BigDecimal(200)) < 0)
-                windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
-            else
-                windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()));
-        windTowerDataParentTable.setPaSta(CalculationUtil.getBigDecimal(dataMap.get("paSta") == null ? null : dataMap.get("paSta").toString()));
-        windTowerDataParentTable.setTMax(CalculationUtil.getBigDecimal(dataMap.get("tMax") == null ? null : dataMap.get("tMax").toString()));
-        windTowerDataParentTable.setTMin(CalculationUtil.getBigDecimal(dataMap.get("tMin") == null ? null : dataMap.get("tMin").toString()));
-        windTowerDataParentTable.setTAve(CalculationUtil.getBigDecimal(dataMap.get("tAve") == null ? null : dataMap.get("tAve").toString()));
-        windTowerDataParentTable.setTSta(CalculationUtil.getBigDecimal(dataMap.get("tSta") == null ? null : dataMap.get("tSta").toString()));
-        windTowerDataParentTable.setTInst(CalculationUtil.getBigDecimal(dataMap.get("tInst") == null ? null : dataMap.get("tInst").toString()));
-        windTowerDataParentTable.setRhMax(CalculationUtil.getBigDecimal(dataMap.get("rhMax") == null ? null : dataMap.get("rhMax").toString()));
-        windTowerDataParentTable.setRhMin(CalculationUtil.getBigDecimal(dataMap.get("rhMin") == null ? null : dataMap.get("rhMin").toString()));
-        windTowerDataParentTable.setRhAve(CalculationUtil.getBigDecimal(dataMap.get("rhAve") == null ? null : dataMap.get("rhAve").toString()));
-        windTowerDataParentTable.setRhSta(CalculationUtil.getBigDecimal(dataMap.get("rhSta") == null ? null : dataMap.get("rhSta").toString()));
-        windTowerDataParentTable.setRhInst(CalculationUtil.getBigDecimal(dataMap.get("rhInst") == null ? null : dataMap.get("rhInst").toString()));
-
-        windTowerDataParentTable.setVMax(CalculationUtil.getBigDecimal(dataMap.get("vMax") == null ? null : dataMap.get("vMax").toString()));
-        windTowerDataParentTable.setVMin(CalculationUtil.getBigDecimal(dataMap.get("vMin") == null ? null : dataMap.get("vhMin").toString()));
-        windTowerDataParentTable.setVAve(CalculationUtil.getBigDecimal(dataMap.get("vAve") == null ? null : dataMap.get("vhAve").toString()));
-        windTowerDataParentTable.setVSta(CalculationUtil.getBigDecimal(dataMap.get("vSta") == null ? null : dataMap.get("vhSta").toString()));
-        windTowerDataParentTable.setVInst(CalculationUtil.getBigDecimal(dataMap.get("vInst") == null ? null : dataMap.get("vInst").toString()));
-
-        //计算空气密度
-        if (dataMap.get("TAve") != null && dataMap.get("paAve") != null) {
-            BigDecimal airDensity = BigDecimal.valueOf(1.293).multiply(new BigDecimal(273).divide(new BigDecimal(273).add(dataMap.get("TAve")), 2, RoundingMode.HALF_UP)).multiply(dataMap.get("paAve")).divide(new BigDecimal(1013), 2, RoundingMode.HALF_UP);
-            windTowerDataParentTable.setAirDensity(airDensity);
-        }
-        // TODO 目前没有异常数据校验
-//        windTowerDataParentTable.setAbnormalData(dataMap.get("abnormalData") == null ? null : dataMap.get("abnormalData").toString());
-//        windTowerDataParentTable.setAbnormalType(dataMap.get("abnormalType") == null ? null : dataMap.get("abnormalType").toString());
-//        windTowerDataParentTableList.add(windTowerDataParentTable);
-
-    }
-
-
-
-
-
-
-    @Test
-    public void main() {
-        System.out.println("DateUtil.formatTime(new Date()) = " + DateUtil.formatTime(new Date()));
-//        List<EquipmentAttribute> awsDay = equipmentAttributeService.lambdaQuery().like(EquipmentAttribute::getFieldName, "awsDay").list();
-//        List<WindTowerCalculationData> byBetweenTimeAndEquipmentId = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId();
-        windTowerDataParentTableService.selectDataByBetweenTimeAndEquipmetId(new Date(1659283200000l), new Date(1661961600000l), "006173");
-        System.out.println("DateUtil.formatTime(new Date()) = " + DateUtil.formatTime(new Date()));
-    }
-
-    @Test
-    public void test() {
-        //TODO 两个路径需要变化
-        String exl = "D:\\txt\\";
-        File file = new File("D:\\txt\\txt");
-        //将wnd文件转换成txt文件
-        ConversionType();
-        File[] files = file.listFiles();
-        if (files != null) {
-            for (File file1 : files) {
-                int index = file1.getName().lastIndexOf(".");
-                //转换excel路径
-                String excelFile = exl + file1.getName().substring(0, index) + ".xls";
-                /*实例化输入、输出流*/
-                //输入文件
-                File f_in = new File(file1.getPath());
-                FileInputStream ips = null;
-                InputStreamReader ipsr = null;
-                //输出文件
-                File f_out = new File(excelFile);
-                FileOutputStream ops = null;
-                try {
-                    ips = new FileInputStream(f_in);
-                    ipsr = new InputStreamReader(ips);
-                    ops = new FileOutputStream(f_out);
-                } catch (FileNotFoundException e) {
-                    e.printStackTrace();
-                }
-                /*创建excel表格文件并输出*/
-                //创建工作薄
-                SXSSFWorkbook wb = new SXSSFWorkbook();
-                try {
-                    //创建新的一页
-                    SXSSFSheet sheet = wb.createSheet("new sheet");
-                    BufferedReader br = new BufferedReader(ipsr);
-                    String valueString = null;
-                    //记录有效行
-                    int count_line = 0;
-                    int total = 0;
-                    StringBuffer wsHeight = new StringBuffer();
-                    StringBuffer wdHeight = new StringBuffer();
-                    StringBuilder dataName = new StringBuilder();
-
-                    while ((valueString = br.readLine()) != null) {
-                        if (valueString.contains("Date")) {
-                            total++;
-                        }
-                        if (total == 2) {
-                            //分解每一行有效行 去除两边的空格
-                            String[] strs_cell = valueString.trim().split("\\s+");
-                            //生成行
-                            SXSSFRow row = sheet.createRow((short) count_line);
-                            for (int i = 0; i < strs_cell.length; i++) {//循环每个切割得到的数据,除了最后一个(,,,)和第一个(空)
-                                //创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容
-                                //生成列并插入数据
-                                row.createCell((short) i).setCellValue(strs_cell[i]);
-                                //所有表头
-                                if (!dataName.toString().equals("")) {
-                                    dataName.append(",");
-                                    dataName.append(strs_cell[i]);
-                                } else {
-                                    dataName.append(strs_cell[i]);
-                                }
-                            }
-                            count_line++;
-                        }
-                    }
-                    //分解表头
-                    String[] dataHeader = dataName.toString().split(",");
-                    for (String header : dataHeader) {
-                        if (header.contains("WS") && !header.contains("-")) {
-                            int i = header.lastIndexOf("_");
-                            //截取带层高的字符串
-                            String substring = header.substring(i);
-                            String height = CalculationUtil.getNumberFromString(substring);
-                            wsHeight.append(height);
-                            wsHeight.append(",");
-
-                        }
-
-                        if (header.contains("WD") && !header.contains("-")) {
-                            int i = header.lastIndexOf("_");
-                            //截取带层高的字符串
-                            String substring = header.substring(i);
-                            wdHeight.append(CalculationUtil.getNumberFromString(substring));
-                            wdHeight.append(",");
-                        }
-                    }
-                    //删除最后一个逗号
-                    //风速 TODO 入库 目前缺少测风塔编号、记录仪编号、经纬度
-                    String wsStr = wsHeight.substring(0, wsHeight.length() - 1);
-                    //风向 TODO 入库
-                    String wdStr = wdHeight.substring(0, wdHeight.length() - 1);
-
-                    //把创建的表格写入到输出流中,并关闭输出流
-                    wb.write(ops);
-                } catch (IOException e) {
-                    throw new RuntimeException(e);
-                } finally {
-                    if (wb != null) {
-                        try {
-                            wb.close();
-                        } catch (IOException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                    if (ips != null) {
-                        try {
-                            ips.close();
-                        } catch (IOException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                    if (ops != null) {
-                        try {
-                            ops.close();
-                        } catch (IOException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-            }
-        }
-
-
-    }
-
-    //转换文件夹中所有文件类型
-    public void ConversionType() {
-        File file = new File("D:\\txt\\txt");
-        String fileName = "";
-        if (file.isDirectory()) {
-            File[] files = file.listFiles();
-            if (files != null) {
-                for (File file1 : files) {
-                    String name = file1.getName();
-                    int i = name.lastIndexOf(".");
-                    if (name.substring(i).contains("wnd")) {
-                        //获取文件名
-                        fileName = name.substring(0, i);
-                        file1.renameTo(new File(file1.getParentFile() + "\\" + fileName + ".txt"));
-                    }
-                }
-            }
-        }
-    }
-    @Test
-    public void WindShearFit () {
-//        homePageService.homePageCharts("006172");
-        try {
-
-            // 输入数据:高度和风切变指数
-            double[] height = {500, 1000, 1500, 2000, 2500};
-            double[] ehi = {1.5, 3.0, 4.5, 3.0, 1.5};
-
-            // 使用WeightedObservedPoints类来存储输入数据
-            WeightedObservedPoints obs = new WeightedObservedPoints();
-            for (int i = 0; i < height.length; i++) {
-                obs.add(height[i], ehi[i]);
-            }
-            // 使用PolynomialCurveFitter类进行二次拟合
-            PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);
-            double[] coefficients = fitter.fit(obs.toList());
-
-            // 输出拟合曲线的系数
-            System.out.println("拟合曲线系数: a = " + coefficients[2] + ", b = " + coefficients[1] + ", c = " + coefficients[0]);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-}
+//package service;
+//
+//import com.jiayue.NeimApplication;
+//import com.jiayue.biz.domain.*;
+//import com.jiayue.biz.service.StatisticsSituationService;
+//import com.jiayue.biz.service.WindTowerInfoService;
+//import com.jiayue.biz.service.impl.*;
+//import com.jiayue.biz.util.CalculationUtil;
+//import com.jiayue.common.utils.DateUtil;
+//import org.apache.commons.math3.fitting.PolynomialCurveFitter;
+//import org.apache.commons.math3.fitting.WeightedObservedPoints;
+//import org.apache.poi.xssf.streaming.SXSSFRow;
+//import org.apache.poi.xssf.streaming.SXSSFSheet;
+//import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+//import org.junit.jupiter.api.Test;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.test.context.SpringBootTest;
+//import wei.yigulu.modbus.domain.FunctionCode;
+//import wei.yigulu.modbus.domain.Obj4RequestRegister;
+//import wei.yigulu.modbus.domain.datatype.IModbusDataType;
+//import wei.yigulu.modbus.domain.datatype.ModbusDataTypeEnum;
+//import wei.yigulu.modbus.domain.datatype.NumericModbusData;
+//import wei.yigulu.modbus.exceptiom.ModbusException;
+//import wei.yigulu.modbus.netty.ModbusTcpMasterBuilder;
+//import wei.yigulu.modbus.utils.ModbusRequestDataUtils;
+//
+//import java.io.*;
+//import java.math.BigDecimal;
+//import java.math.RoundingMode;
+//import java.util.*;
+//import java.util.stream.Collectors;
+//
+///**
+// * 删除上报日志测试类
+// *
+// * @author xsl
+// * @version 3.0
+// */
+//@SpringBootTest(classes = NeimApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+//public class DeleteUploadLogServiceTest {
+//    @Autowired
+//    WindTowerInfoService windTowerInfoService;
+//    @Autowired
+//    AnalysisLogServiceImpl analysisLogService;
+//
+//    @Autowired
+//    HomePageServiceImpl homePageService;
+//
+//    @Autowired
+//    WindTowerDataChildTableServiceImpl windTowerDataChildTableService;
+//    @Autowired
+//    WindTowerCalculationDataServiceImpl windTowerCalculationDataService;
+//
+//    @Autowired
+//    WsWdServiceImpl wsWdService;
+//    @Autowired
+//    TurbulenceServiceImpl turbulenceService;
+//    @Autowired
+//    PdfServiceImpl pdfService;
+//    @Autowired
+//    EquipmentAttributeServiceImpl equipmentAttributeService;
+//    @Autowired
+//    WindTowerDataParentTableServiceImpl windTowerDataParentTableService;
+//
+//    @Autowired
+//    StatisticsSituationService statisticsSituationService;
+//
+//    public static void main(String[] args) throws Exception {
+//
+//    }
+//
+//    @Test
+//    public void mains() {
+////       homePageService. getWsAndWpdForHeight("006174");
+//    }
+//
+//    @Test
+//    public void homePageCharts() {
+////        homePageService.getWsAndWpdForHeight("006174");
+//
+//    }
+//
+//
+//    public void saveData(HashMap<String, BigDecimal> dataMap, HashSet<Integer> heightSet) {
+//        WindTowerDataParentTable windTowerDataParentTable = new WindTowerDataParentTable();
+//        List<WindTowerInfo> windTowerInfos = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getType, "2").eq(WindTowerInfo::getEquipmentNo, "3002").list();
+//        String id = String.valueOf(UUID.randomUUID());
+//        List<EquipmentAttribute> equipmentAttributes = equipmentAttributeService.lambdaQuery().eq(EquipmentAttribute::getAttributeFunction, "height").list();
+//        List<WindTowerDataChildTable> windTowerDataChildTableList = new ArrayList<>();
+//        for (Integer height : heightSet) {
+//            List<EquipmentAttribute> eqHeight = equipmentAttributes.stream().filter(e -> e.getFieldName().equals(height.toString())).collect(Collectors.toList());
+//            WindTowerDataChildTable windTowerDataChildTable = new WindTowerDataChildTable();
+//            windTowerDataChildTable.setParentId(id);
+//            windTowerDataChildTable.setLayerHeight(eqHeight.get(0).getId());
+//            windTowerDataChildTable.setWsAve(CalculationUtil.getBigDecimal(dataMap.get("wsAve" + height) == null ? null : dataMap.get("wsAve" + height).toString()));
+//            windTowerDataChildTable.setWsMin(CalculationUtil.getBigDecimal(dataMap.get("wsMin" + height) == null ? null : dataMap.get("wsMin" + height).toString()));
+//            windTowerDataChildTable.setWsMax(CalculationUtil.getBigDecimal(dataMap.get("wsMax" + height) == null ? null : dataMap.get("wsMax" + height).toString()));
+//            windTowerDataChildTable.setWsSta(CalculationUtil.getBigDecimal(dataMap.get("wsSta" + height) == null ? null : dataMap.get("wsSta" + height).toString()));
+//            windTowerDataChildTable.setWsInst(CalculationUtil.getBigDecimal(dataMap.get("wsInst" + height) == null ? null : dataMap.get("wsInst" + height).toString()));
+//            windTowerDataChildTable.setWsGust(CalculationUtil.getBigDecimal(dataMap.get("wsGust" + height) == null ? null : dataMap.get("wsGust" + height).toString()));
+//            windTowerDataChildTable.setWdAve(CalculationUtil.getBigDecimal(dataMap.get("wdAve" + height) == null ? null : dataMap.get("wdAve" + height).toString()));
+//            windTowerDataChildTable.setWdMax(CalculationUtil.getBigDecimal(dataMap.get("wdMax" + height) == null ? null : dataMap.get("wdMax" + height).toString()));
+//            windTowerDataChildTable.setWdMin(CalculationUtil.getBigDecimal(dataMap.get("wdMin" + height) == null ? null : dataMap.get("wdMin" + height).toString()));
+//            windTowerDataChildTable.setWdSta(CalculationUtil.getBigDecimal(dataMap.get("wdSta" + height) == null ? null : dataMap.get("wdSta" + height).toString()));
+//            windTowerDataChildTable.setWdInst(CalculationUtil.getBigDecimal(dataMap.get("wdInst" + height) == null ? null : dataMap.get("wdInst" + height).toString()));
+//            windTowerDataChildTableList.add(windTowerDataChildTable);
+//        }
+//
+//        windTowerDataParentTable.setEquipmentId(windTowerInfos.get(0).getEquipmentNo());
+//        windTowerDataParentTable.setId(id);
+//        String time = dataMap.get("yyyy").toString() + (dataMap.get("MM")) + (dataMap.get("dd")) + (dataMap.get("HH")) + (dataMap.get("mm")) + (dataMap.get("ss"));
+//        //TODO 目前不知道接收的数据长什么样
+//        windTowerDataParentTable.setTime(DateUtil.parseDate(time));
+//        if (dataMap.get("paMax") != null)
+//            //kpa转hpa
+//            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMax").toString())).compareTo(new BigDecimal(200)) < 0)
+//                windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
+//            else
+//                windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()));
+//        if (dataMap.get("paMin") != null)
+//            //kpa转hpa
+//            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMin").toString())).compareTo(new BigDecimal(200)) < 0)
+//                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
+//            else
+//                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()));
+//        if (dataMap.get("paInst") != null)
+//            //kpa转hpa
+//            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paInst").toString())).compareTo(new BigDecimal(200)) < 0)
+//                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
+//            else
+//                windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()));
+//        if (dataMap.get("paAve") != null)
+//            //kpa转hpa
+//            if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paAve").toString())).compareTo(new BigDecimal(200)) < 0)
+//                windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
+//            else
+//                windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()));
+//        windTowerDataParentTable.setPaSta(CalculationUtil.getBigDecimal(dataMap.get("paSta") == null ? null : dataMap.get("paSta").toString()));
+//        windTowerDataParentTable.setTMax(CalculationUtil.getBigDecimal(dataMap.get("tMax") == null ? null : dataMap.get("tMax").toString()));
+//        windTowerDataParentTable.setTMin(CalculationUtil.getBigDecimal(dataMap.get("tMin") == null ? null : dataMap.get("tMin").toString()));
+//        windTowerDataParentTable.setTAve(CalculationUtil.getBigDecimal(dataMap.get("tAve") == null ? null : dataMap.get("tAve").toString()));
+//        windTowerDataParentTable.setTSta(CalculationUtil.getBigDecimal(dataMap.get("tSta") == null ? null : dataMap.get("tSta").toString()));
+//        windTowerDataParentTable.setTInst(CalculationUtil.getBigDecimal(dataMap.get("tInst") == null ? null : dataMap.get("tInst").toString()));
+//        windTowerDataParentTable.setRhMax(CalculationUtil.getBigDecimal(dataMap.get("rhMax") == null ? null : dataMap.get("rhMax").toString()));
+//        windTowerDataParentTable.setRhMin(CalculationUtil.getBigDecimal(dataMap.get("rhMin") == null ? null : dataMap.get("rhMin").toString()));
+//        windTowerDataParentTable.setRhAve(CalculationUtil.getBigDecimal(dataMap.get("rhAve") == null ? null : dataMap.get("rhAve").toString()));
+//        windTowerDataParentTable.setRhSta(CalculationUtil.getBigDecimal(dataMap.get("rhSta") == null ? null : dataMap.get("rhSta").toString()));
+//        windTowerDataParentTable.setRhInst(CalculationUtil.getBigDecimal(dataMap.get("rhInst") == null ? null : dataMap.get("rhInst").toString()));
+//
+//        windTowerDataParentTable.setVMax(CalculationUtil.getBigDecimal(dataMap.get("vMax") == null ? null : dataMap.get("vMax").toString()));
+//        windTowerDataParentTable.setVMin(CalculationUtil.getBigDecimal(dataMap.get("vMin") == null ? null : dataMap.get("vhMin").toString()));
+//        windTowerDataParentTable.setVAve(CalculationUtil.getBigDecimal(dataMap.get("vAve") == null ? null : dataMap.get("vhAve").toString()));
+//        windTowerDataParentTable.setVSta(CalculationUtil.getBigDecimal(dataMap.get("vSta") == null ? null : dataMap.get("vhSta").toString()));
+//        windTowerDataParentTable.setVInst(CalculationUtil.getBigDecimal(dataMap.get("vInst") == null ? null : dataMap.get("vInst").toString()));
+//
+//        //计算空气密度
+//        if (dataMap.get("TAve") != null && dataMap.get("paAve") != null) {
+//            BigDecimal airDensity = BigDecimal.valueOf(1.293).multiply(new BigDecimal(273).divide(new BigDecimal(273).add(dataMap.get("TAve")), 2, RoundingMode.HALF_UP)).multiply(dataMap.get("paAve")).divide(new BigDecimal(1013), 2, RoundingMode.HALF_UP);
+//            windTowerDataParentTable.setAirDensity(airDensity);
+//        }
+//        // TODO 目前没有异常数据校验
+////        windTowerDataParentTable.setAbnormalData(dataMap.get("abnormalData") == null ? null : dataMap.get("abnormalData").toString());
+////        windTowerDataParentTable.setAbnormalType(dataMap.get("abnormalType") == null ? null : dataMap.get("abnormalType").toString());
+////        windTowerDataParentTableList.add(windTowerDataParentTable);
+//
+//    }
+//
+//
+//
+//
+//
+//
+//    @Test
+//    public void main() {
+//        System.out.println("DateUtil.formatTime(new Date()) = " + DateUtil.formatTime(new Date()));
+////        List<EquipmentAttribute> awsDay = equipmentAttributeService.lambdaQuery().like(EquipmentAttribute::getFieldName, "awsDay").list();
+////        List<WindTowerCalculationData> byBetweenTimeAndEquipmentId = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId();
+//        windTowerDataParentTableService.selectDataByBetweenTimeAndEquipmetId(new Date(1659283200000l), new Date(1661961600000l), "006173");
+//        System.out.println("DateUtil.formatTime(new Date()) = " + DateUtil.formatTime(new Date()));
+//    }
+//
+//    @Test
+//    public void test() {
+//        //TODO 两个路径需要变化
+//        String exl = "D:\\txt\\";
+//        File file = new File("D:\\txt\\txt");
+//        //将wnd文件转换成txt文件
+//        ConversionType();
+//        File[] files = file.listFiles();
+//        if (files != null) {
+//            for (File file1 : files) {
+//                int index = file1.getName().lastIndexOf(".");
+//                //转换excel路径
+//                String excelFile = exl + file1.getName().substring(0, index) + ".xls";
+//                /*实例化输入、输出流*/
+//                //输入文件
+//                File f_in = new File(file1.getPath());
+//                FileInputStream ips = null;
+//                InputStreamReader ipsr = null;
+//                //输出文件
+//                File f_out = new File(excelFile);
+//                FileOutputStream ops = null;
+//                try {
+//                    ips = new FileInputStream(f_in);
+//                    ipsr = new InputStreamReader(ips);
+//                    ops = new FileOutputStream(f_out);
+//                } catch (FileNotFoundException e) {
+//                    e.printStackTrace();
+//                }
+//                /*创建excel表格文件并输出*/
+//                //创建工作薄
+//                SXSSFWorkbook wb = new SXSSFWorkbook();
+//                try {
+//                    //创建新的一页
+//                    SXSSFSheet sheet = wb.createSheet("new sheet");
+//                    BufferedReader br = new BufferedReader(ipsr);
+//                    String valueString = null;
+//                    //记录有效行
+//                    int count_line = 0;
+//                    int total = 0;
+//                    StringBuffer wsHeight = new StringBuffer();
+//                    StringBuffer wdHeight = new StringBuffer();
+//                    StringBuilder dataName = new StringBuilder();
+//
+//                    while ((valueString = br.readLine()) != null) {
+//                        if (valueString.contains("Date")) {
+//                            total++;
+//                        }
+//                        if (total == 2) {
+//                            //分解每一行有效行 去除两边的空格
+//                            String[] strs_cell = valueString.trim().split("\\s+");
+//                            //生成行
+//                            SXSSFRow row = sheet.createRow((short) count_line);
+//                            for (int i = 0; i < strs_cell.length; i++) {//循环每个切割得到的数据,除了最后一个(,,,)和第一个(空)
+//                                //创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容
+//                                //生成列并插入数据
+//                                row.createCell((short) i).setCellValue(strs_cell[i]);
+//                                //所有表头
+//                                if (!dataName.toString().equals("")) {
+//                                    dataName.append(",");
+//                                    dataName.append(strs_cell[i]);
+//                                } else {
+//                                    dataName.append(strs_cell[i]);
+//                                }
+//                            }
+//                            count_line++;
+//                        }
+//                    }
+//                    //分解表头
+//                    String[] dataHeader = dataName.toString().split(",");
+//                    for (String header : dataHeader) {
+//                        if (header.contains("WS") && !header.contains("-")) {
+//                            int i = header.lastIndexOf("_");
+//                            //截取带层高的字符串
+//                            String substring = header.substring(i);
+//                            String height = CalculationUtil.getNumberFromString(substring);
+//                            wsHeight.append(height);
+//                            wsHeight.append(",");
+//
+//                        }
+//
+//                        if (header.contains("WD") && !header.contains("-")) {
+//                            int i = header.lastIndexOf("_");
+//                            //截取带层高的字符串
+//                            String substring = header.substring(i);
+//                            wdHeight.append(CalculationUtil.getNumberFromString(substring));
+//                            wdHeight.append(",");
+//                        }
+//                    }
+//                    //删除最后一个逗号
+//                    //风速 TODO 入库 目前缺少测风塔编号、记录仪编号、经纬度
+//                    String wsStr = wsHeight.substring(0, wsHeight.length() - 1);
+//                    //风向 TODO 入库
+//                    String wdStr = wdHeight.substring(0, wdHeight.length() - 1);
+//
+//                    //把创建的表格写入到输出流中,并关闭输出流
+//                    wb.write(ops);
+//                } catch (IOException e) {
+//                    throw new RuntimeException(e);
+//                } finally {
+//                    if (wb != null) {
+//                        try {
+//                            wb.close();
+//                        } catch (IOException e) {
+//                            e.printStackTrace();
+//                        }
+//                    }
+//                    if (ips != null) {
+//                        try {
+//                            ips.close();
+//                        } catch (IOException e) {
+//                            e.printStackTrace();
+//                        }
+//                    }
+//                    if (ops != null) {
+//                        try {
+//                            ops.close();
+//                        } catch (IOException e) {
+//                            e.printStackTrace();
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//
+//
+//    }
+//
+//    //转换文件夹中所有文件类型
+//    public void ConversionType() {
+//        File file = new File("D:\\txt\\txt");
+//        String fileName = "";
+//        if (file.isDirectory()) {
+//            File[] files = file.listFiles();
+//            if (files != null) {
+//                for (File file1 : files) {
+//                    String name = file1.getName();
+//                    int i = name.lastIndexOf(".");
+//                    if (name.substring(i).contains("wnd")) {
+//                        //获取文件名
+//                        fileName = name.substring(0, i);
+//                        file1.renameTo(new File(file1.getParentFile() + "\\" + fileName + ".txt"));
+//                    }
+//                }
+//            }
+//        }
+//    }
+//    @Test
+//    public void WindShearFit () {
+////        homePageService.homePageCharts("006172");
+//        try {
+//
+//            // 输入数据:高度和风切变指数
+//            double[] height = {500, 1000, 1500, 2000, 2500};
+//            double[] ehi = {1.5, 3.0, 4.5, 3.0, 1.5};
+//
+//            // 使用WeightedObservedPoints类来存储输入数据
+//            WeightedObservedPoints obs = new WeightedObservedPoints();
+//            for (int i = 0; i < height.length; i++) {
+//                obs.add(height[i], ehi[i]);
+//            }
+//            // 使用PolynomialCurveFitter类进行二次拟合
+//            PolynomialCurveFitter fitter = PolynomialCurveFitter.create(2);
+//            double[] coefficients = fitter.fit(obs.toList());
+//
+//            // 输出拟合曲线的系数
+//            System.out.println("拟合曲线系数: a = " + coefficients[2] + ", b = " + coefficients[1] + ", c = " + coefficients[0]);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//    }
+//}

+ 2 - 2
neim-biz/src/test/java/service/TDengineTest.java

@@ -5,7 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.db.Entity;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.jiayue.NerpApplication;
+import com.jiayue.NeimApplication;
 import com.jiayue.biz.domain.*;
 import com.jiayue.biz.mapper.ProphaseAnemometryDataMapper;
 import com.jiayue.biz.mapper.ProphaseWeatherDataMapper;
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
  * @author L.ym
  * @date 2023-03-14
  **/
-@SpringBootTest(classes = NerpApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@SpringBootTest(classes = NeimApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class TDengineTest {
 
     private static Random random = new Random(System.currentTimeMillis());

+ 129 - 138
neim-biz/src/test/java/service/Test.java

@@ -1,139 +1,130 @@
-package service;
-
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.poi.excel.ExcelReader;
-import cn.hutool.poi.excel.ExcelUtil;
-import com.jiayue.NerpApplication;
-import com.jiayue.biz.domain.*;
-import com.jiayue.biz.service.EquipmentAttributeService;
-import com.jiayue.biz.service.HomePageService;
-import com.jiayue.biz.service.WindTowerInfoService;
-import com.jiayue.biz.service.impl.*;
-import com.jiayue.biz.util.CalculationUtil;
-import com.jiayue.biz.util.DateMomentUtil;
-import com.jiayue.biz.util.DateTimeUtil;
-import org.apache.commons.lang3.time.DateUtils;
-import org.apache.poi.xssf.streaming.SXSSFRow;
-import org.apache.poi.xssf.streaming.SXSSFSheet;
-import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.joda.time.DateTime;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.security.core.parameters.P;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-import org.apache.commons.math3.fitting.PolynomialCurveFitter;
-import org.apache.commons.math3.fitting.WeightedObservedPoints;
-/**
- * 删除上报日志测试类
- *
- * @author xsl
- * @version 3.0
- */
-@SpringBootTest(classes = NerpApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-public class Test {
-
-    @Autowired
-    HomePageServiceImpl homePageService;
-    @Autowired
-    PdfServiceImpl pdfService;
-    @Autowired
-    private WindTowerCalculationDataServiceImpl windTowerCalculationDataService;
-    @Autowired
-    private EquipmentAttributeService equipmentAttributeService;
-    @Autowired
-    private WindDirectionStatisticsDataServiceImpl  windDirectionStatisticsDataService;
-    @Autowired
-    private WindTowerInfoServiceImpl  windTowerInfoService;
-    @Autowired
-    private StatisticsSituationServiceImpl statisticsSituationService;
-    @Autowired
-    private RealTimeDisplayServiceImpl realTimeDisplayService;
-@Autowired
-private  WindTowerDataParentTableServiceImpl windTowerDataParentTableService;
-    @Autowired
-private WsWdServiceImpl wsWdService;
-    @org.junit.jupiter.api.Test
-    public void main() {
-//        homePageService.homePageCharts("006172");86400000
-        try {
-            // 1664467200000L
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
-//            System.out.println(sdf.parse("2022-08"));
-//            System.out.println(new SimpleDateFormat("yyyy-MM").parse("2022-08").getTime());
-            windTowerDataParentTableService.selectDataByBetweenTimeAndEquipmetId(new Date(1656604800000L),new Date(1659110400000L),"006173");
-//           homePageService.homePageAllWindMap();
-//            /*系统今日的时间戳*/
-//            long date = DateTimeUtil.getDayStartTime(new Date().getTime()).getTime() - 86400000;
-//            Boolean status = true;
-//            WindTowerDataParentTable lastData = windTowerDataParentTableService.getLastData("006172");
-//            /*获取该塔接入的时间*/
-//            long startTime = DateTimeUtil.getDayStartTime(lastData.getTime().getTime()).getTime();
-//            /*测风塔最新接入时间 - 今日系统时间 = 差值 差值代表此塔几天没有接入数据,若差值>=10 将此塔状态设置为异常*/
-//            long differenceDays = date - startTime;
-//            if ((differenceDays/86400000)>=10){
-//                status = false;
-//            }else {
-//                status = true;
-//            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-    @org.junit.jupiter.api.Test
-    public void main12() {
-//        homePageService.homePageCharts("006172");
-        try {
-            SimpleDateFormat sdf = new SimpleDateFormat("M");
-            System.out.println(sdf.format(new Date(1662791812000L)));
-            // pdf
-//            long yesterday = new Date().getTime() - 1000 * 60 * 60 * 24;//昨天
-//            Date startTime = DateTimeUtil.getDayStartTime(DateTimeUtil.getYearDay(yesterday).getTime());//报告的开始时间 一年前的昨天的00:00:00
-//            Date endTime = DateTimeUtil.getDayLastTime(yesterday);//报告的结束时间 昨天的23:59:59
-            // 一年的计算数据
-//            List<WindTowerCalculationData> windTowerCalculationDatas = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId(startTime, endTime, "006170");
-            //所有类型数据
-//            List<EquipmentAttribute> equipmentAttributeList = equipmentAttributeService.list();
-//            List<WindDirectionStatisticsData> windDirectionStatisticsDataList = windDirectionStatisticsDataService.getByBetweenTimeAndEquipmentId(startTime, endTime, "006170");
-//            Map<String, Object> wsAndWsStaData = pdfService.getMonthRoseCharts(windDirectionStatisticsDataList, equipmentAttributeList, "120A");
-//            System.out.println(wsAndWsStaData);
-//            List<Map<String, Object>> list = windTowerCalculationDataService.getWindShearByEqidAndAverageAndTime(1659283200000L,"140A","006173");
-//            System.out.println(list);
-//            Map<String, Object> map = realTimeDisplayService.queryTPAndAirDensity(new Date(1663084799000L),new Date(1663689599000L),"006173");
-//            System.out.println(map);
-            // 日期集合
+//package service;
+//
+//import cn.hutool.core.io.FileUtil;
+//import cn.hutool.poi.excel.ExcelReader;
+//import cn.hutool.poi.excel.ExcelUtil;
+//import com.jiayue.NeimApplication;
+//import com.jiayue.biz.service.EquipmentAttributeService;
+//import com.jiayue.biz.service.impl.*;
+//import org.apache.commons.lang3.time.DateUtils;
+//import org.apache.poi.xssf.streaming.SXSSFRow;
+//import org.apache.poi.xssf.streaming.SXSSFSheet;
+//import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+//import org.joda.time.DateTime;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.boot.test.context.SpringBootTest;
+//import org.springframework.security.core.parameters.P;
+//
+//import java.text.SimpleDateFormat;
+//import java.util.*;
+//
+//import org.apache.commons.math3.fitting.PolynomialCurveFitter;
+//import org.apache.commons.math3.fitting.WeightedObservedPoints;
+///**
+// * 删除上报日志测试类
+// *
+// * @author xsl
+// * @version 3.0
+// */
+//@SpringBootTest(classes = NeimApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+//public class Test {
+//
+//    @Autowired
+//    HomePageServiceImpl homePageService;
+//    @Autowired
+//    PdfServiceImpl pdfService;
+//    @Autowired
+//    private WindTowerCalculationDataServiceImpl windTowerCalculationDataService;
+//    @Autowired
+//    private EquipmentAttributeService equipmentAttributeService;
+//    @Autowired
+//    private WindDirectionStatisticsDataServiceImpl  windDirectionStatisticsDataService;
+//    @Autowired
+//    private WindTowerInfoServiceImpl  windTowerInfoService;
+//    @Autowired
+//    private StatisticsSituationServiceImpl statisticsSituationService;
+//    @Autowired
+//    private RealTimeDisplayServiceImpl realTimeDisplayService;
+//@Autowired
+//private  WindTowerDataParentTableServiceImpl windTowerDataParentTableService;
+//    @Autowired
+//private WsWdServiceImpl wsWdService;
+//    @org.junit.jupiter.api.Test
+//    public void main() {
+////        homePageService.homePageCharts("006172");86400000
+//        try {
+//            // 1664467200000L
 //            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//            ArrayList<String> timeList = new ArrayList<>();
-//            for(long i = 1663171200000L; i < 1663775999999L; i = i + 1000 * 60 * 10L){
-//                timeList.add(sdf.format(new Date(i)));
-//            }
-//            System.out.println(timeList);
-//            SimpleDateFormat sdf1 = new SimpleDateFormat("dd");
-//            // 若当天时间为每个月一号, 结束时间为上个月得月末时间
-//            long date = 1661996396000L;
-//            System.out.println(sdf1.format(new Date(date)).equals("01"));
-//            long endTime = 1L;
-//            if(sdf1.format(new Date(date)).equals("01")){
-//                endTime = DateTimeUtil.getDayLastTime(DateTimeUtil.mouthLastDay(1).getTime()).getTime();
-//            }else{
-//                // 若当天时间不为每个月一号,结束时间为本月的当前时间-1(昨天)
-//                long yesterday = new Date().getTime() - 1000 * 60 * 60 * 24;//昨天
-//                endTime = DateTimeUtil.getDayLastTime(yesterday).getTime();
-//            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-
-
-}
+//
+////            System.out.println(sdf.parse("2022-08"));
+////            System.out.println(new SimpleDateFormat("yyyy-MM").parse("2022-08").getTime());
+//            windTowerDataParentTableService.selectDataByBetweenTimeAndEquipmetId(new Date(1656604800000L),new Date(1659110400000L),"006173");
+////           homePageService.homePageAllWindMap();
+////            /*系统今日的时间戳*/
+////            long date = DateTimeUtil.getDayStartTime(new Date().getTime()).getTime() - 86400000;
+////            Boolean status = true;
+////            WindTowerDataParentTable lastData = windTowerDataParentTableService.getLastData("006172");
+////            /*获取该塔接入的时间*/
+////            long startTime = DateTimeUtil.getDayStartTime(lastData.getTime().getTime()).getTime();
+////            /*测风塔最新接入时间 - 今日系统时间 = 差值 差值代表此塔几天没有接入数据,若差值>=10 将此塔状态设置为异常*/
+////            long differenceDays = date - startTime;
+////            if ((differenceDays/86400000)>=10){
+////                status = false;
+////            }else {
+////                status = true;
+////            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//    }
+//    @org.junit.jupiter.api.Test
+//    public void main12() {
+////        homePageService.homePageCharts("006172");
+//        try {
+//            SimpleDateFormat sdf = new SimpleDateFormat("M");
+//            System.out.println(sdf.format(new Date(1662791812000L)));
+//            // pdf
+////            long yesterday = new Date().getTime() - 1000 * 60 * 60 * 24;//昨天
+////            Date startTime = DateTimeUtil.getDayStartTime(DateTimeUtil.getYearDay(yesterday).getTime());//报告的开始时间 一年前的昨天的00:00:00
+////            Date endTime = DateTimeUtil.getDayLastTime(yesterday);//报告的结束时间 昨天的23:59:59
+//            // 一年的计算数据
+////            List<WindTowerCalculationData> windTowerCalculationDatas = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId(startTime, endTime, "006170");
+//            //所有类型数据
+////            List<EquipmentAttribute> equipmentAttributeList = equipmentAttributeService.list();
+////            List<WindDirectionStatisticsData> windDirectionStatisticsDataList = windDirectionStatisticsDataService.getByBetweenTimeAndEquipmentId(startTime, endTime, "006170");
+////            Map<String, Object> wsAndWsStaData = pdfService.getMonthRoseCharts(windDirectionStatisticsDataList, equipmentAttributeList, "120A");
+////            System.out.println(wsAndWsStaData);
+////            List<Map<String, Object>> list = windTowerCalculationDataService.getWindShearByEqidAndAverageAndTime(1659283200000L,"140A","006173");
+////            System.out.println(list);
+////            Map<String, Object> map = realTimeDisplayService.queryTPAndAirDensity(new Date(1663084799000L),new Date(1663689599000L),"006173");
+////            System.out.println(map);
+//            // 日期集合
+////            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+////            ArrayList<String> timeList = new ArrayList<>();
+////            for(long i = 1663171200000L; i < 1663775999999L; i = i + 1000 * 60 * 10L){
+////                timeList.add(sdf.format(new Date(i)));
+////            }
+////            System.out.println(timeList);
+////            SimpleDateFormat sdf1 = new SimpleDateFormat("dd");
+////            // 若当天时间为每个月一号, 结束时间为上个月得月末时间
+////            long date = 1661996396000L;
+////            System.out.println(sdf1.format(new Date(date)).equals("01"));
+////            long endTime = 1L;
+////            if(sdf1.format(new Date(date)).equals("01")){
+////                endTime = DateTimeUtil.getDayLastTime(DateTimeUtil.mouthLastDay(1).getTime()).getTime();
+////            }else{
+////                // 若当天时间不为每个月一号,结束时间为本月的当前时间-1(昨天)
+////                long yesterday = new Date().getTime() - 1000 * 60 * 60 * 24;//昨天
+////                endTime = DateTimeUtil.getDayLastTime(yesterday).getTime();
+////            }
+//
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//    }
+//
+//
+//}

+ 0 - 102
neim-biz/target/classes/application-dev.yml

@@ -1,102 +0,0 @@
-# 数据源配置
-spring:
-  datasource:
-    dynamic:
-      primary: mysql #设置默认的数据源或者数据源组,默认值即为master
-      datasource:
-        mysql:
-#          url: jdbc:mysql://192.168.1.205:3306/nerp-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          url: jdbc:mysql://49.4.78.194:17136/nerp-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
-          password: '!QAZ2root'
-          driver-class-name: com.mysql.cj.jdbc.Driver
-          type: com.alibaba.druid.pool.DruidDataSource
-          druid:
-            # 初始连接数
-            initial-size: 5
-            # 最小连接池数量
-            min-idle: 10
-            # 最大连接池数量
-            max-active: 20
-            # 配置获取连接等待超时的时间
-            max-wait: 60000
-            # 配置一个连接在池中最小生存的时间,单位是毫秒
-            min-evictable-idle-time-millis: 300000
-            # 配置一个连接在池中最大生存的时间,单位是毫秒
-            max-evictable-idle-time-millis: 900000
-            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-            time-between-eviction-runs-millis: 60000
-            # 配置检测连接是否有效
-            test-while-idle: true
-            test-on-borrow: false
-            test-on-return: false
-            validation-query: select 1
-            validation-query-timeout: -1
-            webStatFilter:
-              enabled: true
-            statViewServlet:
-              enabled: true
-              # 设置白名单,不填则允许所有访问
-              allow:
-              url-pattern: /druid/*
-              # 控制台管理用户名和密码
-              login-username: nerp
-              login-password: nerp
-            filter:
-              stat:
-                enabled: true
-                # 慢SQL记录
-                log-slow-sql: true
-                slow-sql-millis: 1000
-                merge-sql: true
-              wall:
-                config:
-                  multi-statement-allow: true
-        tdengine:
-          url: jdbc:TAOS://192.168.1.208:6030/nerp_db
-          username: root
-          password: 123456
-          driver-class-name: com.taosdata.jdbc.TSDBDriver
-          type: com.alibaba.druid.pool.DruidDataSource
-          druid:
-            initial-size: 5
-            min-idle: 5
-            max-active: 5
-  # redis 配置
-  redis:
-    # 地址
-#    host: 192.168.1.205
-    host: 49.4.78.194
-    # 端口,默认为6379
-#    port: 6379
-    port: 17137
-    # 数据库索引
-    database: 0
-    # 密码
-    password: jiayue
-    # 连接超时时间
-    timeout: 10s
-    lettuce:
-      pool:
-        # 连接池中的最小空闲连接
-        min-idle: 0
-        # 连接池中的最大空闲连接
-        max-idle: 8
-        # 连接池的最大数据库连接数
-        max-active: 8
-        # #连接池最大阻塞等待时间(使用负值表示没有限制)
-        max-wait: -1ms
-
-#mybatis-plus:
-#  configuration:
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
-file:
-  outPutDir: "D:\\out\\new\\"
-  excelDir: "D:\\analysisData\\new\\"
-  outPutBackDir: "D:\\out\\backUps\\"
-  excelBackDir: "D:\\analysisData\\backUps\\"
-email:
-  user: "wanghongchen942"
-  password: "LXQDEOCRCSXWBIAO"
-  host: "imap.126.com"
-  path: "d:\\in\\"

+ 0 - 93
neim-biz/target/classes/application-prod.yml

@@ -1,93 +0,0 @@
-# 数据源配置
-spring:
-  datasource:
-    type: com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    druid:
-      # 主库数据源
-      master:
-        url: jdbc:mysql://10.124.252.246:3306/nerp-db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true&rewriteBatchedStatements=true
-        username: root
-        password: '!QAZ2root'
-      # 从库数据源
-      slave:
-        # 从数据源开关/默认关闭
-        enabled: false
-        url:
-        username:
-        password:
-      # 初始连接数
-      initialSize: 5
-      # 最小连接池数量
-      minIdle: 10
-      # 最大连接池数量
-      maxActive: 20
-      # 配置获取连接等待超时的时间
-      maxWait: 60000
-      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-      timeBetweenEvictionRunsMillis: 60000
-      # 配置一个连接在池中最小生存的时间,单位是毫秒
-      minEvictableIdleTimeMillis: 300000
-      # 配置一个连接在池中最大生存的时间,单位是毫秒
-      maxEvictableIdleTimeMillis: 900000
-      # 配置检测连接是否有效
-      validationQuery: SELECT 1 FROM DUAL
-      testWhileIdle: true
-      testOnBorrow: false
-      testOnReturn: false
-      webStatFilter:
-        enabled: true
-      statViewServlet:
-        enabled: true
-        # 设置白名单,不填则允许所有访问
-        allow:
-        url-pattern: /druid/*
-        # 控制台管理用户名和密码
-        login-username: nerp
-        login-password: nerp
-      filter:
-        stat:
-          enabled: true
-          # 慢SQL记录
-          log-slow-sql: true
-          slow-sql-millis: 1000
-          merge-sql: true
-        wall:
-          config:
-            multi-statement-allow: true
-  # redis 配置
-  redis:
-    # 地址
-    host: 10.124.252.244
-    # 端口,默认为6379
-    port: 6379
-    # 数据库索引
-    database: 0
-    # 密码
-    password: jiayue
-    # 连接超时时间
-    timeout: 10s
-    lettuce:
-      pool:
-        # 连接池中的最小空闲连接
-        min-idle: 0
-        # 连接池中的最大空闲连接
-        max-idle: 8
-        # 连接池的最大数据库连接数
-        max-active: 8
-        # #连接池最大阻塞等待时间(使用负值表示没有限制)
-        max-wait: -1ms
-#
-#mybatis-plus:
-#  configuration:
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
-file:
-  outPutDir: "D:\\out\\new\\"
-  excelDir: "D:\\analysisData\\new\\"
-  outPutBackDir: "D:\\out\\backUps\\"
-  excelBackDir: "D:\\analysisData\\backUps\\"
-email:
-  user: "wanghongchen942"
-  password: "LXQDEOCRCSXWBIAO"
-  host: "imap.126.com"
-  path: "d:\\in\\"

+ 0 - 195
neim-biz/target/classes/application.yml

@@ -1,195 +0,0 @@
-# 项目相关配置
-elf:
-  # 名称
-  name: NERP
-  # 版本
-  version: 1.0.0
-  # 版权年份
-  copyrightYear: 2022
-  # 实例演示开关
-  demoEnabled: true
-  # 文件路径,使用jvm系统变量,兼容windows和linux;
-  profile: C:\\Users\\z2963\\AppData\\Local\\JetBrains\\IntelliJIdea2021.2\\compile-server/nerp/uploadPath
-  # 获取ip地址开关
-  addressEnabled: false
-  # 验证码类型 math 数组计算 char 字符验证
-  captchaType: math
-
-# 开发环境配置
-server:
-  # 服务器的HTTP端口,默认为8080
-  port: 9090
-  servlet:
-    # 应用的访问路径
-    context-path: /
-  undertow:
-    # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的
-    max-http-post-size: -1
-    # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
-    # 每块buffer的空间大小,越小的空间被利用越充分
-    buffer-size: 512
-    # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
-    io-threads: 8
-    # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载
-    worker-threads: 256
-    # 是否分配的直接内存
-    direct-buffers: true
-
-# 配置actuator
-management:
-  endpoints:
-    enabled-by-default: true
-    web:
-      exposure:
-        #        include: ["health", "info", "logfile", "mappings"]
-        include: [ "logfile" ]
-  endpoint:
-    health:
-      show-details: always
-    logfile:
-      enabled: true
-      external-file: logs/sys-error.log
-
-# 日志配置
-logging:
-  config: classpath:logback-nerp.xml
-
-# Spring配置
-spring:
-  # 资源信息
-  messages:
-    # 国际化资源文件路径
-    basename: i18n/messages
-  profiles:
-    active: dev
-  # 文件上传
-  servlet:
-    multipart:
-      # 单个文件大小
-      max-file-size: 10MB
-      # 设置总上传的文件大小
-      max-request-size: 20MB
-  # 服务模块
-  devtools:
-    restart:
-      # 热部署开关
-      enabled: true
-
-# token配置
-token:
-  # 令牌自定义标识
-  header: Authorization
-  # 令牌密钥
-  secret: abcdefghijklmnopqrstuvwxyz
-  # 令牌有效期(默认30分钟)
-  expireTime: 60
-
-# MyBatis配置
-# https://baomidou.com/config/
-mybatis-plus:
-  # 对应的 XML 文件位置
-  mapperLocations: classpath*:mapper/**/*Mapper.xml
-  # 实体扫描,多个package用逗号或者分号分隔
-  typeAliasesPackage: com.jiayue.**.domain
-  # 针对 typeAliasesPackage,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
-  #typeAliasesSuperType: Class<?>
-  # 如果配置了该属性,SqlSessionFactoryBean 会把该包下面的类注册为对应的 TypeHandler
-  #typeHandlersPackage: null
-  # 如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性
-  #typeEnumsPackage: null
-  # 启动时是否检查 MyBatis XML 文件的存在,默认不检查
-  checkConfigLocation: false
-  # 通过该属性可指定 MyBatis 的执行器,MyBatis 的执行器总共有三种:
-  # SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句(PreparedStatement)
-  # REUSE:该执行器类型会复用预处理语句(PreparedStatement)
-  # BATCH:该执行器类型会批量执行所有的更新语句
-  executorType: SIMPLE
-  # 指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
-  configurationProperties: null
-  configuration:
-    # 自动驼峰命名规则(camel case)映射
-    # 如果您的数据库命名符合规则无需使用 @TableField 注解指定数据库字段名
-    mapUnderscoreToCamelCase: true
-    # 默认枚举处理类,如果配置了该属性,枚举将统一使用指定处理器进行处理
-    # org.apache.ibatis.type.EnumTypeHandler : 存储枚举的名称
-    # org.apache.ibatis.type.EnumOrdinalTypeHandler : 存储枚举的索引
-    # com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler : 枚举类需要实现IEnum接口或字段标记@EnumValue注解.
-    defaultEnumTypeHandler: org.apache.ibatis.type.EnumTypeHandler
-    # 当设置为 true 的时候,懒加载的对象可能被任何懒属性全部加载,否则,每个属性都按需加载。需要和 lazyLoadingEnabled 一起使用。
-    aggressiveLazyLoading: true
-    # MyBatis 自动映射策略
-    # NONE:不启用自动映射
-    # PARTIAL:只对非嵌套的 resultMap 进行自动映射
-    # FULL:对所有的 resultMap 都进行自动映射
-    autoMappingBehavior: PARTIAL
-    # MyBatis 自动映射时未知列或未知属性处理策
-    # NONE:不做任何处理 (默认值)
-    # WARNING:以日志的形式打印相关警告信息
-    # FAILING:当作映射失败处理,并抛出异常和详细信息
-    autoMappingUnknownColumnBehavior: NONE
-    # Mybatis一级缓存,默认为 SESSION
-    # SESSION session级别缓存,同一个session相同查询语句不会再次查询数据库
-    # STATEMENT 关闭一级缓存
-    localCacheScope: SESSION
-    # 开启Mybatis二级缓存,默认为 true
-    cacheEnabled: true
-  global-config:
-    # 是否打印 Logo banner
-    banner: true
-    # 是否初始化 SqlRunner
-    enableSqlRunner: false
-    dbConfig:
-      # 主键类型
-      # AUTO 数据库ID自增
-      # NONE 空
-      # INPUT 用户输入ID
-      # ASSIGN_ID 全局唯一ID
-      # ASSIGN_UUID 全局唯一ID UUID
-      idType: AUTO
-      # 表名前缀
-      tablePrefix: null
-      # 字段 format,例: %s,(对主键无效)
-      columnFormat: null
-      # 表名是否使用驼峰转下划线命名,只对表名生效
-      tableUnderline: true
-      # 大写命名,对表名和字段名均生效
-      capitalMode: false
-      # 全局的entity的逻辑删除字段属性名
-      logicDeleteField: null
-      # 逻辑已删除值
-      logicDeleteValue: 1
-      # 逻辑未删除值
-      logicNotDeleteValue: 0
-      # 字段验证策略之 insert,在 insert 的时候的字段验证策略
-      # IGNORED 忽略判断
-      # NOT_NULL 非NULL判断
-      # NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
-      # DEFAULT 默认的,一般只用于注解里
-      # NEVER 不加入 SQL
-      insertStrategy: NOT_NULL
-      # 字段验证策略之 update,在 update 的时候的字段验证策略
-      updateStrategy: NOT_NULL
-      # 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
-      selectStrategy: NOT_NULL
-
-# PageHelper分页插件
-pagehelper:
-  helperDialect: mysql
-  supportMethodsArguments: true
-  params: count=countSql
-
-# Swagger配置
-swagger:
-  # 是否开启swagger
-  enabled: true
-  # 请求前缀
-  pathMapping: /dev-api
-
-# 防止XSS攻击
-xss:
-  # 过滤开关
-  enabled: true
-  # 排除链接(多个用逗号分隔)
-  excludes: /system/notice
-  # 匹配链接
-  urlPatterns: /system/*,/monitor/*,/tool/*

二進制
neim-biz/target/classes/com/jiayue/NerpApplication.class


二進制
neim-biz/target/classes/com/jiayue/NerpServletInitializer.class


二進制
neim-biz/target/classes/com/jiayue/biz/conf/Channel.class


二進制
neim-biz/target/classes/com/jiayue/biz/conf/MybatisPlusConfig.class


二進制
neim-biz/target/classes/com/jiayue/biz/conf/RequestDataHelper.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/AnalysisLogController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/CompanyController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/DataRecalculationController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/DisplayConfigController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/ElectricFieIdController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/ElectricStationController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/EmailWindTowerInfoController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/FileUploadController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/HomePageController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/PdfController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/ProjectController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/RealTimeDisplayController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/StatisticsSituationController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/SysFileController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/TunnelInfoController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/WindSpeedController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/WindTowerCalculationDataController.class


二進制
neim-biz/target/classes/com/jiayue/biz/controller/WindTowerInfoController.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/AnalysisLog.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/Company.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/DisplayConfig.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/ElectricField.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/ElectricStation.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/Email.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/EmailWindTowerInfo.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/EquipmentAttribute.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/FakeDataRecord$IrrationalDataType.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/FakeDataRecord.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/PointAttribute.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/Project.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/ProphaseAnemometryData.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/ProphaseWeatherData.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/StatisticsSituation.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/TunnelInfo.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/WindDirectionStatisticsData.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/WindTowerCalculationData.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/WindTowerDataChildTable.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/WindTowerDataParentTable.class


二進制
neim-biz/target/classes/com/jiayue/biz/domain/WindTowerInfo.class


二進制
neim-biz/target/classes/com/jiayue/biz/dto/FileLogBean.class


二進制
neim-biz/target/classes/com/jiayue/biz/dto/SpeedAndDensityDto.class


二進制
neim-biz/target/classes/com/jiayue/biz/eunms/ElectricFieldStatrsEnum.class


二進制
neim-biz/target/classes/com/jiayue/biz/eunms/ElectricFieldTypeEnum.class


二進制
neim-biz/target/classes/com/jiayue/biz/eunms/ProvinceEnum.class


二進制
neim-biz/target/classes/com/jiayue/biz/eunms/TimeDimension.class


二進制
neim-biz/target/classes/com/jiayue/biz/eunms/WindDirectionEnum.class


二進制
neim-biz/target/classes/com/jiayue/biz/job/AirDensityJob.class


二進制
neim-biz/target/classes/com/jiayue/biz/job/FileAnalysisJob.class


二進制
neim-biz/target/classes/com/jiayue/biz/job/WindTowerCalculationDataJob.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/AnalysisLogMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/CompanyMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/DisplayConfigMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/ElectricFieIdMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/ElectricStationMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/EmailMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/EmailWindTowerInfoMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/EquipmentAttributeMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/PointAttributeMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/ProjectMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/ProphaseAnemometryDataMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/ProphaseWeatherDataMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/StatisticsSituationMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/TunnelInfoMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/WindDirectionStatisticsDataMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerCalculationDataMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerDataChildTableMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerDataParentTableMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/mapper/WindTowerInfoMapper.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/CompanyService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/DataRecalculationService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/EamilService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/ElectricFieldService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/ElectricStationService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/EmailService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/EmailWindTowerInfoService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/EquipmentAttributeService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/HomePageService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/IAnalysisLogService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/IDisplayConfigService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/PdfService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/PointAttributeService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/ProjectService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/ProphaseAnemometryDataService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/ProphaseWeatherDataService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/RealTimeDisplayService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/StatisticsSituationService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/SysFileService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/TunnelInfoService.class


二進制
neim-biz/target/classes/com/jiayue/biz/service/TurbulenceService.class


部分文件因文件數量過多而無法顯示