大坝新增文件上传下载,详情查询,溢洪道新增设置主键,库容曲线水位流量关系曲线新增主键,新增修改删除接口调整,渗压,渗流,监测断面,闸阀,量水堰分页接口修改

master
徐杰盟 2024-08-15 17:27:27 +08:00
parent 005a091478
commit 1c9847ceb0
18 changed files with 132 additions and 75 deletions

View File

@ -1,8 +1,9 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gunshi.core.result.R;
@ -81,7 +82,8 @@ public class AttCctvBaseController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttCctvBase>> page(@RequestBody @Validated AttCctvBasePage page) {
LambdaQueryChainWrapper<AttCctvBase> query = service.lambdaQuery();
LambdaQueryWrapper<AttCctvBase> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getCode())) {
query.like(AttCctvBase::getIndexCode, page.getCode());
}

View File

@ -1,13 +1,16 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.GeneralDataPage;
import com.gunshi.project.xyt.model.AttDamBase;
import com.gunshi.project.xyt.service.AttDamBaseService;
import com.gunshi.project.xyt.service.AttResBaseService;
import com.gunshi.project.xyt.service.FileAssociationsService;
import com.gunshi.project.xyt.validate.markers.Insert;
import com.gunshi.project.xyt.validate.markers.Update;
import io.swagger.v3.oas.annotations.Operation;
@ -31,11 +34,13 @@ import java.util.Objects;
@Tag(name = "大坝表")
@RestController
@RequestMapping(value="/attDamBase")
public class AttDamBaseController {
public class AttDamBaseController extends AbstractCommonFileController{
@Autowired
private AttDamBaseService service;
@Autowired
private FileAssociationsService fileService;
@Autowired
private AttResBaseService resService;
@ -46,8 +51,12 @@ public class AttDamBaseController {
if (StringUtils.isNotBlank(dto.getResCode()) && Objects.isNull(resService.getById(dto.getResCode()))){
throw new RuntimeException("当前水库不存在");
}
dto.setDamCode(IdWorker.get32UUID());
dto.setCreateTime(new Date());
boolean result = service.save(dto);
if (result){
fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode());
}
return R.ok(result ? dto : null);
}
@ -61,6 +70,9 @@ public class AttDamBaseController {
throw new IllegalArgumentException("当前数据不存在");
}
boolean result = service.updateById(dto);
if (result){
fileService.saveFile(dto.getFiles(), getGroupId(), dto.getResCode());
}
return R.ok(result ? dto : null);
}
@ -70,7 +82,11 @@ public class AttDamBaseController {
if (Objects.isNull(service.getById(id))) {
throw new IllegalArgumentException("当前数据不存在");
}
return R.ok(service.removeById(id));
boolean data = service.removeById(id);
if (data){
fileService.deleteFile(getGroupId(),id.toString());
}
return R.ok(data);
}
@Operation(summary = "列表")
@ -82,7 +98,8 @@ public class AttDamBaseController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttDamBase>> page(@RequestBody @Validated GeneralDataPage page) {
LambdaQueryChainWrapper<AttDamBase> query = service.lambdaQuery();
LambdaQueryWrapper<AttDamBase> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getCode())){
query.like(AttDamBase::getDamCode, page.getCode());
}
@ -91,5 +108,18 @@ public class AttDamBaseController {
}
return R.ok(service.page(page.getPageSo().toPage(),query));
}
@Operation(summary = "查看详情")
@GetMapping("/get/{id}")
public R<AttDamBase> page(@PathVariable("id") Serializable id) {
AttDamBase data = service.getById(id);
if (Objects.nonNull(data)){
data.setFiles(fileService.getFiles(getGroupId(),data.getDamCode()));
}
return R.ok(data);
}
@Override
public String getGroupId() {
return "attDamBase";
}
}

View File

@ -1,7 +1,8 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.GeneralDataPage;
@ -103,7 +104,8 @@ public class AttDamProfileController extends AbstractCommonFileController{
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttDamProfile>> page(@RequestBody @Validated GeneralDataPage page) {
LambdaQueryChainWrapper<AttDamProfile> query = service.lambdaQuery();
LambdaQueryWrapper<AttDamProfile> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getName())) {
query.like(AttDamProfile::getProfileName, page.getName());
}

View File

@ -1,7 +1,8 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.GeneralDataPage;
@ -72,7 +73,8 @@ public class AttGateValveController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttGateValve>> page(@RequestBody @Validated GeneralDataPage page) {
LambdaQueryChainWrapper<AttGateValve> query = service.lambdaQuery();
LambdaQueryWrapper<AttGateValve> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getCode())){
query.like(AttGateValve::getValveCode, page.getCode());
}

View File

@ -1,7 +1,8 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.GeneralDataPage;
@ -84,7 +85,8 @@ public class AttMeaWeirController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttMeaWeir>> page(@RequestBody @Validated GeneralDataPage page) {
LambdaQueryChainWrapper<AttMeaWeir> query = service.lambdaQuery();
LambdaQueryWrapper<AttMeaWeir> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getCode())) {
query.like(AttMeaWeir::getWeirCode, page.getCode());
}

View File

@ -107,7 +107,7 @@ public class AttResBaseController extends AbstractCommonFileController {
throw new IllegalArgumentException("当前数据不存在");
}
List<FileAssociations> files = dto.getFiles();
fileService.saveFile(files, getGroupId(), dto.getResCode(),"1");
fileService.saveFileNotDel(files, getGroupId(), dto.getResCode(),"1");
return R.ok(dto);
}

View File

@ -1,7 +1,9 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.GeneralDataPage;
@ -37,6 +39,8 @@ public class AttSpillwayBaseController {
@Operation(summary = "新增")
@PostMapping("/insert")
public R<AttSpillwayBase> insert(@Validated(Insert.class) @RequestBody AttSpillwayBase dto) {
dto.setCode(String.valueOf(IdWorker.getId()));
boolean result = service.save(dto);
return R.ok(result ? dto : null);
}
@ -69,7 +73,7 @@ public class AttSpillwayBaseController {
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<AttSpillwayBase>> page(@RequestBody @Validated GeneralDataPage page) {
LambdaQueryChainWrapper<AttSpillwayBase> query = service.lambdaQuery();
LambdaQueryWrapper<AttSpillwayBase> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getCode())){
query.like(AttSpillwayBase::getCode, page.getCode());
}

View File

@ -1,7 +1,8 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.OsmoticDevicePage;
@ -86,7 +87,7 @@ public class OsmoticFlowDeviceController extends AbstractCommonFileController{
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<OsmoticFlowDevice>> page(@RequestBody @Validated OsmoticDevicePage page) {
LambdaQueryChainWrapper<OsmoticFlowDevice> query = service.lambdaQuery();
LambdaQueryWrapper<OsmoticFlowDevice> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getStationCode())) {
query.like(OsmoticFlowDevice::getStationCode, page.getStationCode());
}

View File

@ -1,7 +1,8 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.entity.so.OsmoticDevicePage;
@ -83,7 +84,8 @@ public class OsmoticPressDeviceController extends AbstractCommonFileController{
@Operation(summary = "分页")
@PostMapping("/page")
public R<Page<OsmoticPressDevice>> page(@RequestBody @Validated OsmoticDevicePage page) {
LambdaQueryChainWrapper<OsmoticPressDevice> query = service.lambdaQuery();
LambdaQueryWrapper<OsmoticPressDevice> query = Wrappers.lambdaQuery();
if (ObjectUtils.isNotNull(page.getStationCode())) {
query.like(OsmoticPressDevice::getStationCode, page.getStationCode());
}

View File

@ -1,5 +1,6 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.gunshi.core.result.R;
import com.gunshi.project.xyt.model.AttResBase;
@ -65,6 +66,7 @@ public class StZqrlBController {
.count() > 0) {
throw new IllegalArgumentException("当前数据已存在");
}
dto.setId(IdWorker.getId());
dto.setModitime(new Date());
boolean result = service.save(dto);
return R.ok(result ? dto : null);
@ -81,14 +83,18 @@ public class StZqrlBController {
.eq(StZqrlB::getStcd, dto.getStcd())
.eq(StZqrlB::getZ, dto.getZ())
.eq(StZqrlB::getQ, dto.getQ())
.ne(StZqrlB::getModitime, dto.getModitime())
.ne(StZqrlB::getId,dto.getId())
.count() > 0) {
throw new IllegalArgumentException("当前数据已存在");
}
dto.setModitime(null);
boolean result = service.updateById(dto);
boolean result = service.lambdaUpdate()
.set(StZqrlB::getZ, dto.getZ())
.set(StZqrlB::getQ, dto.getQ())
.eq(StZqrlB::getId, dto.getId())
.update();
return R.ok(result ? dto : null);
}
@ -99,18 +105,12 @@ public class StZqrlBController {
throw new IllegalArgumentException("测站编码不存在");
}
if (service.lambdaQuery()
.eq(StZqrlB::getStcd, dto.getStcd())
.eq(StZqrlB::getZ, dto.getZ())
.eq(StZqrlB::getQ, dto.getQ())
.eq(StZqrlB::getModitime, dto.getModitime())
.count() != 1) {
.eq(StZqrlB::getId, dto.getId())
.count() == 0) {
throw new IllegalArgumentException("当前数据不存在");
}
return R.ok(service.lambdaUpdate()
.eq(StZqrlB::getStcd, dto.getStcd())
.eq(StZqrlB::getZ, dto.getZ())
.eq(StZqrlB::getQ, dto.getQ())
.eq(StZqrlB::getModitime, dto.getModitime())
.eq(StZqrlB::getId, dto.getId())
.remove() );
}

View File

@ -1,5 +1,6 @@
package com.gunshi.project.xyt.controller;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.gunshi.core.result.R;
@ -65,6 +66,7 @@ public class StZvarlBController {
.count() > 0) {
throw new IllegalArgumentException("当前数据已存在");
}
dto.setId(IdWorker.getId());
dto.setModitime(new Date());
boolean result = service.save(dto);
return R.ok(result ? dto : null);
@ -82,7 +84,7 @@ public class StZvarlBController {
.eq(StZvarlB::getStcd, dto.getStcd())
.eq(StZvarlB::getRz, dto.getRz())
.eq(StZvarlB::getW, dto.getW())
.ne(StZvarlB::getModitime, dto.getModitime())
.ne(StZvarlB::getId, dto.getId())
.count() > 0) {
throw new IllegalArgumentException("当前数据已存在");
}
@ -92,8 +94,7 @@ public class StZvarlBController {
.set(StZvarlB::getRz, dto.getRz())
.set(StZvarlB::getW, dto.getW())
.set(StZvarlB::getWsfa, dto.getWsfa())
.eq(StZvarlB::getStcd, dto.getStcd())
.eq(StZvarlB::getModitime, dto.getModitime())
.eq(StZvarlB::getId, dto.getId())
.update();
return R.ok(result ? dto : null);
}
@ -102,18 +103,12 @@ public class StZvarlBController {
@PostMapping("/del")
public R<Boolean> del(@Validated(Delete.class) @RequestBody StZvarlB dto) {
if (service.lambdaQuery()
.eq(StZvarlB::getRz, dto.getRz())
.eq(StZvarlB::getW, dto.getW())
.eq(StZvarlB::getStcd, dto.getStcd())
.eq(StZvarlB::getModitime, dto.getModitime())
.count() != 1) {
.eq(StZvarlB::getId, dto.getId())
.count() == 0) {
throw new IllegalArgumentException("当前数据不存在");
}
return R.ok(service.lambdaUpdate()
.eq(StZvarlB::getRz, dto.getRz())
.eq(StZvarlB::getW, dto.getW())
.eq(StZvarlB::getStcd, dto.getStcd())
.eq(StZvarlB::getModitime, dto.getModitime())
.eq(StZvarlB::getId, dto.getId())
.remove() );
}

View File

@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
import com.gunshi.project.xyt.validate.markers.Insert;
import com.gunshi.project.xyt.validate.markers.Delete;
import com.gunshi.project.xyt.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
@ -16,6 +16,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* :
@ -36,7 +37,7 @@ public class AttDamBase implements Serializable {
@TableId(value="dam_code", type= IdType.AUTO)
@Schema(description="主键")
@Size(max = 32,message = "主键最大长度要小于 32")
@NotBlank(message = "主键不能为空",groups = {Insert.class, Update.class})
@NotBlank(message = "主键不能为空",groups = { Update.class, Delete.class})
private String damCode;
/**
@ -148,4 +149,7 @@ public class AttDamBase implements Serializable {
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date createTime;
@TableField(exist = false)
@Schema(description = "文件集合")
private List<FileAssociations> files;
}

View File

@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
import com.gunshi.project.xyt.validate.markers.Insert;
import com.gunshi.project.xyt.validate.markers.Delete;
import com.gunshi.project.xyt.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
@ -36,7 +36,7 @@ public class AttSpillwayBase implements Serializable {
@TableId(value="code", type= IdType.AUTO)
@Schema(description="溢洪道代码")
@Size(max = 32,message = "溢洪道代码最大长度要小于 32")
@NotBlank(message = "溢洪道代码不能为空",groups = {Insert.class, Update.class})
@NotBlank(message = "溢洪道代码不能为空",groups = { Update.class, Delete.class})
private String code;
/**

View File

@ -92,7 +92,10 @@ public class FileAssociations implements Serializable {
@TableField(value = "type")
@Schema(description = "业务文件类型 0:水库基本信息-工程基础信息-工程特性表,1:水库基本信息-设计图纸和资料")
@Schema(description = "业务文件类型 " +
"0:水库基本信息-工程基础信息-工程特性表," +
"1:水库基本信息-设计图纸和资料" +
"大坝 图片文件type:3 , 视频文件type:4")
private String type;

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.project.xyt.validate.markers.Delete;
import com.gunshi.project.xyt.validate.markers.Insert;
@ -33,10 +35,17 @@ public class StZqrlB implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
*
*/
@TableId(value="stcd", type= IdType.AUTO)
@TableField(value="stcd")
@Schema(description="测站编码")
@Size(max = 20,message = "测站编码最大长度要小于 8")
@NotBlank(message = "测站编码不能为空")

View File

@ -1,10 +1,13 @@
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.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.core.dateformat.DateFormatString;
import com.gunshi.project.xyt.validate.markers.Delete;
import com.gunshi.project.xyt.validate.markers.Insert;
@ -31,10 +34,18 @@ public class StZvarlB implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value="id", type= IdType.AUTO)
@Schema(description="主键")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
*
*/
@TableId(value="stcd")
@TableField(value="stcd")
@Schema(description="测站编码")
@Size(max = 20,message = "测站编码最大长度要小于 8")
private String stcd;

View File

@ -84,10 +84,7 @@ public class FileAssociationsService extends ServiceImpl<FileAssociationsMapper,
}
@CacheEvict(value = THIS_REDIS_KEY, key = "#p1 +':*'", allEntries = true)
public void saveFile(List<FileAssociations> files, String tableName, String businessId, String type) {
if (CollectionUtils.isEmpty(files)) {
log.info("fileIds is null!");
}
public void saveFileNotDel(List<FileAssociations> files, String tableName, String businessId, String type) {
// 查询是否添加
List<FileAssociations> dbList = this.lambdaQuery()
@ -97,16 +94,10 @@ public class FileAssociationsService extends ServiceImpl<FileAssociationsMapper,
.eq(FileAssociations::getDel, REC)
.list();
if (CollectionUtils.isNotEmpty(dbList)) {
if (CollectionUtils.isEmpty(files) && CollectionUtils.isNotEmpty(dbList)) {
log.info("fileIds is null!");
Set<Long> fileIds = dbList.stream().map(FileAssociations::getFileId)
.collect(Collectors.toSet());
// 删除已添加数据, 删除重复数据 删除不成功即新数据
files = files.stream()
.filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId()))
.collect(Collectors.toList());
// if (CollectionUtils.isNotEmpty(files)) {
// 删除
if (this.lambdaUpdate()
.set(FileAssociations::getDel, DEL)
@ -116,9 +107,8 @@ public class FileAssociationsService extends ServiceImpl<FileAssociationsMapper,
.in(FileAssociations::getFileId, fileIds)
.update()) {
log.info("delete file {} success!", fileIds);
return;
}
// }
}

View File

@ -85,7 +85,7 @@ public class OsmoticWarnRService extends ServiceImpl<OsmoticWarnRMapper, Osmotic
*/
public void savePressWarn(String stationCode,BigDecimal value,Date tm,String direction) {
//查询预警规则,每个测点至多只有2条预警规则
LambdaQueryWrapper<OsmoticWarnRule> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<OsmoticWarnRule> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(OsmoticWarnRule::getStationCode,stationCode)
.eq(OsmoticWarnRule::getStatus,1);
if(StringUtils.isNotEmpty(direction)){