NewTests.java 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  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.StationInfoDay;
  12. import com.ruoyi.ucp.entity.StationInfoMin;
  13. import com.ruoyi.ucp.entity.TurbineInfoDay;
  14. import com.ruoyi.ucp.service.IStationInfoDayService;
  15. import com.ruoyi.ucp.service.IStationInfoMinService;
  16. import com.ruoyi.ucp.util.DatePart;
  17. import com.ruoyi.ucp.util.SqlUtil;
  18. import com.ruoyi.web.controller.JavaFunctionJobHandler;
  19. import org.apache.ibatis.reflection.property.PropertyNamer;
  20. import org.junit.Test;
  21. import org.junit.runner.RunWith;
  22. import org.springframework.boot.test.context.SpringBootTest;
  23. import org.springframework.test.context.junit4.SpringRunner;
  24. import javax.annotation.Resource;
  25. import java.util.ArrayList;
  26. import java.util.Date;
  27. import java.util.List;
  28. import java.util.Map;
  29. import java.util.stream.Collectors;
  30. @SpringBootTest//classes = RuoYiApp.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
  31. @RunWith(SpringRunner.class)
  32. public class NewTests {
  33. @Resource
  34. private JavaFunctionJobHandler task;
  35. @Resource
  36. private IStationInfoMinService stationInfoMinService;
  37. @Resource
  38. private IStationInfoDayService stationInfoDayService;
  39. public static void main(String[] args) {
  40. //QueryWrapper<TurbineInfoDay> queryWrapper = new QueryWrapper<>();
  41. //queryWrapper.lambda().select(TurbineInfoDay::getRecordDate);
  42. //System.out.println();
  43. List<Double> list = new ArrayList<>();
  44. Double o = list.get(0);
  45. System.out.println();
  46. }
  47. private static void aadd(SFunction<TurbineInfoDay, String> a) {
  48. LambdaMeta meta = LambdaUtils.extract(a);
  49. String fieldName = PropertyNamer.methodToProperty(meta.getImplMethodName());
  50. String string = a.toString();
  51. System.out.println(a);
  52. }
  53. @Test
  54. public void test() {
  55. // task.calcTurbineRFDLSameDay();
  56. // task.calcTurbine5s2SameDay();
  57. /*Map<Double, Double> a1 = CalcCache.fitcoef.get("GJNY_SXGS_FSG_F_WT_0040_EQ");
  58. Map<Double, Double> a3 = CalcCache.fitcoef.get("GJNY_SXGS_FSG_F_WT_0047_EQ");
  59. TreeMap<Double, Double> b1 = new TreeMap<>();
  60. TreeMap<Double, Double> b3 = new TreeMap<>();
  61. b1.putAll(a1);
  62. b3.putAll(a3);
  63. StrBuilder sb = new StrBuilder();
  64. for (Double v : b1.keySet()) {
  65. sb.append(v).append(",");
  66. }
  67. System.out.println(sb);
  68. StrBuilder sb2 = new StrBuilder();
  69. for (Double v : b1.values()) {
  70. sb2.append(v).append(",");
  71. }
  72. System.out.println(sb2);
  73. StrBuilder sb3 = new StrBuilder();
  74. for (Double v : b3.values()) {
  75. sb3.append(v).append(",");
  76. }
  77. System.out.println(sb3);
  78. System.out.println();*/
  79. Date date = DateUtil.parse("2024-12-04");
  80. // task.calcTurbineSsfsQx(date);
  81. // task.ambientTemperature();
  82. // task.calcTurbine5s2(date);
  83. task.calcLineRfdl(date);
  84. // task.calcStationZhcyRfDl(date,"GJNY_SXGS_XZ_FDC_STA");
  85. // task.writeReportPool(date);
  86. // task.writeReportPoolProject(date);
  87. // task.calcTurbine5s2(date);
  88. // task.calcStationSwGwCyRdl(date,"GJNY_SXGS_XZ_FDC_STA");
  89. // task.calcStationZhcyRfDl(date);
  90. // task.writeReportPool(date);
  91. // task.writeReportPoolPjfs2(date);
  92. // task.SwdlRepair(date);
  93. // task.calcLineRfdl(date);
  94. // task.calcTurbineStateMin(date);
  95. // calcStationZhcydl(date);
  96. // calcNhglZs(date);
  97. // 创建日期范围生成器
  98. // DateTime date = DateUtil.date();
  99. // task.calcTurbine5s2(date);
  100. // DateTime start = DateUtil.parse("2023-06-27");
  101. // DateTime end = DateUtil.parse("2023-09-27");
  102. // task.calcGlqxnhSurplus(start, end);
  103. // DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  104. // for (DateTime date : range) {
  105. // System.out.println(DateUtil.date().toString() + ":" + date.toString());
  106. /*task.calcLineRfdl(date);
  107. //上网购网厂用电量
  108. task.calcStationSwGwCyRdl(date);
  109. //计算综合厂用电量
  110. task.calcStationZhcyRfDl(date);*/
  111. // task.calcTurbineRFDL(date);
  112. // task.writeReportPoolPjfs2(date);
  113. //安全天数
  114. // calcAQTS(time.toJdkDate());
  115. /*task.calcLineRfdl(date,"GJNY_SXGS_ZZ_FDC_STA");
  116. task.calcStationSwGwCyRdl(date);
  117. task.calcStationZhcyRfDl(date);
  118. task.calcLineSwGWCyDl(date);
  119. task.writeReportPool(date);
  120. task.writeReportPoolProject(date);*/
  121. // task.calcLineSwGWCyDl(date,"GJNY_SXGS_XZ_FDC_STA");
  122. // task.writeReportPoolProject(date);
  123. // //计算综合厂用电量
  124. // task.calcStationZhcydl(date);
  125. //
  126. /*task.calcTurbineRFDL(date);
  127. task.calcStationRfdlFj(date);
  128. task.calcTurbine5s2(date);
  129. task.writeReportPool5SPjfsLlfdl(date);*/
  130. // task.writeReportPool(date);
  131. // int test = task.test(date, "zuozhuang.610825F02Y0AFA10GS009DQ0251DG02RAW00", 1320);
  132. // System.out.println(test);
  133. /*task.calcLineRfdlSameDay();
  134. task.calcStationSwGwCyDlSameDay();
  135. task.calcStationZhcyRfDlSameDay();
  136. task.calcLineSwGWCyDlSameDay();
  137. task.writeReportPoolSameDay();
  138. task.writeReportPoolProjectSameDay();*/
  139. // }
  140. // calcTurbineRFDL(date);
  141. // task.calcTurbine5s2(date);
  142. // writeReportPool(date);
  143. // task.calcStationSspjfs();
  144. // task.calcRealtimeTurbineZt();
  145. }
  146. @Test
  147. public void test2() {
  148. // 创建日期范围生成器
  149. DateTime start = DateUtil.parse("2024-10-02");
  150. DateTime end = DateUtil.parse("2024-11-09");
  151. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  152. for (DateTime date : range) {
  153. System.out.println(DateUtil.date() + ":" + date);
  154. // task.calcAQTS(date);
  155. // task.calcLineRfdl(date,"GJNY_SXGS_JSL_FDC_STA");
  156. // task.calcStationSwGwCyRdl(date,"GJNY_SXGS_JSL_FDC_STA");
  157. // task.calcStationZhcyRfDl(date,"GJNY_SXGS_JSL_FDC_STA");
  158. // task.calcLineSwGWCyDl(date,"GJNY_SXGS_JSL_FDC_STA");
  159. // task.writeReportPool(date);
  160. // task.writeReportPoolProject(date);
  161. // task.calcStationHourPjglRfdl(DateUtil.date());
  162. task.calcTurbine5s2(date);
  163. }
  164. // task.calcStationHourPjglRfdl(DateUtil.date());
  165. DateTime date = DateUtil.date();
  166. // task.calcStationHourPJGL(date);
  167. // task.calcLineRfdl(date);
  168. // task.calcStationHourRFDL(date);
  169. // task.calcTurbinePjfsPjglKyglLlglMin(DateUtil.date(), 15);
  170. // task.calcStationLlglKyglSjglAgcMin(date, 15);
  171. }
  172. @Test
  173. public void test3() {
  174. // 创建日期范围生成器
  175. DateTime start = DateUtil.parse("2024-01-01");
  176. DateTime end = DateUtil.parse("2024-10-01");
  177. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  178. for (DateTime date : range) {
  179. System.out.println(DateUtil.date() + ":" + date);
  180. // task.calcStationRjhfdl(date);
  181. }
  182. }
  183. @Test
  184. public void test4() {
  185. // while (true){
  186. // task.calcStationRealtimeLLgl();
  187. // ThreadUtil.sleep(60000);
  188. // }
  189. DateTime start = DateUtil.parse("2023-12-01");
  190. DateTime end = DateUtil.parse("2023-12-01");
  191. DateRange range = DateUtil.range(start, end, DateField.MONTH);
  192. List<String> stIds = new ArrayList<>();
  193. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  194. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  195. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  196. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  197. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  198. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  199. for (DateTime date : range) {
  200. // task.calcTurbineStateMin(date);
  201. task.predictExaminBc(stIds, date);
  202. }
  203. // task.calcGlqxnhSurplus(start, end);
  204. }
  205. @Test
  206. public void test5() {
  207. DateTime date = DateUtil.date();
  208. // DateTime date = DateUtil.parseDate("2023-01-01");
  209. //task.calcTurbineStateMin(date);
  210. // task.calcStationRjhfdl(date);
  211. // task.calcKhfs(date);
  212. task.calcTurbine5s2(date);
  213. //风机状态时间
  214. task.calcTurbineStateMin(date);
  215. task.writeReportPool5SPjfsLlfdlZtsj(date);
  216. //风机日切入
  217. task.cutInWindSpeed(date);
  218. //风机日额定风速
  219. task.calcGlqxnh_edfs(date);
  220. task.calcPredictExamin2(date);
  221. }
  222. @Test
  223. public void test6() {
  224. DateTime begin = DateUtil.parse("2024-12-19 20:30:00");
  225. DateTime end = DateUtil.parse("2025-01-02 14:00:00");
  226. DateTime minEnd = begin;
  227. while (minEnd.isBefore(end)) {
  228. minEnd = DateUtil.offsetMinute(begin, 15);
  229. task.calcTurbinePjfsPjglKyglLlglMin(minEnd);
  230. task.calcStationSjglAgcPjfsHjwdDlMin(minEnd);
  231. System.out.println(begin + "," + minEnd);
  232. begin = minEnd;
  233. }
  234. }
  235. @Test
  236. public void test7() {
  237. DateTime begin = DateUtil.parse("2024-01-01");
  238. DateTime end = DateUtil.parse("2024-11-05 14:30:00");
  239. int i = 1;
  240. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  241. List<String> stIds = new ArrayList<>();
  242. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  243. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  244. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  245. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  246. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  247. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  248. QueryWrapper<StationInfoMin> wrapper = new QueryWrapper<>();
  249. wrapper.lambda().between(StationInfoMin::getRecordDate, begin, end);
  250. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  251. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  252. while (minEnd.isBefore(end)) {
  253. minEnd = DateUtil.offsetMinute(begin, i * 15);
  254. // task.ycbs(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  255. System.out.println(minBegin.toString() + "," + minEnd.toString());
  256. i++;
  257. minBegin = minEnd;
  258. }
  259. }
  260. @Test
  261. public void test8() {
  262. DateTime begin = DateUtil.parse("2024-11-05 14:30:00");
  263. DateTime end = DateUtil.parse("2024-11-07 10:00:00");
  264. int i = 1;
  265. DateTime minBegin = begin, minEnd = DateUtil.offsetMinute(begin, 15);
  266. List<String> stIds = new ArrayList<>();
  267. stIds.add("GJNY_SXGS_FSG_FDC_STA");
  268. stIds.add("GJNY_SXGS_JSL_FDC_STA");
  269. stIds.add("GJNY_SXGS_CSL_FDC_STA");
  270. stIds.add("GJNY_SXGS_ZZ_FDC_STA");
  271. stIds.add("GJNY_SXGS_XZ_FDC_STA");
  272. stIds.add("GJNY_SXGS_LJS_FDC_STA");
  273. QueryWrapper<StationInfoMin> wrapper = new QueryWrapper<>();
  274. wrapper.lambda().between(StationInfoMin::getRecordDate, begin, end);
  275. List<StationInfoMin> list = stationInfoMinService.list(wrapper);
  276. Map<String, List<StationInfoMin>> collect = list.stream().collect(Collectors.groupingBy(m -> DateUtil.date(m.getRecordDate()).toString()));
  277. while (minEnd.isBefore(end)) {
  278. minEnd = DateUtil.offsetMinute(begin, i * 15);
  279. // task.ycbs2(stIds,minBegin,minEnd,collect.get(minEnd.toString()));
  280. System.out.println(minBegin.toString() + "," + minEnd.toString());
  281. i++;
  282. minBegin = minEnd;
  283. }
  284. }
  285. @Test
  286. public void test9() {
  287. //task.calcHaBbHzSs();
  288. DateTime date = DateUtil.date();
  289. //Date date = DateUtil.parse("2025-01-09");
  290. //task.calcLineRfdlSameDay_ha();
  291. //task.calcStationSwGwCyDlSameDay_ha();
  292. //task.calcStationZhcyRfDlSameDay();
  293. //task.calcLineSwGWCyDlSameDay();
  294. //task.calcTurbine5s2_ha(date);
  295. task.calcStationRfdlFj(date);
  296. task.calcHaBbHz(date);
  297. //task.calcHaBbHzSs();
  298. //task.calcHaBbHzSs(date);
  299. }
  300. @Test
  301. public void test10() {
  302. // DateTime date = DateUtil.date();
  303. // 创建日期范围生成器
  304. DateTime start = DateUtil.parse("2025-01-02");
  305. DateTime end = DateUtil.parse("2025-01-15");
  306. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  307. for (DateTime date : range) {
  308. //System.out.println(DateUtil.date() + ":" + date);
  309. //
  310. //task.calcTurbineRFDL_ha(date);
  311. //task.calcLineRfdl_ha(date);
  312. //
  313. ////上网购网厂用电量
  314. //task.calcStationSwGwCyRdl_ha(date);
  315. ////计算综合厂用电量
  316. //task.calcStationZhcyRfDl(date);
  317. ////风机日环境温度
  318. //task.ambientTemperature(date);
  319. ////计算日发电量--风机汇总方式
  320. //task.calcStationRfdlFj(date);
  321. //
  322. //task.calcLineSwGWCyDl(date);
  323. //
  324. //task.calcTurbine5s2_ha(date);
  325. ////风机状态时间
  326. //task.calcTurbineStateMin(date);
  327. ////风机日切入
  328. //task.cutInWindSpeed(date);
  329. ////风机日额定风速
  330. //task.calcGlqxnh_edfs(date);
  331. ////计算惠安报表汇总实时
  332. //task.calcStationCftfsfxQfxdl(date);
  333. //task.calcMeterDlHdl(date);
  334. //task.calcStationKqmd(date);
  335. //
  336. //task.calcStationKydlzql(date);
  337. //task.calcTurbineJfplFxYxfssBll(date);
  338. //task.calcTurbineLyxs(date);
  339. //task.calcMeterDlHdl(date);
  340. //task.calcHaBbHz(date);
  341. task.calcHaBbHzSs(date);
  342. }
  343. }
  344. @Test
  345. public void test11() {
  346. while (true) {
  347. task.calcRealtimeTurbineZt();
  348. ThreadUtil.sleep(100000);
  349. }
  350. }
  351. @Test
  352. public void test12() {
  353. DateTime end = DateUtil.beginOfDay(DateUtil.date());
  354. DateTime start = DateUtil.offsetMonth(end, -3);
  355. task.calcGlqxnh_ha(start, end);
  356. }
  357. @Test
  358. public void test13() {
  359. DateTime end = DateUtil.date();
  360. DateTime begin = DateUtil.beginOfDay(end);
  361. task.calcTurbineRFDL(begin, end);
  362. task.calcTurbineStateMin(begin, end);
  363. task.calcTurbine5s(begin, end, 0.1);
  364. task.calcTurbineLyxs(begin);
  365. task.calcStationCftfsfxQfxdl(begin, end);
  366. task.calcTurbineJfplFxYxfssBll(begin, end);
  367. }
  368. @Test
  369. public void test14() {
  370. DateTime start = DateUtil.parse("2025-01-01");
  371. DateTime end = DateUtil.parse("2025-01-14");
  372. String select4 = SqlUtil.getSelectAvg("qfxdl") + SqlUtil.getSelectSum("rfdl,rfdl_fj,kqmd,hjwd");
  373. DateRange range = DateUtil.range(start, end, DateField.DAY_OF_YEAR);
  374. for (DateTime date : range) {
  375. System.out.println(date);
  376. List<StationInfoDay> sidR = stationInfoDayService.getDatasByPartSelects(date, DatePart.DAY, select4, "station_id");
  377. //List<StationInfoDay> sidY = stationInfoDayService.getDatasByPartSelects(date, DatePart.MONTH, select4, "station_id");
  378. System.out.println(sidR.get(0).getRfdlFj());
  379. }
  380. }
  381. }