| | |
| | | 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 ; |
| | | } |
| | |
| | | //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 ; |
| | | } |
| | | |
| | |
| | | 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 ; |
| | | } |
| | | |