SywindturbinestatusService.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.hcks.cmfds.service;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Set;
  5. import org.springframework.stereotype.Service;
  6. import com.hcks.cmfds.core.persistence.GenericJdbcDao;
  7. import com.hcks.cmfds.model.Sywindturbinestatus;
  8. import com.hcks.cmfds.util.EdosUtilold;
  9. import com.hcks.cmfds.util.IEdosUtil;
  10. @Service
  11. public class SywindturbinestatusService extends GenericJdbcDao<Sywindturbinestatus> {
  12. private IEdosUtil ednaApiUtil = new EdosUtilold();
  13. public Map<String,Object> findSystatus(){
  14. Map<String,Object> resultMap = new HashMap<String, Object>();
  15. Map<String,Sywindturbinestatus> systatusmap = CacheContext.systatusmap;
  16. Set<String> keySet = systatusmap.keySet();
  17. int bwts = 0;
  18. int gzts = 0;
  19. int whts = 0;
  20. int djts = 0;
  21. double fs = 0;
  22. double gl = 0;
  23. int count = 0;
  24. for (String wtid : keySet) {
  25. Sywindturbinestatus sywindturbinestatus = systatusmap.get(wtid);
  26. if(isOne(sywindturbinestatus.getGz())){
  27. resultMap.put(wtid+"xxfjzt", 2.0);
  28. resultMap.put(wtid+"|type",2);
  29. gzts++;
  30. }else if(isOne(sywindturbinestatus.getWh())){
  31. resultMap.put(wtid+"xxfjzt", 4.0);
  32. resultMap.put(wtid+"|type",4);
  33. whts++;
  34. }else if(isOne(sywindturbinestatus.getTj()) || isOne(sywindturbinestatus.getDj())){
  35. resultMap.put(wtid+"xxfjzt", 0.0);
  36. resultMap.put(wtid+"|type",0);
  37. djts++;
  38. }else{
  39. resultMap.put(wtid+"xxfjzt", 1.0);
  40. resultMap.put(wtid+"|type",1);
  41. bwts++;
  42. }
  43. resultMap.put("SY_FDC_YXTS", bwts);
  44. resultMap.put("SY_FDC_DJTS", djts);
  45. resultMap.put("SY_FDC_GZTJ", gzts);
  46. resultMap.put("SY_FDC_WHTS", whts);
  47. double fs2 = getFs(sywindturbinestatus.getFs());
  48. if (fs2!=0) {
  49. fs+=fs2;
  50. count++;
  51. }
  52. double gl2 = getGl(sywindturbinestatus.getGl());
  53. gl+=gl2;
  54. resultMap.put(wtid+"fs", fs2);
  55. resultMap.put(wtid+"gl", gl2);
  56. }
  57. resultMap.put("SY_FDC_SPEED", fs/count);
  58. resultMap.put("SY_FDC_POWER", gl/1000);
  59. return resultMap;
  60. }
  61. public double getFs(String pointid){
  62. double fs = 0.0;
  63. try {
  64. fs = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
  65. } catch (Exception e) {
  66. // TODO Auto-generated catch block
  67. e.printStackTrace();
  68. }
  69. return fs;
  70. }
  71. public double getGl(String pointid){
  72. double gl = 0.0;
  73. try {
  74. gl = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
  75. } catch (Exception e) {
  76. // TODO Auto-generated catch block
  77. e.printStackTrace();
  78. }
  79. return gl;
  80. }
  81. public boolean isOne(String pointid){
  82. double pointValue;
  83. try {
  84. pointValue = ednaApiUtil.getRealData(pointid).getPointValueInDouble();
  85. if (pointValue==1.0) {
  86. return true;
  87. }
  88. } catch (Exception e) {
  89. // TODO Auto-generated catch block
  90. e.printStackTrace();
  91. }
  92. return false;
  93. }
  94. }