From 549f10ba314e3e9270ef8c7d52862ccf31ded8a2 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 22 十月 2024 15:12:23 +0800
Subject: [PATCH] Fm中增加分析hash值集合功能方法
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 222 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 162 insertions(+), 60 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..8c07568 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,28 +109,19 @@
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);
@@ -101,49 +134,118 @@
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