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.CoAbnormalCloseValve; 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> steal(QoSteal qo) throws Exception { if(qo.fromDt != null && qo.fromDt != "") { qo.fromDate = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(qo.fromDt + " 00:00:00") ; } Map params = (Map) PojoUtils.generalize(qo) ; Long itemTotal = Optional.ofNullable(this.dao.selectStealTotal(params)).orElse(0L); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); List 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> abnormalCloseValve(QoAbnormalCloseValve qo) throws Exception { if(qo.atDt != null && qo.atDt != "") { 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 params = (Map) PojoUtils.generalize(qo) ; Long itemTotal = Optional.ofNullable(this.dao.selectAbnormalCloseValveTotal(params)).orElse(0L); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); List list = this.dao.selectAbnormalCloseValveSome(params) ; if (list != null && list.size() > 0) { for (CoAbnormalCloseValve vo : list) { vo.openType = CommonV1.openCloseValveType(vo.opType) ; vo.closeType = CommonV1.openCloseValveType(vo.clType) ; } } rsVo.obj = list; return rsVo ; } }