燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-11-20 8185e5cdc2bbdf7fb4ca46a10864106893a01ed3
src/main/java/com/yssh/service/SuYuanService.java
@@ -4,6 +4,7 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import com.yssh.config.InitConfig;
import com.yssh.entity.*;
import com.yssh.mapper.*;
import com.yssh.utils.CalculateUtils;
@@ -47,12 +48,18 @@
   @Resource
   private LocationService locService;
   @Resource
   private AlertConfigMapper alertConfigMapper;
   private static HashMap<String, String> sites = new HashMap<>();
   public double getJcyj() {
      return alertConfigMapper.getAll().get(0).getJcyj();
   }
   //@Transactional
   @Async("threadPoolTaskExecutor")
   public void insertSuYuanDatasAsync(List<SuYuan> lists, String time) throws Exception {
      //插入数据
      List<List<SuYuan>> list = Lists.partition(lists, AsyncService.BATCH_INSERT_NUMBER);
      CountDownLatch countDownLatch = new CountDownLatch(list.size());
      for (List<SuYuan> corpReserveList : list) {
@@ -119,7 +126,8 @@
      }
      if (suYuanMapper.isTableExists(dictRecord.getTableName()) == 0) return null;
      List<DistanceSuYuan> list = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> source = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> list = getList(ids3d, source);
      AtomicInteger i = new AtomicInteger(0);
      list.stream().forEach(s -> {
         s.setName(checkPoint.getName());
@@ -130,12 +138,26 @@
         Collections.sort(list);
         DistanceSuYuan max = list.get(0);
         FeedbackDetail feedbackDetail = new FeedbackDetail(null, dictRecord.getTableName(),
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, DateUtils.getNowDate());
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, InitConfig.getDate());
         feedbackMapper.insert(feedbackDetail);
         result.put("feedbackId", feedbackDetail.getId());
      }
      result.put("data", list);
      return result;
   }
   private List<DistanceSuYuan> getList(List<String> ids3d, List<DistanceSuYuan> source) {
      List<DistanceSuYuan> list = new ArrayList<>();
      for (String id : ids3d) {
         DistanceSuYuan suYuan = source.stream().filter(db -> id.equals(db.getId())).findFirst().orElse(null);
         if (null == suYuan) {
            String[] strs = id.split("_");
            suYuan = new DistanceSuYuan(null, null, 0.0, id, Integer.parseInt(strs[0]), Integer.parseInt(strs[1]), 0, 0, null, 0.0, 0.0, 0.0, 0.0);
         }
         list.add(suYuan);
      }
      return list;
   }
   public Map<String, Object> selectSuYuan200(String name, Date date) {
@@ -153,7 +175,8 @@
      }
      if (suYuanMapper.isTableExists(dictRecord.getTableName()) == 0) return null;
      List<DistanceSuYuan> list = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> source = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> list = getList(ids3d, source);
      AtomicInteger i = new AtomicInteger(0);
      list.stream().forEach(s -> {
         s.setName(checkPoint.getName());
@@ -164,7 +187,7 @@
         Collections.sort(list);
         DistanceSuYuan max = list.get(0);
         FeedbackDetail feedbackDetail = new FeedbackDetail(null, dictRecord.getTableName(),
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, DateUtils.getNowDate());
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, InitConfig.getDate());
         feedbackMapper.insert(feedbackDetail);
         result.put("feedbackId", feedbackDetail.getId());
      }
@@ -187,7 +210,8 @@
      }
      if (suYuanMapper.isTableExists(dictRecord.getTableName()) == 0) return null;
      List<DistanceSuYuan> list = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> source = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> list = getList(ids3d, source);
      AtomicInteger i = new AtomicInteger(0);
      list.stream().forEach(s -> {
         s.setName(checkPoint.getName());
@@ -198,7 +222,7 @@
         Collections.sort(list);
         DistanceSuYuan max = list.get(0);
         FeedbackDetail feedbackDetail = new FeedbackDetail(null, dictRecord.getTableName(),
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, DateUtils.getNowDate());
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, InitConfig.getDate());
         feedbackMapper.insert(feedbackDetail);
         result.put("feedbackId", feedbackDetail.getId());
      }
@@ -221,7 +245,8 @@
      }
      if (suYuanMapper.isTableExists(dictRecord.getTableName()) == 0) return null;
      List<DistanceSuYuan> list = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> source = suYuanMapper.getDistanceSuYuan(dictRecord.getTableName(), ids3d);
      List<DistanceSuYuan> list = getList(ids3d, source);
      AtomicInteger i = new AtomicInteger(0);
      list.stream().forEach(s -> {
         s.setName(checkPoint.getName());
@@ -232,7 +257,7 @@
         Collections.sort(list);
         DistanceSuYuan max = list.get(0);
         FeedbackDetail feedbackDetail = new FeedbackDetail(null, dictRecord.getTableName(),
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, DateUtils.getNowDate());
               max.getName(), max.getId(), max.getVocsName(), max.getVocsValue(), null, null, null, InitConfig.getDate());
         feedbackMapper.insert(feedbackDetail);
         result.put("feedbackId", feedbackDetail.getId());
      }
@@ -265,11 +290,11 @@
      calendar.add(Calendar.DATE, -7);
      String start = DateUtils.getYyyyMmDdHh(calendar.getTime());
      return suYuanMapper.getNewMonitorData(checkPoint.getName(), start, end);
      return qxshMapper.getNewMonitorData(checkPoint.getName(), start, end);
   }
   public int updateVocsName(Date date, String id, String vocsName) {
      String table = "su_yuan_" + DateUtils.getYyyyMmDdHh(date); // new Date()
      String table = "su_yuan_" + DateUtils.getYyyyMmDdHh(date);
      if (isTableExists(table) == 0) {
         return 0;
      }
@@ -339,4 +364,10 @@
      return suYuanId;
   }
   public List<SuYuanFast> selectFastById(String id, Date date) {
      String time = DateUtils.getYyyyMmDdHhMmSs(date);
      return suYuanMapper.selectFastById(id, time);
   }
}