liurunyu
2024-06-28 4fe7ea4fbdc0c45f14d1d8de77e3424f826ba909
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -33,19 +33,17 @@
    @Override
    public void execute(Object data) {
        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.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);
//                }
//            }
        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//前面任务已经判断不为null
        Object cdObj = dV1_0_1.subData;
        if (cdObj != null && cdObj instanceof DataCdC0Vo){
            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, (DataCdC0Vo)cdObj);
            }catch (Exception e){
                log.error("保存遥测站自报实时数据中的漏损数据时发生异常", e);
            }
        }
    }
@@ -91,9 +89,9 @@
                    //新的日期
                    poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo);
                    this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast);
                    sv.saveRmLossLast(poLast);
                    sv.updateRmLossLast(poLast);
                }else{
                    //这种情况不存在(收到数据的日期早于本地记录中的日期,此种情况不会存在)
                    //这种情况不存在(RTU时钟早于本地记录中的RTU时钟(RTU穿越回过去了,可能时钟重置了),此种情况不处理)
                }
            }
        }
@@ -104,17 +102,16 @@
     * @param controller
     * @param rtuAddr
     * @param dV1_0_1
     * @param dataCdC0Vo
     * @param cdData
     * @return
     * @throws Exception
     */
    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
        RmLossLast po = new RmLossLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                rtuAddr,
                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
                dataCdC0Vo.lossAmount) ;
    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossLast po = new RmLossLast() ;
        po.controllerId = controller==null?null:controller.getId();
        po.intakeId = controller==null?null:controller.getIntakeId();
        po.rtuAddr = rtuAddr;
        po.valueFrom(dV1_0_1, cdData) ;
        return po ;
    }
@@ -123,17 +120,16 @@
     * @param controller
     * @param rtuAddr
     * @param dV1_0_1
     * @param dataCdC0Vo
     * @param cdData
     * @return
     * @throws Exception
     */
    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception {
        RmLossHistory po = new RmLossHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                rtuAddr,
                DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt),
                dataCdC0Vo.lossAmount) ;
    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossHistory po = new RmLossHistory() ;
        po.controllerId = controller==null?null:controller.getId();
        po.intakeId = controller==null?null:controller.getIntakeId();
        po.rtuAddr = rtuAddr;
        po.valueFrom(dV1_0_1, cdData);
        return po ;
    }