From e1fca18e3148e2b1da5fd46abdb5b03b6e48a05c Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 06 五月 2024 16:24:18 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 219 insertions(+), 13 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
index 2364a3e..077feb4 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
@@ -3,8 +3,12 @@
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V1_0_0.DataCd83OpenVo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveLast;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -13,8 +17,6 @@
* @Date 2024/1/16 17:16
* @LastEditTime 2024/1/16 17:16
* @Description
- */
-/**
* 澶勭悊鎺у埗鍣ㄥ紑闃�涓婃姤
*/
public class TkDealOpenValveReport extends TaskSurpport {
@@ -34,17 +36,221 @@
Object subD = d.getSubData();
if (subD != null) {
DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
- if (dV1_0_1 != null && dV1_0_1.dataCd83OpenVo != null) {
- Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
- DbSv sv = (DbSv)objs[0] ;
- PrController controller = (PrController)objs[1] ;
- try{
- this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo) ;
- this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo) ;
- }catch (Exception e){
- log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
- }
- }
+// if (dV1_0_1 != null && dV1_0_1.dataCd83OpenVo != null) {
+// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+// DbSv sv = (DbSv)objs[0] ;
+// PrController controller = (PrController)objs[1] ;
+// try{
+// this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83OpenVo) ;
+// }catch (Exception e){
+// log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
+// }
+// }
}
}
+ /**
+ * 涓氬姟澶勭悊
+ * @param sv 鏈嶅姟
+ * @param controller 鎺у埗鍣ㄥ璞�
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param dV1_0_1 涓婃姤鏁版嵁
+ * @param dataCd83OpenVo 寮�闃�涓婃姤鏁版嵁瀵硅薄
+ */
+ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception {
+ RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ;
+ if(poLast == null){
+ //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
+ //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
+ poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83OpenVo);
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+ sv.saveRmOpenCloseValveLast(poLast);
+ }else{
+ //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
+ if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt).equals(poLast.openDt)){
+ //鏃堕棿涓�鑷达紝閲嶅涓婃姤鏁版嵁锛屼笉杩涜浠讳綍澶勭悊
+ }else{
+ if(poLast.opType != null){
+ //鍘熻褰曞瓨鍦ㄥ紑闃�鏁版嵁锛岄鍏堣繘琛屾椂闂村姣�
+ if(poLast.openDt != null && poLast.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+ //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鏁版嵁锛屼笉杩涜澶勭悊
+ }else if(poLast.openDt != null && poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+ //閲嶅涓婃姤鐨勫紑闃�鏁版嵁锛屼笉杩涜澶勭悊
+ }else{
+ //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
+ this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+ //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+ }
+ }else if(poLast.clType != null){
+ //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
+ if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+ //褰撳墠涓婃姤鏄ˉ鎶ョ殑寮�闃�鏁版嵁
+ RmOpenCloseValveHistory poHistory = null ;
+ if(poLast.lastHistoryId != null){
+ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+ }
+ this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
+ if(poHistory != null){
+ sv.updateRmOpenCloseValveHistory(poHistory);
+ }
+ }else if(poLast.closeDt != null && poLast.closeDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+ //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂版暟鎹腑鐨勫叧闃�鍐呭娓呯┖
+ this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+ //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+ }else {
+ //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
+ RmOpenCloseValveHistory poHistory = null ;
+ if(poLast.lastHistoryId != null){
+ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+ }
+ this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
+ if(poHistory != null){
+ sv.updateRmOpenCloseValveHistory(poHistory);
+ }
+ }
+ }else{
+ //if(po.clType == null)
+ //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
+ this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+ //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+ }
+
+ sv.updateRmOpenCloseValveLast(poLast);
+ }
+
+ }
+ }
+
+ /**
+ * 淇濆瓨鏂扮殑寮�闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
+ * @param sv
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83OpenVo
+ * @param poLast
+ * @throws Exception
+ */
+ private void newHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, RmOpenCloseValveLast poLast)throws Exception {
+ RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(controller, rtuAddr, dV1_0_1, dataCd83OpenVo) ;
+ sv.saveRmOpenCloseValveHistory(poHistory);
+ //鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
+ poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
+ }
+
+ /**
+ * 鐢熸垚鏂扮殑寮�闃�涓婃姤鏈�鏂版暟鎹褰�
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83OpenVo
+ * @return
+ * @throws Exception
+ */
+ private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
+ RmOpenCloseValveLast po = new RmOpenCloseValveLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
+ rtuAddr,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
+ dataCd83OpenVo.type,
+ dataCd83OpenVo.totalAmount,
+ dataCd83OpenVo.icCardNo,
+ dataCd83OpenVo.icCardAddr,
+ dataCd83OpenVo.remainMoney,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt),
+ null, null, null, null, null, null, null, null, null, null, null) ;
+ return po ;
+ }
+
+
+ /**
+ * 鐢熸垚鏂扮殑寮�闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83OpenVo
+ * @return
+ * @throws Exception
+ */
+ private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
+ RmOpenCloseValveHistory po = new RmOpenCloseValveHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
+ rtuAddr,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
+ dataCd83OpenVo.type,
+ dataCd83OpenVo.totalAmount,
+ dataCd83OpenVo.icCardNo,
+ dataCd83OpenVo.icCardAddr,
+ dataCd83OpenVo.remainMoney,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt),
+ null, null, null, null, null, null, null, null, null, null, null) ;
+ return po ;
+ }
+
+
+ /**
+ * 鏇存柊鏁版嵁
+ * @param controller
+ * @param poLast
+ * @param poHistory
+ * @param dV1_0_1
+ * @param dataCd83OpenVo
+ * @param clearCloseValve
+ * @throws Exception
+ */
+ private void updateOpenValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, boolean clearCloseValve) throws Exception {
+ poLast.controllerId = controller==null?null:controller.getId();
+ poLast.intakeId = controller==null?null:controller.getIntakeId();
+
+ poLast.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+ poLast.opType = dataCd83OpenVo.type ;
+ poLast.opTotalAmount = dataCd83OpenVo.totalAmount ;
+ poLast.opIcCardNo = dataCd83OpenVo.icCardNo ;
+ poLast.opIcCardAddr = dataCd83OpenVo.icCardAddr ;
+ poLast.opRemainMoney = dataCd83OpenVo.remainMoney ;
+ poLast.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt) ;
+
+ if(poHistory != null){
+ poHistory.controllerId = controller==null?null:controller.getId();
+ poHistory.intakeId = controller==null?null:controller.getIntakeId();
+
+ poHistory.opDt = poLast.opDt;
+ poHistory.opType = dataCd83OpenVo.type ;
+ poHistory.opTotalAmount = dataCd83OpenVo.totalAmount ;
+ poHistory.opIcCardNo = dataCd83OpenVo.icCardNo ;
+ poHistory.opIcCardAddr = dataCd83OpenVo.icCardAddr ;
+ poHistory.opRemainMoney = dataCd83OpenVo.remainMoney ;
+ poHistory.openDt = poLast.openDt ;
+ }
+
+ if(clearCloseValve){
+ poLast.clDt = null ;
+ poLast.clType = null ;
+ poLast.clTotalAmount = null ;
+ poLast.clIcCardNo = null ;
+ poLast.clIcCardAddr = null ;
+ poLast.clRemainMoney = null ;
+ poLast.clThisAmount = null ;
+ poLast.clThisMoney = null ;
+ poLast.clThisTime = null ;
+ poLast.clOpenDt = null ;
+ poLast.closeDt = null ;
+
+ if(poHistory != null) {
+ poHistory.clDt = null;
+ poHistory.clType = null;
+ poHistory.clTotalAmount = null;
+ poHistory.clIcCardNo = null;
+ poHistory.clIcCardAddr = null;
+ poHistory.clRemainMoney = null;
+ poHistory.clThisAmount = null;
+ poHistory.clThisMoney = null;
+ poHistory.clThisTime = null;
+ poHistory.clOpenDt = null;
+ poHistory.closeDt = null;
+ }
+
+ }
+
+ }
}
--
Gitblit v1.8.0