feat: 获取鱼类变化情况
This commit is contained in:
parent
539e5e9315
commit
d4a9d0e802
@ -4,6 +4,7 @@ import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.config.ResponseResult;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.ao.FprdRunDataAo;
|
||||
import com.yfd.platform.qgc_eng.eq.service.EngEqDataService;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprFtpChangeInfoVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprdRunDataInfoVo;
|
||||
import com.yfd.platform.qgc_env.fpr.service.FprMonitorService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/fpr")
|
||||
@Tag(name = "鱼类调查装置站基础信息")
|
||||
@ -47,6 +50,13 @@ public class FprMonitorController {
|
||||
return ResponseResult.successData(result);
|
||||
}
|
||||
|
||||
@PostMapping("/sdFprdR/getFtpChangeInfo")
|
||||
@Operation(summary = "获取鱼类变化情况")
|
||||
public ResponseResult getFtpChangeInfo(@RequestBody FprdRunDataAo ao) {
|
||||
List<FprFtpChangeInfoVo> result = fprMonitorService.getFtpChangeInfo(ao);
|
||||
return ResponseResult.successData(result);
|
||||
}
|
||||
|
||||
@PostMapping("/wbsb/GetKendoList")
|
||||
@Operation(summary = "查询基地/基地流域树数据")
|
||||
public ResponseResult getWbsbList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.yfd.platform.qgc_env.fpr.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Schema(description = "鱼类变化情况")
|
||||
public class FprFtpChangeInfoVo {
|
||||
|
||||
@Schema(description = "鱼种类数量")
|
||||
private String ftpCount;
|
||||
|
||||
@Schema(description = "鱼数量")
|
||||
private Integer fishCount;
|
||||
|
||||
@Schema(description = "月")
|
||||
private Integer month;
|
||||
|
||||
@Schema(description = "年份")
|
||||
private Integer year;
|
||||
}
|
||||
@ -2,11 +2,14 @@ package com.yfd.platform.qgc_env.fpr.service;
|
||||
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.common.DataSourceResult;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprFtpChangeInfoVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.ao.FprdRunDataAo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprFishDicVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprdRunDataInfoVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface FprMonitorService {
|
||||
|
||||
DataSourceResult<FprMsstbprptVo> getMsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
@ -14,4 +17,6 @@ public interface FprMonitorService {
|
||||
DataSourceResult<FprFishDicVo> getFishDicList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
FprdRunDataInfoVo getFprdRunDataInfo(FprdRunDataAo ao);
|
||||
|
||||
List<FprFtpChangeInfoVo> getFtpChangeInfo(FprdRunDataAo ao);
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||
import com.yfd.platform.common.exception.BizException;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.ao.FprdRunDataAo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprFishDicVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprFtpChangeInfoVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.fpr.entity.vo.FprdRunDataInfoVo;
|
||||
import com.yfd.platform.qgc_env.fpr.service.FprMonitorService;
|
||||
@ -36,15 +37,7 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
||||
|
||||
@Override
|
||||
public FprdRunDataInfoVo getFprdRunDataInfo(FprdRunDataAo ao) {
|
||||
if (ao == null) {
|
||||
throw new BizException("请求参数不能为空.");
|
||||
}
|
||||
if (StrUtil.isBlank(ao.getBaseId())) {
|
||||
throw new BizException("基地编码(baseId)不能为空.");
|
||||
}
|
||||
if (ao.getYear() == null) {
|
||||
throw new BizException("年度(year)不能为空.");
|
||||
}
|
||||
validateFprdRunDataAo(ao);
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("baseId", ao.getBaseId());
|
||||
@ -64,6 +57,23 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FprFtpChangeInfoVo> getFtpChangeInfo(FprdRunDataAo ao) {
|
||||
validateFprdRunDataAo(ao);
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("baseId", ao.getBaseId());
|
||||
paramMap.put("year", String.valueOf(ao.getYear()));
|
||||
if (StrUtil.isNotBlank(ao.getHbrvcd())) {
|
||||
paramMap.put("hbrvcd", ao.getHbrvcd());
|
||||
}
|
||||
return microservicDynamicSQLMapper.getAllListWithResultType(
|
||||
buildFtpChangeInfoSql(ao),
|
||||
paramMap,
|
||||
FprFtpChangeInfoVo.class
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult<FprMsstbprptVo> getMsstbprptList(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
@ -299,6 +309,41 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
private String buildFtpChangeInfoSql(FprdRunDataAo ao) {
|
||||
StringBuilder sql = new StringBuilder("SELECT ")
|
||||
.append("COUNT(DISTINCT fish.NAME) AS ftpCount, ")
|
||||
.append("COUNT(1) AS fishCount, ")
|
||||
.append("TO_NUMBER(TO_CHAR(run.TM, 'MM')) AS month, ")
|
||||
.append("TO_NUMBER(TO_CHAR(run.TM, 'YYYY')) AS year ")
|
||||
.append("FROM SD_FPRD_R run ")
|
||||
.append("INNER JOIN SD_FPRD_B_H base ON base.STCD = run.STCD ")
|
||||
.append(" AND NVL(base.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND base.STTP = 'FPRD' ")
|
||||
.append("INNER JOIN SD_FPRDFISH_R fish ON fish.FPRDR_ID = run.ID ")
|
||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||
.append("WHERE NVL(run.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND TO_CHAR(run.TM, 'YYYY') = #{map.year} ")
|
||||
.append(" AND base.BASE_ID = #{map.baseId} ");
|
||||
if (StrUtil.isNotBlank(ao.getHbrvcd())) {
|
||||
sql.append(" AND base.HBRVCD = #{map.hbrvcd} ");
|
||||
}
|
||||
sql.append("GROUP BY TO_CHAR(run.TM, 'MM'), TO_CHAR(run.TM, 'YYYY') ")
|
||||
.append("ORDER BY TO_CHAR(run.TM, 'YYYY') ASC, TO_CHAR(run.TM, 'MM') ASC");
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
private void validateFprdRunDataAo(FprdRunDataAo ao) {
|
||||
if (ao == null) {
|
||||
throw new BizException("请求参数不能为空.");
|
||||
}
|
||||
if (StrUtil.isBlank(ao.getBaseId())) {
|
||||
throw new BizException("基地编码(baseId)不能为空.");
|
||||
}
|
||||
if (ao.getYear() == null) {
|
||||
throw new BizException("年度(year)不能为空.");
|
||||
}
|
||||
}
|
||||
|
||||
private String buildFishDicBaseSql() {
|
||||
return "SELECT " +
|
||||
"src.ID AS id, " +
|
||||
|
||||
Loading…
Reference in New Issue
Block a user