|
@@ -39,9 +39,10 @@ public class StatusService {
|
|
|
public static Map<String,List<Project>> wppromap;
|
|
|
public static Map<String,List<Line>> prolinemap;
|
|
|
public static Map<String,List<Windturbine>> linewtmap;
|
|
|
+ public static Map<String,Map<Integer,Integer>> aistateMap;
|
|
|
@Resource
|
|
|
private IEdosUtil edosUtil;
|
|
|
-// @Resource
|
|
|
+ // @Resource
|
|
|
// private IEdosUtil edosUtilTd;
|
|
|
@Value("${clauStatus.ai}")
|
|
|
private String clauStatusAi;
|
|
@@ -70,6 +71,7 @@ public class StatusService {
|
|
|
wppromap = CacheContext.wppromap;
|
|
|
prolinemap = CacheContext.prolinemap;
|
|
|
linewtmap = CacheContext.linewtmap;
|
|
|
+ aistateMap = CacheContext.aistateMap;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -94,15 +96,15 @@ public class StatusService {
|
|
|
}
|
|
|
boolean b = realData.stream().allMatch(pointData -> pointData.getPointValueInDouble() == 3.0);
|
|
|
|
|
|
- try {
|
|
|
- if (b){
|
|
|
- edosUtil.sendSinglePoint(createWpPoint(new AtomicInteger(1),windpowerstationpointnew));
|
|
|
- }else{
|
|
|
- edosUtil.sendSinglePoint(createWpPoint(new AtomicInteger(0),windpowerstationpointnew));
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ try {
|
|
|
+ if (b){
|
|
|
+ edosUtil.sendSinglePoint(createWpPoint(new AtomicInteger(1),windpowerstationpointnew));
|
|
|
+ }else{
|
|
|
+ edosUtil.sendSinglePoint(createWpPoint(new AtomicInteger(0),windpowerstationpointnew));
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
});
|
|
@@ -141,88 +143,119 @@ public class StatusService {
|
|
|
List<PointData> collect = interruptionRealData.stream().filter(i -> (currentDate.getTime() - i.getPointTime()) / 1000 > Integer.parseInt(second)).collect(Collectors.toList());
|
|
|
if (collect.size()!=interruptionRealData.size()){
|
|
|
Double ztmx = edosUtil.getRealData(ztmxPoint).getPointValueInDouble();
|
|
|
- if (ztmx == 7 || ztmx == 9 || ztmx == 10 || ztmx == 11 || ztmx == 4 || ztmx == 5 ){ //手打状态
|
|
|
- mxstatus = ztmx;
|
|
|
- }
|
|
|
- if (clauStatusAi.contains(wt.getProjectid())){
|
|
|
- //多状态根据一个点来判断
|
|
|
+// if (ztmx == 7 || ztmx == 9 || ztmx == 10 || ztmx == 11 || ztmx == 4 || ztmx == 5 ){ //手打状态
|
|
|
+// mxstatus = ztmx;
|
|
|
+// }
|
|
|
+ String aiordi = modelMap.get(wt.getModelid()).getDescription();
|
|
|
+ if (aiordi.equals("AI")){
|
|
|
+ Map<Integer, Integer> stateMap = aistateMap.get(wt.getModelid());
|
|
|
Optional<Windturbinestatusdi> first = statusMap.get(wt.getId()).stream().filter(w -> w.getUniformcode().equals(Contant.AI422)).findFirst();
|
|
|
if (first.isPresent()){
|
|
|
Windturbinestatusdi windturbinestatusdi = first.get();
|
|
|
- if (wt.getModelid().equals("EN141/2.65") || wt.getModelid().equals("EN141/3.2")){
|
|
|
- //远景
|
|
|
- int pointValueInDouble = (int) edosUtil.getRealData(windturbinestatusdi.getId()).getPointValueInDouble();
|
|
|
- switch (pointValueInDouble){
|
|
|
- case 1:
|
|
|
- case 4:
|
|
|
- mxstatus = 1.0;
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- mxstatus = 6.0;
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- mxstatus = 11.0;
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- case 6:
|
|
|
- mxstatus = 2.0;
|
|
|
- break;
|
|
|
- case 7:
|
|
|
- mxstatus = 4.0;
|
|
|
- break;
|
|
|
- case 8:
|
|
|
- mxstatus = 12.0;
|
|
|
- break;
|
|
|
- case 9:
|
|
|
- mxstatus = 0.0;
|
|
|
- break;
|
|
|
- case 10:
|
|
|
- mxstatus = 10.0;
|
|
|
- break;
|
|
|
- case 11:
|
|
|
- case 12:
|
|
|
- mxstatus = 8.0;
|
|
|
- break;
|
|
|
- }
|
|
|
- }else {
|
|
|
- //联合动力
|
|
|
- double pointValueInDouble = edosUtil.getRealData(windturbinestatusdi.getId()).getPointValueInDouble();
|
|
|
- switch ((int) pointValueInDouble){
|
|
|
- case 0:
|
|
|
- mxstatus = 12.0;
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- mxstatus = 6.0;
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- mxstatus = 8.0;
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- mxstatus = 0.0;
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- case 5:
|
|
|
- mxstatus = 2.0;
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- mxstatus = 1.0;
|
|
|
- break;
|
|
|
- default:
|
|
|
- mxstatus = 2.0;
|
|
|
- }
|
|
|
- }
|
|
|
+ int pointValueInDouble = (int) edosUtil.getRealData(windturbinestatusdi.getId()).getPointValueInDouble();
|
|
|
+ mxstatus = (double)stateMap.get(pointValueInDouble);
|
|
|
}
|
|
|
}
|
|
|
- if (clauStatusDi.contains(wt.getProjectid())){
|
|
|
+
|
|
|
+
|
|
|
+// if (clauStatusAi.contains(wt.getProjectid())){
|
|
|
+// //多状态根据一个点来判断
|
|
|
+// Optional<Windturbinestatusdi> first = statusMap.get(wt.getId()).stream().filter(w -> w.getUniformcode().equals(Contant.AI422)).findFirst();
|
|
|
+// if (first.isPresent()){
|
|
|
+// Windturbinestatusdi windturbinestatusdi = first.get();
|
|
|
+// if (wt.getModelid().equals("EN141/2.65") || wt.getModelid().equals("EN141/3.2")){
|
|
|
+// //远景
|
|
|
+// int pointValueInDouble = (int) edosUtil.getRealData(windturbinestatusdi.getId()).getPointValueInDouble();
|
|
|
+// switch (pointValueInDouble){
|
|
|
+// case 1:
|
|
|
+// case 4:
|
|
|
+// mxstatus = 1.0;
|
|
|
+// break;
|
|
|
+// case 2:
|
|
|
+// mxstatus = 6.0;
|
|
|
+// break;
|
|
|
+// case 3:
|
|
|
+// mxstatus = 11.0;
|
|
|
+// break;
|
|
|
+// case 5:
|
|
|
+// case 6:
|
|
|
+// mxstatus = 2.0;
|
|
|
+// break;
|
|
|
+// case 7:
|
|
|
+// mxstatus = 4.0;
|
|
|
+// break;
|
|
|
+// case 8:
|
|
|
+// mxstatus = 12.0;
|
|
|
+// break;
|
|
|
+// case 9:
|
|
|
+// mxstatus = 0.0;
|
|
|
+// break;
|
|
|
+// case 10:
|
|
|
+// mxstatus = 10.0;
|
|
|
+// break;
|
|
|
+// case 11:
|
|
|
+// case 12:
|
|
|
+// mxstatus = 8.0;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }else {
|
|
|
+// //联合动力
|
|
|
+// double pointValueInDouble = edosUtil.getRealData(windturbinestatusdi.getId()).getPointValueInDouble();
|
|
|
+// switch ((int) pointValueInDouble){
|
|
|
+// case 0:
|
|
|
+// mxstatus = 12.0;
|
|
|
+// break;
|
|
|
+// case 1:
|
|
|
+// mxstatus = 6.0;
|
|
|
+// break;
|
|
|
+// case 2:
|
|
|
+// mxstatus = 8.0;
|
|
|
+// break;
|
|
|
+// case 3:
|
|
|
+// mxstatus = 0.0;
|
|
|
+// break;
|
|
|
+// case 4:
|
|
|
+// case 5:
|
|
|
+// mxstatus = 2.0;
|
|
|
+// break;
|
|
|
+// case 6:
|
|
|
+// mxstatus = 1.0;
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// mxstatus = 2.0;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (clauStatusDi.contains(wt.getProjectid())){
|
|
|
+// //每个状态一个状态点
|
|
|
+// List<Windturbinestatusdi> windturbinestatusdis = statusMap.get(wt.getId()).stream().filter(w -> w.getUniformcode().equals(Contant.MX000) || w.getUniformcode().equals(Contant.MX002) || w.getUniformcode().equals(Contant.MX004) || w.getUniformcode().equals(Contant.MX006) || w.getUniformcode().equals(Contant.MX008)).collect(Collectors.toList());
|
|
|
+// for(Windturbinestatusdi w : windturbinestatusdis){
|
|
|
+// PointData realData = edosUtil.getRealData(w.getId());
|
|
|
+// if (realData.getPointValueInDouble()==1){
|
|
|
+// mxstatus = Double.parseDouble(w.getTypeid());
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+ else {
|
|
|
//每个状态一个状态点
|
|
|
- List<Windturbinestatusdi> windturbinestatusdis = statusMap.get(wt.getId()).stream().filter(w -> w.getUniformcode().equals(Contant.MX000) || w.getUniformcode().equals(Contant.MX002) || w.getUniformcode().equals(Contant.MX004) || w.getUniformcode().equals(Contant.MX006) || w.getUniformcode().equals(Contant.MX008)).collect(Collectors.toList());
|
|
|
+ Map<String,String> stateMap = new HashMap<>();
|
|
|
+ List<Windturbinestatusdi> windturbinestatusdis = statusMap.get(wt.getId()).stream().filter(w -> w.getUniformcode().equals(Contant.MX000) || w.getUniformcode().equals(Contant.MX002) || w.getUniformcode().equals(Contant.MX003) || w.getUniformcode().equals(Contant.MX006) || w.getUniformcode().equals(Contant.MX008)).collect(Collectors.toList());
|
|
|
for(Windturbinestatusdi w : windturbinestatusdis){
|
|
|
PointData realData = edosUtil.getRealData(w.getId());
|
|
|
if (realData.getPointValueInDouble()==1){
|
|
|
+ stateMap.put(w.getUniformcode(),w.getTypeid());
|
|
|
mxstatus = Double.parseDouble(w.getTypeid());
|
|
|
- break;
|
|
|
+// break;
|
|
|
}
|
|
|
}
|
|
|
+ if (stateMap.containsKey("MX006") && stateMap.containsKey("MX008")){
|
|
|
+ mxstatus = Double.parseDouble(stateMap.get("MX008"));
|
|
|
+ }
|
|
|
+ if (stateMap.containsKey("MX002") && stateMap.containsKey("MX003")){
|
|
|
+ mxstatus = Double.parseDouble(stateMap.get("MX003"));
|
|
|
+ }
|
|
|
}
|
|
|
if (mxstatus == 2){
|
|
|
boolean isJcl = isJcl(wt, stringWindturbinetestingpointnewMap);
|