diff --git a/src/main/java/com/xydl/cac/controller/NSensorController.java b/src/main/java/com/xydl/cac/controller/NSensorController.java index 9a712d4..923e202 100644 --- a/src/main/java/com/xydl/cac/controller/NSensorController.java +++ b/src/main/java/com/xydl/cac/controller/NSensorController.java @@ -3,10 +3,7 @@ package com.xydl.cac.controller; import com.xydl.cac.entity.Bdz; import com.xydl.cac.entity.NSensor; import com.xydl.cac.exception.BusinessException; -import com.xydl.cac.model.ConditionModel; -import com.xydl.cac.model.Response; -import com.xydl.cac.model.SensorDetail; -import com.xydl.cac.model.SensorUpdateModel; +import com.xydl.cac.model.*; import com.xydl.cac.repository.NSensorRepository; import com.xydl.cac.service.NSensorService; import com.xydl.cac.service.ParamBindService; @@ -214,4 +211,12 @@ public class NSensorController extends BasicController { } + @PostMapping("sanbizhi") + @ApiOperation("三比值") + public Response sanbizhi(@RequestBody Map map) throws Exception { + SanbizhiModel item = new SanbizhiModel(); + item.build(map); + return Response.success(item); + } + } diff --git a/src/main/java/com/xydl/cac/model/SanbizhiModel.java b/src/main/java/com/xydl/cac/model/SanbizhiModel.java new file mode 100644 index 0000000..fdb5d57 --- /dev/null +++ b/src/main/java/com/xydl/cac/model/SanbizhiModel.java @@ -0,0 +1,113 @@ +package com.xydl.cac.model; + +import com.xydl.cac.exception.BusinessException; +import lombok.Data; + +import java.util.Iterator; +import java.util.Map; + +@Data +public class SanbizhiModel { + Float c2h2; + Float c2h4; + Float ch4; + Float h2; + Float c2h6; + Float c2h2_c2h4_value; + String c2h2_c2h4_code; + Float ch4_h2_value; + String ch4_h2_code; + Float c2h4_c2h6_value; + String c2h4_c2h6_code; + String status; + + public void build(Map map) throws BusinessException { + Iterator it = map.keySet().iterator(); + while (it.hasNext()) { + String key = it.next(); + String name = key.toLowerCase(); + if (name.contains("c2h2")) { + c2h2 = (Float) map.get(key); + } else if (name.contains("c2h4")) { + c2h4 = (Float) map.get(key); + } else if (name.contains("ch4")) { + ch4 = (Float) map.get(key); + } else if (name.contains("h2")) { + h2 = (Float) map.get(key); + } else if (name.contains("c2h6")) { + c2h6 = (Float) map.get(key); + } + } + if (c2h2 == null || c2h4 == null || ch4 == null || h2 == null || c2h6 == null) { + throw new BusinessException("数据不符合"); + } + c2h2_c2h4_value = c2h2 / c2h4; + ch4_h2_value = ch4 / h2; + c2h4_c2h6_value = c2h4 / c2h6; + if (c2h2_c2h4_value < 0.1) { + c2h2_c2h4_code = "0"; + } else if (c2h2_c2h4_value < 1) { + c2h2_c2h4_code = "1"; + } else if (c2h2_c2h4_value < 3) { + c2h2_c2h4_code = "1"; + } else { + c2h2_c2h4_code = "2"; + } + if (ch4_h2_value < 0.1) { + ch4_h2_code = "1"; + } else if (ch4_h2_value < 1) { + ch4_h2_code = "0"; + } else if (ch4_h2_value < 3) { + ch4_h2_code = "2"; + } else { + ch4_h2_code = "2"; + } + if (c2h4_c2h6_value < 0.1) { + c2h4_c2h6_code = "0"; + } else if (c2h4_c2h6_value < 1) { + c2h4_c2h6_code = "0"; + } else if (c2h4_c2h6_value < 3) { + c2h4_c2h6_code = "1"; + } else { + c2h4_c2h6_code = "2"; + } + status = "正常"; + if (c2h2_c2h4_code.equals("0")) { + if (c2h4_c2h6_code.equals("0")) { + if (ch4_h2_code.equals("0")) { + + } else if (ch4_h2_code.equals("1")) { + status = "局部放电"; + } else if (ch4_h2_code.equals("2")) { + status = "低温过热(150-300)C"; + } + } else if (c2h4_c2h6_code.equals("1")) { + if (ch4_h2_code.equals("0")) { + status = "低温过热(低于150C)"; + } else if (ch4_h2_code.equals("1")) { + + } else if (ch4_h2_code.equals("2")) { + status = "中温过热(300-700)C"; + } + } else if (c2h4_c2h6_code.equals("2")) { + status = "高温过热(高于700C)"; + } + } else if (c2h2_c2h4_code.equals("1")) { + if (ch4_h2_code.equals("0")) { + status = "低能放电"; + } else if (ch4_h2_code.equals("1")) { + status = "低能放电"; + } else if (ch4_h2_code.equals("2")) { + status = "低能放电兼过热"; + } + } else if (c2h2_c2h4_code.equals("2")) { + if (ch4_h2_code.equals("0")) { + status = "电弧放电"; + } else if (ch4_h2_code.equals("1")) { + status = "电弧放电"; + } else if (ch4_h2_code.equals("2")) { + status = "电弧放电兼过热"; + } + } + } +}