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