wuzeyu
2024-12-13 e2a6779e69ca96a6d538d415613c8c09963ab659
Merge remote-tracking branch 'origin/master'
1个文件已修改
57 ■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java
@@ -221,7 +221,7 @@
        lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);
        lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
        lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        //lastPo.amount = lastPo.amount ; //日累计取水量不变
        //lastPo.amount = lastPo.amount ; //日累计取水量保持不变,
        lastPo.totalAmountLast = cdData.totalAmount ;
        return lastPo ;
    }
@@ -242,17 +242,29 @@
        //lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);//日期没变
        lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
        lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        Double added = cdData.totalAmount - lastPo.totalAmountLast ;
        if(added > 0){
            if(lastPo.amount == null){
                lastPo.amount = added ;
            }else{
                lastPo.amount += added ;
            }
        if(cdData.totalAmount == 0.0F){
            //发现阀控器一个bug,经常上报累计流量为0,推测是阀控器未能从水表采集到数据时会上报0值
            //这种情况数据不做处理
            //如果水表初安装,未进行过任务取水,那么累计流量会是0,这种情况当bug处理也无防
            //上面时标作了更新,也正常,相当于本次上报的累计流量与上次上报的累计流量数值相等
            //lastPo.totalAmountLast = lastPo.totalAmountLast ;
            //lastPo.amount = lastPo.amount; //本日的日累计水量保持不变
        }else{
            //po.amount = po.amount ; //日累计取水量不变
            Double added = cdData.totalAmount - lastPo.totalAmountLast ;
            if(added > 0){
                if(lastPo.amount == null){
                    lastPo.amount = added ;
                }else{
                    lastPo.amount += added ;
                }
            }else{
                //可能是更换水表了,新表底值对原表底值小。
                //本次置量值不变,下次再上报时,就能正常计算了。
                //lastPo.amount = lastPo.amount ; //日累计取水量不变
            }
            lastPo.totalAmountLast = cdData.totalAmount ;
        }
        lastPo.totalAmountLast = cdData.totalAmount ;
        return lastPo ;
    }
@@ -272,14 +284,27 @@
        lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);//日期变了
        lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
        lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        Double added = cdData.totalAmount - lastPo.totalAmountLast ;
        if(added > 0){
            //新的一天的处理方式与同一天的处理方式不一样
            lastPo.amount = added;
        if(cdData.totalAmount == 0.0F){
            //发现阀控器一个bug,经常上报累计流量为0,推测是阀控器未能从水表采集到数据时会上报0值
            //这种情况数据不做处理
            //如果水表初安装,未进行过任务取水,那么累计流量会是0,这种情况当bug处理也无防
            //上面时标作了更新,也正常,相当于本次上报的累计流量与上次上报的累计流量数值相等
            //lastPo.totalAmountLast = lastPo.totalAmountLast ;
            lastPo.amount = 0.0D; //新的一天的日累计水量置0
        }else{
            lastPo.amount = 0.0D; //日累计水量归0
            Double added = cdData.totalAmount - lastPo.totalAmountLast ;
            if(added > 0){
                //新的一天的处理方式与同一天的处理方式不一样
                lastPo.amount = added;
            }else{
                //可能是更换水表了,新表底值比原表底值小。
                //本次置0,下次再上报时,就能正常计算了。
                lastPo.amount = 0.0D; //日累计水量归0
            }
            lastPo.totalAmountLast = cdData.totalAmount ;
        }
        lastPo.totalAmountLast = cdData.totalAmount ;
        return lastPo ;
    }