package com.dy.pipIrrRemote.mqttSd1.soil; 
 | 
  
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pipIrrGlobal.daoRm.RmSoilDayMapper; 
 | 
import com.dy.pipIrrGlobal.daoRm.RmSoilHistoryMapper; 
 | 
import com.dy.pipIrrGlobal.daoRm.RmSoilLastMapper; 
 | 
import com.dy.pipIrrGlobal.voRm.VoSoil; 
 | 
import com.dy.pipIrrGlobal.voRm.VoSoilDay; 
 | 
import com.dy.pipIrrRemote.mqttSd1.soil.SoilQo; 
 | 
import lombok.RequiredArgsConstructor; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.dubbo.common.utils.PojoUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2025/6/26 09:31 
 | 
 * @Description 
 | 
 */ 
 | 
@Slf4j 
 | 
@Service("rmSoilSv") 
 | 
@RequiredArgsConstructor 
 | 
public class SoilSv { 
 | 
  
 | 
    @Autowired 
 | 
    private RmSoilDayMapper rmSoilDayDao ; 
 | 
    @Autowired 
 | 
    private RmSoilHistoryMapper rmSoilHistoryDao ; 
 | 
    @Autowired 
 | 
    private RmSoilLastMapper rmSoilLastDao ; 
 | 
  
 | 
    public VoSoilDay oneDay(Long soilId, Integer yyyyMMdd) { 
 | 
        List<VoSoilDay> list = this.rmSoilDayDao.selectOneBySoilId(soilId, yyyyMMdd) ; 
 | 
        if(list != null && list.size() > 0) { 
 | 
            return list.get(0) ; 
 | 
        } 
 | 
        return null ; 
 | 
    } 
 | 
  
 | 
    public List<VoSoilDay> oneDayByMonth(Long soilId, Integer yyyyMMddStart, Integer yyyyMMddEnd) { 
 | 
        return this.rmSoilDayDao.selectOneMonthBySoilId(soilId, yyyyMMddStart, yyyyMMddEnd) ; 
 | 
    } 
 | 
  
 | 
  
 | 
    public QueryResultVo<List<VoSoilDay>> someDay(SoilQo qo) { 
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); 
 | 
        Long itemTotal = rmSoilDayDao.selectCount(params); 
 | 
  
 | 
        QueryResultVo<List<VoSoilDay>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = rmSoilDayDao.selectSome(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    public VoSoil oneLast(Long soilId) { 
 | 
        List<VoSoil> list = this.rmSoilLastDao.selectSomeBySoilId(soilId) ; 
 | 
        if(list != null && list.size() > 0) { 
 | 
            return list.get(0) ; 
 | 
        } 
 | 
        return null ; 
 | 
    } 
 | 
  
 | 
    public QueryResultVo<List<VoSoil>> oneHistory(SoilQo qo) { 
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); 
 | 
        Long itemTotal = rmSoilHistoryDao.selectCount(params); 
 | 
  
 | 
        QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = rmSoilHistoryDao.selectSome(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件查询最新记录 
 | 
     * @param qo 
 | 
     * @return 
 | 
     */ 
 | 
    public QueryResultVo<List<VoSoil>> someLast(SoilQo qo) { 
 | 
        qo.completionTime(); 
 | 
  
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); 
 | 
        Long itemTotal = rmSoilLastDao.selectCount(params); 
 | 
  
 | 
        QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = rmSoilLastDao.selectSome(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件查询历史记录 
 | 
     * @param qo 
 | 
     * @return 
 | 
     */ 
 | 
    public QueryResultVo<List<VoSoil>> someHistory(SoilQo qo) { 
 | 
        qo.completionTime(); 
 | 
  
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); 
 | 
        Long itemTotal = rmSoilHistoryDao.selectCount(params); 
 | 
  
 | 
        QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
  
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
        rsVo.obj = rmSoilHistoryDao.selectSome(params); 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
} 
 |