소스 검색

新增 停止灌溉时候 重置所有设备状态为关闭

zhaiyifei 8 달 전
부모
커밋
4886ccd2d0
1개의 변경된 파일36개의 추가작업 그리고 19개의 파일을 삭제
  1. 36 19
      src/main/java/com/yunfeiyun/agmp/iotm/device/sf/service/impl/IotRunHaoSfServiceImpl.java

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

@@ -810,6 +810,14 @@ public class IotRunHaoSfServiceImpl extends IIotSfCommService {
 
             }
         }
+        // 切换到自动模式,先重置状态
+        String value = devConfig.getString(runMode);
+        if("1".equals(value)){
+            JSONObject resetStatusJson = resetStatus(devBid);
+            if(resetStatusJson != null){
+                devConfig.putAll(resetStatusJson);
+            }
+        }
 
         IotSfConfigCmdReqVo cmdReqVo = new IotSfConfigCmdReqVo();
         cmdReqVo.setDevBid(devBid);
@@ -1078,25 +1086,11 @@ public class IotRunHaoSfServiceImpl extends IIotSfCommService {
     }
 
     /**
-     * 停止自动灌溉
-     *
-     * @param reqVo 包含设备添加请求的参数,包括设备标识(devBid)等
-     * @param reqVo
+     * 重置灌溉状态
+     * @param devBid
+     * @return
      */
-    public String autoStop(IotSfConfigCmdReqVo reqVo) {
-        String devBid = reqVo.getDevBid();
-        IotDevice iotDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(iotDevice == null){
-            throw new IotBizException(IotErrorCode.INVALID_DEVICE_ID.getCode(), "设备不存在");
-        }
-
-        DevOperateUtil.sendConfigCmdCheck(iotDevice);
-
-        JSONObject runStatusData = getRunStatus(devBid);
-        if("0".equals(runStatusData.getString("Btn-zdsd"))){
-            throw new IotBizException(IotErrorCode.PARAM_INVALID.getCode(), "请先切换到自动模式");
-        }
-
+    public JSONObject resetStatus(String devBid) {
         IotSfElementfactorListReqVo selectReqVo = new IotSfElementfactorListReqVo();
 
         List<String> sfTypeList = new ArrayList<>();
@@ -1117,8 +1111,31 @@ public class IotRunHaoSfServiceImpl extends IIotSfCommService {
             String sfCode = elementfactor.getSfCode();
             sendJson.put(sfCode, "0");
         }
-
         sendJson.put("Num-dqqf", "0");
+        return sendJson;
+    }
+
+
+    /**
+     * 停止自动灌溉
+     *
+     * @param reqVo 包含设备添加请求的参数,包括设备标识(devBid)等
+     * @param reqVo
+     */
+    public String autoStop(IotSfConfigCmdReqVo reqVo) {
+        String devBid = reqVo.getDevBid();
+        IotDevice iotDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
+        if(iotDevice == null){
+            throw new IotBizException(IotErrorCode.INVALID_DEVICE_ID.getCode(), "设备不存在");
+        }
+
+        DevOperateUtil.sendConfigCmdCheck(iotDevice);
+
+        JSONObject runStatusData = getRunStatus(devBid);
+        if("0".equals(runStatusData.getString("Btn-zdsd"))){
+            throw new IotBizException(IotErrorCode.PARAM_INVALID.getCode(), "请先切换到自动模式");
+        }
+        JSONObject sendJson = resetStatus(devBid);
         sendJson.put("Btn-yjqd", "0");
 
         IotSfConfigCmdReqVo cmdReqVo = new IotSfConfigCmdReqVo();