燕山石化溯源三维电子沙盘-【后端】-服务
13693261870
2023-06-05 aaa42c070d59c46ff0ed42a1d2748df6dd6a06d7
src/main/java/com/yssh/scheduled/ReadCsvTask.java
@@ -8,8 +8,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -43,43 +41,36 @@
   @Autowired
   private IWarningAnalyseService warningAnalyseService;
   private final SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH");
   @Scheduled(cron = "${csv.cron}")
   public void corpReserveDataSync() {
      /*Date date = DateUtils.getNowDate();
      String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date);
        String filePath = csvFilePathConfig.getFilePath() + "\\\\" + time + ".csv";
        File file = new File(filePath);
        if (!file.exists()) {
            logger.error(file.getAbsolutePath() + " is not exist !");
            return;
        }
        //创建表
        String newTableName = TableStrategy.getTableStrategy(time);
        suYuanService.createNewTable(newTableName);
         dictRecordService.insertDictRecord(new DictRecord(1L, newTableName, Long.parseLong(time), ""));
      EasyCsv.read(filePath, SuYuan.class, new CsvParser(suYuanService, time)).doRead();
      //计算预警/报警,并且进行入库操作
      try {
         Thread.sleep(1000 * 60 * 1);
      } catch (InterruptedException e) {
         logger.error("睡眠一分钟后执行预警/报警计算,并且进行入库操作出现异常,异常原因是:", e);
         e.printStackTrace();
      loadVoc();
      loadCsv();
   }
   private void loadVoc() {
      Calendar calendar = getCalendar(96);
      for (int i = 0; i < 192; i++) {
         calendar.add(Calendar.HOUR, -1);
         String time = format.format(calendar.getTime());
         String filePath = csvFilePathConfig.getVocPath() + File.separator + time + ".csv";
         File file = new File(filePath);
         if (!file.exists()) {
            logger.error(file.getAbsolutePath() + " is not exist !");
            continue;
         }
      }
      warningAnalyseService.warningOperationStorage(date);*/
   }
      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHH");
      Calendar calendar = Calendar.getInstance();
      calendar.setTime(new Date());
      calendar.add(Calendar.HOUR, 1);
      // 测试 -> 2023-04-23 19:00
      //calendar.set(Calendar.MONTH, 3);
      //calendar.set(Calendar.DAY_OF_MONTH, 23);
      //calendar.set(Calendar.HOUR_OF_DAY, 20);
   private void loadCsv() {
      Calendar calendar = getCalendar(1);
      for (int i = 0; i < 25; i++) {
         calendar.add(Calendar.HOUR, -1);
         String time = dateFormat.format(calendar.getTime());
         String time = format.format(calendar.getTime());
         String filePath = csvFilePathConfig.getFilePath() + "\\\\" + time + ".csv";
         File file = new File(filePath);
@@ -109,4 +100,41 @@
         warningAnalyseService.warningOperationStorage(calendar.getTime());
      }
   }
   private Calendar getCalendar(int start) {
      Calendar calendar = Calendar.getInstance();
      calendar.setTime(new Date());
      calendar.add(Calendar.HOUR, start);
      // 测试 -> 2023-04-23 19:00
      //calendar.set(Calendar.MONTH, 3);
      //calendar.set(Calendar.DAY_OF_MONTH, 23);
      //calendar.set(Calendar.HOUR_OF_DAY, 20);
      return calendar;
   }
   private void loadCsv_old() {
      Date date = DateUtils.getNowDate();
      String time = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, date);
      String filePath = csvFilePathConfig.getFilePath() + "\\\\" + time + ".csv";
      File file = new File(filePath);
      if (!file.exists()) {
         logger.error(file.getAbsolutePath() + " is not exist !");
         return;
      }
      //创建表
      String newTableName = TableStrategy.getTableStrategy(time);
      suYuanService.createNewTable(newTableName);
      dictRecordService.insertDictRecord(new DictRecord(1L, newTableName, Long.parseLong(time), ""));
      EasyCsv.read(filePath, SuYuan.class, new CsvParser(suYuanService, time)).doRead();
      //计算预警/报警,并且进行入库操作
      try {
         Thread.sleep(1000 * 60 * 1);
      } catch (InterruptedException e) {
         logger.error("睡眠一分钟后执行预警/报警计算,并且进行入库操作出现异常,异常原因是:", e);
         e.printStackTrace();
      }
      warningAnalyseService.warningOperationStorage(date);
   }
}