修改了一点点BUG

master
yangzhe123 2025-12-17 09:21:47 +08:00
parent 384e907a8f
commit e6ca08c590
4 changed files with 59 additions and 36 deletions

View File

@ -106,9 +106,9 @@ public interface JcskSyRMapper extends BaseMapper<JcskSyR> {
@Select(""" @Select("""
<script> <script>
select to_char(t.tm,'YYYY-MM-DD HH24:MI:SS') as tm,t.rz select to_char(t.tm,'YYYY-MM-DD HH24:00:SS') as tm,t.rz
from public.st_rsvr_r t from public.st_rsvr_r t
where t.stcd = #{stcd} and to_char(t.tm, 'MI:SS') = '00:00' where t.stcd = #{stcd} and to_char(t.tm, 'SS') = '00'
<if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null"> <if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null">
and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start} and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start}
</if> </if>
@ -137,7 +137,7 @@ public interface JcskSyRMapper extends BaseMapper<JcskSyR> {
<script> <script>
select to_char(t.tm,'YYYY-MM-DD') as tm,t.rz select to_char(t.tm,'YYYY-MM-DD') as tm,t.rz
from public.st_rsvr_r t from public.st_rsvr_r t
where to_char(t.tm, 'HH24') = '08:00:00' and t.stcd = #{stcd} where to_char(t.tm, 'HH24') = '08' and t.stcd = #{stcd}
<if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null"> <if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null">
and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start} and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start}
</if> </if>
@ -151,9 +151,9 @@ public interface JcskSyRMapper extends BaseMapper<JcskSyR> {
@Select(""" @Select("""
<script> <script>
select t.tm,t.rz select to_char(t.tm,'YYYY-MM-DD HH:00:ss') as tm,t.rz
from public.st_rsvr_r t from public.st_rsvr_r t
where to_char(t.tm, 'MI:SS') = '00:00' and to_char(t.tm, 'HH24:MI') like '%:00' and t.stcd = #{stcd} where to_char(t.tm, 'SS') = '00' and t.stcd = #{stcd}
<if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null"> <if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null">
and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start} and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start}
</if> </if>

View File

@ -182,7 +182,10 @@ public class JcskSyRService extends ServiceImpl<JcskSyRMapper, JcskSyR> {
private List<OsmoticPressDetailVo> bindPressDetail(List<OsmoticPressDetailVo> list, List<StRzVo> stRzVos) { private List<OsmoticPressDetailVo> bindPressDetail(List<OsmoticPressDetailVo> list, List<StRzVo> stRzVos) {
HashSet<String> timeSet = new HashSet<>(); HashSet<String> timeSet = new HashSet<>();
list.forEach(v -> timeSet.add(v.getTm())); list.forEach(v -> timeSet.add(v.getTm()));
stRzVos.forEach(v -> timeSet.add(v.getTm())); stRzVos.forEach(v -> {
String hourTimeForRz = getHourTime(v.getTm());
timeSet.add(hourTimeForRz);
});
List<OsmoticPressDetailVo> result = new ArrayList<>(); List<OsmoticPressDetailVo> result = new ArrayList<>();
timeSet.forEach(time -> { timeSet.forEach(time -> {
@ -195,7 +198,7 @@ public class JcskSyRService extends ServiceImpl<JcskSyRMapper, JcskSyR> {
// 查询库水位数据:如果时间不是整点,使用整点时间查询 // 查询库水位数据:如果时间不是整点,使用整点时间查询
String hourTimeForRz = getHourTime(vo.getTm()); String hourTimeForRz = getHourTime(vo.getTm());
stRzVos.stream() stRzVos.stream()
.filter(rz -> hourTimeForRz.equals(rz.getTm())) .filter(rz -> hourTimeForRz.equals(getHourTime(rz.getTm())))
.findFirst() .findFirst()
.ifPresent(rz -> vo.setRz(rz.getRz())); .ifPresent(rz -> vo.setRz(rz.getRz()));
@ -303,7 +306,12 @@ public class JcskSyRService extends ServiceImpl<JcskSyRMapper, JcskSyR> {
String stcd = jcskGnssRService.getStcd(); String stcd = jcskGnssRService.getStcd();
//查询库水位 //查询库水位
List<StRzVo> list = baseMapper.queryRz2(osmoticQuerySo,stcd); List<StRzVo> list = baseMapper.queryRz2(osmoticQuerySo,stcd);
Map<String, BigDecimal> rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); Map<String, BigDecimal> rzMap = list.stream()
.collect(Collectors.toMap(
StRzVo::getTm, // 键:时间
StRzVo::getRz, // 值:水位
(existingValue, newValue) -> existingValue // 重复时保留第一个值
));
//查询测站管水位 //查询测站管水位
List<OsmoticValueVo2> valueList; List<OsmoticValueVo2> valueList;
if(osmoticQuerySo.getType() == 1){ if(osmoticQuerySo.getType() == 1){
@ -410,7 +418,12 @@ public class JcskSyRService extends ServiceImpl<JcskSyRMapper, JcskSyR> {
//查询库水位 //查询库水位
//TODO 数据是每整点过五分监测一次(暂时修改,看后续实际数据来了之后会怎么样) //TODO 数据是每整点过五分监测一次(暂时修改,看后续实际数据来了之后会怎么样)
List<StRzVo> list = baseMapper.queryLineRz(osmoticQuerySo,stcd); List<StRzVo> list = baseMapper.queryLineRz(osmoticQuerySo,stcd);
Map<String, BigDecimal> rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); Map<String, BigDecimal> rzMap = list.stream()
.collect(Collectors.toMap(
StRzVo::getTm, // 键:时间
StRzVo::getRz, // 值:水位
(existingValue, newValue) -> existingValue // 重复时保留第一个值
));
//查询测站管水位 //查询测站管水位
List<OsmoticValueVo2> valueList = baseMapper.queryLineValue(osmoticQuerySo); List<OsmoticValueVo2> valueList = baseMapper.queryLineValue(osmoticQuerySo);
//查询测站预警信息 //查询测站预警信息

View File

@ -181,19 +181,33 @@ public class StWaterRReorganizeService extends ServiceImpl<StWaterRReorganizeMap
vo.setTm(nowStwrr.getTm()); vo.setTm(nowStwrr.getTm());
// 干渠灌溉1数据 // 干渠灌溉1数据
if(mci1VSum.compareTo(BigDecimal.ZERO) == 0){
vo.setMci1YearRateV("0%");
}else{
vo.setMci1YearRateV(nowStwrr.getMci1V().divide(mci1VSum, 4, BigDecimal.ROUND_HALF_UP) vo.setMci1YearRateV(nowStwrr.getMci1V().divide(mci1VSum, 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); .multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%"));
vo.setMci1V(nowStwrr.getMci1V().toString()); }
vo.setMci1V(nowStwrr.getMci1V() == null?null:nowStwrr.getMci1V().toString());
// 干渠灌溉2数据 // 干渠灌溉2数据
if(mci2VSum.compareTo(BigDecimal.ZERO) == 0){
vo.setMci2YearRateV("0%");
}else{
vo.setMci2YearRateV(nowStwrr.getMci2V().divide(mci2VSum, 4, BigDecimal.ROUND_HALF_UP) vo.setMci2YearRateV(nowStwrr.getMci2V().divide(mci2VSum, 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); .multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%"));
vo.setMci2V(nowStwrr.getMci2V().toString()); }
vo.setMci2V(nowStwrr.getMci2V() == null?null:nowStwrr.getMci2V().toString());
// 生态数据 // 生态数据
if(ecologyVSum.compareTo(BigDecimal.ZERO) == 0){
vo.setEcologyV("0%");
}else{
vo.setEcologyYearRateV(nowStwrr.getEcologyV().divide(ecologyVSum, 4, BigDecimal.ROUND_HALF_UP) vo.setEcologyYearRateV(nowStwrr.getEcologyV().divide(ecologyVSum, 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%")); .multiply(new BigDecimal(100)).setScale(1, BigDecimal.ROUND_HALF_UP).toString().concat("%"));
vo.setEcologyV(nowStwrr.getEcologyV().toString()); }
vo.setEcologyV(nowStwrr.getEcologyV() == null? null:nowStwrr.getEcologyV().toString());
// 查找去年同期数据 // 查找去年同期数据
StWaterRReorganize lastStwrr = lastYearList.stream() StWaterRReorganize lastStwrr = lastYearList.stream()

View File

@ -72,9 +72,6 @@ public class StWaterDataTask {
).getSeconds(); ).getSeconds();
v = queryData.get(i).getQ().multiply(new BigDecimal(seconds)); v = queryData.get(i).getQ().multiply(new BigDecimal(seconds));
} }
if(queryData.size() == 1){
v = null;
}
entity.setV(v); entity.setV(v);
syncData.add(entity); syncData.add(entity);
} }
@ -86,6 +83,7 @@ public class StWaterDataTask {
StWaterR stWaterR = syncData.get(syncData.size() - 1); StWaterR stWaterR = syncData.get(syncData.size() - 1);
StWaterRReal stWaterRReal = new StWaterRReal(); StWaterRReal stWaterRReal = new StWaterRReal();
BeanUtils.copyProperties(stWaterR, stWaterRReal); BeanUtils.copyProperties(stWaterR, stWaterRReal);
stWaterRReal.setV(stWaterR.getV().toString());
boolean flag = stWaterRRealService.getBaseMapper().insertOrUpdate(stWaterRReal); boolean flag = stWaterRRealService.getBaseMapper().insertOrUpdate(stWaterRReal);
} }
}else{ }else{
@ -111,9 +109,6 @@ public class StWaterDataTask {
).getSeconds(); ).getSeconds();
v = queryData.get(i).getQ().multiply(new BigDecimal(seconds)); v = queryData.get(i).getQ().multiply(new BigDecimal(seconds));
} }
if(queryData.size() == 1){
v = null;
}
entity.setV(v); entity.setV(v);
syncData.add(entity); syncData.add(entity);
} }
@ -124,6 +119,7 @@ public class StWaterDataTask {
StWaterR stWaterR = syncData.get(syncData.size() - 1); StWaterR stWaterR = syncData.get(syncData.size() - 1);
StWaterRReal stWaterRReal = new StWaterRReal(); StWaterRReal stWaterRReal = new StWaterRReal();
BeanUtils.copyProperties(stWaterR, stWaterRReal); BeanUtils.copyProperties(stWaterR, stWaterRReal);
stWaterRReal.setV(stWaterR.getV().toString());
LambdaQueryWrapper<StWaterRReal> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<StWaterRReal> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StWaterRReal::getStcd, stWaterR.getStcd()); queryWrapper.eq(StWaterRReal::getStcd, stWaterR.getStcd());
boolean remove = stWaterRRealService.remove(queryWrapper); boolean remove = stWaterRRealService.remove(queryWrapper);
@ -199,8 +195,8 @@ public class StWaterDataTask {
reorganize.setEcologyQ(ecologyData.getQ()); reorganize.setEcologyQ(ecologyData.getQ());
reorganize.setEcologyV(ecologyData.getV()); reorganize.setEcologyV(ecologyData.getV());
} else { } else {
reorganize.setEcologyQ(null); reorganize.setEcologyQ(BigDecimal.ZERO);
reorganize.setEcologyV(null); reorganize.setEcologyV(BigDecimal.ZERO);
} }
// 设置干渠灌溉1数据 // 设置干渠灌溉1数据
@ -208,8 +204,8 @@ public class StWaterDataTask {
reorganize.setMci1Q(mci1Data.getQ()); reorganize.setMci1Q(mci1Data.getQ());
reorganize.setMci1V(mci1Data.getV()); reorganize.setMci1V(mci1Data.getV());
} else { } else {
reorganize.setMci1Q(null); reorganize.setMci1Q(BigDecimal.ZERO);
reorganize.setMci1V(null); reorganize.setMci1V(BigDecimal.ZERO);
} }
// 设置干渠灌溉2数据 // 设置干渠灌溉2数据
@ -217,8 +213,8 @@ public class StWaterDataTask {
reorganize.setMci2Q(mci2Data.getQ()); reorganize.setMci2Q(mci2Data.getQ());
reorganize.setMci2V(mci2Data.getV()); reorganize.setMci2V(mci2Data.getV());
} else { } else {
reorganize.setMci2Q(null); reorganize.setMci2Q(BigDecimal.ZERO);
reorganize.setMci2V(null); reorganize.setMci2V(BigDecimal.ZERO);
} }
// 计算水量小计(三个站点的总和) // 计算水量小计(三个站点的总和)
@ -270,8 +266,8 @@ public class StWaterDataTask {
reorganize.setEcologyQ(ecologyData.getQ()); reorganize.setEcologyQ(ecologyData.getQ());
reorganize.setEcologyV(ecologyData.getV()); reorganize.setEcologyV(ecologyData.getV());
} else { } else {
reorganize.setEcologyQ(null); reorganize.setEcologyQ(BigDecimal.ZERO);
reorganize.setEcologyV(null); reorganize.setEcologyV(BigDecimal.ZERO);
} }
// 设置干渠灌溉1数据 // 设置干渠灌溉1数据
@ -279,8 +275,8 @@ public class StWaterDataTask {
reorganize.setMci1Q(mci1Data.getQ()); reorganize.setMci1Q(mci1Data.getQ());
reorganize.setMci1V(mci1Data.getV()); reorganize.setMci1V(mci1Data.getV());
} else { } else {
reorganize.setMci1Q(null); reorganize.setMci1Q(BigDecimal.ZERO);
reorganize.setMci1V(null); reorganize.setMci1V(BigDecimal.ZERO);
} }
// 设置干渠灌溉2数据 // 设置干渠灌溉2数据
@ -288,8 +284,8 @@ public class StWaterDataTask {
reorganize.setMci2Q(mci2Data.getQ()); reorganize.setMci2Q(mci2Data.getQ());
reorganize.setMci2V(mci2Data.getV()); reorganize.setMci2V(mci2Data.getV());
} else { } else {
reorganize.setMci2Q(null); reorganize.setMci2Q(BigDecimal.ZERO);
reorganize.setMci2V(null); reorganize.setMci2V(BigDecimal.ZERO);
} }
// 计算水量小计(三个站点的总和) // 计算水量小计(三个站点的总和)