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/intake/IntakeSv.java | 227 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 177 insertions(+), 50 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 0e6fd7f..ef5ba3d 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
@@ -3,15 +3,22 @@
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.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.VoOnLineIntake;
+import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
+import com.dy.pipIrrWechat.intake.qo.QoOpenClose;
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.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@@ -20,8 +27,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;
@@ -41,75 +46,143 @@
@Autowired
private RestTemplate restTemplate;
- protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
+ @Autowired
+ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+
+ //protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
+ protected String comSendUrl;
+ /**
+ * pro_mw锛氬睘鎬�
+ * tag浠庢帶鍒跺櫒涓幏鍙�
+ * key_mw锛歶rl鐨刱ey
+ */
+ private Environment env = null;
+ private String pro_mw = "mw";
+ private String key_mw = "comSendUrl";
+ @Autowired
+ public IntakeSv(Environment env) {
+ this.env = env;
+ }
/**
- * 鑾峰彇鍙栨按鍙e垪琛�
+ * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
* @return
*/
- public QueryResultVo<List<VoOnLineIntake>> selectOnLineIntakes(OnLineIntakesQO qo) {
- Command com = new Command() ;
- com.id = Command.defaultId;
- com.code = "LCD0001";
- com.type = "innerCommand";
+ 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);
+ //
+ //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");
- 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);
- }
-
- 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;
- } 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) ;
+ return prIntakeMapper.getIntakeByName(params);
+ }
+
+ /**
+ * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+ * @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);
+ //
+ //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());
+
+ // 濡傛灉 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");
- HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class);
+ 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);
- 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<>();
+
+ System.out.println(jsonArray.toJSONString());
+ //return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
+ //} else {
+ // return new ArrayList<>();
}
+
+ return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
}
/**
@@ -117,7 +190,7 @@
* @return
*/
protected BaseResponse sendCom2Mw(Command com){
- String url = UriComponentsBuilder.fromUriString(mwUrlSendCom)
+ String url = UriComponentsBuilder.fromUriString(comSendUrl)
.build()
.toUriString();
HttpHeaders headers = new HttpHeaders();
@@ -129,6 +202,60 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
+
return response.getBody();
}
+
+ /**
+ * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoOpenClostWechat>> getCardOpenClose(QoOpenClose queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getCardOpenCloseCount(params);
+
+ QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getCardOpenClose(params);
+ return rsVo;
+ }
+
+ /**
+ * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoOpenClostWechat>> getVcCardOpenClose(QoOpenClose queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getVcCardOpenCloseCount(params);
+
+ QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getVcCardOpenClose(params);
+ return rsVo;
+ }
+
+ /**
+ * 寰楀埌鎵�鏈夊彇姘村彛
+ *
+ * @return 鎵�鏈夊彇姘村彛闆嗗悎
+ */
+ public QueryResultVo<List<PrIntake>> selectAll() {
+ QueryResultVo<List<PrIntake>> rsVo = new QueryResultVo<>();
+ rsVo.obj = this.prIntakeMapper.selectAll();
+ return rsVo;
+ }
}
--
Gitblit v1.8.0