GetDataTest.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.ruoyi;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import cn.hutool.core.text.csv.CsvUtil;
  5. import cn.hutool.core.text.csv.CsvWriter;
  6. import cn.hutool.core.util.CharsetUtil;
  7. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  8. import com.ruoyi.ucp.entity.*;
  9. import com.ruoyi.ucp.feign.AdapterApi;
  10. import com.ruoyi.ucp.service.*;
  11. import org.junit.Test;
  12. import org.junit.runner.RunWith;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import org.springframework.test.context.junit4.SpringRunner;
  15. import javax.annotation.Resource;
  16. import java.net.URI;
  17. import java.util.*;
  18. @SpringBootTest
  19. @RunWith(SpringRunner.class)
  20. public class GetDataTest {
  21. @Resource
  22. private IPointInfoService pointInfoService;
  23. @Resource
  24. private AdapterApi adapterApi;
  25. @Test
  26. public void test() {
  27. DateTime start = DateUtil.parse("2023-06-01");
  28. DateTime end = DateUtil.parse("2024-05-31");
  29. String[] names = {"AI004","AI005","AI006","AI007","AI008","AI009","AI073","AI037","AI039","AI038","AI047","AI048","AI056","AI057","AI060","DI022","AI066","AI067","AI069","AI072","AI074","DI025","DI080","AI082","AI084","AI083","AI065"};
  30. QueryWrapper<PointInfo> wrapper = new QueryWrapper<>();
  31. wrapper.lambda().eq(PointInfo::getInstitutionType, "turbine")
  32. // .eq(PointInfo::getStationId,"GJNY_SXGS_LJS_FDC_STA")
  33. .eq(PointInfo::getTurbineId,"GJNY_SXGS_LJS_F_WT_0001_EQ")
  34. .in(PointInfo::getUniformCode,names);
  35. List<PointInfo> list = pointInfoService.list(wrapper);
  36. for (PointInfo pi : list) {
  37. CsvWriter writer = null;
  38. if(pi.getPointKey().equals("INITIAL")){
  39. //指定路径和编码
  40. writer = CsvUtil.getWriter("D:/数据/"+pi.getTurbineId()+"/"+pi.getName()+"无测点"+
  41. ".csv", CharsetUtil.CHARSET_GBK);
  42. continue;
  43. }
  44. List<PointData> s = adapterApi.getHistorySnap(URI.create("http://172.16.12.103:8011/ts"), pi.getPointKey(),
  45. start.getTime(), end.getTime(), 60);
  46. //指定路径和编码
  47. writer = CsvUtil.getWriter("D:/数据/"+pi.getTurbineId()+"/"+pi.getName()+
  48. ".csv", CharsetUtil.CHARSET_GBK);
  49. //按行写出
  50. writer.write(new String[] {"时间","时间戳","对齐时间戳", "值"});
  51. long j=start.getTime();
  52. for (int i = 0; i <s.size(); i++) {
  53. String[] r = new String[4];
  54. r[0]=DateUtil.formatDateTime(new Date(j));
  55. r[1]=Long.toString(s.get(i).getTs());
  56. r[2]=Long.toString(j);
  57. r[3]=Double.toString(s.get(i).getValue());
  58. writer.write(r);
  59. j+=60*1000;
  60. }
  61. }
  62. }
  63. }