| 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 ; | 
|     } | 
|   | 
| } |