fix: 植物园单站基础信息
This commit is contained in:
parent
7dad92b195
commit
aaaa6ad735
@ -7,8 +7,10 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@ -32,4 +34,10 @@ public class VpConstructionController {
|
||||
public ResponseResult getVmsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(vpConstructionService.processVmsstbprptList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@GetMapping("/msstbprpt/getStInfoByStcd")
|
||||
@Operation(summary = "植物园单站基础信息")
|
||||
public ResponseResult getStInfoByStcd(@RequestParam String stcd) {
|
||||
return ResponseResult.successData(vpConstructionService.getStInfoByStcd(stcd));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package com.yfd.platform.qgc_env.vap.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Schema(description = "植物园单站基础信息")
|
||||
public class VpStBaseInfoVo {
|
||||
|
||||
@Schema(description = "站点编码")
|
||||
private String stcd;
|
||||
|
||||
@Schema(description = "站点名称")
|
||||
private String stnm;
|
||||
|
||||
@Schema(description = "站类编码")
|
||||
private String sttpCode;
|
||||
|
||||
@Schema(description = "站类名称")
|
||||
private String sttpName;
|
||||
|
||||
@Schema(description = "站类全路径")
|
||||
private String sttpFullPath;
|
||||
|
||||
@Schema(description = "站类层级")
|
||||
private Integer sttpTreeLevel;
|
||||
|
||||
@Schema(description = "关联站点编码")
|
||||
private String stCode;
|
||||
|
||||
@Schema(description = "关联站点名称")
|
||||
private String stName;
|
||||
|
||||
@Schema(description = "所属基地编码")
|
||||
private String baseId;
|
||||
|
||||
@Schema(description = "所属基地名称")
|
||||
private String baseName;
|
||||
|
||||
@Schema(description = "所属基地流域编码")
|
||||
private String hbrvcd;
|
||||
|
||||
@Schema(description = "所属基地流域名称")
|
||||
private String hbrvcdName;
|
||||
|
||||
@Schema(description = "所属流域编码")
|
||||
private String rvcd;
|
||||
|
||||
@Schema(description = "所属流域名称")
|
||||
private String rvcdName;
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.yfd.platform.qgc_env.vap.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Schema(description = "植物园站点详情返回")
|
||||
public class VpStInfoResultVo {
|
||||
|
||||
@Schema(description = "主信息兼容对象")
|
||||
private Map<String, Object> msStbprpT = new LinkedHashMap<>();
|
||||
|
||||
@Schema(description = "测值列表")
|
||||
private List<Object> stcdValVoList = new ArrayList<>();
|
||||
|
||||
@Schema(description = "关联列表")
|
||||
private List<Object> relList = new ArrayList<>();
|
||||
|
||||
@Schema(description = "站点基础信息")
|
||||
private VpStBaseInfoVo stBaseInfo;
|
||||
}
|
||||
@ -2,10 +2,13 @@ package com.yfd.platform.qgc_env.vap.service;
|
||||
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.common.DataSourceResult;
|
||||
import com.yfd.platform.qgc_env.vap.entity.vo.VpStInfoResultVo;
|
||||
|
||||
public interface VpConstructionService {
|
||||
|
||||
DataSourceResult processKendoList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult processVmsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
VpStInfoResultVo getStInfoByStcd(String stcd);
|
||||
}
|
||||
|
||||
@ -10,6 +10,8 @@ import com.yfd.platform.common.GroupingInfo;
|
||||
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||
import com.yfd.platform.common.PageInfo;
|
||||
import com.yfd.platform.qgc_env.vap.entity.vo.VpConstructionSituationVo;
|
||||
import com.yfd.platform.qgc_env.vap.entity.vo.VpStBaseInfoVo;
|
||||
import com.yfd.platform.qgc_env.vap.entity.vo.VpStInfoResultVo;
|
||||
import com.yfd.platform.qgc_env.vap.entity.vo.VpVmsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.vap.service.VpConstructionService;
|
||||
import com.yfd.platform.utils.KendoUtil;
|
||||
@ -128,6 +130,26 @@ public class VpConstructionServiceImpl implements VpConstructionService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VpStInfoResultVo getStInfoByStcd(String stcd) {
|
||||
VpStInfoResultVo result = new VpStInfoResultVo();
|
||||
if (StrUtil.isBlank(stcd)) {
|
||||
return result;
|
||||
}
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("stcd", stcd);
|
||||
List<VpStBaseInfoVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||
null,
|
||||
buildStInfoByStcdSql(),
|
||||
paramMap,
|
||||
VpStBaseInfoVo.class
|
||||
);
|
||||
if (!list.isEmpty()) {
|
||||
result.setStBaseInfo(list.get(0));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private String buildBaseSql(boolean botanicalGarden, boolean nationwide) {
|
||||
String baseIdExpr = botanicalGarden
|
||||
? "CASE WHEN vp.BASE_ID IS NULL THEN 'null' ELSE vp.BASE_ID END"
|
||||
@ -479,6 +501,33 @@ public class VpConstructionServiceImpl implements VpConstructionService {
|
||||
"WHERE NVL(vp.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
private String buildStInfoByStcdSql() {
|
||||
return "SELECT " +
|
||||
"vp.STCD AS stcd, " +
|
||||
"vp.STNM AS stnm, " +
|
||||
"vp.STTP AS sttpCode, " +
|
||||
"sttp.STTP_NAME AS sttpName, " +
|
||||
"sttp.FULL_PATH AS sttpFullPath, " +
|
||||
"sttp.TREE_LEVEL AS sttpTreeLevel, " +
|
||||
"CAST(NULL AS VARCHAR2(100)) AS stCode, " +
|
||||
"CAST(NULL AS VARCHAR2(200)) AS stName, " +
|
||||
"vp.BASE_ID AS baseId, " +
|
||||
"hb.BASENAME AS baseName, " +
|
||||
"vp.HBRVCD AS hbrvcd, " +
|
||||
"hbrv.HBRVNM AS hbrvcdName, " +
|
||||
"eng.REACHCD AS rvcd, " +
|
||||
"rv.RVNM AS rvcdName " +
|
||||
"FROM SD_VP_B_H vp " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = vp.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = vp.HBRVCD AND hbrv.BASEID = vp.BASE_ID " +
|
||||
" AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = vp.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.REACHCD " +
|
||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = vp.STTP " +
|
||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " +
|
||||
"WHERE NVL(vp.IS_DELETED, 0) = 0 AND vp.STCD = #{map.stcd}";
|
||||
}
|
||||
|
||||
private String buildVmsstbprptFilterCondition(DataSourceRequest.FilterDescriptor filter,
|
||||
Map<String, Object> paramMap,
|
||||
int[] indexHolder) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user