From 5f54ba90abcc0ccf1b578472eac54fc98056767c Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 08 四月 2025 17:15:13 +0800
Subject: [PATCH] 灌溉计划终止接口,包括远程关阀和取消灌溉计划

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java |  187 +++++++++++++++++++++++++---------------------
 1 files changed, 102 insertions(+), 85 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
index 2f4884a..33bb871 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -6,9 +6,12 @@
 import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
 import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrIntake;
+import com.dy.pipIrrGlobal.voPr.VoAllIntake;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
 import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
@@ -25,8 +28,6 @@
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
 
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -69,39 +70,36 @@
      * @return
      */
     public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //Command com = new Command() ;
+        //com.id = Command.defaultId;
+        //com.code = "LCD0001";
+        //com.type = "innerCommand";
+        //comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //
+        //JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+        //
+        //JSONArray jsonArray = new JSONArray();
+        //if(response != null && response.getString("code").equals("0001")) {
+        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
+        //    if(attachment != null) {
+        //        attachment.forEach((key, value) -> {
+        //            JSONObject jsonObject = new JSONObject();
+        //            jsonObject.put("rtuAddr", key);
+        //            jsonObject.put("isOnLine", value);
+        //            jsonArray.add(jsonObject);
+        //        });
+        //    }
+        //}
+        //qo.setOnLineMap(jsonArray.toJSONString());
 
-        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
-        if(response != null && response.getString("code").equals("0001")) {
-            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
-
-            JSONArray jsonArray = new JSONArray();
-            if(attachment != null) {
-                HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
-                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);
-                }
-            }
-
-            qo.setOnLineMap(jsonArray.toJSONString());
-            // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
-            String intakeNum = qo.getIntakeNum();
-            if(intakeNum != null) {
-                qo.setIntakeNum(intakeNum.toLowerCase());
-            }
-
-            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
-            return prIntakeMapper.getIntakeByName(params);
-        } else {
-            return new VoOnLineIntake();
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
         }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        return prIntakeMapper.getIntakeByName(params);
     }
 
     /**
@@ -109,80 +107,83 @@
      * @return
      */
     public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //Command com = new Command() ;
+        //com.id = Command.defaultId;
+        //com.code = "LCD0001";
+        //com.type = "innerCommand";
+        //comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //
+        //JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+        //
+        //JSONArray jsonArray = new JSONArray();
+        //if(response != null && response.getString("code").equals("0001")) {
+        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
+        //    if(attachment != null) {
+        //        attachment.forEach((key, value) -> {
+        //            JSONObject jsonObject = new JSONObject();
+        //            jsonObject.put("rtuAddr", key);
+        //            jsonObject.put("isOnLine", value);
+        //            jsonArray.add(jsonObject);
+        //        });
+        //    }
+        //}
+        //qo.setOnLineMap(jsonArray.toJSONString());
 
-        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
-        if(response != null && response.getString("code").equals("0001")) {
-            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
-
-            JSONArray jsonArray = new JSONArray();
-            if(attachment != null) {
-                HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
-                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);
-                }
-            }
-
-            qo.setOnLineMap(jsonArray.toJSONString());
-            // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
-            String intakeNum = qo.getIntakeNum();
-            if(intakeNum != null) {
-                qo.setIntakeNum(intakeNum.toLowerCase());
-            }
-
-            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
-            Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
-
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
-            rsVo.pageSize = qo.pageSize ;
-            rsVo.pageCurr = qo.pageCurr ;
-            rsVo.calculateAndSet(itemTotal, params);
-            rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
-            return rsVo;
-        } else {
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
-            return rsVo;
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
         }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
+
+        QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
+        return rsVo;
+
     }
 
     /**
      * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
-     * @param operator
+     * @param operatorId
      * @return
      */
-    public List<VoOnLineIntake> getUsedIntakes(Long operator) {
+    public List<VoOnLineIntake> getUsedIntakes(Long operatorId) {
         Command com = new Command() ;
         com.id = Command.defaultId;
         com.code = "LCD0001";
         com.type = "innerCommand";
         comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+
         JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
+        //String response_Str = "{\"code\": \"0001\",\"content\": {\"attachment\": {\"530115059980\": true,\"620201000030\": true},\"code\": \"LCD0001\",\"id\": \"999999999\",\"param\": {\"message\": \"鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌缁撴灉\",\"success\": true},\"protocol\": \"\",\"rtuAddr\": \"\",\"rtuResultSendWebUrl\": \"\",\"type\": \"resultCommand\"},\"msg\": \"璇锋眰鎴愬姛\",\"success\": true}";
+        //JSONObject response = JSON.parseObject(response_Str);
+        //String test = response.toJSONString();
 
+        JSONArray jsonArray = new JSONArray();
         if(response != null && response.getString("code").equals("0001")) {
-            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap");
-
-            JSONArray jsonArray = new JSONArray();
+            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
             if(attachment != null) {
-                HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
-                for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) {
+                attachment.forEach((key, value) -> {
                     JSONObject jsonObject = new JSONObject();
-                    jsonObject.put("rtuAddr", entry.getKey());
-                    jsonObject.put("isOnLine", entry.getValue());
+                    jsonObject.put("rtuAddr", key);
+                    jsonObject.put("isOnLine", value);
                     jsonArray.add(jsonObject);
-                }
+
+                });
             }
 
-            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
-        } else {
-            return new ArrayList<>();
+            System.out.println(jsonArray.toJSONString());
+            //return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
+        //} else {
+        //    return new ArrayList<>();
         }
+
+        return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
     }
 
     /**
@@ -202,6 +203,11 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
+
+        if(response == null) {
+            return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+        }
+
         return response.getBody();
     }
 
@@ -242,4 +248,15 @@
         rsVo.obj = rmOpenCloseValveHistoryMapper.getVcCardOpenClose(params);
         return rsVo;
     }
+
+    /**
+     * 寰楀埌鎵�鏈夊彇姘村彛
+     *
+     * @return 鎵�鏈夊彇姘村彛闆嗗悎
+     */
+    public QueryResultVo<List<VoAllIntake>> selectAll() {
+        QueryResultVo<List<VoAllIntake>> rsVo = new QueryResultVo<>();
+        rsVo.obj = this.prIntakeMapper.selectAll();
+        return rsVo;
+    }
 }

--
Gitblit v1.8.0