NewTests.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  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.thread.ThreadUtil;
  7. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  8. import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
  9. import com.baomidou.mybatisplus.core.toolkit.support.LambdaMeta;
  10. import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
  11. import com.ruoyi.ucp.entity.StationInfoMin;
  12. import com.ruoyi.ucp.entity.TurbineInfoDay;
  13. import com.ruoyi.ucp.service.IStationInfoMinService;
  14. import com.ruoyi.web.controller.JavaFunctionJobHandler;
  15. import org.apache.ibatis.reflection.property.PropertyNamer;
  16. import org.junit.Test;
  17. import org.junit.runner.RunWith;
  18. import org.springframework.boot.test.context.SpringBootTest;
  19. import org.springframework.test.context.junit4.SpringRunner;
  20. import javax.annotation.Resource;
  21. import java.util.ArrayList;
  22. import java.util.Date;
  23. import java.util.List;
  24. import java.util.Map;
  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-12-04");
  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. // task.calcRealtimeTurbineZt();
  125. }
  126. @Test
  127. public void test2() {
  128. // 创建日期范围生成器
  129. DateTime start = DateUtil.parse("2024-10-02");
  130. DateTime end = DateUtil.parse("2024-11-09");
  131. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  132. for (DateTime date : range) {
  133. System.out.println(DateUtil.date() + ":" + date);
  134. // task.calcAQTS(date);
  135. // task.calcLineRfdl(date,"GJNY_SXGS_JSL_FDC_STA");
  136. // task.calcStationSwGwCyRdl(date,"GJNY_SXGS_JSL_FDC_STA");
  137. // task.calcStationZhcyRfDl(date,"GJNY_SXGS_JSL_FDC_STA");
  138. // task.calcLineSwGWCyDl(date,"GJNY_SXGS_JSL_FDC_STA");
  139. // task.writeReportPool(date);
  140. // task.writeReportPoolProject(date);
  141. // task.calcStationHourPjglRfdl(DateUtil.date());
  142. task.calcTurbine5s2(date);
  143. }
  144. // task.calcStationHourPjglRfdl(DateUtil.date());
  145. DateTime date = DateUtil.date();
  146. // task.calcStationHourPJGL(date);
  147. // task.calcLineRfdl(date);
  148. // task.calcStationHourRFDL(date);
  149. // task.calcTurbinePjfsPjglKyglLlglMin(DateUtil.date(), 15);
  150. // task.calcStationLlglKyglSjglAgcMin(date, 15);
  151. }
  152. @Test
  153. public void test3() {
  154. // 创建日期范围生成器
  155. DateTime start = DateUtil.parse("2024-01-01");
  156. DateTime end = DateUtil.parse("2024-10-01");
  157. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  158. for (DateTime date : range) {
  159. System.out.println(DateUtil.date() + ":" + date);
  160. // task.calcStationRjhfdl(date);
  161. }
  162. }
  163. public static void main(String[] args) {
  164. QueryWrapper<TurbineInfoDay> queryWrapper = new QueryWrapper<>();
  165. queryWrapper.lambda().select(TurbineInfoDay::getRecordDate);
  166. System.out.println();
  167. }
  168. private static void aadd(SFunction<TurbineInfoDay,String> a) {
  169. LambdaMeta meta = LambdaUtils.extract(a);
  170. String fieldName = PropertyNamer.methodToProperty(meta.getImplMethodName());
  171. String string = a.toString();
  172. System.out.println(a);
  173. }
  174. @Test
  175. public void test4() {
  176. // while (true){
  177. // task.calcStationRealtimeLLgl();
  178. // ThreadUtil.sleep(60000);
  179. // }
  180. DateTime start = DateUtil.parse("2023-12-01");
  181. DateTime end = DateUtil.parse("2023-12-01");
  182. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  183. List<String> stIds = new ArrayList<>();
  184. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  185. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  186. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  187. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  188. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  189. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  190. for (DateTime date : range) {
  191. // task.calcTurbineStateMin(date);
  192. task.predictExaminBc(stIds, date);
  193. }
  194. // task.calcGlqxnhSurplus(start, end);
  195. }
  196. @Test
  197. public void test5() {
  198. DateTime date = DateUtil.date();
  199. // DateTime date = DateUtil.parseDate("2023-01-01");
  200. //task.calcTurbineStateMin(date);
  201. // task.calcStationRjhfdl(date);
  202. // task.calcKhfs(date);
  203. task.calcTurbine5s2(date);
  204. //风机状态时间
  205. task.calcTurbineStateMin(date);
  206. task.writeReportPool5SPjfsLlfdlZtsj(date);
  207. //风机日切入
  208. task.cutInWindSpeed(date);
  209. //风机日额定风速
  210. task.calcGlqxnh_edfs(date);
  211. task.calcPredictExamin2(date);
  212. }
  213. @Test
  214. public void test6() {
  215. DateTime begin = DateUtil.parse("2024-09-20 19:00:00");
  216. DateTime end = DateUtil.parse("2024-12-25 09:00:00");
  217. DateTime minEnd = begin;
  218. while (minEnd.isBefore(end)) {
  219. minEnd = DateUtil.offsetMinute(begin, 15);
  220. task.calcTurbinePjfsPjglKyglLlglMin(minEnd);
  221. task.calcStationSjglAgcPjfsHjwdDlMin(minEnd);
  222. System.out.println(begin + "," + minEnd);
  223. begin = minEnd;
  224. }
  225. }
  226. @Test
  227. public void test7() {
  228. DateTime begin = DateUtil.parse("2024-01-01");
  229. DateTime end = DateUtil.parse("2024-11-05 14:30:00");
  230. int i = 1;
  231. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  232. List<String> stIds = new ArrayList<>();
  233. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  234. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  235. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  236. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  237. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  238. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  239. QueryWrapper<StationInfoMin> wrapper = new QueryWrapper<>();
  240. wrapper.lambda().between(StationInfoMin::getRecordDate, begin, end);
  241. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  242. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  243. while (minEnd.isBefore(end)) {
  244. minEnd = DateUtil.offsetMinute(begin, i * 15);
  245. // task.ycbs(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  246. System.out.println(minBegin.toString() + "," + minEnd.toString());
  247. i++;
  248. minBegin = minEnd;
  249. }
  250. }
  251. @Test
  252. public void test8() {
  253. DateTime begin = DateUtil.parse("2024-11-05 14:30:00");
  254. DateTime end = DateUtil.parse("2024-11-07 10:00:00");
  255. int i = 1;
  256. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  257. List<String> stIds = new ArrayList<>();
  258. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  259. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  260. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  261. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  262. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  263. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  264. QueryWrapper<StationInfoMin> wrapper = new QueryWrapper<>();
  265. wrapper.lambda().between(StationInfoMin::getRecordDate, begin, end);
  266. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  267. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  268. while (minEnd.isBefore(end)) {
  269. minEnd = DateUtil.offsetMinute(begin, i * 15);
  270. // task.ycbs2(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  271. System.out.println(minBegin.toString() + "," + minEnd.toString());
  272. i++;
  273. minBegin = minEnd;
  274. }
  275. }
  276. @Test
  277. public void test9() {
  278. DateTime date = DateUtil.date();
  279. task.calcLineRfdlSameDay();
  280. task.calcStationSwGwCyDlSameDay();
  281. task.calcStationZhcyRfDlSameDay();
  282. task.calcLineSwGWCyDlSameDay();
  283. }
  284. @Test
  285. public void test10() {
  286. // DateTime date = DateUtil.date();
  287. // 创建日期范围生成器
  288. DateTime start = DateUtil.parse("2024-12-12");
  289. DateTime end = DateUtil.parse("2024-12-25");
  290. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  291. for (DateTime date : range) {
  292. System.out.println(DateUtil.date() + ":" + date);
  293. task.calcTurbineRFDL_ha(date);
  294. task.calcLineRfdl_ha(date);
  295. //上网购网厂用电量
  296. task.calcStationSwGwCyRdl_ha(date);
  297. //计算综合厂用电量
  298. task.calcStationZhcyRfDl(date);
  299. //风机日环境温度
  300. task.ambientTemperature();
  301. //计算日发电量--风机汇总方式
  302. task.calcStationRfdlFj(date);
  303. task.calcLineSwGWCyDl(date);
  304. task.calcTurbine5s2(date);
  305. //风机状态时间
  306. task.calcTurbineStateMin(date);
  307. //风机日切入
  308. task.cutInWindSpeed(date);
  309. //风机日额定风速
  310. task.calcGlqxnh_edfs(date);
  311. }
  312. }
  313. @Test
  314. public void test11() {
  315. while (true) {
  316. task.calcRealtimeTurbineZt();
  317. ThreadUtil.sleep(1000);
  318. }
  319. }
  320. }