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<List<VoOnHour>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmOnHourReportHistoryMapper.getOnHourReportsCount_history(params);
|
|
QueryResultVo<List<VoOnHour>> 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<List<VoOnHour>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmOnHourReportLastMapper.getOnHourReportsCount_last(params);
|
|
QueryResultVo<List<VoOnHour>> 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<List<VoOpenCloseValve>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmOpenCloseValveHistoryMapper.getOpenCloseValveReportsCount_history(params);
|
|
QueryResultVo<List<VoOpenCloseValve>> 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<List<VoOpenCloseValve>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmOpenCloseValveLastMapper.getOpenCloseValveReportsCount_last(params);
|
|
QueryResultVo<List<VoOpenCloseValve>> 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<List<VoTiming>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmTimingReportHistoryMapper.getTimingReportsCount_history(params);
|
|
QueryResultVo<List<VoTiming>> 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<List<VoTiming>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmTimingReportLastMapper.getTimingReportsCount_last(params);
|
|
QueryResultVo<List<VoTiming>> 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<List<VoWork>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmWorkReportHistoryMapper.getWorkReportsCount_history(params);
|
|
QueryResultVo<List<VoWork>> 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<List<VoWork>> 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<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
|
Long itemTotal = rmWorkReportLastMapper.getWorkReportsCount_last(params);
|
|
QueryResultVo<List<VoWork>> rsVo = new QueryResultVo<>() ;
|
rsVo.pageSize = qo.pageSize ;
|
rsVo.pageCurr = qo.pageCurr ;
|
|
rsVo.calculateAndSet(itemTotal, params);
|
rsVo.obj = rmWorkReportLastMapper.getWorkReports_last(params);
|
return rsVo ;
|
}
|
}
|