PartpowerstatticsService.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. package com.gyee.failurestatistics.service;
  2. import com.gyee.common.model.PointData;
  3. import com.gyee.common.model.StringUtils;
  4. import com.gyee.failurestatistics.init.CacheContext;
  5. import com.gyee.failurestatistics.init.Constant;
  6. import com.gyee.failurestatistics.model.auto.*;
  7. import com.gyee.failurestatistics.service.auto.IPartpowerstatticsmainService;
  8. import com.gyee.failurestatistics.service.auto.IPartpowerstatticssubService;
  9. import com.gyee.failurestatistics.util.DateUtils;
  10. import com.gyee.failurestatistics.util.IRealTimeDataBaseUtil;
  11. import com.gyee.failurestatistics.util.realtimesource.EdosUtil;
  12. import org.springframework.stereotype.Service;
  13. import javax.annotation.Resource;
  14. import java.math.BigDecimal;
  15. import java.math.RoundingMode;
  16. import java.text.SimpleDateFormat;
  17. import java.util.*;
  18. /**
  19. * @ClassName : PartpowerstatticsService
  20. * @Description : 部件功率统计service
  21. */
  22. @Service
  23. public class PartpowerstatticsService {
  24. private IRealTimeDataBaseUtil ednaApiUtil = new EdosUtil();
  25. @Resource
  26. private IPartpowerstatticsmainService partpowerstatticsmainService;
  27. @Resource
  28. private IPartpowerstatticssubService partpowerstatticssubService;
  29. SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
  30. SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  31. private final int DIGIT = 2;
  32. private final long STEP = 900;
  33. private final long DAYSTEP = 96;
  34. private final double EARLYWARNPER = 1.15;
  35. private final double CRITICALPER = 1.30;
  36. private String CLXSRZYW1 = "AI038";// 齿轮箱输入轴油温1
  37. private String CLXSRZYW2 = "AI039";// 齿轮箱输入轴油温2
  38. private String CLXRKYW = "AI040";// 齿轮箱入口温度
  39. private String CLXYW = "AI041";// 齿轮箱油温
  40. private String FDJZCWDA = "AI052";// 发电机轴承温度A
  41. private String FDJZCWDB = "AI053";// 发电机轴承温度B
  42. private String FDJUXYZWD = "AI045";// 发电机U相绕组温度
  43. private String FDJVXYZWD = "AI047";// 发电机V相绕组温度
  44. private String FDJWXYZWD = "AI049";// 发电机W相绕组温度
  45. private String FDJLQFWD = "AI054";// 发电机冷却风温度
  46. private String BJDRQWD = "AI113";// 变浆电容器温度
  47. private String BJDRDY = "AI236";// 变浆电容温度
  48. private String BJDLQWD = "AI239";// 变浆电流器温度
  49. private String BJDJWD = "AI242";// 电机温度
  50. private String BJKZGWD = "AI233";// 变浆控制柜温度
  51. private String TDGWD = "AI069";// 塔底柜温度
  52. private String TDJGWD = "AI070";// 塔顶机柜温度
  53. public void deletePartpowerstatticsmain(Date recodedate) {
  54. partpowerstatticsmainService.deletePartpowerstatticsmain(recodedate);
  55. }
  56. public void savePartpowerstatticsmain() throws Exception {
  57. Calendar cal = Calendar.getInstance();
  58. // cal.set(Calendar.HOUR_OF_DAY, 0);
  59. // cal.set(Calendar.MINUTE, 0);
  60. // cal.set(Calendar.SECOND, 0);
  61. Date endDate = cal.getTime();
  62. cal.add(Calendar.DAY_OF_MONTH, -1);
  63. Date beginDate = cal.getTime();
  64. List<String> codels=new ArrayList<String>();
  65. Map<String, String> codeParentmap =new HashMap<String, String>();
  66. Map<String, String> codenamemap =new HashMap<String, String>();
  67. initialCodeValue(codels, codeParentmap, codenamemap);
  68. for (Windpowerstation wp : CacheContext.wpls) {
  69. if (wp.getId().endsWith("FDC")) {
  70. System.out.println("开始统计" + wp.getName() + "功率对应部件指标统计");
  71. List<Windturbine> wtls = CacheContext.wtsmap.get(wp.getId());
  72. for (Windturbine wt : wtls) {
  73. Map<String, Windturbinetestingpointnew> map = CacheContext.wtpAimap.get(wt.getId());
  74. Equipmentmodel model = null;
  75. if (CacheContext.mlmap.containsKey(wt.getModelid())) {
  76. model = CacheContext.mlmap.get(wt.getModelid());
  77. }
  78. if(StringUtils.notEmp(map) && !map.isEmpty())
  79. {
  80. Map<String, Double> glmap = getPartTargetValue(wt, Constant.TPOINT_WT_FJGL, endDate, beginDate, map);
  81. Map<String, Double> ztmap = getPartTargetValue(wt, Constant.FJZT, endDate, beginDate, map);
  82. Map<String, Double> cLXSRZYW1map = getPartTargetValue(wt, CLXSRZYW1, endDate, beginDate, map);
  83. Map<String, Double> cLXSRZYW2map = getPartTargetValue(wt, CLXSRZYW2, endDate, beginDate, map);
  84. Map<String, Double> cLXRKYWmap = getPartTargetValue(wt, CLXRKYW, endDate, beginDate, map);
  85. Map<String, Double> cLXYWmap = getPartTargetValue(wt, CLXYW, endDate, beginDate, map);
  86. Map<String, Double> fDJZCWDAmap = getPartTargetValue(wt, FDJZCWDA, endDate, beginDate, map);
  87. Map<String, Double> fDJZCWDBmap = getPartTargetValue(wt, FDJZCWDB, endDate, beginDate, map);
  88. Map<String, Double> fDJUXYZWDmap = getPartTargetValue(wt, FDJUXYZWD, endDate, beginDate, map);
  89. Map<String, Double> fDJVXYZWDmap = getPartTargetValue(wt, FDJVXYZWD, endDate, beginDate, map);
  90. Map<String, Double> fDJWXYZWDmap = getPartTargetValue(wt, FDJWXYZWD, endDate, beginDate, map);
  91. Map<String, Double> fDJLQFWDmap = getPartTargetValue(wt, FDJLQFWD, endDate, beginDate, map);
  92. Map<String, Double> bJDRQWDmap = getPartTargetValue(wt, BJDRQWD, endDate, beginDate, map);
  93. Map<String, Double> bJDRDYmap = getPartTargetValue(wt, BJDRDY, endDate, beginDate, map);
  94. Map<String, Double> bJDLQWDmap = getPartTargetValue(wt, BJDLQWD, endDate, beginDate, map);
  95. Map<String, Double> bJDJWDmap = getPartTargetValue(wt, BJDJWD, endDate, beginDate, map);
  96. Map<String, Double> bJKZGWDmap = getPartTargetValue(wt, BJKZGWD, endDate, beginDate, map);
  97. Map<String, Double> tDGWDmap = getPartTargetValue(wt, TDGWD, endDate, beginDate, map);
  98. Map<String, Double> tDJGWDmap = getPartTargetValue(wt, TDJGWD, endDate, beginDate, map);
  99. // Map<功率,Map<统一编码,List<指标结果集合>>>
  100. Map<String, Map<String, List<Double>>> totalmap = new HashMap<String, Map<String, List<Double>>>();
  101. if (!glmap.isEmpty() && null != model) {
  102. int step = 0;
  103. if (model.getPowerproduction() == 1500.0) {
  104. step = 150;
  105. } else if (model.getPowerproduction() == 2000.0) {
  106. step = 200;
  107. }
  108. Set<Map.Entry<String, Double>> set = glmap.entrySet();
  109. for (Iterator<Map.Entry<String, Double>> it = set.iterator(); it.hasNext();) {
  110. Map.Entry<String, Double> entry = (Map.Entry<String, Double>) it.next();
  111. // System.out.println(entry.getKey() + "--->" +
  112. // entry.getValue());
  113. if(ztmap.containsKey(entry.getKey()))
  114. {
  115. double zt=ztmap.get(entry.getKey());
  116. if(zt==1)
  117. {
  118. if (entry.getValue() <= step) {
  119. setTotalmapValue(step, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  120. } else if (entry.getValue() <= step * 2) {
  121. setTotalmapValue(step * 2, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  122. } else if (entry.getValue() <= step * 3) {
  123. setTotalmapValue(step * 3, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  124. } else if (entry.getValue() <= step * 4) {
  125. setTotalmapValue(step * 4, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  126. } else if (entry.getValue() <= step * 5) {
  127. setTotalmapValue(step * 5, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  128. } else if (entry.getValue() <= step * 6) {
  129. setTotalmapValue(step * 6, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  130. } else if (entry.getValue() <= step * 7) {
  131. setTotalmapValue(step * 7, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  132. } else if (entry.getValue() <= step * 8) {
  133. setTotalmapValue(step * 8, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  134. } else if (entry.getValue() <= step * 9) {
  135. setTotalmapValue(step * 9, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  136. } else {
  137. setTotalmapValue(step * 10, cLXSRZYW1map, cLXSRZYW2map, cLXRKYWmap, cLXYWmap, fDJZCWDAmap, fDJZCWDBmap, fDJUXYZWDmap, fDJVXYZWDmap, fDJWXYZWDmap, fDJLQFWDmap, bJDRQWDmap, bJDRDYmap, bJDLQWDmap, bJDJWDmap, bJKZGWDmap, tDGWDmap, tDJGWDmap, totalmap, entry);
  138. }
  139. }
  140. }
  141. }
  142. Partpowerstatticsmain po = new Partpowerstatticsmain();
  143. po.setWpid(wp.getId());
  144. po.setWpname(wp.getName());
  145. po.setWtid(wt.getId());
  146. po.setWtname(wt.getName());
  147. po.setRecodedate(endDate);
  148. po.setModel(wt.getModelid());
  149. String tid= com.gyee.failurestatistics.util.StringUtils.getUUID();
  150. po.setId(tid);
  151. insertPartpowerstatticsmain(po);
  152. Set<Map.Entry<String, Map<String, List<Double>>>> set2 = totalmap.entrySet();
  153. for (Iterator<Map.Entry<String, Map<String, List<Double>>>> it = set2.iterator(); it.hasNext();) {
  154. Map.Entry<String, Map<String, List<Double>>> entry2 = (Map.Entry<String, Map<String, List<Double>>>) it.next();
  155. for(String code:codels)
  156. {
  157. Partpowerstatticssub sub = new Partpowerstatticssub();
  158. sub.setId(StringUtils.getUUID());
  159. sub.setTid(tid);
  160. StringBuilder sb=new StringBuilder();
  161. if (model.getPowerproduction() == 1500.0) {
  162. sb.append(Integer.valueOf(entry2.getKey())-150);
  163. sb.append("kw");
  164. sb.append("-");
  165. sb.append(Integer.valueOf(entry2.getKey()));
  166. sb.append("kw");
  167. sub.setPower(String.valueOf(sb));
  168. }else if (model.getPowerproduction() == 2000.0) {
  169. sb.append(Integer.valueOf(entry2.getKey())-200);
  170. sb.append("kw");
  171. sb.append("-");
  172. sb.append(Integer.valueOf(entry2.getKey()));
  173. sb.append("kw");
  174. sub.setPower(String.valueOf(sb));
  175. }
  176. //sub.setPower(Double.valueOf(entry2.getKey()));
  177. sub.setRecodedate(po.getRecodedate());
  178. Map<String, List<Double>> submap=entry2.getValue();
  179. if(codenamemap.containsKey(code))
  180. {
  181. sub.setName(codenamemap.get(code));
  182. }
  183. if(codeParentmap.containsKey(code))
  184. {
  185. sub.setPartid(codeParentmap.get(code));
  186. }
  187. if(submap.containsKey(code))
  188. {
  189. List<Double> values=submap.get(code);
  190. if(!values.isEmpty())
  191. {
  192. double sum=0;
  193. for(Double value:values)
  194. {
  195. sum=sum+value;
  196. }
  197. sub.setDatavalue(new BigDecimal(sum).divide(new BigDecimal(values.size()), DIGIT, RoundingMode.HALF_EVEN).doubleValue());
  198. sub.setEarlywarningvalue(StringUtils.round(new BigDecimal(sub.getDatavalue()).multiply(new BigDecimal(EARLYWARNPER)).doubleValue(), DIGIT));
  199. //sub.setEarlywarningvalue(new BigDecimal(sub.getDatavalue()).multiply(new BigDecimal(EARLYWARNPER)).doubleValue());
  200. //sub.setCriticalvalue(new BigDecimal(sub.getDatavalue()).multiply(new BigDecimal(CRITICALPER)).doubleValue());
  201. sub.setCriticalvalue(StringUtils.round(new BigDecimal(sub.getDatavalue()).multiply(new BigDecimal(CRITICALPER)).doubleValue(), DIGIT));
  202. }else
  203. {
  204. sub.setDatavalue(0.0);
  205. sub.setEarlywarningvalue(0.0);
  206. sub.setCriticalvalue(0.0);
  207. }
  208. }
  209. partpowerstatticssubService.insertPartpowerstatticssub(sub);
  210. }
  211. }
  212. } else {
  213. Windturbinetestingpointnew point = map.get(Constant.TPOINT_WT_FJGL);
  214. StringBuilder sb=new StringBuilder();
  215. sb.append("功率数据取值失败或不存在该风机型号!风机编号是");
  216. sb.append(wt.getId());
  217. sb.append(",功率测点是");
  218. sb.append(point.getId());
  219. System.out.println(sb);
  220. }
  221. }
  222. }
  223. System.out.println("结束统计" + wp.getName() + "功率对应部件指标统计");
  224. }
  225. }
  226. }
  227. private void initialCodeValue(List<String> codels, Map<String, String> codeParentmap, Map<String, String> codenamemap) {
  228. codels.add(CLXSRZYW1);
  229. codels.add(CLXSRZYW2);
  230. codels.add(CLXRKYW);
  231. codels.add(CLXYW);
  232. codels.add(FDJZCWDA);
  233. codels.add(FDJZCWDB);
  234. codels.add(FDJUXYZWD);
  235. codels.add(FDJVXYZWD);
  236. codels.add(FDJWXYZWD);
  237. codels.add(FDJLQFWD);
  238. codels.add(BJDRQWD);
  239. codels.add(BJDRDY);
  240. codels.add(BJDLQWD);
  241. codels.add(BJDJWD);
  242. codels.add(BJKZGWD);
  243. codels.add(TDGWD);
  244. codels.add(TDJGWD);
  245. codeParentmap.put(CLXSRZYW1, "clx");
  246. codeParentmap.put(CLXSRZYW2, "clx");
  247. codeParentmap.put(CLXRKYW, "clx");
  248. codeParentmap.put(CLXYW, "clx");
  249. codeParentmap.put(FDJZCWDA, "fdj");
  250. codeParentmap.put(FDJZCWDB, "fdj");
  251. codeParentmap.put(FDJUXYZWD, "fdj");
  252. codeParentmap.put(FDJVXYZWD, "fdj");
  253. codeParentmap.put(FDJWXYZWD, "fdj");
  254. codeParentmap.put(FDJLQFWD, "fdj");
  255. codeParentmap.put(BJDRQWD, "bj");
  256. codeParentmap.put(BJDRDY, "bj");
  257. codeParentmap.put(BJDLQWD, "bj");
  258. codeParentmap.put(BJDJWD, "bj");
  259. codeParentmap.put(BJKZGWD, "bj");
  260. codeParentmap.put(TDGWD, "zk");
  261. codeParentmap.put(TDJGWD, "zk");
  262. codenamemap.put(CLXSRZYW1, "齿轮箱输入轴油温1");
  263. codenamemap.put(CLXSRZYW2, "齿轮箱输入轴油温2");
  264. codenamemap.put(CLXRKYW, "齿轮箱入口温度");
  265. codenamemap.put(CLXYW, "齿轮箱油温");
  266. codenamemap.put(FDJZCWDA, "发电机轴承温度A");
  267. codenamemap.put(FDJZCWDB, "发电机轴承温度B");
  268. codenamemap.put(FDJUXYZWD, "发电机U相绕组温度");
  269. codenamemap.put(FDJVXYZWD, "发电机V相绕组温度");
  270. codenamemap.put(FDJWXYZWD, "发电机W相绕组温度");
  271. codenamemap.put(FDJLQFWD, "发电机冷却风温度");
  272. codenamemap.put(BJDRQWD, "变浆电容器温度");
  273. codenamemap.put(BJDRDY, "变浆电容温度");
  274. codenamemap.put(BJDLQWD, "变浆电流器温度");
  275. codenamemap.put(BJDJWD, "电机温度");
  276. codenamemap.put(BJKZGWD, "变浆控制柜温度");
  277. codenamemap.put(TDGWD, "塔底柜温度");
  278. codenamemap.put(TDJGWD, "塔顶机柜温度");
  279. }
  280. private void setTotalmapValue(int step, Map<String, Double> cLXSRZYW1map, Map<String, Double> cLXSRZYW2map, Map<String, Double> cLXRKYWmap, Map<String, Double> cLXYWmap, Map<String, Double> fDJZCWDAmap, Map<String, Double> fDJZCWDBmap, Map<String, Double> fDJUXYZWDmap, Map<String, Double> fDJVXYZWDmap, Map<String, Double> fDJWXYZWDmap, Map<String, Double> fDJLQFWDmap, Map<String, Double> bJDRQWDmap, Map<String, Double> bJDRDYmap, Map<String, Double> bJDLQWDmap, Map<String, Double> bJDJWDmap, Map<String, Double> bJKZGWDmap, Map<String, Double> tDGWDmap, Map<String, Double> tDJGWDmap, Map<String, Map<String, List<Double>>> totalmap, Map.Entry<String, Double> entry) {
  281. if (totalmap.containsKey(String.valueOf(step))) {
  282. Map<String, List<Double>> tempmap = totalmap.get(String.valueOf(step));
  283. setTeamMapValues(CLXSRZYW1, cLXSRZYW1map, entry, tempmap);
  284. setTeamMapValues(CLXSRZYW2, cLXSRZYW2map, entry, tempmap);
  285. setTeamMapValues(CLXRKYW, cLXRKYWmap, entry, tempmap);
  286. setTeamMapValues(CLXYW, cLXYWmap, entry, tempmap);
  287. setTeamMapValues(FDJZCWDA, fDJZCWDAmap, entry, tempmap);
  288. setTeamMapValues(FDJZCWDB, fDJZCWDBmap, entry, tempmap);
  289. setTeamMapValues(FDJUXYZWD, fDJUXYZWDmap, entry, tempmap);
  290. setTeamMapValues(FDJVXYZWD, fDJVXYZWDmap, entry, tempmap);
  291. setTeamMapValues(FDJWXYZWD, fDJWXYZWDmap, entry, tempmap);
  292. setTeamMapValues(FDJLQFWD, fDJLQFWDmap, entry, tempmap);
  293. setTeamMapValues(BJDRQWD, bJDRQWDmap, entry, tempmap);
  294. setTeamMapValues(BJDRDY, bJDRDYmap, entry, tempmap);
  295. setTeamMapValues(BJDLQWD, bJDLQWDmap, entry, tempmap);
  296. setTeamMapValues(BJDJWD, bJDJWDmap, entry, tempmap);
  297. setTeamMapValues(BJKZGWD, bJKZGWDmap, entry, tempmap);
  298. setTeamMapValues(TDGWD, tDGWDmap, entry, tempmap);
  299. setTeamMapValues(TDJGWD, tDJGWDmap, entry, tempmap);
  300. } else {
  301. Map<String, List<Double>> tempmap = new HashMap<String, List<Double>>();
  302. setTeamMapValues(CLXSRZYW1, cLXSRZYW1map, entry, tempmap);
  303. setTeamMapValues(CLXSRZYW2, cLXSRZYW2map, entry, tempmap);
  304. setTeamMapValues(CLXRKYW, cLXRKYWmap, entry, tempmap);
  305. setTeamMapValues(CLXYW, cLXYWmap, entry, tempmap);
  306. setTeamMapValues(FDJZCWDA, fDJZCWDAmap, entry, tempmap);
  307. setTeamMapValues(FDJZCWDB, fDJZCWDBmap, entry, tempmap);
  308. setTeamMapValues(FDJUXYZWD, fDJUXYZWDmap, entry, tempmap);
  309. setTeamMapValues(FDJVXYZWD, fDJVXYZWDmap, entry, tempmap);
  310. setTeamMapValues(FDJWXYZWD, fDJWXYZWDmap, entry, tempmap);
  311. setTeamMapValues(FDJLQFWD, fDJLQFWDmap, entry, tempmap);
  312. setTeamMapValues(BJDRQWD, bJDRQWDmap, entry, tempmap);
  313. setTeamMapValues(BJDRDY, bJDRDYmap, entry, tempmap);
  314. setTeamMapValues(BJDLQWD, bJDLQWDmap, entry, tempmap);
  315. setTeamMapValues(BJDJWD, bJDJWDmap, entry, tempmap);
  316. setTeamMapValues(BJKZGWD, bJKZGWDmap, entry, tempmap);
  317. setTeamMapValues(TDGWD, tDGWDmap, entry, tempmap);
  318. setTeamMapValues(TDJGWD, tDJGWDmap, entry, tempmap);
  319. totalmap.put(String.valueOf(step), tempmap);
  320. }
  321. }
  322. private void setTeamMapValues(String code, Map<String, Double> cLXSRZYW1map, Map.Entry<String, Double> entry, Map<String, List<Double>> tempmap) {
  323. if (tempmap.containsKey(code)) {
  324. List<Double> ls = tempmap.get(code);
  325. if (cLXSRZYW1map.containsKey(entry.getKey())) {
  326. double value = cLXSRZYW1map.get(entry.getKey());
  327. ls.add(value);
  328. tempmap.put(code, ls);
  329. }
  330. } else {
  331. if (cLXSRZYW1map.containsKey(entry.getKey())) {
  332. List<Double> ls = new ArrayList<Double>();
  333. double value = cLXSRZYW1map.get(entry.getKey());
  334. ls.add(value);
  335. tempmap.put(code, ls);
  336. }
  337. }
  338. }
  339. private Map<String, Double> getPartTargetValue(Windturbine wt, String code, Date endDate, Date beginDate, Map<String, Windturbinetestingpointnew> map) throws Exception {
  340. Map<String, Double> resultmap = new TreeMap<String, Double>();
  341. if (map.containsKey(code)) {
  342. Windturbinetestingpointnew point = map.get(code);
  343. try {
  344. List<PointData> pointls = ednaApiUtil.getHistoryDatasSnap(point, beginDate.getTime() / 1000, endDate.getTime() / 1000, DAYSTEP, STEP);
  345. if (!pointls.isEmpty()) {
  346. for (PointData pd : pointls) {
  347. Date date = DateUtils.parseLongToDate(pd.getPointTime() * 1000);
  348. resultmap.put(df2.format(date), pd.getPointValueInDouble());
  349. }
  350. }
  351. } catch (Exception e) {
  352. //System.out.println(point.getId());
  353. }
  354. }
  355. return resultmap;
  356. }
  357. public int insertPartpowerstatticsmain(Partpowerstatticsmain po) {
  358. return partpowerstatticsmainService.insertPartpowerstatticsmain(po);
  359. }
  360. }