diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFpssBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFpssBHController.java index 1f83d18c..9c38b5d1 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFpssBHController.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFpssBHController.java @@ -59,8 +59,10 @@ public class SdFpssBHController { @Operation(summary = "设施下拉列表(根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选)") public ResponseResult dropdown(@RequestParam(required = false) String rstcd, @RequestParam(required = false) String stnm, - @RequestParam(required = false) String baseId) { - return ResponseResult.successData(sdFpssBHService.selectForDropdown(rstcd, stnm, baseId)); + @RequestParam(required = false) String baseId, + @RequestParam(required = false) String rvcd, + @RequestParam(required = false) String reachcd) { + return ResponseResult.successData(sdFpssBHService.selectForDropdown(rstcd, stnm, baseId,rvcd,reachcd)); } @Log(module = "过鱼设施管理", value = "新增过鱼设施") diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFpssBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFpssBHMapper.java index 86ac6ee7..e12224c6 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFpssBHMapper.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFpssBHMapper.java @@ -17,10 +17,14 @@ public interface SdFpssBHMapper extends BaseMapper { "WHERE 1=1 " + " AND E.BASE_ID = #{baseId} " + " AND F.RSTCD = #{rstcd} " + + " AND E.REACHCD = #{rvcd} " + +// " AND F.RSTCD = #{rstcd} " + " AND F.STNM LIKE '%' || #{stnm} || '%' " + "ORDER BY F.ORDER_INDEX DESC" + "") List selectForDropdownWithBaseId(@Param("rstcd") String rstcd, @Param("stnm") String stnm, - @Param("baseId") String baseId); + @Param("baseId") String baseId, + @Param("rvcd") String rvcd, + @Param("reachcd") String reachcd); } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFpssBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFpssBHService.java index 42d1fee2..f9960352 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFpssBHService.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFpssBHService.java @@ -16,7 +16,7 @@ public interface ISdFpssBHService extends IService { /** * 设施下拉列表(根据电站编码筛选 + 支持名称模糊搜索 + 支持基地编码筛选) */ - List selectForDropdown(String rstcd, String stnm, String baseId); + List selectForDropdown(String rstcd, String stnm, String baseId,String rvcd,String reachcd); Set getUserAuthorizedStationCodes(); diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java index 8cfcdc33..b4ad2743 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java @@ -91,8 +91,8 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId) .eq(StringUtils.hasText(hbrvcd), SdEngInfoBH::getHbrvcd, hbrvcd) - .eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getRvcd, rvcd) - .in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getRvcd, rvcds) + .eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getReachcd, rvcd) + .in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds) .in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds) .like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm) .select(SdEngInfoBH::getStcd, SdEngInfoBH::getEnnm, SdEngInfoBH::getBaseId) @@ -135,23 +135,23 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl stationList = engInfoBHMapper.selectByHbrvcd(orgId); + } else if ("RVCD".equals(orgType)) { + List stationList = engInfoBHMapper.selectByRvcd(null,orgId); if (stationList != null) { for (SdEngInfoBH station : stationList) { if (station.getStcd() != null) { stationCodes.add(station.getStcd()); } if (station.getEnnm() != null) { - basinCodes.add(station.getHbrvcd()); + basinCodes.add(station.getReachcd()); } } } @@ -166,7 +166,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl engInfos = this.lambdaQuery() .select(SdEngInfoBH::getStcd) - .in(SdEngInfoBH::getHbrvcd, basinCodes) + .in(SdEngInfoBH::getReachcd, basinCodes) .list(); return engInfos.stream() .map(SdEngInfoBH::getStcd) @@ -201,7 +201,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId) .eq(StringUtils.hasText(hbrvcd), SdEngInfoBH::getHbrvcd, hbrvcd) - .in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getRvcd, rvcds) + .in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds) .in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds) .like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm) .select(SdEngInfoBH::getStcd, SdEngInfoBH::getEnnm, SdEngInfoBH::getBaseId) diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFpssBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFpssBHServiceImpl.java index 101135f6..ea8b2378 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFpssBHServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFpssBHServiceImpl.java @@ -66,10 +66,10 @@ public class SdFpssBHServiceImpl extends ServiceImpl i } @Override - public List selectForDropdown(String rstcd, String stnm, String baseId) { + public List selectForDropdown(String rstcd, String stnm, String baseId,String rvcd,String reachcd) { // 管理员直接查询,无需权限过滤 if ("admin".equals(SecurityUtils.getCurrentUsername())) { - return queryFpssList(rstcd, stnm, baseId); + return queryFpssList(rstcd, stnm, baseId,rvcd,reachcd); } // 获取用户有权限的工程编码 @@ -81,7 +81,7 @@ public class SdFpssBHServiceImpl extends ServiceImpl i } // 查询数据 - List result = queryFpssList(rstcd, stnm, baseId); + List result = queryFpssList(rstcd, stnm, baseId,rvcd,reachcd); // 权限过滤 return result.stream() @@ -92,9 +92,9 @@ public class SdFpssBHServiceImpl extends ServiceImpl i /** * 查询过鱼设施列表(公共方法) */ - private List queryFpssList(String rstcd, String stnm, String baseId) { - if (StringUtils.hasText(baseId)) { - return baseMapper.selectForDropdownWithBaseId(rstcd, stnm, baseId); + private List queryFpssList(String rstcd, String stnm, String baseId,String rvcd,String reachcd) { + if (StringUtils.hasText(baseId)||StringUtils.hasText(rvcd)||StringUtils.hasText(reachcd)) { + return baseMapper.selectForDropdownWithBaseId(rstcd, stnm, baseId,rvcd,reachcd); } else { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.hasText(rstcd), SdFpssBH::getRstcd, rstcd) @@ -127,23 +127,23 @@ public class SdFpssBHServiceImpl extends ServiceImpl i if ("STATION".equals(orgType)) { SdEngInfoBH station = sdEngInfoBHMapper.selectById(orgId); if (station != null) { - if (station.getHbrvcd() != null) { - basinCodes.add(station.getHbrvcd()); + if (station.getReachcd() != null) { + basinCodes.add(station.getReachcd()); } if (station.getStcd() != null) { stationCodes.add(station.getStcd()); } } - } else if ("HBRVCD".equals(orgType)) { - List stationList = sdEngInfoBHMapper.selectByHbrvcd(orgId); + } else if ("RVCD".equals(orgType)) { + List stationList = sdEngInfoBHMapper.selectByRvcd(null,orgId); if (stationList != null) { for (SdEngInfoBH station : stationList) { if (station.getStcd() != null) { stationCodes.add(station.getStcd()); } if (station.getEnnm() != null) { - basinCodes.add(station.getHbrvcd()); + basinCodes.add(station.getReachcd()); } } } @@ -158,7 +158,7 @@ public class SdFpssBHServiceImpl extends ServiceImpl i List engInfos = sdEngInfoBHMapper.selectList( new LambdaQueryWrapper() .select(SdEngInfoBH::getStcd) - .in(SdEngInfoBH::getHbrvcd, basinCodes) + .in(SdEngInfoBH::getReachcd, basinCodes) ); return engInfos.stream() .map(SdEngInfoBH::getStcd) diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdHbrvDicServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdHbrvDicServiceImpl.java index 6adc2def..c0653ad3 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdHbrvDicServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdHbrvDicServiceImpl.java @@ -149,15 +149,15 @@ public class SdHbrvDicServiceImpl extends ServiceImpl stationList = engInfoBHMapper.selectByHbrvcd(orgId); if (stationList != null) { for (SdEngInfoBH station : stationList) { @@ -165,7 +165,7 @@ public class SdHbrvDicServiceImpl extends ServiceImpl stationList = sdEngInfoBHMapper.selectByHbrvcd(orgId); + } else if ("RVCD".equals(orgType)) { + List stationList = sdEngInfoBHMapper.selectByRvcd(null,orgId); if (stationList != null) { for (SdEngInfoBH station : stationList) { if (station.getStcd() != null) { stationCodes.add(station.getStcd()); } if (station.getEnnm() != null) { - basinCodes.add(station.getHbrvcd()); + basinCodes.add(station.getReachcd()); } } } @@ -214,7 +214,7 @@ public class SdHydrobaseServiceImpl extends ServiceImpl engInfos = sdEngInfoBHMapper.selectList( new LambdaQueryWrapper() .select(SdEngInfoBH::getStcd) - .in(SdEngInfoBH::getHbrvcd, basinCodes) + .in(SdEngInfoBH::getReachcd, basinCodes) ); return engInfos.stream() .map(SdEngInfoBH::getStcd) diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdRvcdDicServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdRvcdDicServiceImpl.java index c9341c3f..ed0b961b 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdRvcdDicServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdRvcdDicServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yfd.platform.qgc_base.domain.SdEngInfoBH; +import com.yfd.platform.qgc_base.domain.SdHbrvDic; import com.yfd.platform.qgc_base.domain.SdRvcdDic; import com.yfd.platform.qgc_base.mapper.SdEngInfoBHMapper; import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper; @@ -126,18 +127,19 @@ public class SdRvcdDicServiceImpl extends ServiceImpl engInfos = engInfoBHMapper.selectList( new LambdaQueryWrapper() - .select(SdEngInfoBH::getRvcd) + .select(SdEngInfoBH::getReachcd) .in(SdEngInfoBH::getStcd, authorizedStations) ); List rvcds = engInfos.stream() - .map(SdEngInfoBH::getRvcd) + .map(SdEngInfoBH::getReachcd) .filter(id -> id != null && !id.isEmpty()) .distinct() .toList(); + if (!rvcds.isEmpty()) { return dropdownList.stream() - .filter(rvcdDic -> rvcds.contains(rvcdDic.getRvcd())) + .filter(rvDic -> rvcds.contains(rvDic.getRvcd())) .collect(Collectors.toList()); } else { return new ArrayList<>(); @@ -172,8 +174,8 @@ public class SdRvcdDicServiceImpl extends ServiceImpl engInfos = engInfoBHMapper.selectList( new LambdaQueryWrapper() .select(SdEngInfoBH::getStcd) - .in(SdEngInfoBH::getRvcd, basinCodes) + .in(SdEngInfoBH::getReachcd, basinCodes) ); return engInfos.stream() .map(SdEngInfoBH::getStcd)