Browse Source

修复 水肥灌区配置关闭肥阀后,一键灌溉仍然打开肥阀的问题

zhaiyifei 8 months ago
parent
commit
1c6d172fd2

+ 21 - 1
src/main/java/com/yunfeiyun/agmp/iotm/device/sf/service/impl/IotRunHaoSfServiceImpl.java

@@ -1160,6 +1160,20 @@ public class IotRunHaoSfServiceImpl extends IIotSfCommService {
         if(sendJson.isEmpty()){
             throw new IotBizException(IotErrorCode.PARAM_INVALID.getCode(), "请先选择灌区");
         }
+        Map<String, String> paramMap = new HashMap<>();
+        List<IotSfGroupParamResVo> paramResVoList = getGroupParamByGlobal(devBid);
+        if(paramResVoList != null && !paramResVoList.isEmpty()){
+            for(IotSfGroupParamResVo param : paramResVoList){
+                String sfCode = param.getSfCode();
+                if(sfCode.startsWith("Btn-fxz")){
+                    String sfPumpCode = sfCode.replace("Btn-fxz", "Btn-fs");
+                    String sfJbCode = sfCode.replace("Btn-fxz", "Btn-js");
+                    paramMap.put(sfPumpCode, param.getValue());
+                    paramMap.put(sfJbCode, param.getValue());
+                }
+            }
+        }
+
         IotSfElementfactorListReqVo pumpVo = new IotSfElementfactorListReqVo();
         pumpVo.setDevBid(devBid);
         pumpVo.setTid(SecurityUtils.getTid());
@@ -1171,7 +1185,13 @@ public class IotRunHaoSfServiceImpl extends IIotSfCommService {
                 if(Objects.equals(sfType, EnumSfElementType.FERTILIZER_BUCKET.getCode())){
                     continue;
                 }
-                sendJson.put(sfCode, "1");
+                if(paramMap.containsKey(sfCode)){
+                    if(Objects.equals(sfType, EnumSfElementType.SUCTION.getCode()) || Objects.equals(sfType, EnumSfElementType.MIXING.getCode())){
+                        sendJson.put(sfCode, paramMap.get(sfCode));
+                    }
+                } else{
+                    sendJson.put(sfCode, "1");
+                }
             }
         }