From 2f55cebbad3dea187a5f91d16ec80a9677dab699 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 13 十一月 2024 11:16:53 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/service/SuYuanService.java | 66 +++++++++++++++++++++++++++++---- 1 files changed, 58 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/yssh/service/SuYuanService.java b/src/main/java/com/yssh/service/SuYuanService.java index d6630de..e3bcddf 100644 --- a/src/main/java/com/yssh/service/SuYuanService.java +++ b/src/main/java/com/yssh/service/SuYuanService.java @@ -47,10 +47,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) { @@ -103,7 +111,7 @@ } public Map<String, Object> selectSuYuan100(String name, Date date) { - Map<String, Object> result = new HashMap<String, Object>(); + Map<String, Object> result = new HashMap<>(); MonitorPointPosition checkPoint = commonService.select3dCheckPointByName(name); if (StringUtils.isNull(checkPoint)) { return null; @@ -117,7 +125,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()); @@ -136,6 +145,20 @@ 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) { Map<String, Object> result = new HashMap<String, Object>(); MonitorPointPosition checkPoint = commonService.select3dCheckPointByName(name); @@ -151,7 +174,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()); @@ -185,7 +209,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()); @@ -205,7 +230,7 @@ } public Map<String, Object> selectSuYuan500(String name, Date date) { - Map<String, Object> result = new HashMap<String, Object>(); + Map<String, Object> result = new HashMap<>(); MonitorPointPosition checkPoint = commonService.select3dCheckPointByName(name); if (StringUtils.isNull(checkPoint)) { return null; @@ -219,7 +244,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()); @@ -263,7 +289,7 @@ 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) { @@ -319,4 +345,28 @@ return null; } + + public String selectSuYuanIdByName(String name) { + if (sites.containsKey(name)) { + return sites.get(name); + } + + MonitorPointPosition mpp = commonService.select3dCheckPointByName(name); + if (null == mpp) { + return null; + } + + String suYuanId = mpp.getId().substring(0, mpp.getId().lastIndexOf("_") + 1) + "0"; + if (!sites.containsKey(name)) { + sites.put(name, suYuanId); + } + + return suYuanId; + } + + public List<SuYuanFast> selectFastById(String id, Date date) { + String time = DateUtils.getYyyyMmDdHhMmSs(date); + + return suYuanMapper.selectFastById(id, time); + } } -- Gitblit v1.9.3