From 302b525c1bd459b2fc6e27d3b4073aee6e8b3f2b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 28 十月 2024 17:28:30 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java |  236 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 170 insertions(+), 66 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 00296db..d8fd1cc 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
@@ -3,19 +3,30 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.webUtil.QueryResultVo;
-import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
+import com.dy.pipIrrGlobal.command.ComSupport;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
+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.VoUnclosedParam;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
-import com.dy.pipIrrRemote.common.qo.OnLineIntakesQO;
+import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
+import com.dy.pipIrrRemote.common.qo.QoCommand;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -35,17 +46,48 @@
 @RequiredArgsConstructor
 public class CommandSv extends ComSupport {
     private final RmCommandHistoryMapper rmCommandHistoryMapper;
-    private final PrControllerMapper prControllerMapper;
     private final SeVirtualCardMapper seVirtualCardMapper;
     private final PrIntakeMapper prIntakeMapper;
+    private final PrWaterPriceMapper prWaterPriceMapper;
+    private final PrIntakeVcMapper prIntakeVcMapper;
+    private final SeClientCardMapper seClientCardMapper;
+    private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
 
     /**
-     * 鏍规嵁鍙栨按鍙D鑾峰彇闃�鎺у櫒鍦板潃
-     * @param intakeId 鍙栨按鍙D
-     * @return 闃�鎺у櫒鍦板潃
+     * pro_mw锛氬睘鎬�
+     * tag浠庢帶鍒跺櫒涓幏鍙�
+     * key_mw锛歶rl鐨刱ey
      */
-    public String getRtuAddrByIntakeId(Long intakeId) {
-        return prControllerMapper.getRtuAddrByIntakeId(intakeId);
+    private Environment env = null;
+    private String pro_mw = "mw";
+    private String key_mw = "comSendUrl";
+    @Autowired
+    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;
+        this.prIntakeVcMapper = prIntakeVcMapper;
+        this.seClientCardMapper = seClientCardMapper;
+        this.env = env;
+    }
+
+    /**
+     * 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
+     * @param vcId
+     * @return
+     */
+    public VoVirtualCard getVcById(Long vcId) {
+        return seVirtualCardMapper.getVcById(vcId);
+    }
+
+    /**
+     * 鑾峰彇姘翠环
+     * @return
+     */
+    public Double getPrice() {
+        return prWaterPriceMapper.getPrice();
     }
 
     /**
@@ -53,9 +95,9 @@
      * @param po 鍛戒护鏃ュ織瀵硅薄
      * @return 瀛楃涓茬被鍨嬬殑涓婚敭
      */
-    public String insert(RmCommandHistory po) {
+    public Long insert(RmCommandHistory po) {
         rmCommandHistoryMapper.insert(po);
-        return (po.getId()).toString();
+        return po.getComId();
     }
 
     /**
@@ -67,83 +109,145 @@
         return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
     }
 
-
     /**
-     * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍
+     * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍锛堝寘鍚湪绾挎儏鍐碉級
      * @param operator
      * @return
      */
     public List<VoUnclosedValve> getUnclosedValves(Long operator) {
-        return rmCommandHistoryMapper.getUnclosedValves(operator);
-    }
-
-    /**
-     * 鑾峰彇鍙栨按鍙e垪琛�
-     * @return
-     */
-    public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(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);
 
         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);
+            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());
-            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;
+            System.out.println(jsonArray);
+            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 rsVo;
-        }
-    }
-
-    /**
-     * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
-     * @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<>();
         }
     }
 
+    /**
+     * 涓烘寚瀹氾紙闃�鎺у櫒鍦板潃銆佹按鍗$紪鍙枫�佹棤鍏抽榾璁板綍锛夊紑鍏抽榾鏈�鏂拌褰曟坊鍔犲叧闃�鏃堕棿锛屼娇涔嬩笉鍦ㄦ湭鍏抽榾璁板綍涓樉绀�
+     * @param rtuAddr
+     * @param icCardNo
+     * @return
+     */
+    public Integer addClostTime(String rtuAddr, String icCardNo) {
+        return rmOpenCloseValveLastMapper.addCloseTime(rtuAddr, icCardNo);
+    }
+
+    /**
+     * 淇敼鍛戒护鏃ュ織璁板綍锛屽洖璋冩姤閿欐椂灏嗗懡浠よ褰曠殑鎵ц缁撴灉鏀逛负澶辫触
+     * @param po
+     * @return
+     */
+    public Integer updateCommandResult(RmCommandHistory po) {
+        return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
+    }
+
+    /**
+     * 鏍规嵁鍙栨按鍙D鑾峰彇涓庝箣缁戝畾铏氭嫙鍗D
+     * @param intakeId
+     * @return
+     */
+    public Long getVcIdByIntakeId(Long intakeId) {
+        return prIntakeVcMapper.getVcIdByIntakeId(intakeId);
+    }
+
+    /**
+     * 鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟锛屽钩鍙伴�夋嫨鍙栨按鍙e叧闃�浣跨敤
+     * @param intakeId
+     * @return
+     */
+    public VoUnclosedParam getUncloseParam(Long intakeId) {
+        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));
+        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);
+            }
+            System.out.println(jsonArray);
+            return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
+        } else {
+            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
+            VoUnclosedParam voUnclosedParam = new VoUnclosedParam();
+            return voUnclosedParam;
+        }
+
+    }
+
+    /**
+     * 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱瀵硅薄锛岃繙绋嬪厖鍊间娇鐢�
+     * @param cardId
+     * @return
+     */
+    public SeClientCard geClientCardByCardId(Long cardId) {
+        return seClientCardMapper.selectByPrimaryKey(cardId);
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍛戒护鏃ュ織鍘嗗彶璁板綍
+     * @param query
+     * @return
+     */
+    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);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query);
+
+        Long itemTotal = rmCommandHistoryMapper.getCommandHistoriesCount(params);
+
+        QueryResultVo<List<VoCommand>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = query.pageSize ;
+        rsVo.pageCurr = query.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmCommandHistoryMapper.getCommandHistories(params);
+        return rsVo ;
+    }
 }

--
Gitblit v1.8.0