Test.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.ruoyi;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import cn.hutool.core.util.NumberUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.ruoyi.ucp.entity.*;
  7. import com.ruoyi.ucp.service.ITurbineInfoDayService;
  8. import com.ruoyi.ucp.util.CalcCache;
  9. import org.junit.runner.RunWith;
  10. import org.springframework.boot.test.context.SpringBootTest;
  11. import org.springframework.test.context.junit4.SpringRunner;
  12. import javax.annotation.Resource;
  13. import java.util.*;
  14. import java.util.concurrent.ConcurrentHashMap;
  15. import java.util.concurrent.atomic.AtomicReference;
  16. import java.util.function.Function;
  17. import java.util.stream.Collectors;
  18. /**
  19. * Author: malijun
  20. * Data : 2024: 07: 03
  21. **/
  22. @SpringBootTest
  23. @RunWith(SpringRunner.class)
  24. public class Test {
  25. @Resource
  26. private JavaFunctionJobHandler javaFunctionJobHandler;
  27. @Resource
  28. private ITurbineInfoDayService turbineInfoDayService;
  29. @org.junit.Test
  30. public void test() {
  31. javaFunctionJobHandler.cutInWindSpeed();
  32. javaFunctionJobHandler.calcGlqxnh_edfs();
  33. }
  34. //平均温度
  35. @org.junit.Test
  36. public void cutInWindSpeed() {
  37. //date当天零点
  38. DateTime timeNow = DateUtil.beginOfDay(new Date());
  39. //date昨天零点
  40. DateTime timeBegin = DateUtil.offsetDay(timeNow, -1);
  41. //所有风机的温度
  42. QueryWrapper<PointInfo> queryWrapper = new QueryWrapper<>();
  43. queryWrapper.eq("uniform_code", "AI072");
  44. List<PointInfo> pointInfos = javaFunctionJobHandler.getEntity("AI072", "turbine");
  45. //遍历pointInfos
  46. for (PointInfo turbine : pointInfos) {
  47. //取出pointData
  48. List<PointData> pointDatas = turbine.getPointDatas();
  49. //遍历pointDatas,取出数据算平均值
  50. double avgCutInWindSpeed = 0;
  51. for (PointData pointData : pointDatas) {
  52. avgCutInWindSpeed += pointData.getValue();
  53. }
  54. avgCutInWindSpeed /= pointDatas.size();
  55. //存入数据库
  56. String turbineId = turbine.getTurbineId();
  57. Date jdkDate = timeBegin.toJdkDate();
  58. System.out.println(turbineId + " " + jdkDate);
  59. QueryWrapper<TurbineInfoDay> turbineInfoDayQueryWrapper = new QueryWrapper<>();
  60. turbineInfoDayQueryWrapper.eq("turbine_id", turbine.getTurbineId());
  61. turbineInfoDayQueryWrapper.eq("record_date", timeBegin.toJdkDate());
  62. TurbineInfoDay one = turbineInfoDayService.getOne(turbineInfoDayQueryWrapper);
  63. System.out.println(one);
  64. if (one == null) {
  65. TurbineInfoDay turbineInfoDay = new TurbineInfoDay();
  66. turbineInfoDay.setTurbineId(turbine.getTurbineId());
  67. turbineInfoDay.setRecordDate(timeBegin.toJdkDate());
  68. turbineInfoDay.setHjwd(avgCutInWindSpeed);
  69. System.out.println(turbineInfoDay);
  70. // turbineInfoDayService.save(turbineInfoDay);
  71. } else {
  72. one.setHjwd(avgCutInWindSpeed);
  73. System.out.println(one);
  74. // turbineInfoDayService.updateById(one);
  75. }
  76. }
  77. }
  78. }
  79. }