NewTests.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. package com.ruoyi;
  2. import cn.hutool.core.date.DateField;
  3. import cn.hutool.core.date.DateRange;
  4. import cn.hutool.core.date.DateTime;
  5. import cn.hutool.core.date.DateUtil;
  6. import cn.hutool.core.text.StrBuilder;
  7. import cn.hutool.core.thread.ThreadUtil;
  8. import cn.hutool.core.util.NumberUtil;
  9. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  10. import com.ruoyi.ucp.entity.*;
  11. import com.ruoyi.ucp.feign.AdapterApi;
  12. import com.ruoyi.ucp.service.*;
  13. import com.ruoyi.ucp.util.CalcCache;
  14. import com.ruoyi.web.controller.JavaFunctionJobHandler;
  15. import org.junit.Test;
  16. import org.junit.runner.RunWith;
  17. import org.springframework.boot.test.context.SpringBootTest;
  18. import org.springframework.data.redis.core.RedisTemplate;
  19. import org.springframework.test.context.junit4.SpringRunner;
  20. import javax.annotation.Resource;
  21. import java.net.URI;
  22. import java.util.*;
  23. import java.util.concurrent.ConcurrentHashMap;
  24. import java.util.function.Function;
  25. import java.util.stream.Collectors;
  26. @SpringBootTest//classes = RuoYiApp.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
  27. @RunWith(SpringRunner.class)
  28. public class NewTests {
  29. @Resource
  30. private JavaFunctionJobHandler task;
  31. @Resource
  32. private IStationInfoMinService stationInfoMinService;
  33. @Test
  34. public void test() {
  35. // task.calcTurbineRFDLSameDay();
  36. // task.calcTurbine5s2SameDay();
  37. /*Map<Double, Double> a1 = CalcCache.fitcoef.get("GJNY_SXGS_FSG_F_WT_0040_EQ");
  38. Map<Double, Double> a3 = CalcCache.fitcoef.get("GJNY_SXGS_FSG_F_WT_0047_EQ");
  39. TreeMap<Double, Double> b1 = new TreeMap<>();
  40. TreeMap<Double, Double> b3 = new TreeMap<>();
  41. b1.putAll(a1);
  42. b3.putAll(a3);
  43. StrBuilder sb = new StrBuilder();
  44. for (Double v : b1.keySet()) {
  45. sb.append(v).append(",");
  46. }
  47. System.out.println(sb);
  48. StrBuilder sb2 = new StrBuilder();
  49. for (Double v : b1.values()) {
  50. sb2.append(v).append(",");
  51. }
  52. System.out.println(sb2);
  53. StrBuilder sb3 = new StrBuilder();
  54. for (Double v : b3.values()) {
  55. sb3.append(v).append(",");
  56. }
  57. System.out.println(sb3);
  58. System.out.println();*/
  59. Date date = DateUtil.parse("2024-10-10");
  60. // task.calcTurbineSsfsQx(date);
  61. // task.ambientTemperature();
  62. // task.calcTurbine5s2(date);
  63. // task.calcLineRfdl(date);
  64. // task.calcStationZhcyRfDl(date,"GJNY_SXGS_XZ_FDC_STA");
  65. // task.writeReportPool(date);
  66. // task.writeReportPoolProject(date);
  67. // task.calcTurbine5s2(date);
  68. // task.calcStationSwGwCyRdl(date,"GJNY_SXGS_XZ_FDC_STA");
  69. // task.calcStationZhcyRfDl(date);
  70. // task.writeReportPool(date);
  71. // task.writeReportPoolPjfs2(date);
  72. // task.SwdlRepair(date);
  73. // task.calcLineRfdl(date);
  74. // task.calcTurbineStateMin(date);
  75. // calcStationZhcydl(date);
  76. // calcNhglZs(date);
  77. // 创建日期范围生成器
  78. // DateTime date = DateUtil.date();
  79. // task.calcTurbine5s2(date);
  80. // DateTime start = DateUtil.parse("2023-06-27");
  81. // DateTime end = DateUtil.parse("2023-09-27");
  82. // task.calcGlqxnhSurplus(start, end);
  83. // DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  84. // for (DateTime date : range) {
  85. // System.out.println(DateUtil.date().toString() + ":" + date.toString());
  86. /*task.calcLineRfdl(date);
  87. //上网购网厂用电量
  88. task.calcStationSwGwCyRdl(date);
  89. //计算综合厂用电量
  90. task.calcStationZhcyRfDl(date);*/
  91. // task.calcTurbineRFDL(date);
  92. // task.writeReportPoolPjfs2(date);
  93. //安全天数
  94. // calcAQTS(time.toJdkDate());
  95. /*task.calcLineRfdl(date,"GJNY_SXGS_ZZ_FDC_STA");
  96. task.calcStationSwGwCyRdl(date);
  97. task.calcStationZhcyRfDl(date);
  98. task.calcLineSwGWCyDl(date);
  99. task.writeReportPool(date);
  100. task.writeReportPoolProject(date);*/
  101. // task.calcLineSwGWCyDl(date,"GJNY_SXGS_XZ_FDC_STA");
  102. // task.writeReportPoolProject(date);
  103. // //计算综合厂用电量
  104. // task.calcStationZhcydl(date);
  105. //
  106. /*task.calcTurbineRFDL(date);
  107. task.calcStationRfdlFj(date);
  108. task.calcTurbine5s2(date);
  109. task.writeReportPool5SPjfsLlfdl(date);*/
  110. // task.writeReportPool(date);
  111. // int test = task.test(date, "zuozhuang.610825F02Y0AFA10GS009DQ0251DG02RAW00", 1320);
  112. // System.out.println(test);
  113. /*task.calcLineRfdlSameDay();
  114. task.calcStationSwGwCyDlSameDay();
  115. task.calcStationZhcyRfDlSameDay();
  116. task.calcLineSwGWCyDlSameDay();
  117. task.writeReportPoolSameDay();
  118. task.writeReportPoolProjectSameDay();*/
  119. // }
  120. // calcTurbineRFDL(date);
  121. // task.calcTurbine5s2(date);
  122. // writeReportPool(date);
  123. // task.calcStationSspjfs();
  124. /*while (true) {
  125. task.calcRealtimeTurbineZt();
  126. ThreadUtil.sleep(1000);
  127. }*/
  128. // task.calcRealtimeTurbineZt();
  129. }
  130. @Test
  131. public void test2() {
  132. // 创建日期范围生成器
  133. DateTime start = DateUtil.parse("2024-10-02");
  134. DateTime end = DateUtil.parse("2024-11-09");
  135. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  136. for (DateTime date : range) {
  137. System.out.println(DateUtil.date() + ":" + date);
  138. // task.calcAQTS(date);
  139. // task.calcLineRfdl(date,"GJNY_SXGS_JSL_FDC_STA");
  140. // task.calcStationSwGwCyRdl(date,"GJNY_SXGS_JSL_FDC_STA");
  141. // task.calcStationZhcyRfDl(date,"GJNY_SXGS_JSL_FDC_STA");
  142. // task.calcLineSwGWCyDl(date,"GJNY_SXGS_JSL_FDC_STA");
  143. // task.writeReportPool(date);
  144. // task.writeReportPoolProject(date);
  145. // task.calcStationHourPjglRfdl(DateUtil.date());
  146. task.calcTurbine5s2(date);
  147. }
  148. // task.calcStationHourPjglRfdl(DateUtil.date());
  149. DateTime date = DateUtil.date();
  150. // task.calcStationHourPJGL(date);
  151. // task.calcLineRfdl(date);
  152. // task.calcStationHourRFDL(date);
  153. // task.calcTurbinePjfsPjglKyglLlglMin(DateUtil.date(), 15);
  154. // task.calcStationLlglKyglSjglAgcMin(date, 15);
  155. }
  156. @Test
  157. public void test3() {
  158. // 创建日期范围生成器
  159. DateTime start = DateUtil.parse("2024-01-01");
  160. DateTime end = DateUtil.parse("2024-10-01");
  161. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  162. for (DateTime date : range) {
  163. System.out.println(DateUtil.date() + ":" + date);
  164. // task.calcStationRjhfdl(date);
  165. }
  166. }
  167. @Test
  168. public void test4() {
  169. // while (true){
  170. // task.calcStationRealtimeLLgl();
  171. // ThreadUtil.sleep(60000);
  172. // }
  173. DateTime start = DateUtil.parse("2023-12-01");
  174. DateTime end = DateUtil.parse("2023-12-01");
  175. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  176. List<String> stIds = new ArrayList<>();
  177. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  178. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  179. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  180. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  181. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  182. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  183. for (DateTime date : range) {
  184. // task.calcTurbineStateMin(date);
  185. task.predictExaminBc(stIds,date);
  186. }
  187. // task.calcGlqxnhSurplus(start, end);
  188. }
  189. @Test
  190. public void test5() {
  191. DateTime date = DateUtil.date();
  192. task.calcTurbineStateMin(date);
  193. }
  194. @Test
  195. public void test6() {
  196. DateTime begin = DateUtil.parse("2024-11-07 22:30:00");
  197. DateTime end = DateUtil.parse("2024-11-07 22:46:00");
  198. // DateTime date = DateUtil.date();
  199. // DateTime begin = DateUtil.beginOfDay(date);
  200. // begin = DateUtil.offsetMinute(begin, 15);
  201. // DateTime end = date;
  202. int i = 1;
  203. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  204. while (minEnd.isBefore(end)) {
  205. minEnd = DateUtil.offsetMinute(begin, i * 15);
  206. task.calcStationLlglKyglSjglAgcMin(minBegin, 15);
  207. // task.calcStationSjglAgcPjfsHjwdDlMin(minEnd);
  208. System.out.println(minBegin.toString() + "," + minEnd.toString());
  209. i++;
  210. minBegin = minEnd;
  211. }
  212. }
  213. @Test
  214. public void test7() {
  215. DateTime begin = DateUtil.parse("2024-01-01");
  216. DateTime end = DateUtil.parse("2024-11-05 14:30:00");
  217. int i = 1;
  218. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  219. List<String> stIds = new ArrayList<>();
  220. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  221. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  222. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  223. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  224. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  225. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  226. QueryWrapper<StationInfoMin> wrapper=new QueryWrapper<>();
  227. wrapper.lambda().between(StationInfoMin::getRecordDate,begin,end);
  228. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  229. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  230. while (minEnd.isBefore(end)) {
  231. minEnd = DateUtil.offsetMinute(begin, i * 15);
  232. // task.ycbs(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  233. System.out.println(minBegin.toString() + "," + minEnd.toString());
  234. i++;
  235. minBegin = minEnd;
  236. }
  237. }
  238. @Test
  239. public void test8() {
  240. DateTime begin = DateUtil.parse("2024-11-05 14:30:00");
  241. DateTime end = DateUtil.parse("2024-11-07 10:00:00");
  242. int i = 1;
  243. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  244. List<String> stIds = new ArrayList<>();
  245. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  246. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  247. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  248. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  249. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  250. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  251. QueryWrapper<StationInfoMin> wrapper=new QueryWrapper<>();
  252. wrapper.lambda().between(StationInfoMin::getRecordDate,begin,end);
  253. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  254. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  255. while (minEnd.isBefore(end)) {
  256. minEnd = DateUtil.offsetMinute(begin, i * 15);
  257. // task.ycbs2(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  258. System.out.println(minBegin.toString() + "," + minEnd.toString());
  259. i++;
  260. minBegin = minEnd;
  261. }
  262. }
  263. }