From 7b38f4ec223e9480c4de2824782fe3695a25d848 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 06 十二月 2024 11:19:16 +0800
Subject: [PATCH] 修改升级过程逻辑,RTU上报数据后触发升级过程中,首先判断是否因为阀门是开启状态而不能升级
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 112 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 91 insertions(+), 21 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
index d707242..2ce8770 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
@@ -3,6 +3,7 @@
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.command.ComSupport;
@@ -10,21 +11,24 @@
import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmIrrigateProfileMapper;
+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.VoIrrigaterProfile;
+import com.dy.pipIrrGlobal.voRm.VoRtuAndVc;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* @author ZhuBaoMin
@@ -43,7 +47,31 @@
private final PrWaterPriceMapper prWaterPriceMapper;
private final PrIntakeVcMapper prIntakeVcMapper;
private final SeClientCardMapper seClientCardMapper;
+ private final RmIrrigateProfileMapper rmIrrigateProfileMapper;
+ private final RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
+ //private final PrCommonIntakesMapper prCommonIntakesMapper;
+ /**
+ * pro_mw锛氬睘鎬�
+ * tag浠庢帶鍒跺櫒涓幏鍙�
+ * key_mw锛歶rl鐨刱ey
+ */
+ 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, RmIrrigateProfileMapper rmIrrigateProfileMapper, Environment env) {
+ this.rmCommandHistoryMapper = rmCommandHistoryMapper;
+ this.rmOpenCloseValveLastMapper = rmOpenCloseValveLastMapper;
+ //this.prCommonIntakesMapper = prCommonIntakesMapper;
+ this.seVirtualCardMapper = seVirtualCardMapper;
+ this.prIntakeMapper = prIntakeMapper;
+ this.prWaterPriceMapper = prWaterPriceMapper;
+ this.prIntakeVcMapper = prIntakeVcMapper;
+ this.seClientCardMapper = seClientCardMapper;
+ this.rmIrrigateProfileMapper = rmIrrigateProfileMapper;
+ this.env = env;
+ }
/**
* 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
* @param vcId
@@ -71,32 +99,56 @@
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").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.toJSONString());
+ }
- 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);
}
/**
@@ -124,7 +176,7 @@
*/
public Long insert(RmCommandHistory po) {
rmCommandHistoryMapper.insert(po);
- return po.getId();
+ return po.getComId();
}
/**
@@ -136,5 +188,23 @@
return rmCommandHistoryMapper.updateByPrimaryKeySelective(po);
}
+ /**
+ * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛屾壂鐮佸紑闃�浣跨敤
+ * @param intakeName
+ * @return
+ */
+ public Long getIntakeIdByName(String intakeName) {
+ return prIntakeMapper.getIntakeIdByName(intakeName);
+ }
+ /**
+ * 鏍规嵁閰嶇疆绫诲瀷鑾峰彇閰嶇疆鍊�
+ * @param type
+ * @return
+ */
+ QueryResultVo<List<VoIrrigaterProfile>> getIrrPro(Integer type) {
+ QueryResultVo<List<VoIrrigaterProfile>> rsVo = new QueryResultVo<>() ;
+ rsVo.obj = rmIrrigateProfileMapper.getIrrPro(type);
+ return rsVo ;
+ }
}
--
Gitblit v1.8.0