修正水库溢洪查询不正确,主要是查询参数的dto的时间字段格式化没有时分秒
parent
090d0a1a1d
commit
e11c920fe9
|
|
@ -2,6 +2,7 @@ package com.gunshi.project.xyt.entity.dto;
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.gunshi.db.dto.DateRangeSo;
|
||||
import com.gunshi.db.dto.DateTimeRangeSo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -20,6 +21,6 @@ public class StZqrlBDto {
|
|||
private String stcd;
|
||||
|
||||
@Schema(description = "时间范围")
|
||||
private DateRangeSo dateSo;
|
||||
private DateTimeRangeSo dateSo;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -193,36 +193,63 @@ public class StStbprpBService extends ServiceImpl<StStbprpBMapper, StStbprpB> {
|
|||
public StZqrlBCountVo count(Serializable stcd) {
|
||||
StZqrlBCountVo vo = new StZqrlBCountVo();
|
||||
vo.setStcd(stcd.toString());
|
||||
if (Objects.isNull(stcd)) {
|
||||
return vo;
|
||||
|
||||
//取出当月的水位
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
Date now = calendar.getTime();
|
||||
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
List<StRsvrR> rsvrList = rsvrRService.lambdaQuery()
|
||||
.eq(StRsvrR::getStcd, stcd)
|
||||
.between(StRsvrR::getTm, calendar.getTime(), now)
|
||||
.orderByAsc(true, StRsvrR::getTm)
|
||||
.list();
|
||||
|
||||
List<StZqrlB> zqrlList = stZqrlBService.list();
|
||||
|
||||
List<RsvrComplexVo> complexList = new ArrayList<>();
|
||||
int idx = 0;
|
||||
for (StRsvrR rsvr : rsvrList) {
|
||||
RsvrComplexVo complex = new RsvrComplexVo();
|
||||
BigDecimal rz = new BigDecimal(rsvr.getRz());
|
||||
complex.setRz(rz);
|
||||
complex.setTm(rsvr.getTm());
|
||||
|
||||
BigDecimal q = stZqrlBService.getQFromZqrl(rz, zqrlList);
|
||||
complex.setQ(q);
|
||||
if (idx == 0) {
|
||||
complex.setSv(BigDecimal.ZERO);
|
||||
} else {
|
||||
RsvrComplexVo complexPrev = complexList.get(idx - 1);
|
||||
complex.setSv(complexPrev.getSv().add(complexPrev.getQ().multiply(BigDecimal.valueOf(60 * 60))));
|
||||
}
|
||||
String stcdstr = stcd.toString();
|
||||
|
||||
LambdaQueryWrapper<StZqrlB> qw = new LambdaQueryWrapper();
|
||||
qw.eq(StZqrlB::getStcd, stcdstr).orderByDesc(StZqrlB::getModitime).last(" limit 1");
|
||||
StZqrlB bean = stZqrlBService.getOne(qw);
|
||||
vo.setVal(bean.getQ());
|
||||
vo.setCreateTime(bean.getModitime());
|
||||
complexList.add(complex);
|
||||
idx++;
|
||||
}
|
||||
|
||||
// 获取今天开始时间 (00:00:00)
|
||||
LocalDateTime todayStart = LocalDate.now().atStartOfDay();
|
||||
// 获取当前时间 (带时分秒)
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
vo.setCurrDayValSum(sumVal(stcdstr, todayStart, now));
|
||||
//当前流量
|
||||
vo.setVal(complexList.getLast().getQ());
|
||||
vo.setCreateTime(complexList.getLast().getTm());
|
||||
|
||||
// 获取本月1号0点
|
||||
LocalDateTime firstDayOfMonth = LocalDate.now().withDayOfMonth(1).atStartOfDay();
|
||||
vo.setCurrMonthSum(sumVal(stcdstr, firstDayOfMonth, now));
|
||||
|
||||
// 获取本年第一天 00:00:00
|
||||
LocalDateTime firstDayOfYear = LocalDate.now().withDayOfYear(1).atStartOfDay();
|
||||
vo.setCurrYearSum(sumVal(stcdstr, firstDayOfYear, now));
|
||||
|
||||
//年次数
|
||||
vo.setCurrYearCount(countVal(stcdstr, firstDayOfYear, now));
|
||||
|
||||
//本年最大
|
||||
vo.setCurrYearMaxVal(maxVal(stcdstr, firstDayOfYear, now));
|
||||
calendar.setTime(now);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
Date today = calendar.getTime();
|
||||
//今日sv的和
|
||||
BigDecimal sumToday = complexList.stream().filter(complex -> complex.getTm().after(today))
|
||||
.map(RsvrComplexVo::getSv)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setCurrDayValSum(sumToday);
|
||||
//当月sv的和
|
||||
BigDecimal sumMonth = complexList.stream().map(RsvrComplexVo::getSv)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setCurrMonthSum(sumMonth);
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue