wenhongquan пре 5 месеци
родитељ
комит
b56cd94ec6

+ 9 - 0
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/controller/TblDzbcMultiSitePathController.java

@@ -34,6 +34,15 @@ public class TblDzbcMultiSitePathController extends BaseController {
         return tblDzbcMultiSitePathService.queryPageList(bo, pageQuery);
     }
 
+    /**
+     * 根据站点ID查询包含该站点的多站点路线列表
+     * @param siteId 站点ID
+     */
+    @GetMapping("/listBySiteId/{siteId}")
+    public R<List<TblDzbcMultiSitePathVo>> listBySiteId(@PathVariable Long siteId) {
+        return R.ok(tblDzbcMultiSitePathService.queryBySiteId(siteId));
+    }
+
     @Log(title = "多站点路线", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(TblDzbcMultiSitePathBo bo, HttpServletResponse response) {

+ 7 - 0
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/service/ITblDzbcMultiSitePathService.java

@@ -13,6 +13,13 @@ public interface ITblDzbcMultiSitePathService {
 
     TblDzbcMultiSitePathVo queryById(Long id);
 
+    /**
+     * 根据站点ID查询包含该站点的多站点路线列表
+     * @param siteId 站点ID
+     * @return 路线列表
+     */
+    List<TblDzbcMultiSitePathVo> queryBySiteId(Long siteId);
+
     TableDataInfo<TblDzbcMultiSitePathVo> queryPageList(TblDzbcMultiSitePathBo bo, PageQuery pageQuery);
 
     List<TblDzbcMultiSitePathVo> queryList(TblDzbcMultiSitePathBo bo);

+ 22 - 0
ruoyi-modules/ruoyi-dzbc/src/main/java/org/dromara/system/service/impl/TblDzbcMultiSitePathServiceImpl.java

@@ -21,7 +21,9 @@ import org.dromara.system.service.ITblDzbcMultiSitePathService;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RequiredArgsConstructor
 @Service
@@ -37,6 +39,26 @@ public class TblDzbcMultiSitePathServiceImpl implements ITblDzbcMultiSitePathSer
     }
 
     @Override
+    public List<TblDzbcMultiSitePathVo> queryBySiteId(Long siteId) {
+        // 1. 查找包含该站点的所有路线ID
+        LambdaQueryWrapper<TblDzbcPathSite> lqw = Wrappers.lambdaQuery();
+        lqw.eq(TblDzbcPathSite::getSiteId, siteId);
+        List<TblDzbcPathSite> pathSites = pathSiteMapper.selectList(lqw);
+
+        if (pathSites == null || pathSites.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        List<Long> pathIds = pathSites.stream()
+            .map(TblDzbcPathSite::getPathId)
+            .distinct()
+            .collect(Collectors.toList());
+
+        // 2. 根据路线ID查询路线信息
+        return baseMapper.selectVoBatchIds(pathIds);
+    }
+
+    @Override
     public TableDataInfo<TblDzbcMultiSitePathVo> queryPageList(TblDzbcMultiSitePathBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<TblDzbcMultiSitePath> lqw = buildQueryWrapper(bo);
         Page<TblDzbcMultiSitePathVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);