|
@@ -649,20 +649,30 @@ public class RyTask
|
|
|
/**
|
|
|
* 定时从sqlserver获取数据
|
|
|
*/
|
|
|
- public void sqlserverData(){
|
|
|
+ public void sqlserverData() {
|
|
|
log.info("进入了定时同步SqlServer的任务");
|
|
|
//主库获取上次最新的同步日期
|
|
|
String lastTime = this.xinyiRobotMapper.selectLastTime();
|
|
|
log.info("上次同步的日期是{}", lastTime);
|
|
|
//从
|
|
|
- DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.SLAVE.name());
|
|
|
+ /*DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.SLAVE.name());
|
|
|
List<TXinyiRobot> tXinyiRobots = xinyiRobotMapper.selectTXinyiRobotListByTime(lastTime);
|
|
|
- DynamicDataSourceContextHolder.clearDataSourceType();
|
|
|
- log.info("查询到此次需要同步的数据为{}", JSON.toJSONString(tXinyiRobots));
|
|
|
+ DynamicDataSourceContextHolder.clearDataSourceType();*/
|
|
|
+ //2025年02月14日16:28:40 项目不再配置多数据源,采用服务调用方式,后期考虑用nacos做服务间通讯
|
|
|
+ String result;
|
|
|
+ List<TXinyiRobot> tXinyiRobots;
|
|
|
+ try {
|
|
|
+ result = HttpUtil.get(HTTP_GET_URL_ROBOT_DATA + lastTime, HTTP_GET_TIME_OUT_MILLION_SECONDS);
|
|
|
+ tXinyiRobots = JSON.parseArray(result, TXinyiRobot.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("调用获取化验室数据接口异常,异常信息为{}", e.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("查询到此次需要同步的数据为{}", result);
|
|
|
// System.out.println("-------------");
|
|
|
//主
|
|
|
List<TXinyiRobot> needHandleList = new ArrayList<>();
|
|
|
- if(!CollectionUtils.isEmpty(tXinyiRobots)){
|
|
|
+ if (!CollectionUtils.isEmpty(tXinyiRobots)) {
|
|
|
for (TXinyiRobot tXinyiRobot : tXinyiRobots) {
|
|
|
String date = handleDate(tXinyiRobot.getVDate().replaceAll(" ", ""));//有空格
|
|
|
String time = handleDate(tXinyiRobot.getVTime().replaceAll(" ", ""));//有空格
|
|
@@ -697,26 +707,25 @@ public class RyTask
|
|
|
// this.xinyiRobotMapper.insertTXinyiRobot(tXinyiRobot);
|
|
|
}
|
|
|
}
|
|
|
- if(!CollectionUtils.isEmpty(needHandleList)){
|
|
|
+ if (!CollectionUtils.isEmpty(needHandleList)) {
|
|
|
List<TXinyiRobot> uniqueList = needHandleList.stream()
|
|
|
.collect(Collectors.collectingAndThen(
|
|
|
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TXinyiRobot::getTestHour))),
|
|
|
ArrayList::new
|
|
|
));
|
|
|
- if(!CollectionUtils.isEmpty(uniqueList)){
|
|
|
+ if (!CollectionUtils.isEmpty(uniqueList)) {
|
|
|
for (TXinyiRobot tXinyiRobot : uniqueList) {
|
|
|
//判断是否添加过了(小时)
|
|
|
String testHour = tXinyiRobot.getTestHour();
|
|
|
List<TXinyiRobot> tXinyiRobotList = this.xinyiRobotMapper.selectTXinyiRobotList(TXinyiRobot.builder().testHour(testHour).build());
|
|
|
- if(CollectionUtils.isEmpty(tXinyiRobotList)){
|
|
|
+ if (CollectionUtils.isEmpty(tXinyiRobotList)) {
|
|
|
this.xinyiRobotMapper.insertTXinyiRobot(tXinyiRobot);
|
|
|
//2024年6月18日10:45:20 额外计算一下预测的准确度
|
|
|
asyncTask.updateForecastComparisonByRobot(tXinyiRobot);
|
|
|
|
|
|
//2024年7月6日10:32:36 大宽表的数据处理
|
|
|
asyncTask.updateBigTableHourByRobot(tXinyiRobot);
|
|
|
- }
|
|
|
- else
|
|
|
+ } else
|
|
|
log.info("{}已经吧保存过了,无需重复保存***&&&···", testHour);
|
|
|
}
|
|
|
//2024年08月09日14:26:29 为了节省费用,测试环境关闭报警并增加手动触发报警操作
|
|
@@ -2404,7 +2413,19 @@ public class RyTask
|
|
|
|
|
|
System.out.println("2024/07/07 12".substring(0, 7));
|
|
|
|
|
|
- System.out.println(BigDecimal_0_1.multiply(null));
|
|
|
+// System.out.println(BigDecimal_0_1.multiply(null));
|
|
|
+
|
|
|
+
|
|
|
+ String result;
|
|
|
+ List<TXinyiRobot> tXinyiRobots;
|
|
|
+ try {
|
|
|
+ result = HttpUtil.get(HTTP_GET_URL_ROBOT_DATA + "2025-02-14 16:10:00", HTTP_GET_TIME_OUT_MILLION_SECONDS);
|
|
|
+ tXinyiRobots = JSON.parseArray(result, TXinyiRobot.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("调用获取化验室数据接口异常,异常信息为{}", e.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("查询到此次需要同步的数据为{}", JSON.toJSONString(tXinyiRobots));
|
|
|
|
|
|
|
|
|
}
|