SaticScheduleTask.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. package com.gyee.generation.task;
  2. import com.gyee.common.util.DateUtils;
  3. import com.gyee.generation.service.*;
  4. import com.xxl.job.core.context.XxlJobHelper;
  5. import com.xxl.job.core.handler.annotation.XxlJob;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.stereotype.Component;
  9. import javax.annotation.Resource;
  10. /**
  11. * @ClassName : SaticScheduleTask
  12. * @Description : 调度
  13. */
  14. @Component
  15. public class SaticScheduleTask {
  16. private static Logger logger = LoggerFactory.getLogger(SaticScheduleTask.class);
  17. @Resource
  18. private GenerationService generationService;
  19. @Resource
  20. private StatusService statusService;
  21. @Resource
  22. private AverageAndGeneratingService averageAndGeneratingService;
  23. @Resource
  24. private RealtimeSpeedPowerService realtimeSpeedPowerService;
  25. @Resource
  26. private TheorypowerService theorypowerService;
  27. @Resource
  28. private FiveLossesService fiveLossesService;
  29. @Resource
  30. private SafetyService safetyService;
  31. //3.添加定时任务
  32. /**
  33. * 电计量实时计算计算(电量,上网,购网,场用)
  34. * 每15分钟执行一次
  35. */
  36. @XxlJob("electricityMetering7001-realtime")
  37. public void electricityMetering() {
  38. XxlJobHelper.log("电计量实时调度程序执行开始!........");
  39. try {
  40. generationService.saveGenerationDatas();
  41. } catch (Exception e) {
  42. e.printStackTrace();
  43. }
  44. XxlJobHelper.log("电计量实时调度任务处理完成!........");
  45. }
  46. /**
  47. * 存储meterpointvalue
  48. * 每10分钟执行一次
  49. */
  50. @XxlJob("electricityMetering7001-history1")
  51. public void history1() {
  52. XxlJobHelper.log("电计量历史1调度程序执行开始!........");
  53. String date = DateUtils.toDate1(DateUtils.getCurrentDate());
  54. try {
  55. generationService.saveMeterpointValueRealtime(date,date);
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. }
  59. XxlJobHelper.log("电计量历史1调度任务处理完成!........");
  60. }
  61. /**
  62. * 存储meterpointvalue(处理每天最后一个值,保证是第二天0点值)
  63. * 每天0:30执行
  64. */
  65. @XxlJob("electricityMetering7001-history2")
  66. public void history2() {
  67. XxlJobHelper.log("电计量历史2调度程序执行开始!........");
  68. String yesterdayStr = DateUtils.getYesterdayStr("yyyy-MM-dd");
  69. try {
  70. generationService.saveMeterpointValueRealtime(yesterdayStr,yesterdayStr);
  71. } catch (Exception e) {
  72. e.printStackTrace();
  73. }
  74. XxlJobHelper.log("电计量历史2调度任务处理完成!........");
  75. }
  76. /**
  77. * 实时状态计算
  78. * 只执行一次(死循环)
  79. * 2s
  80. */
  81. @XxlJob("status7001-realtime")
  82. public void status() throws Exception {
  83. while(true){
  84. XxlJobHelper.log("实时状态调度程序执行开始!........");
  85. statusService.calculateStatus();
  86. statusService.calculateStatusNumber();
  87. XxlJobHelper.log("实时状态调度程序执行完成!........");
  88. }
  89. }
  90. /**
  91. * 平均风速,平均功率,scada发电量计算
  92. * 每10分钟一次
  93. */
  94. @XxlJob("averageandGenerating7001-realtime")
  95. public void averageandGenerating() throws Exception {
  96. XxlJobHelper.log("平均风速,功率,scada发电量调度程序执行开始!........");
  97. averageAndGeneratingService.saveAvespeedAndAvepowerAndScada();
  98. XxlJobHelper.log("平均风速,功率,scada发电量调度程序执行完成!........");
  99. }
  100. /**
  101. * 实时风速功率
  102. * 只执行一次(死循环)
  103. * 2s
  104. */
  105. @XxlJob("speedAndPower7001-realtime")
  106. public void speedAndPower() throws Exception {
  107. while (true){
  108. XxlJobHelper.log("实时风速,实时功率调度程序执行开始!........");
  109. realtimeSpeedPowerService.calculateRealtimeSpeedPower();
  110. XxlJobHelper.log("实时风速,实时功率调度程序执行完成!........");
  111. }
  112. }
  113. /**
  114. * 拟合功率曲线,存储到数据库中
  115. * 一个月执行一次
  116. * @throws Exception
  117. */
  118. @XxlJob("fittingpower7001-realtime")
  119. public void fittingpower() throws Exception {
  120. XxlJobHelper.log("拟合功率曲线调度程序执行开始!........");
  121. theorypowerService.fittingPower();
  122. XxlJobHelper.log("拟合功率曲线调度程序执行完成!........");
  123. }
  124. /**
  125. * 计算理论功率,保证功率
  126. * 死循环
  127. * 10min
  128. * @throws Exception
  129. */
  130. @XxlJob("theropower7001-realtime")
  131. public void theropower() throws Exception {
  132. while (true){
  133. XxlJobHelper.log("理论保证功率调度程序执行开始!........");
  134. theorypowerService.theropower();
  135. XxlJobHelper.log("理论保证功率调度程序执行完成!........");
  136. }
  137. }
  138. /**
  139. * 计算损失电量
  140. * 1小时一次(*:20)
  141. * 30min
  142. * @throws Exception
  143. */
  144. @XxlJob("losses7001-realtime")
  145. public void losses() throws Exception {
  146. XxlJobHelper.log("损失电量调度程序执行开始!........");
  147. fiveLossesService.lossesReal();
  148. XxlJobHelper.log("损失电量调度程序执行完成!........");
  149. }
  150. /**
  151. * 安全天数
  152. * 每日0点
  153. * @throws Exception
  154. */
  155. @XxlJob("safe7001-realtime")
  156. public void safety() throws Exception {
  157. XxlJobHelper.log("安全天数调度程序执行开始!........");
  158. safetyService.safetyReatimel();
  159. XxlJobHelper.log("安全天数调度程序执行完成!........");
  160. }
  161. /**
  162. * 保存shutdownevent
  163. * 2分钟执行一次
  164. */
  165. @XxlJob("shutdownevent7001-realtime")
  166. public void shutdownevent(){
  167. XxlJobHelper.log("故障事件调度程序执行开始!........");
  168. fiveLossesService.saveShutdownevent();
  169. XxlJobHelper.log("故障事件调度程序执行完成!........");
  170. }
  171. /**
  172. * 判断整场通讯
  173. * 2分钟执行一次
  174. */
  175. @XxlJob("wpstatus7001-realtime")
  176. public void wpstatus(){
  177. XxlJobHelper.log("整场通讯程序执行开始!........");
  178. statusService.calWpStatus();
  179. XxlJobHelper.log("整场通讯调度程序执行完成!........");
  180. }
  181. }