From 99042da077ad98e38340f96cb03ffcf4d249ab87 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 01 十一月 2024 13:49:21 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/config/ScheduleConfig.java | 1 - src/main/resources/application-scheduled.yml | 2 +- src/main/java/com/yssh/entity/DistanceSuYuan.java | 21 +++++++++++++++++++-- src/main/java/com/yssh/service/SuYuanService.java | 26 ++++++++++++++++++++++---- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/yssh/config/ScheduleConfig.java b/src/main/java/com/yssh/config/ScheduleConfig.java index db07149..d90aafb 100644 --- a/src/main/java/com/yssh/config/ScheduleConfig.java +++ b/src/main/java/com/yssh/config/ScheduleConfig.java @@ -85,7 +85,6 @@ try { calendar.add(Calendar.HOUR, 1); String time = format.format(calendar.getTime()); - System.out.println(time); String filePath = csvFilePathConfig.getFilePath() + File.separator + time + ".csv"; File file = new File(filePath); diff --git a/src/main/java/com/yssh/entity/DistanceSuYuan.java b/src/main/java/com/yssh/entity/DistanceSuYuan.java index 9d9a6bb..25c3484 100644 --- a/src/main/java/com/yssh/entity/DistanceSuYuan.java +++ b/src/main/java/com/yssh/entity/DistanceSuYuan.java @@ -11,8 +11,6 @@ import lombok.NoArgsConstructor; import lombok.ToString; -@NoArgsConstructor -@AllArgsConstructor @ToString public class DistanceSuYuan implements Serializable, Comparable<DistanceSuYuan> { private static final long serialVersionUID = -115407591473808022L; @@ -48,6 +46,25 @@ private double lat; + public DistanceSuYuan() { + } + + public DistanceSuYuan(String name, String vocsName, double vocsValue, String id, Integer x, Integer y, double u, double v, String addr, double windSpeed, double windDirection, double lon, double lat) { + this.name = name; + this.vocsName = vocsName; + this.vocsValue = vocsValue; + this.id = id; + this.x = x; + this.y = y; + this.u = u; + this.v = v; + this.addr = addr; + this.windSpeed = windSpeed; + this.windDirection = windDirection; + this.lon = lon; + this.lat = lat; + } + public String getId() { return id; } diff --git a/src/main/java/com/yssh/service/SuYuanService.java b/src/main/java/com/yssh/service/SuYuanService.java index 19675b8..0ff00b8 100644 --- a/src/main/java/com/yssh/service/SuYuanService.java +++ b/src/main/java/com/yssh/service/SuYuanService.java @@ -126,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()); @@ -145,6 +146,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); @@ -160,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()); @@ -194,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()); @@ -228,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()); diff --git a/src/main/resources/application-scheduled.yml b/src/main/resources/application-scheduled.yml index 88204dc..cb45487 100644 --- a/src/main/resources/application-scheduled.yml +++ b/src/main/resources/application-scheduled.yml @@ -1,6 +1,6 @@ csv: # 221Mb CSV鍏ュ簱鏃堕棿锛�35,720 - cron: '0/5 * * * * ?' + cron: '* 35 * * * ?' cron_max: 5200 # 112Kb CSV鍏ュ簱鏃堕棿 -- Gitblit v1.9.3