package com.dy.pipIrrRemote.report; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoRm.*; import com.dy.pipIrrGlobal.voRm.VoOnHour; import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve; import com.dy.pipIrrGlobal.voRm.VoTiming; import com.dy.pipIrrGlobal.voRm.VoWork; import com.dy.pipIrrRemote.report.qo.OnHourQO; import com.dy.pipIrrRemote.report.qo.OpenCloseValveQO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.stereotype.Service; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Map; /** * @author ZhuBaoMin * @date 2024-07-23 16:02 * @LastEditTime 2024-07-23 16:02 * @Description 各类数据报服务类 */ @Slf4j @Service @RequiredArgsConstructor public class ReportSv { // 阀控器整点报DAO private final RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper; private final RmOnHourReportLastMapper rmOnHourReportLastMapper; // 阀控器开关阀报DAO private final RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper; private final RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper; // 阀控器定时报DAO private final RmTimingReportHistoryMapper rmTimingReportHistoryMapper; private final RmTimingReportLastMapper rmTimingReportLastMapper; // 工作报DAO private final RmWorkReportHistoryMapper rmWorkReportHistoryMapper; private final RmWorkReportLastMapper rmWorkReportLastMapper; /** * 根据指定条件获取整点报历史记录 * @param qo * @return */ public QueryResultVo> getOnHourReportsHistory(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmOnHourReportHistoryMapper.getOnHourReportsCount_history(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmOnHourReportHistoryMapper.getOnHourReports_history(params); return rsVo ; } /** * 根据指定条件获取整点报最新记录 * @param qo * @return */ public QueryResultVo> getOnHourReportsLast(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmOnHourReportLastMapper.getOnHourReportsCount_last(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmOnHourReportLastMapper.getOnHourReports_last(params); return rsVo ; } /** * 根据指定条件获取开关阀报历史记录 * @param qo * @return */ public QueryResultVo> getOpenCloseValveReports_history(OpenCloseValveQO qo) { String timeStart_open = qo.getTimeStart_open(); String timeStop_open = qo.getTimeStop_open(); if(timeStart_open != null && timeStart_open != "") { timeStart_open = timeStart_open + " 00:00:00"; } else { timeStart_open = LocalDate.now() + " 00:00:00"; } qo.setTimeStop_open(timeStart_open); if(timeStop_open != null && timeStop_open != "") { timeStop_open = timeStop_open + " 23:59:59"; }else { timeStop_open = LocalDate.now() + " 23:59:59"; } qo.setTimeStop_open(timeStop_open); String timeStart_close = qo.getTimeStart_close(); String timeStop_close = qo.getTimeStop_close(); if(timeStart_close != null && timeStart_close != "") { timeStart_close = timeStart_close + " 00:00:00"; } else { timeStart_close = LocalDate.now() + " 00:00:00"; } qo.setTimeStart_close(timeStart_close); if(timeStop_close != null && timeStop_close != "") { timeStop_close = timeStop_close + " 23:59:59"; }else { timeStop_close = LocalDate.now() + " 23:59:59"; } qo.setTimeStop_close(timeStop_close); Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmOpenCloseValveHistoryMapper.getOpenCloseValveReportsCount_history(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmOpenCloseValveHistoryMapper.getOpenCloseValveReports_history(params); return rsVo ; } /** * 根据指定条件获取开关阀报最新记录 * @param qo * @return */ public QueryResultVo> getOpenCloseValveReports_last(OpenCloseValveQO qo) { String timeStart_open = qo.getTimeStart_open(); String timeStop_open = qo.getTimeStop_open(); if(timeStart_open != null) { timeStart_open = timeStart_open + " 00:00:00"; qo.setTimeStop_open(timeStart_open); } if(timeStop_open != null) { timeStop_open = timeStop_open + " 23:59:59"; qo.setTimeStop_open(timeStop_open); } String timeStart_close = qo.getTimeStart_close(); String timeStop_close = qo.getTimeStop_close(); if(timeStart_close != null) { timeStart_close = timeStart_close + " 00:00:00"; qo.setTimeStart_close(timeStart_close); } if(timeStop_close != null) { timeStop_close = timeStop_close + " 23:59:59"; qo.setTimeStop_close(timeStop_close); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmOpenCloseValveLastMapper.getOpenCloseValveReportsCount_last(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmOpenCloseValveLastMapper.getOpenCloseValveReports_last(params); return rsVo ; } /** * 根据指定条件获取定时报历史记录 * @param qo * @return */ public QueryResultVo> getTimingReportsHistory(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmTimingReportHistoryMapper.getTimingReportsCount_history(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmTimingReportHistoryMapper.getTimingReports_history(params); return rsVo ; } /** * 根据指定条件获取定时报最新记录 * @param qo * @return */ public QueryResultVo> getTimingReportsLast(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmTimingReportLastMapper.getTimingReportsCount_last(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmTimingReportLastMapper.getTimingReports_last(params); return rsVo ; } /** * 根据指定条件获取工作报历史记录 * @param qo * @return */ public QueryResultVo> getWorkReportsHistory(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmWorkReportHistoryMapper.getWorkReportsCount_history(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmWorkReportHistoryMapper.getWorkReports_history(params); return rsVo ; } /** * 根据指定条件获取工作报最新记录 * @param qo * @return */ public QueryResultVo> getWorkReportsLast(OnHourQO qo) { String timeStart = qo.getTimeStart(); String timeStop = qo.getTimeStop(); if(timeStart != null) { timeStart = timeStart + " 00:00:00"; qo.setTimeStart(timeStart); } if(timeStop != null) { timeStop = timeStop + " 23:59:59"; qo.setTimeStop(timeStop); } Map params = (Map) PojoUtils.generalize(qo); Long itemTotal = rmWorkReportLastMapper.getWorkReportsCount_last(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = rmWorkReportLastMapper.getWorkReports_last(params); return rsVo ; } }