From 453e3471e94b91169beec1e258a06a132d927011 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 02 十二月 2024 15:01:50 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/service/SuYuanService.java | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/yssh/service/SuYuanService.java b/src/main/java/com/yssh/service/SuYuanService.java index 8ddd0e5..7d05b5f 100644 --- a/src/main/java/com/yssh/service/SuYuanService.java +++ b/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); + } } -- Gitblit v1.9.3