渗压监测,渗流监测,位移监测查询

master
wany 2024-07-10 09:27:20 +08:00
parent b1e040290a
commit 7e472e2b1f
19 changed files with 234 additions and 103 deletions

View File

@ -1,6 +1,8 @@
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.model.OsmoticFlowR;
import com.gunshi.project.xyt.service.OsmoticFlowRService;
import com.gunshi.project.xyt.validate.markers.Insert;
@ -56,8 +58,8 @@ public class OsmoticFlowRController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<List<OsmoticFlowR>> page() {
return R.ok(service.page(null,null));
public R<Page<OsmoticFlowR>> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) {
return R.ok(service.queryPage(osmoticQueryPageSo));
}
}

View File

@ -1,6 +1,8 @@
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.model.OsmoticPressR;
import com.gunshi.project.xyt.service.OsmoticPressRService;
import com.gunshi.project.xyt.validate.markers.Insert;
@ -56,8 +58,8 @@ public class OsmoticPressRController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<List<OsmoticPressR>> page() {
return R.ok(service.page(null,null));
public R<Page<OsmoticPressR>> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) {
return R.ok(service.queryPage(osmoticQueryPageSo));
}
}

View File

@ -1,6 +1,8 @@
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.model.OsmoticShiftR;
import com.gunshi.project.xyt.service.OsmoticShiftRService;
import com.gunshi.project.xyt.validate.markers.Insert;
@ -56,8 +58,8 @@ public class OsmoticShiftRController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<List<OsmoticShiftR>> page() {
return R.ok(service.page(null,null));
public R<Page<OsmoticShiftR>> page(@RequestBody OsmoticQueryPageSo osmoticQueryPageSo) {
return R.ok(service.queryPage(osmoticQueryPageSo));
}
}

View File

@ -1,5 +1,6 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.WarnRulePageSo;
@ -14,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
/**
* :
@ -33,6 +33,7 @@ public class OsmoticWarnRuleController {
@Operation(summary = "新增")
@PostMapping("/insert")
public R<OsmoticWarnRule> insert(@Validated(Insert.class) @RequestBody OsmoticWarnRule dto) {
dto.setId(IdWorker.getId());
boolean result = service.save(dto);
return R.ok(result ? dto : null);
}
@ -46,7 +47,7 @@ public class OsmoticWarnRuleController {
@Operation(summary = "删除")
@GetMapping("/del/{id}")
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Long id) {
return R.ok(service.removeById(id));
}

View File

@ -89,7 +89,6 @@ public class RescueTeamBController extends AbstractCommonFileController implemen
}
/**
*
*/

View File

@ -0,0 +1,32 @@
package com.gunshi.project.xyt.entity.so;
import com.gunshi.db.dto.DateTimeRangeSo;
import com.gunshi.db.dto.PageSo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Description:
* Created by wanyan on 2024/3/19
*
* @author wanyan
* @version 1.0
*/
@Data
@Schema(description = "渗压/渗流/位移分页查询对象")
public class OsmoticQueryPageSo extends WarnSo{
@NotNull(message = "分页参数不能为空")
@Schema(description = "分页参数")
private PageSo pageSo;
@Schema(description = "上报时间")
private DateTimeRangeSo dateTimeRangeSo;
@Schema(description = "监测断面")
private String profileCode;
@Schema(description = "测点编号")
private String stationCode;
}

View File

@ -1,6 +1,8 @@
package com.gunshi.project.xyt.entity.vo;
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.xyt.model.OsmoticWarnRule;
import io.swagger.v3.oas.annotations.media.Schema;
@ -22,6 +24,7 @@ public class OsmoticWarnVo extends OsmoticWarnRule {
*
*/
@Schema(description="主键")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**

View File

@ -1,8 +1,12 @@
package com.gunshi.project.xyt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.xyt.model.OsmoticPressR;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* :
@ -12,4 +16,28 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OsmoticPressRMapper extends BaseMapper<OsmoticPressR> {
@Select("""
<script>
select t.*,s.*
from public.osmotic_press_r t
left join public.att_dam_profile s
on t.profile_code = s.profile_code
<where>
<if test="obj.stationCode != null and obj.stationCode !=''">
t.station_code =#{obj.stationCode}
</if>
<if test="obj.profileCode != null and obj.profileCode !=''">
t.profile_code =#{obj.profileCode}
</if>
<if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.start != null">
and t.tm <![CDATA[>=]]> #{obj.dateTimeRangeSo.start}
</if>
<if test="obj.dateTimeRangeSo != null and obj.dateTimeRangeSo.end != null">
and t.tm <![CDATA[<=]]> #{obj.dateTimeRangeSo.end}
</if>
</where>
order by t.tm,t.station_code desc
</script>
""")
Page<OsmoticPressR> queryPage(Page<OsmoticPressR> page,@Param("obj") OsmoticQueryPageSo osmoticQueryPageSo);
}

View File

@ -1,18 +1,16 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.gunshi.core.dateformat.DateFormatString;
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;
import java.util.Date;
/**
@ -29,37 +27,41 @@ public class OsmoticFlowR implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
// @Size(max = 0,message = "主键最大长度要小于 0")
@NotBlank(message = "主键不能为空")
private Long id;
*
*/
@TableField(value="station_code")
@MppMultiId
@Schema(description="测点编码")
private String stationCode;
/**
* id
*/
@TableField(value="device_id")
@Schema(description="渗流id")
// @Size(max = 0,message = "渗流id最大长度要小于 0")
private Long deviceId;
/**
*
*/
@TableField(value="value")
@Schema(description="渗流量")
// @Size(max = 0,message = "渗流量最大长度要小于 0")
private String value;
/**
*
*/
*
*/
@MppMultiId
@TableField(value="tm")
@Schema(description="监测时间")
// @Size(max = 0,message = "监测时间最大长度要小于 0")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
/**
*
*/
@TableField(value="chan")
@Schema(description="通道号")
private String chan;
/**
*
*/
@TableField(value="l")
@Schema(description="水深")
private BigDecimal l;
/**
*
*/
@TableField(value="q")
@Schema(description="流量")
private BigDecimal q;
}

View File

@ -1,18 +1,16 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.gunshi.core.dateformat.DateFormatString;
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;
import java.util.Date;
/**
@ -28,38 +26,61 @@ public class OsmoticPressR implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
// @Size(max = 0,message = "主键最大长度要小于 0")
@NotBlank(message = "主键不能为空")
private Long id;
/**
* id
*
*/
@TableField(value="device_id")
@Schema(description="渗流id")
// @Size(max = 0,message = "渗流id最大长度要小于 0")
private Long deviceId;
@TableField(value="station_code")
@MppMultiId
@Schema(description="测点编码")
private String stationCode;
/**
*
*/
@MppMultiId
@TableField(value="tm")
@Schema(description="监测时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
/**
*
*/
@TableField(value="chan")
@Schema(description="通道号")
private String chan;
/**
*
*/
@TableField(value="value")
@Schema(description="管水位")
// @Size(max = 0,message = "管水位最大长度要小于 0")
private String value;
private BigDecimal value;
/**
*
*/
@TableField(value="tm")
@Schema(description="监测时间")
// @Size(max = 0,message = "监测时间最大长度要小于 0")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
*
*/
@TableField(value="press")
@Schema(description="渗压")
private BigDecimal press;
/**
*
*/
@TableField(value="vib")
@Schema(description="振弦")
private BigDecimal vib;
/**
*
*/
@TableField(value="temp")
@Schema(description="温度")
private BigDecimal temp;
@TableField(exist = false)
@Schema(description = "断面名称")
private String profileName;
}

View File

@ -1,18 +1,16 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.gunshi.core.dateformat.DateFormatString;
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;
import java.util.Date;
/**
@ -29,53 +27,42 @@ public class OsmoticShiftR implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
// @Size(max = 0,message = "主键最大长度要小于 0")
@NotBlank(message = "主键不能为空")
private Long id;
*
*/
@TableField(value="station_code")
@MppMultiId
@Schema(description="测点编码")
private String stationCode;
/**
* id
*/
@TableField(value="device_id")
@Schema(description="位移id")
// @Size(max = 0,message = "位移id最大长度要小于 0")
private Long deviceId;
*
*/
@MppMultiId
@TableField(value="tm")
@Schema(description="监测时间")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
/**
* x
*/
@TableField(value="x")
@Schema(description="x方向")
// @Size(max = 0,message = "x方向最大长度要小于 0")
private String x;
private BigDecimal x;
/**
* y
*/
@TableField(value="y")
@Schema(description="y方向")
// @Size(max = 0,message = "y方向最大长度要小于 0")
private String y;
private BigDecimal y;
/**
* h
*/
@TableField(value="h")
@Schema(description="h方向")
// @Size(max = 0,message = "h方向最大长度要小于 0")
private String h;
private BigDecimal h;
/**
*
*/
@TableField(value="tm")
@Schema(description="监测时间")
// @Size(max = 0,message = "监测时间最大长度要小于 0")
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date tm;
}

View File

@ -5,6 +5,8 @@ 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.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@ -32,6 +34,7 @@ public class OsmoticWarnRule implements Serializable {
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@NotBlank(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**

View File

@ -4,6 +4,8 @@ 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.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@ -38,6 +40,7 @@ public class RescueGoodsFile implements Serializable {
*/
@TableField(value = "file_id")
@Schema(description="文件id")
@JsonSerialize(using = ToStringSerializer.class)
private Long fileId;
/**

View File

@ -6,6 +6,8 @@ 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.file.model.FileDescriptor;
import com.gunshi.project.xyt.service.AbstractModelWithAttachService;
@ -38,6 +40,7 @@ public class RescueTeamB implements Serializable, AbstractModelWithAttachService
@TableId(value="team_id", type= IdType.AUTO)
@Schema(description="主键")
@NotBlank(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
private Long teamId;
/**

View File

@ -6,6 +6,8 @@ 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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
@ -34,6 +36,7 @@ public class RescueTeamDetail implements Serializable {
@TableId(value="detail_id", type= IdType.AUTO)
@Schema(description="主键")
@NotBlank(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
private Long detailId;
/**
@ -41,6 +44,7 @@ public class RescueTeamDetail implements Serializable {
*/
@TableField(value="team_id")
@Schema(description="队伍id")
@JsonSerialize(using = ToStringSerializer.class)
private Long teamId;
/**

View File

@ -6,10 +6,11 @@ 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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.io.Serializable;
@ -34,6 +35,7 @@ public class RescueTeamFile implements Serializable {
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@NotBlank(message = "主键不能为空")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
@ -48,6 +50,7 @@ public class RescueTeamFile implements Serializable {
*/
@TableField(value="file_id")
@Schema(description="文件id")
@JsonSerialize(using = ToStringSerializer.class)
private Long fileId;
/**

View File

@ -1,14 +1,16 @@
package com.gunshi.project.xyt.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.xyt.mapper.OsmoticFlowRMapper;
import com.gunshi.project.xyt.model.OsmoticFlowR;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/**
* :
* author: xusan
@ -20,6 +22,17 @@ import java.util.Date;
public class OsmoticFlowRService extends ServiceImpl<OsmoticFlowRMapper, OsmoticFlowR>
{
public Page<OsmoticFlowR> queryPage(OsmoticQueryPageSo osmoticQueryPageSo) {
LambdaQueryWrapper<OsmoticFlowR> wrapper = Wrappers.lambdaQuery();
if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){
wrapper.ge(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart());
}
if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){
wrapper.le(OsmoticFlowR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd());
}
wrapper.orderByDesc(OsmoticFlowR::getTm);
return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper);
}
}

View File

@ -1,14 +1,15 @@
package com.gunshi.project.xyt.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.xyt.mapper.OsmoticPressRMapper;
import com.gunshi.project.xyt.model.OsmoticPressR;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/**
* :
* author: xusan
@ -19,7 +20,12 @@ import java.util.Date;
@Transactional(rollbackFor = Exception.class)
public class OsmoticPressRService extends ServiceImpl<OsmoticPressRMapper, OsmoticPressR>
{
@Resource
private OsmoticPressRMapper mapper;
public Page<OsmoticPressR> queryPage(OsmoticQueryPageSo osmoticQueryPageSo) {
return mapper.queryPage(osmoticQueryPageSo.getPageSo().toPage(),osmoticQueryPageSo);
}
}

View File

@ -1,14 +1,17 @@
package com.gunshi.project.xyt.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.project.xyt.entity.so.OsmoticQueryPageSo;
import com.gunshi.project.xyt.mapper.OsmoticShiftRMapper;
import com.gunshi.project.xyt.model.OsmoticShiftR;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/**
* :
* author: xusan
@ -20,6 +23,20 @@ import java.util.Date;
public class OsmoticShiftRService extends ServiceImpl<OsmoticShiftRMapper, OsmoticShiftR>
{
public Page<OsmoticShiftR> queryPage(OsmoticQueryPageSo osmoticQueryPageSo) {
LambdaQueryWrapper<OsmoticShiftR> wrapper = Wrappers.lambdaQuery();
if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getStart() != null){
wrapper.ge(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getStart());
}
if(osmoticQueryPageSo.getDateTimeRangeSo() != null && osmoticQueryPageSo.getDateTimeRangeSo().getEnd() != null){
wrapper.le(OsmoticShiftR::getTm,osmoticQueryPageSo.getDateTimeRangeSo().getEnd());
}
if(StringUtils.isNotEmpty(osmoticQueryPageSo.getStationCode())){
wrapper.eq(OsmoticShiftR::getStationCode,osmoticQueryPageSo.getStationCode());
}
wrapper.orderByDesc(OsmoticShiftR::getTm);
return this.page(osmoticQueryPageSo.getPageSo().toPage(),wrapper);
}
}