feat: 根据stcd编码获取所有关联站点的信息

This commit is contained in:
tangwei 2026-07-02 10:57:02 +08:00
parent f907785f4a
commit cbb65363af
5 changed files with 101 additions and 0 deletions

View File

@ -16,11 +16,14 @@ import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqVmsstbprptVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqRateCountVo; import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqRateCountVo;
import com.yfd.platform.qgc_eng.eq.service.EngEqDataService; import com.yfd.platform.qgc_eng.eq.service.EngEqDataService;
import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecStaticVo; import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecStaticVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.StcdInfoVo;
import com.yfd.platform.utils.QgcQueryWrapperUtil; import com.yfd.platform.utils.QgcQueryWrapperUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; 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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -168,4 +171,14 @@ public class EngEqDataController {
public ResponseResult getDefaultYear(@RequestBody DataSourceRequest dataSourceRequest) { public ResponseResult getDefaultYear(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(engEqDataService.getDefaultYear(dataSourceRequest)); return ResponseResult.successData(engEqDataService.getDefaultYear(dataSourceRequest));
} }
@GetMapping("/eq/base/msstbprpt/getStInfoByStcd")
@Operation(summary = "根据stcd编码获取所有关联站点的信息")
public ResponseResult getStInfoByStcd(String stcd) {
if (StrUtil.isBlank(stcd)) {
return ResponseResult.error("站点编码(stcd)不能为空");
}
StcdInfoVo result = engEqDataService.getStInfoByStcd(stcd);
return ResponseResult.successData(result);
}
} }

View File

@ -0,0 +1,31 @@
package com.yfd.platform.qgc_eng.eq.entity.vo;
import lombok.Data;
@Data
public class StBaseInfo {
private String stcd;
private String stnm;
private String sttpCode;
private String sttpName;
private String sttpFullPath;
private Integer sttpTreeLevel;
private String baseId;
private String baseName;
private String hbrvcd;
private String hbrvcdName;
private String rvcd;
private String rvcdName;
}

View File

@ -0,0 +1,13 @@
package com.yfd.platform.qgc_eng.eq.entity.vo;
import lombok.Data;
import java.util.List;
@Data
public class StcdInfoVo {
private StBaseInfo stBaseInfo;
private List<StBaseInfo> relList;
}

View File

@ -18,6 +18,8 @@ import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqRateCountVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqVmsstbprptVo; import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqVmsstbprptVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecStaticVo; import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecStaticVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.SdEqMonitorCountVo; import com.yfd.platform.qgc_eng.eq.entity.vo.SdEqMonitorCountVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.StBaseInfo;
import com.yfd.platform.qgc_eng.eq.entity.vo.StcdInfoVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.WbsbVo; import com.yfd.platform.qgc_eng.eq.entity.vo.WbsbVo;
import java.util.List; import java.util.List;
@ -61,4 +63,6 @@ public interface EngEqDataService {
DataSourceResult<EngEqRateCountVo> qecRateCount(DataSourceRequest dataSourceRequest); DataSourceResult<EngEqRateCountVo> qecRateCount(DataSourceRequest dataSourceRequest);
DataSourceResult<String> getDefaultYear(DataSourceRequest dataSourceRequest); DataSourceResult<String> getDefaultYear(DataSourceRequest dataSourceRequest);
StcdInfoVo getStInfoByStcd(String stcd);
} }

View File

@ -33,6 +33,8 @@ import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecStaticVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecVo; import com.yfd.platform.qgc_eng.eq.entity.vo.QgcQecVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.SdEqMonitorCountVo; import com.yfd.platform.qgc_eng.eq.entity.vo.SdEqMonitorCountVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.WbsbVo; import com.yfd.platform.qgc_eng.eq.entity.vo.WbsbVo;
import com.yfd.platform.qgc_eng.eq.entity.vo.StBaseInfo;
import com.yfd.platform.qgc_eng.eq.entity.vo.StcdInfoVo;
import com.yfd.platform.qgc_eng.eq.service.EngEqDataService; import com.yfd.platform.qgc_eng.eq.service.EngEqDataService;
import com.yfd.platform.utils.QgcQueryWrapperUtil; import com.yfd.platform.utils.QgcQueryWrapperUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -1131,6 +1133,44 @@ public class EngEqDataServiceImpl implements EngEqDataService {
return result; return result;
} }
@Override
public StcdInfoVo getStInfoByStcd(String stcd) {
if (StrUtil.isBlank(stcd)) {
throw new IllegalArgumentException("站点编码(stcd)不能为空");
}
StcdInfoVo vo = new StcdInfoVo();
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("stcd", stcd);
StBaseInfo stBaseInfo = (StBaseInfo)microservicDynamicSQLMapper.getOneBySqlWithResultType(
"SELECT STCD AS stcd, STNM AS stnm, STTP_CODE AS sttpCode, STTP_NAME AS sttpName, " +
"STTP_FULL_PATH AS sttpFullPath, STTP_TREE_LEVEL AS sttpTreeLevel, " +
"BASE_ID AS baseId, BASE_NAME AS baseName, HBRVCD AS hbrvcd, " +
"HBRVCD_NAME AS hbrvcdName, RVCD AS rvcd, RVCD_NAME AS rvcdName " +
"FROM V_MS_STBPRP_T " +
"WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0",
paramMap,
StBaseInfo.class
);
vo.setStBaseInfo(stBaseInfo);
List<StBaseInfo> relList = microservicDynamicSQLMapper.getAllListWithResultType(
"SELECT STCD AS stcd, STNM AS stnm, STTP_CODE AS sttpCode, STTP_NAME AS sttpName, " +
"STTP_FULL_PATH AS sttpFullPath, STTP_TREE_LEVEL AS sttpTreeLevel, " +
"BASE_ID AS baseId, BASE_NAME AS baseName, HBRVCD AS hbrvcd, " +
"HBRVCD_NAME AS hbrvcdName, RVCD AS rvcd, RVCD_NAME AS rvcdName " +
"FROM V_MS_STBPRP_T " +
"WHERE NVL(IS_DELETED, 0) = 0 " +
"AND STCD != #{map.stcd} " +
"AND STTP_FULL_PATH LIKE CONCAT(CONCAT('%', #{map.stcd}), '%')",
paramMap,
StBaseInfo.class
);
vo.setRelList(relList);
return vo;
}
@Override @Override
public DataSourceResult<EngEqRateCountVo> qecRateCount(DataSourceRequest dataSourceRequest) { public DataSourceResult<EngEqRateCountVo> qecRateCount(DataSourceRequest dataSourceRequest) {
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest(); DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();