Administrator
2024-05-20 ba262a5e8ce59bcf661a40ce33bba60e4a0a2400
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -36,16 +36,16 @@
        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.dataCdC0Vo != 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.dataCdC0Vo);
                } catch (Exception e) {
                    log.error("保存控制器开阀上报时发生异常", e);
                }
            }
//            if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != 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.dataCdC0Vo);
//                } catch (Exception e) {
//                    log.error("保存控制器开阀上报时发生异常", e);
//                }
//            }
        }
    }
@@ -60,7 +60,8 @@
    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
        RmLossLast poLast = sv.getRmLossLast(rtuAddr);
        if (poLast == null) {
            //首先生成历史数据,并保存
            //数据库中不存在该控制器的漏损数据
            //首先生成最新数据及历史数据,并先保存
            poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo);
            this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
            sv.saveRmLossLast(poLast);
@@ -77,12 +78,12 @@
                }
                if(DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt).equals(poLast.dt)){
                    //同一天数据
                    poLast.lossAmount = (poLast.lossAmount == null?0.0:poLast.lossAmount) + (dataCdC0Vo.lossAmount == null?0.0:dataCdC0Vo.lossAmount) ;
                    poLast.lossAmount = dataCdC0Vo.lossAmount ;
                    poLast.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ;
                    poLast.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ;
                    sv.updateRmLossLast(poLast);
                    poHistory.lossAmount = (poLast.lossAmount == null?0.0:poLast.lossAmount) + (dataCdC0Vo.lossAmount == null?0.0:dataCdC0Vo.lossAmount) ;
                    poHistory.lossAmount = dataCdC0Vo.lossAmount ;
                    poHistory.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ;
                    poHistory.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ;
                    sv.updateRmLossHistory(poHistory);