package com.dy.pipIrrStatistics.special; 
 | 
  
 | 
import com.dy.common.mw.protocol.p206V1.CommonV1; 
 | 
import com.dy.common.util.DateTime; 
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pipIrrGlobal.daoSpecial.SpecialMapper; 
 | 
import com.dy.pipIrrGlobal.voSpecial.VoAbnormalCloseValve; 
 | 
import com.dy.pipIrrGlobal.voSpecial.VoSteal; 
 | 
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; 
 | 
import java.util.Optional; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2025/2/7 13:52 
 | 
 * @Description 专题统计服务 
 | 
 */ 
 | 
@Slf4j 
 | 
@Service 
 | 
public class SpecialSv { 
 | 
    private SpecialMapper dao ; 
 | 
  
 | 
    @Autowired 
 | 
    private void setDao(SpecialMapper dao){ 
 | 
        this.dao = dao; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 涉嫌偷水统计 
 | 
     * @param qo 查询参数 
 | 
     * @return 数据集合 
 | 
     */ 
 | 
    public QueryResultVo<List<VoSteal>> steal(QoSteal qo) throws Exception { 
 | 
        if(qo.fromDt != null && !qo.fromDt.trim().equals("")) { 
 | 
            qo.fromDate = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.fromDt + " 00:00:00") ; 
 | 
        } 
 | 
  
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; 
 | 
  
 | 
        Long itemTotal = Optional.ofNullable(this.dao.selectStealTotal(params)).orElse(0L); 
 | 
  
 | 
        QueryResultVo<List<VoSteal>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
  
 | 
        List<VoSteal> list = this.dao.selectStealSome(params) ; 
 | 
        if (list != null && list.size() > 0) { 
 | 
            for (VoSteal vo : list) { 
 | 
                vo.openType = CommonV1.openCloseValveType(vo.opType) ; 
 | 
                vo.closeType = CommonV1.openCloseValveType(vo.clType) ; 
 | 
            } 
 | 
        } 
 | 
        rsVo.obj = list; 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 异常关阀统计 
 | 
     * @param qo 查询参数 
 | 
     * @return 数据集合 
 | 
     */ 
 | 
    public QueryResultVo<List<VoAbnormalCloseValve>> abnormalCloseValve(QoAbnormalCloseValve qo) throws Exception { 
 | 
        if(qo.atDt != null && !qo.atDt.trim().equals("")) { 
 | 
            qo.atDateStart = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.atDt + " 00:00:00") ; 
 | 
            qo.atDateEnd = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.atDt + " 23:59:59") ; 
 | 
        } 
 | 
  
 | 
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; 
 | 
  
 | 
        Long itemTotal = Optional.ofNullable(this.dao.selectAbnormalCloseValveTotal(params)).orElse(0L); 
 | 
  
 | 
        QueryResultVo<List<VoAbnormalCloseValve>> rsVo = new QueryResultVo<>() ; 
 | 
        rsVo.pageSize = qo.pageSize ; 
 | 
        rsVo.pageCurr = qo.pageCurr ; 
 | 
        rsVo.calculateAndSet(itemTotal, params); 
 | 
  
 | 
        List<VoAbnormalCloseValve> list = this.dao.selectAbnormalCloseValveSome(params) ; 
 | 
        if (list != null && list.size() > 0) { 
 | 
            for (VoAbnormalCloseValve vo : list) { 
 | 
                vo.openType = CommonV1.openCloseValveType(vo.opType) ; 
 | 
                vo.closeType = CommonV1.openCloseValveType(vo.clType) ; 
 | 
            } 
 | 
        } 
 | 
        rsVo.obj = list; 
 | 
        return rsVo ; 
 | 
    } 
 | 
  
 | 
} 
 |