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/TkDealCloseValveReport.java | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 221 insertions(+), 5 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
index 56d8170..6c259f3 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -2,7 +2,13 @@
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
-import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
+import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V1_0_0.DataCd83CloseVo;
+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;
@@ -28,9 +34,219 @@
*/
@Override
public void execute(Object data) {
- Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
- DbSv sv = (DbSv)objs[0] ;
- PrControllerTramp rtuTramp = (PrControllerTramp)objs[2] ;
- sv.savePrConctrollerTramp(rtuTramp);
+ Data d = (Data) data;
+ 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.dataCd83CloseVo != 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.dataCd83CloseVo) ;
+// }catch (Exception e){
+// log.error("淇濆瓨鎺у埗鍣ㄥ叧闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
+// }
+// }
+ }
+ }
+ /**
+ * 淇濆瓨鏁版嵁
+ * @param sv 鏈嶅姟
+ * @param controller 鎺у埗鍣ㄥ璞�
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param dV1_0_1 涓婃姤鏁版嵁
+ * @param dataCd83CloseVo 鍏抽榾涓婃姤鏁版嵁瀵硅薄
+ */
+ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo) throws Exception {
+ RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ;
+ if(poLast == null){
+ //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
+ //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
+ poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83CloseVo);
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ //淇濆瓨鏈�鏂版暟鎹�
+ sv.saveRmOpenCloseValveLast(poLast);
+ }else{
+ if(poLast.clType == null){
+ //鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�锛屼繚鐣欏師璁板綍涓殑寮�闃�鏁版嵁
+ this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
+ if(poLast.opType == null){
+ //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁锛屾病鍔炴硶杩涜鍖归厤
+ //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ }else{
+ //鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰�
+ RmOpenCloseValveHistory poHistory = null ;
+ if(poLast.lastHistoryId != null){
+ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+ if(poHistory != null){
+ sv.updateRmOpenCloseValveHistory(poHistory);
+ }else{
+ //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ }
+ }else{
+ //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ }
+ }
+ }else if(poLast.opType != null){
+ //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮
+ if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){
+ //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁锛屼笉杩涜澶勭悊
+ }else if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){
+ //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
+ }else {
+ //褰撳墠涓婃姤鐨勫叧闃�鏁版嵁鏅氫簬鍘熸潵鐨勫叧闃�鏁版嵁锛屾槸鏂扮殑涓婃姤鍏抽榾鏁版嵁
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ }
+ }else{
+ //if(po.opType == null)
+ //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
+ this.updateCloseValve(controller,poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
+ //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ }
+
+ sv.updateRmOpenCloseValveLast(poLast);
+ }
+ }
+
+ /**
+ * 淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
+ * @param sv
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83CloseVo
+ * @param poLast
+ * @throws Exception
+ */
+ private void newHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, RmOpenCloseValveLast poLast)throws Exception {
+ RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(controller, rtuAddr, dV1_0_1, dataCd83CloseVo) ;
+ sv.saveRmOpenCloseValveHistory(poHistory);
+ //鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
+ poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
+ }
+
+ /**
+ * 鐢熸垚鏂扮殑鍏抽榾涓婃姤鏈�鏂版暟鎹褰�
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83CloseVo
+ * @return
+ * @throws Exception
+ */
+ private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+ RmOpenCloseValveLast po = new RmOpenCloseValveLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
+ rtuAddr,
+ null, null, null, null, null, null,null,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
+ dataCd83CloseVo.type,
+ dataCd83CloseVo.totalAmount,
+ dataCd83CloseVo.icCardNo,
+ dataCd83CloseVo.icCardAddr,
+ dataCd83CloseVo.remainMoney,
+ dataCd83CloseVo.thisAmount,
+ dataCd83CloseVo.thisMoney,
+ dataCd83CloseVo.thisTime,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt),
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt)) ;
+ return po ;
+ }
+
+
+ /**
+ * 鐢熸垚鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+ * @param controller
+ * @param rtuAddr
+ * @param dV1_0_1
+ * @param dataCd83CloseVo
+ * @return
+ * @throws Exception
+ */
+ private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+ RmOpenCloseValveHistory po = new RmOpenCloseValveHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
+ rtuAddr,
+ null, null, null, null, null, null,null,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
+ dataCd83CloseVo.type,
+ dataCd83CloseVo.totalAmount,
+ dataCd83CloseVo.icCardNo,
+ dataCd83CloseVo.icCardAddr,
+ dataCd83CloseVo.remainMoney,
+ dataCd83CloseVo.thisAmount,
+ dataCd83CloseVo.thisMoney,
+ dataCd83CloseVo.thisTime,
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt),
+ DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt)) ;
+ return po ;
+ }
+
+
+ /**
+ * 鏇存柊鏁版嵁
+ * @param controller
+ * @param poLast
+ * @param poHistory
+ * @param dV1_0_1
+ * @param dataCd83CloseVo
+ * @param clearOpenValve
+ * @throws Exception
+ */
+ private void updateCloseValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, boolean clearOpenValve) throws Exception {
+ poLast.controllerId = controller==null?null:controller.getId();
+ poLast.intakeId = controller==null?null:controller.getIntakeId();
+
+ poLast.clDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
+ poLast.clType = dataCd83CloseVo.type;
+ poLast.clTotalAmount = dataCd83CloseVo.totalAmount;
+ poLast.clIcCardNo = dataCd83CloseVo.icCardNo;
+ poLast.clIcCardAddr = dataCd83CloseVo.icCardAddr;
+ poLast.clRemainMoney = dataCd83CloseVo.remainMoney;
+ poLast.clThisAmount = dataCd83CloseVo.thisAmount;
+ poLast.clThisMoney = dataCd83CloseVo.thisMoney;
+ poLast.clThisTime = dataCd83CloseVo.thisTime;
+ poLast.clOpenDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt);
+ poLast.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt) ;
+
+ if(poHistory != null){
+ poHistory.controllerId = controller==null?null:controller.getId();
+ poHistory.intakeId = controller==null?null:controller.getIntakeId();
+
+ poHistory.clDt = poLast.clDt;
+ poHistory.clType = dataCd83CloseVo.type;
+ poHistory.clTotalAmount = dataCd83CloseVo.totalAmount;
+ poHistory.clIcCardNo = dataCd83CloseVo.icCardNo;
+ poHistory.clIcCardAddr = dataCd83CloseVo.icCardAddr;
+ poHistory.clRemainMoney = dataCd83CloseVo.remainMoney;
+ poHistory.clThisAmount = dataCd83CloseVo.thisAmount;
+ poHistory.clThisMoney = dataCd83CloseVo.thisMoney;
+ poHistory.clThisTime = dataCd83CloseVo.thisTime;
+ poHistory.clOpenDt = poLast.clOpenDt;
+ poHistory.closeDt = poLast.closeDt ;
+ }
+
+ if(clearOpenValve){
+ poLast.opDt = null ;
+ poLast.opType = null ;
+ poLast.opTotalAmount = null ;
+ poLast.opIcCardNo = null ;
+ poLast.opIcCardAddr = null ;
+ poLast.opRemainMoney = null ;
+ poLast.openDt = null ;
+
+ if(poHistory != null) {
+ poHistory.opDt = null ;
+ poHistory.opType = null ;
+ poHistory.opTotalAmount = null ;
+ poHistory.opIcCardNo = null ;
+ poHistory.opIcCardAddr = null ;
+ poHistory.opRemainMoney = null ;
+ poHistory.openDt = null ;
+ }
+ }
}
}
--
Gitblit v1.8.0