diff --git a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java b/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java index f54c4bb..7855e09 100644 --- a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java +++ b/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java @@ -2,6 +2,7 @@ package com.gunshi.project.xyt.timetask; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -34,6 +35,7 @@ import org.springframework.stereotype.Component; import java.io.IOException; import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -51,13 +53,16 @@ import java.util.stream.Collectors; @EnableScheduling//开启定时任务 @Component @Slf4j -@Profile("prod") +@Profile("dev") public class DataTaskTSG { private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private static SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); + private static SimpleDateFormat sdfEight = new SimpleDateFormat("yyyy-MM-dd 08:00:00"); + + @Value("${jcskPath}") private String jcskPath;// 荆楚水库同步地址 @@ -169,23 +174,19 @@ public class DataTaskTSG { stPptnRRealService.updatePptnRReal(rlist.get(0).getStcd()); // 整编降雨量天表数据 StPptnRD maxDataD = stPptnRDService.getMaxData(stPptnR.getStcd()); + Date tmMax = maxDataD.getTm(); + maxDataD.setTm(sdf.parse(sdfEight.format(tmMax))); List listD = stPptnRDService.reorganizePptnRDData(stPptnR.getStcd(), maxDataD); if (CollectionUtils.isNotEmpty(listD)) { - StPptnRD LastData = listD.get(0); - if (LastData.getTm().equals(maxDataD.getTm())) { - listD.remove(0); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("stcd", LastData.getStcd()).eq("tm", LastData.getTm()); - LastData.setDrp(LastData.getDrp()); - LastData.setYear(Integer.valueOf(sdfD.format(LastData.getTm()).substring(0, 4))); - stPptnRDService.saveOrUpdate(LastData, updateWrapper); - } if (listD.size() > 0) { listD = listD.stream() .map(user -> { user.setYear(Integer.valueOf(sdfD.format(user.getTm()).substring(0, 4))); // 修改属性值 return user; }).collect(Collectors.toList()); + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.eq("stcd", stcd).ge("tm", tmMax); + stPptnRDService.remove(deleteWrapper); stPptnRDService.saveBatch(listD); } } @@ -212,6 +213,8 @@ public class DataTaskTSG { } } catch (IOException e) { log.error("荆楚水库雨情定时任务失败:", e.getMessage()); + } catch (ParseException e) { + throw new RuntimeException(e); } } @@ -293,6 +296,7 @@ public class DataTaskTSG { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("stcd", stRsvrRLast.getStcd()).eq("tm", stRsvrRLast.getTm()); BeanUtils.copyProperties(stRsvrRLast, stRsvrRReal); + stRsvrRReal.setChtm(new Date()); stRsvrRRealService.saveOrUpdate(stRsvrRReal, updateWrapper); } } diff --git a/src/main/resources/mapper/StPptnRDMapper.xml b/src/main/resources/mapper/StPptnRDMapper.xml index 4561b49..015862f 100644 --- a/src/main/resources/mapper/StPptnRDMapper.xml +++ b/src/main/resources/mapper/StPptnRDMapper.xml @@ -14,7 +14,7 @@