liurunyu
2024-12-14 ecc8ce7c34da0c45bf8bd2276801cfbd94af8dca
pipIrr-web-temp增加数据事务和增加一些日志信息
1个文件已修改
25 ■■■■ 已修改文件
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java
@@ -7,6 +7,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -43,7 +44,7 @@
                        if(lastAd == null){
                            lastAd = ad ;
                            if(lastAd.amount != null && lastAd.amount > IntakeAmountDayFlag){
                                dao.updateOneIntakeAmountDay(lastAd.id, 0.0);
                                this.doUpdateOneIntakeAmountDay(lastAd.id, 0.0);
                            }
                        }else{
                            if(ad.amount != null && ad.amount > IntakeAmountDayFlag){
@@ -63,14 +64,15 @@
                                        if(ad.dt != null && lastAd.dt != null){
                                            if(DateTime.daysBetweenyyyy_MM_dd(ad.dt, lastAd.dt) == 1){
                                                //只相差一天
                                                ad.amount = 0.0 ;
                                                log.info("出现相差一天但日取水量大于"
                                                        + IntakeAmountDayFlag
                                                        + "的情况,数据id=" + ad.id
                                                        + ",取水口id=" + ad.intakeId
                                                        + ",日期=" + ad.dt
                                                        + ",水量=" + ad.amount
                                                        + ",设置水量=0.0"
                                                        + ",设置前水量= " + ad.amount
                                                );
                                                ad.amount = 0.0 ;
                                            }else{
                                                //已经修改后的数值仍然大于IntakeAmountDayFlag,说明是大日未上报数据而积累下来,可以大于IntakeAmountDayFlag
                                                //ad.amount = ad.amount ;
@@ -79,15 +81,23 @@
                                                        + "的情况,数据id=" + ad.id
                                                        + ",取水口id=" + ad.intakeId
                                                        + ",日期=" + ad.dt
                                                        + ",水量=" + ad.amount
                                                        + ",水量保持不变=" + ad.amount
                                                );
                                            }
                                        }
                                    }
                                }else{
                                    log.info("出现相差多天日取水量大于"
                                            + IntakeAmountDayFlag
                                            + "并且属性totalAmountLast为null的情况,数据id=" + ad.id
                                            + ",取水口id=" + ad.intakeId
                                            + ",日期=" + ad.dt
                                            + ",设置水量=0.0"
                                            + ",设置前水量= " + ad.amount
                                    );
                                    ad.amount = 0.0 ;
                                }
                                dao.updateOneIntakeAmountDay(ad.id, 0.0);
                                this.doUpdateOneIntakeAmountDay(ad.id, 0.0);
                            }
                        }
                    }
@@ -95,4 +105,9 @@
            }
        }
    }
    @Transactional
    int doUpdateOneIntakeAmountDay(Long id, Double amount){
        return dao.updateOneIntakeAmountDay(id, amount);
    }
}