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