diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/dao/SarStandProjectLibraryDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/dao/SarStandProjectLibraryDao.java index 088c5516..dbf3a185 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/dao/SarStandProjectLibraryDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/dao/SarStandProjectLibraryDao.java @@ -24,4 +24,5 @@ public interface SarStandProjectLibraryDao extends BaseMapper selectPagesWorkFlow(@Param("page")Integer page, @Param("size")Integer size,@Param("qu") SarStandProjectLibrary sar,@Param("flag")int flag); Integer selectCountWorkFlow(@Param("qu") SarStandProjectLibrary sar,@Param("flag")int flag); + List getAllStands(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java index 1f6587de..17c88668 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java @@ -160,16 +160,31 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl queryStandInfo(int current, int pageSize, String standId) { + List ids=sarStandProjectLibraryDao.getAllStands(); + String id=""; + for (String s:ids) { + id="'"+s+"',"+id; + } QueryWrapper wrapper1 = new QueryWrapper<>(); wrapper1.select("ID","STAND_NUMBER","STAND_SORT","STAND_YEAR","STAND_NAME","STAND_EN_NAME","STAND_TYPE"); - wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID WHERE r.project_id ='"+ standId+"'"); + if (ids.isEmpty()) { + wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID WHERE r.project_id ='" + standId + "'"); + }else { + wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID WHERE r.project_id ='" + standId + "'" + + "and r.STAND_ID in (" + id.substring(0, id.length() - 1) + ")"); + } Page page1 = new Page<>(current, pageSize); IPage userIPage1 = SarStandardsInfoDao.selectPage(page1, wrapper1); System.out.println("总条数"+userIPage1.getTotal()); System.out.println("总页数"+userIPage1.getPages()); QueryWrapper wrapper2 = new QueryWrapper<>(); wrapper2.select("r.STAND_ID","SSRQ","XCXSSRQ","ZCCSSRQ","ZRBM","KCCVPPSBM","KCCVPPSCN","CYCVPPSBM","CYCVPPSCN"); - wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID WHERE r.project_id ='"+ standId+"'"); + if (ids.isEmpty()){ + wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID WHERE r.project_id ='"+ standId+"'"); + }else { + wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID WHERE r.project_id ='" + standId + "' " + + "and r.STAND_ID in (" + id.substring(0,id.length()-1) + ")"); + } Page page2 = new Page<>(current, pageSize); IPage userIPage2 = sarStandAttrInfoDao.selectPage(page2, wrapper2); System.out.println("总条数"+userIPage2.getTotal()); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml index 204983ac..bfce5e43 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml @@ -148,11 +148,11 @@ LEFT JOIN ts_user tu ON project_manager = tu.USID WHERE ( - id IN ( SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE project_id NOT in ( - SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE stand_id NOT in (SELECT DISTINCT STAND_ID FROM - sar_stand_items) - ) ) - + id IN ( SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE project_id NOT in ( SELECT DISTINCT + STAND_ID FROM + sar_stand_items + ) + ) AND project_number LIKE concat(concat('%',#{qu.projectNumber}),'%') @@ -203,9 +203,9 @@ LEFT JOIN ts_user tu ON project_manager = tu.USID WHERE ( - id IN ( SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE project_id NOT in ( - SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE stand_id NOT in (SELECT DISTINCT STAND_ID FROM - sar_stand_items) + id IN ( SELECT DISTINCT project_id FROM sar_stand_project_relation WHERE project_id NOT in ( SELECT DISTINCT + STAND_ID FROM + sar_stand_items )) @@ -248,4 +248,7 @@ ) +