|  |  | 
 |  |  |                         poLast = this.updateRmIntakeAmountLastByControllerChange(poLast, controller, rtuAddr, dV1_0_1, dataVo); | 
 |  |  |                         this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast); | 
 |  |  |                     } | 
 |  |  |                     sv.saveRmIntakeAmountLast(poLast); | 
 |  |  |                 }else{ | 
 |  |  |                     //未更换控制器 | 
 |  |  |                     if(DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt).equals(poLast.dt)){ | 
 |  |  | 
 |  |  |                             poHistory = this.updateRmIntakeAmountBySameDateNewData(poHistory, poLast, controller, rtuAddr, dV1_0_1, dataVo); | 
 |  |  |                             sv.updateRmIntakeAmountDay(poHistory); | 
 |  |  |                         } | 
 |  |  |                         sv.saveRmIntakeAmountLast(poLast); | 
 |  |  |                     }else if(DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt).after(poLast.dt)){ | 
 |  |  |                         //新的日期 | 
 |  |  |                         poLast = this.updateRmIntakeAmountLastByNewDateNewData(poLast, controller, rtuAddr, dV1_0_1, dataVo); | 
 |  |  |                         this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast); | 
 |  |  |                         sv.saveRmIntakeAmountLast(poLast); | 
 |  |  |                     }else{ | 
 |  |  |                         //这种情况不存在 | 
 |  |  |                     } | 
 |  |  | 
 |  |  |         //lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt);//日期没变 | 
 |  |  |         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
 |  |  |         lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); | 
 |  |  |         Double difference = cdData.totalAmount - lastPo.totalAmountLast ; | 
 |  |  |         if(difference > 0){ | 
 |  |  |             lastPo.amount = difference; | 
 |  |  |         Double added = cdData.totalAmount - lastPo.totalAmountLast ; | 
 |  |  |         if(added > 0){ | 
 |  |  |             if(lastPo.amount == null){ | 
 |  |  |                 lastPo.amount = added ; | 
 |  |  |             }else{ | 
 |  |  |                 lastPo.amount += added ; | 
 |  |  |             } | 
 |  |  |         }else{ | 
 |  |  |             //po.amount = po.amount ; //日累计取水量不变 | 
 |  |  |         } | 
 |  |  | 
 |  |  |         lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt);//日期变了 | 
 |  |  |         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); | 
 |  |  |         lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); | 
 |  |  |         Double difference = cdData.totalAmount - lastPo.totalAmountLast ; | 
 |  |  |         if(difference > 0){ | 
 |  |  |             lastPo.amount = difference; | 
 |  |  |         Double added = cdData.totalAmount - lastPo.totalAmountLast ; | 
 |  |  |         if(added > 0){ | 
 |  |  |             //新的一天的处理方式与同一天的处理方式不一样 | 
 |  |  |             lastPo.amount = added; | 
 |  |  |         }else{ | 
 |  |  |             lastPo.amount = 0.0D; //日累计水量归0 | 
 |  |  |         } | 
 |  |  | 
 |  |  |         po.dtLast = lastPo.dtLast; | 
 |  |  |         po.rtuDtLast = lastPo.rtuDtLast; | 
 |  |  |  | 
 |  |  |         po.amount = lastPo.amount ; | 
 |  |  |         po.amount = lastPo.amount ;//此时lastPo.amount已经增加上了增量 | 
 |  |  |         po.totalAmountLast = lastPo.totalAmountLast ; | 
 |  |  |  | 
 |  |  |         return po ; |