From 8c70e5ef0e0e71a7cf8ceaa967a65da2c9a1998f Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Fri, 12 Jul 2024 17:12:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E5=BA=A6=E4=BD=8D=E7=A7=BB=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=B9=B4=E5=BA=A6=E6=B8=97?= =?UTF-8?q?=E5=8E=8B=E7=BB=9F=E8=AE=A1=E6=9F=A5=E8=AF=A2=E8=81=94=E8=B0=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OsmoticPressRController.java | 14 +-- .../controller/OsmoticShiftRController.java | 17 ++++ .../project/xyt/entity/so/OsmoticQuerySo.java | 9 +- .../xyt/entity/vo/OsmoticShiftValueVo.java | 48 +++++++++ .../project/xyt/entity/vo/OsmoticShiftVo.java | 27 +++++ .../xyt/mapper/OsmoticPressRMapper.java | 2 +- .../xyt/mapper/OsmoticShiftRMapper.java | 24 +++++ .../project/xyt/model/OsmoticShiftDevice.java | 52 ++++++++++ .../xyt/service/OsmoticPressRService.java | 98 +++++-------------- .../xyt/service/OsmoticShiftRService.java | 92 +++++++++++++++++ 10 files changed, 299 insertions(+), 84 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java create mode 100644 src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java index 6e57279..1dab2c6 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/OsmoticPressRController.java @@ -69,43 +69,43 @@ public class OsmoticPressRController { @Operation(summary = "测值查询(数据表)") @PostMapping("/query/value") - public R> queryValue(@RequestBody OsmoticQuerySo osmoticQuerySo) { + public R> queryValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { return R.ok(service.queryValue(osmoticQuerySo,null)); } @Operation(summary = "测值查询(多图单表)") @PostMapping("/query/chart") - public R> queryChart(@RequestBody OsmoticQuerySo osmoticQuerySo) { + public R> queryChart(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { return R.ok(service.queryChart(osmoticQuerySo,null)); } @Operation(summary = "浸润线查询") @PostMapping("/infiltra/line") - public R> infiltraLine(@RequestBody OsmoticQuerySo osmoticQuerySo) { + public R> infiltraLine(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { return R.ok(service.infiltraLine(osmoticQuerySo)); } @Operation(summary = "浸润线导出") @PostMapping( "/export") - public void export(@RequestBody OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + public void export(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { service.export(osmoticQuerySo,response); } @Operation(summary = "年度渗压/渗流统计(表格)") @PostMapping("/year/stat") - public R> yearStat(@RequestBody OsmoticQuerySo osmoticQuerySo) { + public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { return R.ok(service.yearStat(osmoticQuerySo)); } @Operation(summary = "年度渗压/渗流统计(全年度特征值统计)") @PostMapping("/year/stat/value") - public R> yearStatValue(@RequestBody OsmoticQuerySo osmoticQuerySo) { + public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { return R.ok(service.yearStatValue(osmoticQuerySo)); } @Operation(summary = "年度渗压/渗流统计导出") @PostMapping( "/year/stat/export") - public void yearStatExport(@RequestBody OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { + public void yearStatExport(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { service.yearStatExport(osmoticQuerySo,response); } diff --git a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java b/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java index 69bef0c..d1b8b7d 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/OsmoticShiftRController.java @@ -3,6 +3,9 @@ package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; +import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; +import com.gunshi.project.xyt.entity.vo.OsmoticChartVo; +import com.gunshi.project.xyt.entity.vo.OsmoticShiftVo; import com.gunshi.project.xyt.model.OsmoticShiftR; import com.gunshi.project.xyt.service.OsmoticShiftRService; import com.gunshi.project.xyt.validate.markers.Insert; @@ -62,4 +65,18 @@ public class OsmoticShiftRController { return R.ok(service.queryPage(osmoticQueryPageSo)); } + @Operation(summary = "年度位移统计(表格)") + @PostMapping("/year/stat") + public R> yearStat(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStat(osmoticQuerySo)); + } + + @Operation(summary = "年度位移统计(全年度特征值统计)") + @PostMapping("/year/stat/value") + public R> yearStatValue(@RequestBody @Validated OsmoticQuerySo osmoticQuerySo) { + return R.ok(service.yearStatValue(osmoticQuerySo)); + } + + + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java index efaf902..4e44295 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/so/OsmoticQuerySo.java @@ -2,7 +2,7 @@ package com.gunshi.project.xyt.entity.so; import com.gunshi.db.dto.DateTimeRangeSo; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; import java.util.List; @@ -19,7 +19,6 @@ import java.util.List; public class OsmoticQuerySo { @Schema(description = "类型(1渗压 2渗流)") - @NotNull(message = "类型不可为空") private Integer type = 1; @Schema(description = "年度") @@ -28,9 +27,9 @@ public class OsmoticQuerySo { @Schema(description = "时间") private DateTimeRangeSo dateTimeRangeSo; - @Schema(description = "监测断面") - private String profileCode; + @Schema(description = "监测断面名称(只有导出时传)") + private String profileName; @Schema(description = "测点编号") - private List stationCodes; + private List<@NotEmpty String> stationCodes; } diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java new file mode 100644 index 0000000..de8a014 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftValueVo.java @@ -0,0 +1,48 @@ +package com.gunshi.project.xyt.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticShiftValueVo { + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + /** + * 测点编号 + */ + @Schema(description="测点编号") + private String stationCode; + + /** + * x方向 + */ + @Schema(description="x方向") + private BigDecimal x; + + /** + * y方向 + */ + @Schema(description="y方向") + private BigDecimal y; + + /** + * h方向 + */ + @Schema(description="h方向") + private BigDecimal h; + +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java new file mode 100644 index 0000000..38a24bd --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/OsmoticShiftVo.java @@ -0,0 +1,27 @@ +package com.gunshi.project.xyt.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/7/9 + * + * @author wanyan + * @version 1.0 + */ +@Data +public class OsmoticShiftVo{ + + /** + * 时间 + */ + @Schema(description="时间") + private String tm; + + @Schema(description="测值") + private List list; + +} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java index f00133b..7ac2ce4 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticPressRMapper.java @@ -71,7 +71,7 @@ public interface OsmoticPressRMapper extends BaseMapper { t.q as value from public.osmotic_flow_r t - where to_char(t.tm, 'HH24:MI:SS') = '08:00:00' and station_code in + where to_char(t.tm, 'HH24:MI:SS') = '08:00:00' and t.station_code in #{code} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java index 3e7d010..3105344 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/OsmoticShiftRMapper.java @@ -1,8 +1,14 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; +import com.gunshi.project.xyt.entity.vo.OsmoticShiftValueVo; import com.gunshi.project.xyt.model.OsmoticShiftR; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 描述: 位移监测记录表 @@ -12,4 +18,22 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface OsmoticShiftRMapper extends BaseMapper { + @Select(""" + + """) + List queryValue(@Param("obj") OsmoticQuerySo osmoticQuerySo); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java b/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java index 02b138f..8726c84 100644 --- a/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java +++ b/src/main/java/com/gunshi/project/xyt/model/OsmoticShiftDevice.java @@ -1,11 +1,17 @@ package com.gunshi.project.xyt.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 io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; /** * 描述: 位移设备表 @@ -19,4 +25,50 @@ public class OsmoticShiftDevice implements Serializable { private static final long serialVersionUID = 1L; + /** + * 测点编号 + */ + @TableId(value="station_code", type= IdType.AUTO) + @Schema(description="测点编号") + @Size(max = 50,message = "测点编号最大长度要小于 50") + @NotBlank(message = "测点编号不能为空") + private String stationCode; + + /** + * 仪器编号 + */ + @TableField(value="device_code") + @Schema(description="仪器编号") + @Size(max = 50,message = "仪器编号最大长度要小于 50") + private String deviceCode; + + /** + * 仪器名称 + */ + @TableField(value="device_name") + @Schema(description="仪器名称") + @Size(max = 50,message = "仪器名称最大长度要小于 50") + private String deviceName; + + /** + * 仪器型号 + */ + @TableField(value="model") + @Schema(description="仪器型号") + @Size(max = 50,message = "仪器型号最大长度要小于 50") + private String model; + + /** + * 经度 + */ + @TableField(value="lgtd") + @Schema(description="经度") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @TableField(value="lttd") + @Schema(description="纬度") + private BigDecimal lttd; } diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java index 3f0d1ba..09bcc94 100644 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java +++ b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java @@ -1,6 +1,5 @@ package com.gunshi.project.xyt.service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -9,10 +8,7 @@ import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo; import com.gunshi.project.xyt.entity.so.OsmoticQuerySo; import com.gunshi.project.xyt.entity.vo.*; import com.gunshi.project.xyt.mapper.OsmoticPressRMapper; -import com.gunshi.project.xyt.model.*; -import com.gunshi.project.xyt.model.AttDamProfileAutoDao; -import com.gunshi.project.xyt.model.OsmoticFlowDeviceAutoDao; -import com.gunshi.project.xyt.model.OsmoticPressDeviceAutoDao; +import com.gunshi.project.xyt.model.OsmoticPressR; import com.gunshi.project.xyt.util.DateUtil; import com.gunshi.project.xyt.util.ExcelUtil; import com.gunshi.project.xyt.util.MyBeanUtil; @@ -39,15 +35,6 @@ public class OsmoticPressRService extends ServiceImpl queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { return mapper.queryPage(osmoticQueryPageSo.getPageSo().toPage(),osmoticQueryPageSo); } @@ -93,6 +80,29 @@ public class OsmoticPressRService extends ServiceImpl stationCodes = osmoticQuerySo.getStationCodes(); //查询库水位 List list = mapper.queryRz(osmoticQuerySo); + //查询测站管水位 + List valueList = mapper.queryValue(osmoticQuerySo); + //按测站分组 + Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticValueVo::getStationCode)); + for(String code : stationCodes){ + OsmoticChartVo vo = new OsmoticChartVo(); + vo.setStationCode(code); + if(map.containsKey(code)){ + List voList = map.get(code); + OsmoticValueVo max = voList.stream().max(Comparator.comparing(OsmoticValueVo::getValue)).get(); + OsmoticValueVo min = voList.stream().min(Comparator.comparing(OsmoticValueVo::getValue)).get(); + vo.setStationCode(code); + vo.setMaxValue(max.getValue()); + vo.setMaxTm(max.getTm()); + vo.setMinValue(min.getValue()); + vo.setMinTm(min.getTm()); + vo.setDiff(max.getValue().subtract(min.getValue())); + if(year == null){ + vo.setDetailVos(bindData(MyBeanUtil.collectionCopy(list,OsmoticChartDetailVo.class),MyBeanUtil.collectionCopy(voList,OsmoticChartDetailVo.class))); + } + } + resList.add(vo); + } //查询测站降雨量 List drpList; if(year != null){ @@ -123,29 +133,6 @@ public class OsmoticPressRService extends ServiceImpl valueList = mapper.queryValue(osmoticQuerySo); - //按测站分组 - Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticValueVo::getStationCode)); - for(String code : stationCodes){ - OsmoticChartVo vo = new OsmoticChartVo(); - vo.setStationCode(code); - if(map.containsKey(code)){ - List voList = map.get(code); - OsmoticValueVo max = voList.stream().max(Comparator.comparing(OsmoticValueVo::getValue)).get(); - OsmoticValueVo min = voList.stream().min(Comparator.comparing(OsmoticValueVo::getValue)).get(); - vo.setStationCode(code); - vo.setMaxValue(max.getValue()); - vo.setMaxTm(max.getTm()); - vo.setMinValue(min.getValue()); - vo.setMinTm(min.getTm()); - vo.setDiff(max.getValue().subtract(min.getValue())); - if(year == null){ - vo.setDetailVos(bindData(MyBeanUtil.collectionCopy(list,OsmoticChartDetailVo.class),MyBeanUtil.collectionCopy(voList,OsmoticChartDetailVo.class))); - } - } - resList.add(vo); - } return resList; } @@ -179,13 +166,6 @@ public class OsmoticPressRService extends ServiceImpl infiltraLine(OsmoticQuerySo osmoticQuerySo) { List resList = new ArrayList<>(); - String profileCode = osmoticQuerySo.getProfileCode(); - //通过断面查询渗压设备 - List stationCodes = queryPressList(profileCode); - if(CollectionUtils.isEmpty(stationCodes)){ - return resList; - } - osmoticQuerySo.setStationCodes(stationCodes); //查询库水位 List list = mapper.queryLineRz(osmoticQuerySo); Map rzMap = list.stream().collect(Collectors.toMap(StRzVo::getTm, StRzVo::getRz)); @@ -217,19 +197,10 @@ public class OsmoticPressRService extends ServiceImpl queryPressList(String profileCode){ - List pressList = pressDeviceAutoDao.list(new QueryWrapper().eq("profile_code", profileCode)); - return pressList.stream().map(OsmoticPressDevice::getStationCode).collect(Collectors.toList()); - } - - private List queryFlowList(){ - List flowList = flowDeviceAutoDao.list(); - return flowList.stream().map(OsmoticFlowDevice::getStationCode).collect(Collectors.toList()); - } public void export(OsmoticQuerySo osmoticQuerySo, HttpServletResponse response) { //通过断面查询渗压设备 - List stationCodes = queryPressList(osmoticQuerySo.getProfileCode()); + List stationCodes = osmoticQuerySo.getStationCodes(); //表头信息 List heads = new ArrayList<>(); heads.add("序号"); @@ -263,16 +234,6 @@ public class OsmoticPressRService extends ServiceImpl stationCodes; - if(osmoticQuerySo.getType() == 2){ - //查询所有的渗流设备 - stationCodes = queryFlowList(); - }else{ - String profileCode = osmoticQuerySo.getProfileCode(); - //通过断面查询渗压设备 - stationCodes = queryPressList(profileCode); - } - osmoticQuerySo.setStationCodes(stationCodes); Integer year = osmoticQuerySo.getYear(); Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); @@ -294,16 +255,11 @@ public class OsmoticPressRService extends ServiceImpl { + @Resource + private OsmoticShiftRMapper mapper; + + @Resource + private OsmoticShiftDeviceAutoDao shiftDeviceAutoDao; public Page queryPage(OsmoticQueryPageSo osmoticQueryPageSo) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); @@ -37,6 +53,82 @@ public class OsmoticShiftRService extends ServiceImpl yearStat(OsmoticQuerySo osmoticQuerySo) { + List resList = new ArrayList<>(); + commonQueryHandle(osmoticQuerySo); + //查询位移监测记录 + List valueList = mapper.queryValue(osmoticQuerySo); + List dateList = DateUtil.getDatesBetween(osmoticQuerySo.getDateTimeRangeSo().getStart(), osmoticQuerySo.getDateTimeRangeSo().getEnd(), false); + //数据处理 + for(String str : dateList){ + OsmoticShiftVo vo = new OsmoticShiftVo(); + vo.setTm(str); + vo.setList(valueList.stream().filter(o->str.equals(o.getTm())).collect(Collectors.toList())); + resList.add(vo); + } + return resList; + } + + private OsmoticQuerySo commonQueryHandle(OsmoticQuerySo osmoticQuerySo){ + Integer year = osmoticQuerySo.getYear(); + Date start = DateUtil.convertStringToDate(year + "-01-01 00:00:00"); + Date end = DateUtil.convertStringToDate(year + "-12-31 00:00:00"); + DateTimeRangeSo so = new DateTimeRangeSo(); + so.setStart(start); + so.setEnd(end); + osmoticQuerySo.setDateTimeRangeSo(so); + return osmoticQuerySo; + } + + + public List yearStatValue(OsmoticQuerySo osmoticQuerySo) { + List resList = new ArrayList<>(); + commonQueryHandle(osmoticQuerySo); + //查询位移监测记录 + List valueList = mapper.queryValue(osmoticQuerySo); + //按测站分组 + Map> map = valueList.stream().collect(Collectors.groupingBy(OsmoticShiftValueVo::getStationCode)); + map.entrySet().forEach(o->{ + String key = o.getKey(); + List value = o.getValue(); + + OsmoticChartVo xVo = new OsmoticChartVo(); + OsmoticShiftValueVo xMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); + OsmoticShiftValueVo xMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getX)).get(); + xVo.setStationCode(key + "/X"); + xVo.setMaxValue(xMax.getX()); + xVo.setMaxTm(xMax.getTm()); + xVo.setMinValue(xMin.getX()); + xVo.setMinTm(xMin.getTm()); + xVo.setDiff(xMax.getX().subtract(xMin.getX())); + resList.add(xVo); + + OsmoticChartVo yVo = new OsmoticChartVo(); + OsmoticShiftValueVo yMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); + OsmoticShiftValueVo yMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getY)).get(); + yVo.setStationCode(key + "/Y"); + yVo.setMaxValue(yMax.getY()); + yVo.setMaxTm(yMax.getTm()); + yVo.setMinValue(yMin.getY()); + yVo.setMinTm(yMin.getTm()); + yVo.setDiff(yMax.getY().subtract(yMin.getY())); + resList.add(yVo); + + OsmoticChartVo hVo = new OsmoticChartVo(); + OsmoticShiftValueVo hMax = value.stream().max(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); + OsmoticShiftValueVo hMin = value.stream().min(Comparator.comparing(OsmoticShiftValueVo::getH)).get(); + hVo.setStationCode(key + "/H"); + hVo.setMaxValue(hMax.getH()); + hVo.setMaxTm(hMax.getTm()); + hVo.setMinValue(hMin.getH()); + hVo.setMinTm(hMin.getTm()); + hVo.setDiff(hMax.getH().subtract(hMin.getH())); + resList.add(hVo); + + }); + return resList; + } }