package com.dy.pipIrrStatistics.statistics; import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper; import com.dy.pipIrrGlobal.daoSt.StIntakeAmountMonthMapper; import com.dy.pipIrrGlobal.daoSt.StIntakeAmountYearMapper; import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth; import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear; import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @Author: liurunyu * @Date: 2024/7/24 16:28 * @Description */ @Component public class StIntakeAmountSv { @Autowired protected RmIntakeAmountDayMapper rmIntakeAmountDayDao; @Autowired protected StIntakeAmountMonthMapper stIntakeAmountMonthDao ; @Autowired protected StIntakeAmountYearMapper stIntakeAmountYearDao ; /** * 月统计---取水口用水量 */ @Transactional protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){ List list = rmIntakeAmountDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ; if(list != null && list.size() > 0){ for(VoIntakeAmountStatistics vo : list){ List listOfMonth = this.stIntakeAmountMonthDao.selectByIntakeIdAndYearAndMonth(vo.intakeId, statisticsYear, statisticsMonth) ; StIntakeAmountMonth po = null ; if(listOfMonth != null && listOfMonth.size() > 0) { //程序逻辑控制上,集合中只有一个对象 po = listOfMonth.get(0); } if(po == null){ po = new StIntakeAmountMonth() ; } po.intakeId = vo.intakeId ; po.year = statisticsYear ; po.month = statisticsMonth ; po.amount = vo.amount; if(po.id == null) { stIntakeAmountMonthDao.insert(po); }else{ stIntakeAmountMonthDao.updateByPrimaryKey(po) ; } } } } /** * 年统计---取水口用水量 */ @Transactional protected void statisticsYear(Integer statisticsYear){ List list = stIntakeAmountMonthDao.statisticsByIntake(statisticsYear) ; if(list != null && list.size() > 0){ for(VoIntakeAmountStatistics vo : list){ List listOfYear = stIntakeAmountYearDao.selectByIntakeIdAndYear(vo.intakeId, statisticsYear) ; StIntakeAmountYear po = null ; if(listOfYear != null && listOfYear.size() > 0) { //程序逻辑控制上,集合中只有一个对象 po = listOfYear.get(0); } if(po == null){ po = new StIntakeAmountYear() ; } po.intakeId = vo.intakeId ; po.year = statisticsYear ; po.amount = vo.amount; if(po.id == null){ stIntakeAmountYearDao.insert(po) ; }else{ stIntakeAmountYearDao.updateByPrimaryKey(po) ; } } } } }