Browse Source

feat: 添加堤防水雨情统计接口

master_tdsql
hxh 1 year ago
parent
commit
bbd55bcf67
  1. 28
      shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfJbxxMapper.java
  2. 7
      shuili-system/src/main/java/com/kms/yxgh/df/controller/DfProjectController.java
  3. 41
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectListDto.java
  4. 26
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java
  5. 6
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java

28
shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfJbxxMapper.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.df.domain.BsSgcDfJbxx;
import com.kms.yxgh.df.dto.DfProjectListDto;
import com.kms.yxgh.df.dto.DfYhProjectQueDto;
import com.kms.yxgh.df.dto.DfYqProjectListDto;
import com.kms.yxgh.df.dto.DfYqProjectQueDto;
import com.kms.yxgh.df.dto.*;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@ -122,4 +119,27 @@ public interface BsSgcDfJbxxMapper extends BaseMapper<BsSgcDfJbxx> {
"</if>" +
"</script>")
IPage<DfYqProjectListDto> getDfYqProjectListWithPage(Page<DfYqProjectListDto> page, @Param("dfProject") DfYqProjectQueDto dfProject);
@Select({
"<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 ",
"INNER JOIN (",
" SELECT dike_code, MAX(create_time) AS max_time ",
" FROM bs_sgc_df_syq ",
" WHERE DATE(create_time) = CURDATE() ",
" GROUP BY dike_code",
") wr_max ON wr.dike_code = wr_max.dike_code AND wr.create_time = wr_max.max_time ",
"WHERE 1=1 ",
"<if test='dfProject.riverLocation != null and dfProject.riverLocation != \"\"'>",
"AND df.river_location = #{dfProject.riverLocation} ",
"</if>",
"<if test='dfProject.adcd != null and dfProject.adcd != \"\"'>",
"AND df.adcd = #{dfProject.adcd} ",
"</if>",
"GROUP BY df.dike_code ",
"</script>"
})
IPage<DfYqStatisticsProjectListDto> getDfYqStatisticsProjectListWithPage(Page<DfYqStatisticsProjectListDto> page, @Param("dfProject") DfYqStatisticsProjectQueDto dfProject);
}

7
shuili-system/src/main/java/com/kms/yxgh/df/controller/DfProjectController.java

@ -50,6 +50,13 @@ public class DfProjectController {
return dfProjectService.getYqProjectList(sp);
}
//堤防水雨情工程统计列表
@PostMapping("/yq/statistics")
@ApiOperation("堤防水雨情工程统计列表")
public IPage<DfYqStatisticsProjectListDto> yqStatistics(@RequestBody SearchParam<DfYqStatisticsProjectQueDto> sp) {
return dfProjectService.getYqProjectStatistics(sp);
}
@PostMapping("/rel-checking")
@ApiOperation("关联检查项")

41
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectListDto.java

@ -0,0 +1,41 @@
package com.kms.yxgh.df.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName: DfYqStatisticsProjectListDto
* @Description: TODO
* @Date: 2024/3/1 下午3:14
* *
* @author: hxh
* @version: 1.0
*/
@ApiModel("堤防水雨情统计工程列表")
@Data
public class DfYqStatisticsProjectListDto {
@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/df/dto/DfYqStatisticsProjectQueDto.java

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

6
shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java

@ -86,4 +86,10 @@ public class DfProjectService {
DfYqProjectQueDto dfProject = Optional.ofNullable(sp.getData()).orElseGet(DfYqProjectQueDto::new);
return dfProjectMapper.getDfYqProjectListWithPage(page, dfProject);
}
public IPage<DfYqStatisticsProjectListDto> getYqProjectStatistics(SearchParam<DfYqStatisticsProjectQueDto> sp) {
Page<DfYqStatisticsProjectListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
DfYqStatisticsProjectQueDto dfProject = Optional.ofNullable(sp.getData()).orElseGet(DfYqStatisticsProjectQueDto::new);
return dfProjectMapper.getDfYqStatisticsProjectListWithPage(page, dfProject);
}
}
Loading…
Cancel
Save