Browse Source

feat: 添加水闸工程统计接口

master_tdsql
hxh 1 year ago
parent
commit
17965dd522
  1. 2
      shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfJbxxMapper.java
  2. 25
      shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java
  3. 6
      shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java
  4. 41
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectListDto.java
  5. 26
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java
  6. 6
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java

2
shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfJbxxMapper.java

@ -143,7 +143,7 @@ public interface BsSgcDfJbxxMapper extends BaseMapper<BsSgcDfJbxx> {
"<script>",
"SELECT df.dike_code AS dikeCode, df.dike_name AS dikeName, wr.water_level AS waterLevel, wr.rain_fall AS rainfall ",
"FROM bs_sgc_df_gcda df ",
"LEFT JOIN bs_sgc_df_syq wr ON wr.dike_code = df.dike_code and df.expr_date is null and wr.expr_date is null ",
"LEFT JOIN bs_sgc_df_syq wr ON wr.dike_code = df.dike_code and df.expr_date is null ",
"INNER JOIN (",
" SELECT dike_code, MAX(create_time) AS max_time ",
" FROM bs_sgc_df_syq ",

25
shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzGcdaMapper.java

@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.sz.domain.BsSgcSzGcda;
import com.kms.yxgh.sz.dto.SzProjectListDto;
import com.kms.yxgh.sz.dto.SzYhProjectQueDto;
import com.kms.yxgh.sz.dto.SzYqProjectListDto;
import com.kms.yxgh.sz.dto.SzYqProjectQueDto;
import com.kms.yxgh.sz.dto.*;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@ -104,4 +101,24 @@ public interface BsSgcSzGcdaMapper extends BaseMapper<BsSgcSzGcda> {
"</script>")
IPage<SzYqProjectListDto> getSzYqProjectListWithPage(Page<SzYqProjectListDto> page, @Param("szProject") SzYqProjectQueDto szProject);
@Select("<script>" +
"SELECT df.waga_code as wagaCode, df.waga_name as wagaName, df.water_level AS waterLevel, df.rain_fall AS rainfall " +
"FROM bs_sgc_sz_jbxx df " +
"LEFT JOIN bs_sgc_df_syq pj ON pj.waga_code = df.waga_code and df.expr_date is null " +
"INNER JOIN (" +
" SELECT waga_code, MAX(create_time) AS max_time " +
" FROM bs_sgc_df_syq " +
" WHERE DATE(create_time) = CURDATE() " +
" GROUP BY waga_code" +
") wr_max ON wr.waga_code = wr_max.waga_code AND wr.create_time = wr_max.max_time " +
"WHERE 1=1 " +
"and df.expr_date is null " +
"<if test='szProject.riverLocation != null and szProject.riverLocation != \"\"'>" +
"AND df.river_location = #{szProject.riverLocation} " +
"</if>" +
"<if test='szProject.adcd != null and szProject.adcd != \"\"'>" +
"AND df.adcd = #{szProject.adcd} " +
"</if>" +
"</script>")
IPage<SzYqStatisticsProjectListDto> getSzYqProjectStatisticsWithPage(Page<SzYqStatisticsProjectListDto> page, @Param("szProject") SzYqStatisticsProjectQueDto szProject);
}

6
shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java

@ -46,6 +46,12 @@ public class SzProjectController {
return szProjectService.getYqProjectList(sp);
}
//水雨情工程统计列表
@PostMapping("/yq/statistics")
@ApiOperation("水闸水雨情工程统计列表")
public IPage<SzYqStatisticsProjectListDto> yqStatistics(@RequestBody SearchParam<SzYqStatisticsProjectQueDto> sp) {
return szProjectService.getYqProjectStatistics(sp);
}
@PostMapping("/rel-checking")
@ApiOperation("关联检查项")

41
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectListDto.java

@ -0,0 +1,41 @@
package com.kms.yxgh.sz.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName: SzYqStatisticsProjectListDto
* @Description: TODO
* @Date: 2024/3/1 下午3:14
* *
* @author: hxh
* @version: 1.0
*/
@ApiModel("水闸水雨情统计工程列表")
@Data
public class SzYqStatisticsProjectListDto {
@ApiModelProperty(value = "水闸编号")
private String dikeCode;
@ApiModelProperty(value = "水闸名称")
private String dikeName;
//水位
@ApiModelProperty(value = "水位")
private Double waterLevel;
//雨量
@ApiModelProperty(value = "雨量")
private Double rainfall;
//距离警戒水位
@ApiModelProperty(value = "距离警戒水位")
public Double getDistance() {
if (waterLevel == null) {
return null;
} else {
return waterLevel - 10.0;
}
}
}

26
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java

@ -0,0 +1,26 @@
package com.kms.yxgh.sz.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName: SzYqStatisticsProjectQueDto
* @Description: TODO
* @Date: 2024/3/1 下午3:13
* *
* @author: hxh
* @version: 1.0
*/
@ApiModel("水闸水雨情统计工程查询参数")
@Data
public class SzYqStatisticsProjectQueDto {
//所属流域
@ApiModelProperty(value = "所属流域")
private String riverLocation;
@ApiModelProperty(value = "行政区划")
private String adcd;
}

6
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java

@ -97,4 +97,10 @@ public class SzProjectService {
}).collect(Collectors.toList()));
return relDto;
}
public IPage<SzYqStatisticsProjectListDto> getYqProjectStatistics(SearchParam<SzYqStatisticsProjectQueDto> sp) {
Page<SzYqStatisticsProjectListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
SzYqStatisticsProjectQueDto szProject = Optional.ofNullable(sp.getData()).orElseGet(SzYqStatisticsProjectQueDto::new);
return bsSgcSzGcdaMapper.getSzYqProjectStatisticsWithPage(page, szProject);
}
}
Loading…
Cancel
Save