修改了一些查询规则,从按站点类型的sttp改为从表st_stbprp_b_elem的elem字段进行匹配

master
yangzhe123 2025-11-03 17:39:03 +08:00
parent 50fb447c68
commit b0112145c4
8 changed files with 114 additions and 18 deletions

View File

@ -24,19 +24,10 @@ public class RealRainController {
@Autowired @Autowired
private RealRainService realRainService; private RealRainService realRainService;
@Post(path="/list", summary = "实时雨情-降雨信息-查询接口") @Post(path="/list", summary = "实时雨情-降雨信息-查询接口")
public R<List<RealRainListVo>> getRealRainList(@RequestBody RealRainBaseSo realRainBaseSo) { public R<List<RealRainListVo>> getRealRainList(@RequestBody RealRainBaseSo realRainBaseSo) {
List<RealRainListVo> list = realRainService.getRealRainList(realRainBaseSo); List<RealRainListVo> list = realRainService.getRealRainList(realRainBaseSo);
//按RealRainListVo.drp倒序排列null的排在最后面
list.sort((o1, o2) -> {
if (o1.getDrp() == null) {
return 1;
}
if (o2.getDrp() == null) {
return -1;
}
return o2.getDrp().compareTo(o1.getDrp());
});
return R.ok(list); return R.ok(list);
} }

View File

@ -8,6 +8,7 @@ import com.gunshi.project.hsz.entity.vo.AttRiverNowDataVo;
import com.gunshi.project.hsz.entity.vo.AttRvBaseVo; import com.gunshi.project.hsz.entity.vo.AttRvBaseVo;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo; import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo; import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo;
import com.gunshi.project.hsz.model.StZqR;
import com.gunshi.project.hsz.model.StZqrlB; import com.gunshi.project.hsz.model.StZqrlB;
import com.gunshi.project.hsz.service.RiverWaterService; import com.gunshi.project.hsz.service.RiverWaterService;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -46,9 +47,9 @@ public class RiverWaterController {
return R.ok(riverWaterService.list()); return R.ok(riverWaterService.list());
} }
@Get(path = "/zqrl", summary = "某个站点的水位流量关系曲线") @Get(path = "/zqrl", summary = "水位流量关系")
public R<List<StZqrlB>> zqrl(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { public R<List<StZqR>> zqrl(@Schema(name = "stcd") @RequestParam("stcd") String stcd) {
return R.ok(riverWaterService.zqrl(stcd)); return R.ok(riverWaterService.zqr(stcd));
} }

View File

@ -49,11 +49,12 @@ public interface AttResBaseMapper extends BaseMapper<AttResBase> {
case when s.des_flood_lev is not null and m.rz-s.des_flood_lev &gt; 0 then 1 else 0 end as desState, case when s.des_flood_lev is not null and m.rz-s.des_flood_lev &gt; 0 then 1 else 0 end as desState,
case when s.fl_low_lim_lev is not null and m.rz-s.fl_low_lim_lev &gt; 0 then 1 else 0 end as flState case when s.fl_low_lim_lev is not null and m.rz-s.fl_low_lim_lev &gt; 0 then 1 else 0 end as flState
from public.st_stbprp_b t from public.st_stbprp_b t
join public.att_res_base s on t.stcd = s.stcd left join public.att_res_base s on 1=1
left join public.st_addvcd_d sad on t.adcd = sad.adcd left join public.st_addvcd_d sad on t.adcd = sad.adcd
left join public.st_rsvr_r_real m on t.stcd = m.stcd left join public.st_rsvr_r_real m on t.stcd = m.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
where t.sttp = 'RR' join public.st_stbprp_b_elem stbe on t.stcd = stbe.stcd
where stbe.elem = 'rz'
order by _order asc nulls last order by _order asc nulls last
</script> </script>
""") """)
@ -287,7 +288,8 @@ public interface AttResBaseMapper extends BaseMapper<AttResBase> {
left join public.alarm_set srb on t.stcd = srb.stcd left join public.alarm_set srb on t.stcd = srb.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
left join public.att_res_base arb on 1=1 left join public.att_res_base arb on 1=1
where t.stcd in ('123','61610700') left join public.st_stbprp_b_elem stbe on t.stcd = stbe.stcd
where stbe.elem = 'z'
""") """)
//TODO 站点需要更改 //TODO 站点需要更改
List<AttRvBaseVo> queryWaterListUpAndLow(); List<AttRvBaseVo> queryWaterListUpAndLow();

View File

@ -0,0 +1,9 @@
package com.gunshi.project.hsz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.hsz.model.StZqR;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface StZqRMapper extends BaseMapper<StZqR> {
}

View File

@ -0,0 +1,81 @@
package com.gunshi.project.hsz.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
import com.gunshi.project.hsz.validate.markers.Delete;
import com.gunshi.project.hsz.validate.markers.Insert;
import com.gunshi.project.hsz.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
* : -
* author: xusan
* date: 2024-07-08 17:34:26
*/
@Schema(description="水位-流量 关系表")
@Data
@TableName("public.st_zq_r")
public class StZqR {
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
*
*/
@TableField(value="stcd")
@Schema(description="测站编码")
@Size(max = 20,message = "测站编码最大长度要小于 8")
@NotBlank(message = "测站编码不能为空")
private String stcd;
/**
*
*/
@TableField(value="z")
@Schema(description="水位")
// @Size(max = 0,message = "水位最大长度要小于 0")
@NotNull(message = "水位不能为空",groups = {Insert.class, Update.class, Delete.class})
private BigDecimal z;
/**
*
*/
@TableField(value="q")
@Schema(description="流量")
// @Size(max = 0,message = "流量最大长度要小于 0")
@NotNull(message = "流量不能为空",groups = {Insert.class, Update.class, Delete.class})
private BigDecimal q;
/**
*
*/
@TableField(value="moditime")
@Schema(description="时间戳")
// @Size(max = 0,message = "时间戳最大长度要小于 0")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private LocalDateTime moditime;
}

View File

@ -35,7 +35,7 @@ public class RealRainService {
public List<RealRainListVo> getRealRainList(RealRainBaseSo realRainBaseSo) { public List<RealRainListVo> getRealRainList(RealRainBaseSo realRainBaseSo) {
List<RealRainListVo> result = realRainMapper.getRealRainList(realRainBaseSo.getStm(), realRainBaseSo.getEtm()); List<RealRainListVo> result = realRainMapper.getRealRainList(realRainBaseSo.getStm(), realRainBaseSo.getEtm());
result.sort(Comparator.comparing(RealRainListVo::getDrp, Comparator.nullsFirst(Double::compareTo)).reversed().thenComparing(RealRainListVo::getStcd)); // result.sort(Comparator.comparing(RealRainListVo::getDrp, Comparator.nullsFirst(Double::compareTo)).reversed().thenComparing(RealRainListVo::getStcd));
return result; return result;
} }
} }

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.vo.*; import com.gunshi.project.hsz.entity.vo.*;
import com.gunshi.project.hsz.mapper.AttResBaseMapper; import com.gunshi.project.hsz.mapper.AttResBaseMapper;
import com.gunshi.project.hsz.mapper.StZqRMapper;
import com.gunshi.project.hsz.mapper.StZqrlBMapper; import com.gunshi.project.hsz.mapper.StZqrlBMapper;
import com.gunshi.project.hsz.model.*; import com.gunshi.project.hsz.model.*;
import com.gunshi.project.hsz.util.DataHandleUtil; import com.gunshi.project.hsz.util.DataHandleUtil;
@ -48,6 +49,11 @@ public class RiverWaterService {
@Resource @Resource
private StRiverRRealService stRiverRRealService; private StRiverRRealService stRiverRRealService;
@Resource
private StZqRMapper stZqRMapper;//水位-流量关系
public List<AttRvBaseVo> list() { public List<AttRvBaseVo> list() {
List<AttRvBaseVo> attRvBaseVos = attRvBaseMapper.queryWaterListUpAndLow(); List<AttRvBaseVo> attRvBaseVos = attRvBaseMapper.queryWaterListUpAndLow();
if(CollectionUtils.isEmpty(attRvBaseVos)){ if(CollectionUtils.isEmpty(attRvBaseVos)){
@ -199,4 +205,10 @@ public class RiverWaterService {
vo.setWaterPromiseGap(z.subtract(vo.getWaterPromise())); vo.setWaterPromiseGap(z.subtract(vo.getWaterPromise()));
return vo; return vo;
} }
public List<StZqR> zqr(String stcd){
LambdaQueryWrapper<StZqR> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(StZqR::getStcd, stcd).orderByAsc(StZqR::getZ);
return stZqRMapper.selectList(queryWrapper);
}
} }

View File

@ -91,7 +91,7 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
} }
} }
vo.setQxWarn(queryQxWarn()); // vo.setQxWarn(queryQxWarn());
List<OsmoticWarnVo> warnVos = baseMapper.queryOsmoticWarn(dateTimeRangeSo); List<OsmoticWarnVo> warnVos = baseMapper.queryOsmoticWarn(dateTimeRangeSo);
vo.setPressWarn(warnVos.stream().filter(o -> o.getType() == 1).collect(Collectors.toList())); vo.setPressWarn(warnVos.stream().filter(o -> o.getType() == 1).collect(Collectors.toList()));