From 98df1b76326afb757e05861ab958d1454d08874d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 21 四月 2025 11:20:36 +0800
Subject: [PATCH] 注释完善

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java |  108 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 62 insertions(+), 46 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 a4119e8..60e5c20 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
@@ -11,12 +11,13 @@
 import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper;
 import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
 import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveLastMapper;
 import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
 import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
-import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voRm.VoCommand;
+import com.dy.pipIrrGlobal.voRm.VoRtuAndVc;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
@@ -29,7 +30,6 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -50,6 +50,7 @@
     private final PrWaterPriceMapper prWaterPriceMapper;
     private final PrIntakeVcMapper prIntakeVcMapper;
     private final SeClientCardMapper seClientCardMapper;
+    private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
 
     /**
      * pro_mw锛氬睘鎬�
@@ -60,8 +61,9 @@
     private String pro_mw = "mw";
     private String key_mw = "comSendUrl";
     @Autowired
-    public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, Environment env) {
+    public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper,RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, Environment env) {
         this.rmCommandHistoryMapper = rmCommandHistoryMapper;
+        this.rmOpenCloseValveLastMapper = rmOpenCloseValveLastMapper;
         this.seVirtualCardMapper = seVirtualCardMapper;
         this.prIntakeMapper = prIntakeMapper;
         this.prWaterPriceMapper = prWaterPriceMapper;
@@ -117,31 +119,55 @@
         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").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);
+            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);
+                });
             }
+            //System.out.println(jsonArray);
+        }
 
-            System.out.println(jsonArray);
-            List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), operator);
+        /**
+         * 鑾峰彇鏈叧闃�鐨凴TU鍦板潃鍜岃櫄鎷熷崱缂栧彿瀵规暟缁�
+         * 閬嶅巻鏁扮粍鑾峰彇鏈�鍚庡懡浠ゆ棩蹇桰D闆嗗悎
+         */
+        List<VoRtuAndVc> rtus = rmCommandHistoryMapper.getUnclosedRtus(operator);
+        String comIds = "";
+        if(rtus != null && rtus.size() > 0) {
+            for (int i = 0; i < rtus.size(); i++) {
+                Long comId = rmCommandHistoryMapper.getLastComId(rtus.get(i).getRtuAddr(), rtus.get(i).getVcNum());
+                if(comId > 0) {
+                    comIds = comIds + "\"" + comId + "\",";
+                }
+            }
+        }
+
+        if(comIds.length() > 0) {
+            comIds = comIds.substring(0, comIds.length()-1);
+            List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), comIds);
             if(res != null) {
                 return res;
-            } else {
-                return new ArrayList<>();
             }
-        } else {
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
-            return new ArrayList<>();
         }
+        return new ArrayList<>();
+    }
+
+    /**
+     * 涓烘寚瀹氾紙闃�鎺у櫒鍦板潃銆佹按鍗$紪鍙枫�佹棤鍏抽榾璁板綍锛夊紑鍏抽榾鏈�鏂拌褰曟坊鍔犲叧闃�鏃堕棿锛屼娇涔嬩笉鍦ㄦ湭鍏抽榾璁板綍涓樉绀�
+     * @param rtuAddr
+     * @param icCardNo
+     * @return
+     */
+    public Integer addClostTime(String rtuAddr, String icCardNo) {
+        return rmOpenCloseValveLastMapper.addCloseTime(rtuAddr, icCardNo);
     }
 
     /**
@@ -175,25 +201,24 @@
         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").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);
+            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);
+                });
             }
-            System.out.println(jsonArray);
-            return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
-        } else {
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
-            VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
-            return voUnclosedParam;
+        //    System.out.println(jsonArray);
+        //} else {
+        //    VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
+        //    return voUnclosedParam;
         }
-
+        return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
     }
 
     /**
@@ -212,16 +237,7 @@
      */
     public QueryResultVo<List<VoCommand>> getCommandHistories(QoCommand query) {
         // 瀹屽杽鏌ヨ璧锋鏃堕棿
-        String timeStart = query.getTimeStart();
-        String timeStop = query.getTimeStop();
-        if(timeStart != null) {
-            timeStart = timeStart + " 00:00:00";
-            query.setTimeStart(timeStart);
-        }
-        if(timeStop != null) {
-            timeStop = timeStop + " 23:59:59";
-            query.setTimeStop(timeStop);
-        }
+        query.completionTime();
 
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query);
 

--
Gitblit v1.8.0