WindturbineCurveAction.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.hcks.cmfds.action.health;
  2. import java.text.DecimalFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. import org.apache.struts2.convention.annotation.Action;
  11. import org.apache.struts2.convention.annotation.Namespace;
  12. import org.apache.struts2.convention.annotation.Result;
  13. import com.hcks.cmfds.Constant;
  14. import com.hcks.cmfds.commons.util.JsonUtils;
  15. import com.hcks.cmfds.commons.util.StringUtils;
  16. import com.hcks.cmfds.core.web.action.PaginationAction;
  17. import com.hcks.cmfds.model.Curvefittingsub;
  18. import com.hcks.cmfds.model.Windpowerstation;
  19. import com.hcks.cmfds.model.Windturbine;
  20. import com.hcks.cmfds.service.CacheContext;
  21. import com.hcks.cmfds.service.health.CurvefittingsubService;
  22. import com.hcks.cmfds.vo.QxpcVo;
  23. @Namespace("/wtcurve")
  24. @Result(name = "json", type = "json", params = { "textName", "json" })
  25. public class WindturbineCurveAction extends PaginationAction {
  26. private static final long serialVersionUID = 1L;
  27. private List<Windpowerstation> wps;
  28. private Date recodedate;
  29. private String json;
  30. private String wpId;
  31. private String wtId;
  32. private List<QxpcVo> vos;
  33. private CurvefittingsubService curvefittingsubService;
  34. private SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  35. private void inital() {
  36. wps = new ArrayList<Windpowerstation>();
  37. for (Windpowerstation station : CacheContext.wpls) {
  38. if (station.getId().endsWith("FDC")) {
  39. wps.add(station);
  40. }
  41. }
  42. if (StringUtils.empty(wpId)) {
  43. wpId = ((Windpowerstation) wps.get(0)).getId();
  44. }
  45. if (StringUtils.empty(recodedate)) {
  46. Calendar cal = Calendar.getInstance();
  47. cal.add(Calendar.DAY_OF_MONTH, -1);
  48. recodedate = cal.getTime();
  49. }
  50. vos = new ArrayList<QxpcVo>();
  51. }
  52. @Action(value = "wtcurveindex", results = { @Result(name = "success", location = "/pages/health/wtcurve.jsp") })
  53. public String wtcurveindex() {
  54. inital();
  55. return SUCCESS;
  56. }
  57. @Action(value = "wtcurvelist")
  58. public String wtcurvelist() throws Exception {
  59. inital();
  60. Calendar c = Calendar.getInstance();
  61. c.setTime(recodedate);
  62. List<Windturbine> wtls = null;
  63. if (CacheContext.wtsmap.containsKey(wpId)) {
  64. wtls = CacheContext.wtsmap.get(wpId);
  65. }
  66. if (!wtls.isEmpty()) {
  67. Map<String, List<Curvefittingsub>> cfmap1 = curvefittingsubService.findCurvefittingmapByDate(c.getTime(), 3.0, 5.0);
  68. Map<String, List<Curvefittingsub>> cfmap2 = curvefittingsubService.findCurvefittingmapByDate(c.getTime(), 5.0, 11.0);
  69. Map<String, List<Curvefittingsub>> cfmap3 = curvefittingsubService.findCurvefittingmapByDate(c.getTime(), 11.0, 25.0);
  70. for (Windturbine wt : wtls) {
  71. QxpcVo vo = new QxpcVo();
  72. vo.setWtId(wt.getId());
  73. vo.setRd(df.format(recodedate));
  74. if (cfmap1.containsKey(wt.getId())) {
  75. double qxpc1 = curvefittingsubService.getNuberValue(cfmap1, wt);
  76. vo.setQxpc1(qxpc1);
  77. } else {
  78. vo.setQxpc1(0.0);
  79. }
  80. if (cfmap2.containsKey(wt.getId())) {
  81. double qxpc2 = curvefittingsubService.getNuberValue(cfmap2, wt);
  82. vo.setQxpc2(qxpc2);
  83. } else {
  84. vo.setQxpc2(0.0);
  85. }
  86. if (cfmap3.containsKey(wt.getId())) {
  87. double qxpc3 = curvefittingsubService.getNuberValue(cfmap3, wt);
  88. vo.setQxpc3(qxpc3);
  89. } else {
  90. vo.setQxpc3(0.0);
  91. }
  92. vos.add(vo);
  93. }
  94. }
  95. if (null != vos && !vos.isEmpty()) {
  96. json = JsonUtils.wrapListForGrid(vos, getPage());
  97. } else {
  98. json = JsonUtils.wrapListForGrid(new ArrayList<QxpcVo>(), getPage());
  99. }
  100. return JSON;
  101. }
  102. public List<Windpowerstation> getWps() {
  103. return wps;
  104. }
  105. public void setWps(List<Windpowerstation> wps) {
  106. this.wps = wps;
  107. }
  108. public Date getRecodedate() {
  109. return recodedate;
  110. }
  111. public void setRecodedate(Date recodedate) {
  112. this.recodedate = recodedate;
  113. }
  114. public String getJson() {
  115. return json;
  116. }
  117. public void setJson(String json) {
  118. this.json = json;
  119. }
  120. public String getWpId() {
  121. return wpId;
  122. }
  123. public void setWpId(String wpId) {
  124. this.wpId = wpId;
  125. }
  126. public String getWtId() {
  127. return wtId;
  128. }
  129. public void setWtId(String wtId) {
  130. this.wtId = wtId;
  131. }
  132. public List<QxpcVo> getVos() {
  133. return vos;
  134. }
  135. public void setVos(List<QxpcVo> vos) {
  136. this.vos = vos;
  137. }
  138. public CurvefittingsubService getCurvefittingsubService() {
  139. return curvefittingsubService;
  140. }
  141. public void setCurvefittingsubService(
  142. CurvefittingsubService curvefittingsubService) {
  143. this.curvefittingsubService = curvefittingsubService;
  144. }
  145. }