From 4efe2fcc15ec73184dac380df0385de60217fa48 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 18 十月 2024 16:37:34 +0800
Subject: [PATCH] 2024-10-18 朱宝民 待关阀列表
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java | 162 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 129 insertions(+), 33 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
index 6638d2e..42471f3 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -8,6 +8,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveLast;
+import com.dy.pipIrrGlobal.pojoSe.SeClient;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import org.apache.logging.log4j.LogManager;
@@ -41,8 +42,9 @@
Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
DbSv sv = (DbSv)objs[0] ;
PrController controller = (PrController)objs[1] ;
+ SeClient clientVo = (SeClient)objs[3] ;//杩欎釜鍊煎璞′腑鍙湁id鍜宯ame浼氭湁鍊�
try{
- this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83CloseVo)cdObj) ;
+ this.doDeal(sv, clientVo, controller, d.getRtuAddr(), dV1_0_1, (DataCd83CloseVo)cdObj) ;
}catch (Exception e){
log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
}
@@ -52,66 +54,124 @@
/**
* 淇濆瓨鏁版嵁
* @param sv 鏈嶅姟
+ * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級
+ * @param clientVo 鍐滄埛瀵硅薄
* @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) ;
+ private void doDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo) throws Exception {
+ RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(controller.getIntakeId()) ;
if(poLast == null){
//鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
//棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
- poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83CloseVo);
- this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ poLast = this.newRmOpenCloseValveLast(clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo);
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
//淇濆瓨鏈�鏂版暟鎹�
sv.saveRmOpenCloseValveLast(poLast);
}else{
+ //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
+ if(poLast.closeDt != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){
+ if(poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))
+ && poLast.clIcCardAddr.equals(dataCd83CloseVo.icCardAddr)
+ && poLast.clIcCardNo.equals(dataCd83CloseVo.icCardNo)){
+ //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
+ return ;
+ }
+ }
if(poLast.clType == null){
//鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�
- if(poLast.opType == null){
- //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁锛屾病鍔炴硶杩涜鍖归厤
+ if(poLast.opType == null || poLast.openDt == null){
+ //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁(鍗冲紑闃�涓庡叧闃�鏁版嵁閮芥病鏈夛紝杩欑鎯呭喌涓�鑸笉瀛樺湪)锛屾病鍔炴硶杩涜鍖归厤
//鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
- this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
}else{
//鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰�
RmOpenCloseValveHistory poHistory = null ;
if(poLast.lastHistoryId != null){
poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
if(poHistory != null){
- //褰撳墠鍏抽榾涓婃姤鏄柊鐨勪竴娆″叧闃�锛屼繚鐣欏師璁板綍涓殑寮�闃�鏁版嵁
- this.updateCloseValve(controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
- sv.updateRmOpenCloseValveHistory(poHistory);
+ if(poHistory.openDt != null){
+ //涓婇潰宸茬粡鍒ゆ柇浜唒oLast.openDt == null锛屾墍浠ユ澶勪竴鑸細鏄痯oHistory.openDt != null
+ if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){
+ //鍖归厤鎴愬姛
+ //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃�
+ this.updateCloseValve(clientVo, controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
+ sv.updateRmOpenCloseValveHistory(poHistory);
+ }else if(poHistory.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){
+ //鍖归厤澶辫触(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+ //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏅氫簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸琛ユ姤
+ this.dealSupplyReport() ;
+ }else{
+ //鍖归厤澶辫触
+ //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏃╀簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
+ }
+ }else{
+ //杩欑鎯呭喌涓嶅瓨鍦紝璁や负鍖归厤澶辫触
+ //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
+ }
}else{
- //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
- this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ //娌℃湁鍘嗗彶鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛岃涓哄尮閰嶅け璐ワ紝鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
}
}else{
- //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
- this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ //娌℃湁鍘嗗彶鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛岃涓哄尮閰嶅け璐ワ紝鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
}
}
}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))){
+ if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){
//閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
+ }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){
+ //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+ this.dealSupplyReport() ;
}else {
- //褰撳墠涓婃姤鐨勫叧闃�鏁版嵁鏅氫簬鍘熸潵鐨勫叧闃�鏁版嵁锛屾槸鏂扮殑涓婃姤鍏抽榾鏁版嵁
- this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
- this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+ //鏄柊鐨勪笂鎶ュ叧闃�鏁版嵁
+ //杩涜鍘嗗彶鏁版嵁鍖归厤
+ RmOpenCloseValveHistory poHistory = null ;
+ if(poLast.lastHistoryId != null) {
+ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId);
+ if (poHistory != null) {
+ if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){
+ //鍖归厤涓婁簡
+ this.updateCloseValve(clientVo, controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
+ sv.updateRmOpenCloseValveHistory(poHistory);
+ }else{
+ //涓婁釜鍏抽榾鎶ユ湭涓婃姤
+ this.updateCloseValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83CloseVo, true) ;
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
+ }
+ }else{
+ //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤
+ this.updateCloseValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83CloseVo, true) ;
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
+ }
+ }else{
+ //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤
+ this.updateCloseValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83CloseVo, true) ;
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
+ }
}
}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);
+ //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊锛屼篃璁や负涓婁釜鍏抽榾鎶ユ湭涓婃姤
+ this.updateCloseValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83CloseVo, true) ;
+ //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屾病鏈夊搴旂殑寮�鍙戞暟鎹�
+ this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
}
sv.updateRmOpenCloseValveLast(poLast);
}
+ }
+
+ /**
+ * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫
+ */
+ private void dealSupplyReport(){
}
/**
@@ -122,17 +182,29 @@
* @param dV1_0_1
* @param dataCd83CloseVo
* @param poLast
+ * @param clearLastOpenValue
* @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) ;
+ private void newHistoryDataDeal(DbSv sv,
+ SeClient clientVo,
+ PrController controller,
+ String rtuAddr,
+ DataV1_0_1 dV1_0_1,
+ DataCd83CloseVo dataCd83CloseVo,
+ RmOpenCloseValveLast poLast,
+ Boolean clearLastOpenValue)throws Exception {
+ RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(clientVo, controller, rtuAddr, dV1_0_1, dataCd83CloseVo) ;
sv.saveRmOpenCloseValveHistory(poHistory);
//鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
+ if(clearLastOpenValue != null && clearLastOpenValue.booleanValue()){
+ poLast.clearOpenValue();
+ }
}
/**
* 鐢熸垚鏂扮殑鍏抽榾涓婃姤鏈�鏂版暟鎹褰�
+ * @param clientVo
* @param controller
* @param rtuAddr
* @param dV1_0_1
@@ -140,8 +212,14 @@
* @return
* @throws Exception
*/
- private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+ private RmOpenCloseValveLast newRmOpenCloseValveLast(SeClient clientVo,
+ PrController controller,
+ String rtuAddr,
+ DataV1_0_1 dV1_0_1,
+ DataCd83CloseVo dataCd83CloseVo)throws Exception {
RmOpenCloseValveLast po = new RmOpenCloseValveLast() ;
+ po.clientId = clientVo==null?null:clientVo.getId() ;
+ po.clientName = clientVo==null?null:clientVo.getName() ;
po.controllerId = controller==null?null:controller.getId() ;
po.intakeId = controller==null?null:controller.getIntakeId() ;
po.rtuAddr = rtuAddr ;
@@ -152,6 +230,7 @@
/**
* 鐢熸垚鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+ * @param clientVo
* @param controller
* @param rtuAddr
* @param dV1_0_1
@@ -159,8 +238,14 @@
* @return
* @throws Exception
*/
- private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+ private RmOpenCloseValveHistory newRmOpenCloseValveHistory(SeClient clientVo,
+ PrController controller,
+ String rtuAddr,
+ DataV1_0_1 dV1_0_1,
+ DataCd83CloseVo dataCd83CloseVo)throws Exception {
RmOpenCloseValveHistory po = new RmOpenCloseValveHistory() ;
+ po.clientId = clientVo==null?null:clientVo.getId() ;
+ po.clientName = clientVo==null?null:clientVo.getName() ;
po.controllerId = controller==null?null:controller.getId() ;
po.intakeId = controller==null?null:controller.getIntakeId() ;
po.rtuAddr = rtuAddr ;
@@ -171,25 +256,36 @@
/**
* 鏇存柊鏁版嵁
+ * @param clientVo
* @param controller
* @param poLast
* @param poHistory
* @param dV1_0_1
* @param dataCd83CloseVo
- * @param clearOpenValve
+ * @param clearLastOpenValue
* @throws Exception
*/
- private void updateCloseValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, boolean clearOpenValve) throws Exception {
+ private void updateCloseValve(SeClient clientVo,
+ PrController controller,
+ RmOpenCloseValveLast poLast,
+ RmOpenCloseValveHistory poHistory,
+ DataV1_0_1 dV1_0_1,
+ DataCd83CloseVo dataCd83CloseVo,
+ boolean clearLastOpenValue) throws Exception {
+ poLast.clientId = clientVo==null?null:clientVo.getId() ;
+ poLast.clientName = clientVo==null?null:clientVo.getName() ;
poLast.controllerId = controller==null?null:controller.getId();
poLast.intakeId = controller==null?null:controller.getIntakeId();
- poLast.updateFrom(dV1_0_1, dataCd83CloseVo, clearOpenValve);
+ poLast.updateFrom(dV1_0_1, dataCd83CloseVo, clearLastOpenValue);
if(poHistory != null){
+ poHistory.clientId = clientVo==null?null:clientVo.getId() ;
+ poHistory.clientName = clientVo==null?null:clientVo.getName() ;
poHistory.controllerId = controller==null?null:controller.getId();
poHistory.intakeId = controller==null?null:controller.getIntakeId();
- poHistory.updateFrom(dV1_0_1, dataCd83CloseVo, clearOpenValve);
+ poHistory.updateFrom(dV1_0_1, dataCd83CloseVo, false);
}
}
--
Gitblit v1.8.0