package com.zteits.park.dao.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xiaoleilu.hutool.date.DateUtil; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.park.dto.eqponlinerate.EqpOnlineRateStatisticTotalDTO; import com.zteits.clouds.api.dto.park.param.eqponlinerate.EqpOnlineRateReq; import com.zteits.park.dao.EqpOnlineRateDao; import com.zteits.park.domain.*; import com.zteits.park.mapper.EqpOnlineRateStatisticDayMapper; import com.zteits.park.mapper.EqpOnlineRateStatisticMonthMapper; import com.zteits.park.mapper.EqpOnlineRateStatisticWeekMapper; import com.zteits.park.mapper.smapper.EqpOnlineRateStatisticSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; /** * Copyright: Copyright (c) 2018 zteits * * @Description: * @version: v1.0.0 * @author: xiejianpeng * @date: 2018/5/17 20 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2018/5/17 xiejianpeng v1.0.0 创建 */ @Component public class EqpOnlineRateDaoImpl implements EqpOnlineRateDao { @Autowired private EqpOnlineRateStatisticDayMapper eqpOnlineRateStatisticDayMapper; @Autowired private EqpOnlineRateStatisticMonthMapper eqpOnlineRateStatisticMonthMapper; @Autowired private EqpOnlineRateStatisticWeekMapper eqpOnlineRateStatisticWeekMapper; @Autowired private EqpOnlineRateStatisticSMapper eqpOnlineRateStatisticSMapper; @Override public Integer deleteEqpOnlineRateForDay(String plNo, Date startDate) { startDate = DateUtil.beginOfDay(startDate); EqpOnlineRateStatisticDayExample example = new EqpOnlineRateStatisticDayExample(); example.createCriteria().andPlNoEqualTo(plNo).andStaticDateEqualTo(startDate); return eqpOnlineRateStatisticDayMapper.deleteByExample(example); } @Override public Integer saveEqpOnlineRateForDay(EqpOnlineRateStatisticDay eqpOnlineRateStatisticDay) { return eqpOnlineRateStatisticDayMapper.insertSelective(eqpOnlineRateStatisticDay); } @Override public Integer saveEqpOnlineRateForMonth(EqpOnlineRateStatisticMonth eqpOnlineRateStatistic) { return eqpOnlineRateStatisticMonthMapper.insertSelective(eqpOnlineRateStatistic); } @Override public Integer saveEqpOnlineRateForWeek(EqpOnlineRateStatisticWeek eqpOnlineRateStatistic) { return eqpOnlineRateStatisticWeekMapper.insertSelective(eqpOnlineRateStatistic); } @Override public Integer deleteEqpOnlineRateForWeek(String plNo, Date startDate) { startDate = DateUtil.beginOfDay(startDate); EqpOnlineRateStatisticWeekExample example = new EqpOnlineRateStatisticWeekExample(); example.createCriteria().andPlNoEqualTo(plNo).andStaticDateEqualTo(startDate); return eqpOnlineRateStatisticWeekMapper.deleteByExample(example); } @Override public Integer deleteEqpOnlineRateForMonth(String plNo, Date startDate) { startDate = DateUtil.beginOfDay(startDate); EqpOnlineRateStatisticMonthExample example = new EqpOnlineRateStatisticMonthExample(); example.createCriteria().andPlNoEqualTo(plNo).andStaticDateEqualTo(startDate); return eqpOnlineRateStatisticMonthMapper.deleteByExample(example); } @Override public PageInfo queryEqpOnlineRateForkDay(EqpOnlineRateReq request) { PageHelper.startPage(request.getBaseRequest().getPageNum(),request.getBaseRequest().getPageSize()); EqpOnlineRateStatisticDayExample example = new EqpOnlineRateStatisticDayExample(); example.createCriteria().andStaticDateBetween(request.getBeginTime(), request.getEndTime()) .andPlTypeEqualTo(1) .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andPlNoIn(request.getPlNos()); example.setOrderByClause("convert(pl_name USING gbk) asc"); List list = eqpOnlineRateStatisticDayMapper.selectByExample(example); return new PageInfo<>(list); } @Override public PageInfo queryEqpOnlineRateForkWeek(EqpOnlineRateReq request) { PageHelper.startPage(request.getBaseRequest().getPageNum(),request.getBaseRequest().getPageSize()); EqpOnlineRateStatisticWeekExample example = new EqpOnlineRateStatisticWeekExample(); example.createCriteria().andStaticDateBetween(request.getBeginTime(), request.getEndTime()) .andPlTypeEqualTo(1) .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andPlNoIn(request.getPlNos()); example.setOrderByClause("convert(pl_name USING gbk) asc"); List list = eqpOnlineRateStatisticWeekMapper.selectByExample(example); return new PageInfo<>(list); } @Override public PageInfo queryEqpOnlineRateForkMonth(EqpOnlineRateReq request) { PageHelper.startPage(request.getBaseRequest().getPageNum(),request.getBaseRequest().getPageSize()); EqpOnlineRateStatisticMonthExample example = new EqpOnlineRateStatisticMonthExample(); example.createCriteria().andStaticDateBetween(request.getBeginTime(), request.getEndTime()) .andPlTypeEqualTo(1) .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andPlNoIn(request.getPlNos()); example.setOrderByClause("convert(pl_name USING gbk) asc"); List list=eqpOnlineRateStatisticMonthMapper.selectByExample(example); return new PageInfo<>(list); } @Override public EqpOnlineRateStatisticTotalDTO queryEqpOnlineRateTotalForDay(EqpOnlineRateReq request) { return eqpOnlineRateStatisticSMapper.queryEqpOnlineRateTotalForDay(request); } @Override public EqpOnlineRateStatisticTotalDTO queryEqpOnlineRateTotalForMonth(EqpOnlineRateReq request) { return eqpOnlineRateStatisticSMapper.queryEqpOnlineRateTotalForMonth(request); } @Override public EqpOnlineRateStatisticTotalDTO queryEqpOnlineRateTotalForWeek(EqpOnlineRateReq request) { return eqpOnlineRateStatisticSMapper.queryEqpOnlineRateTotalForWeek(request); } }