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 StIntakeSv {
|
|
@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<VoIntakeAmountStatistics> list = rmIntakeAmountDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ;
|
if(list != null && list.size() > 0){
|
for(VoIntakeAmountStatistics vo : list){
|
List<StIntakeAmountMonth> 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<VoIntakeAmountStatistics> list = stIntakeAmountMonthDao.statisticsByIntake(statisticsYear) ;
|
if(list != null && list.size() > 0){
|
for(VoIntakeAmountStatistics vo : list){
|
List<StIntakeAmountYear> 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) ;
|
}
|
}
|
}
|
}
|
|
}
|