From 646ec3901cba867fd539146b26980c2ad510560c Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 31 五月 2024 15:28:35 +0800
Subject: [PATCH] 田间灌溉项目管理 新增 修改轮罐组绑定的灌溉单元接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 101 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 84 insertions(+), 17 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
index 7482f9d..c640895 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -9,6 +9,7 @@
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
@@ -18,6 +19,7 @@
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -39,12 +41,21 @@
private final PrIntakeMapper prIntakeMapper;
/**
- * 鏍规嵁鍙栨按鍙D鑾峰彇闃�鎺у櫒鍦板潃
- * @param intakeId 鍙栨按鍙D
- * @return 闃�鎺у櫒鍦板潃
+ * 鏍规嵁鍙栨按鍙D鑾峰彇闃�鎺у櫒瀵硅薄
+ * @param intakeId
+ * @return
*/
- public String getRtuAddrByIntakeId(Long intakeId) {
- return prControllerMapper.getRtuAddrByIntakeId(intakeId);
+ public PrController getControllerByIntakeId(Long intakeId) {
+ return prControllerMapper.getControllerByIntakeId(intakeId);
+ }
+
+ /**
+ * 鏍规嵁RTU鍦板潃鑾峰彇闃�鎺у櫒瀵硅薄
+ * @param rtuAddr
+ * @return
+ */
+ public PrController getControllerByRtuAddr(String rtuAddr) {
+ return prControllerMapper.getControllerByRtuAddr(rtuAddr);
}
/**
@@ -52,9 +63,9 @@
* @param po 鍛戒护鏃ュ織瀵硅薄
* @return 瀛楃涓茬被鍨嬬殑涓婚敭
*/
- public String insert(RmCommandHistory po) {
+ public Long insert(RmCommandHistory po) {
rmCommandHistoryMapper.insert(po);
- return (po.getId()).toString();
+ return po.getId();
}
/**
@@ -64,16 +75,6 @@
*/
public Integer update(RmCommandHistory po) {
return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
- }
-
-
- /**
- * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍
- * @param operator
- * @return
- */
- public List<VoUnclosedValve> getUnclosedValves(Long operator) {
- return rmCommandHistoryMapper.getUnclosedValves(operator);
}
/**
@@ -116,4 +117,70 @@
}
}
+ /**
+ * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
+ * @param operator
+ * @return
+ */
+ public List<VoOnLineIntake> getUsedIntakes(Long operator) {
+ Command com = new Command() ;
+ com.id = Command.defaultId;
+ com.code = "LCD0001";
+ com.type = "innerCommand";
+ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ if(response != null && response.getString("code").equals("0001")) {
+ JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
+ HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
+
+ JSONArray jsonArray = new JSONArray();
+ for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("rtuAddr", entry.getKey());
+ jsonObject.put("isOnLine", entry.getValue());
+ jsonArray.add(jsonObject);
+ }
+ return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
+ } else {
+ return new ArrayList<>();
+ }
+ }
+
+ /**
+ * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級
+ * @param operator
+ * @return
+ */
+ public List<VoUnclosedValve> getUnclosedValves(Long operator) {
+ Command com = new Command() ;
+ com.id = Command.defaultId;
+ com.code = "LCD0001";
+ com.type = "innerCommand";
+
+ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+
+ if(response != null && response.getString("code").equals("0001")) {
+ JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
+ HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
+
+ JSONArray jsonArray = new JSONArray();
+ for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("rtuAddr", entry.getKey());
+ jsonObject.put("isOnLine", entry.getValue());
+ jsonArray.add(jsonObject);
+ }
+
+ List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
+ if(res != null) {
+ return res;
+ } else {
+ return new ArrayList<>();
+ }
+ } else {
+ QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
+ return new ArrayList<>();
+ }
+ }
+
}
--
Gitblit v1.8.0