项目维度 筛选标准

This commit is contained in:
yuezhihang
2021-08-13 18:28:28 +08:00
parent c660c36d40
commit 44a24c23b1
3 changed files with 29 additions and 10 deletions
@@ -24,4 +24,5 @@ public interface SarStandProjectLibraryDao extends BaseMapper<SarStandProjectLib
Integer selectCount(@Param("qu") SarStandProjectLibrary sar,@Param("flag")int flag);
List<SarStandProjectLibrary> 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<String> getAllStands();
}
@@ -160,16 +160,31 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
}
@Override
public IPage<StandAttrInfoDto> queryStandInfo(int current, int pageSize, String standId) {
List<String> ids=sarStandProjectLibraryDao.getAllStands();
String id="";
for (String s:ids) {
id="'"+s+"',"+id;
}
QueryWrapper<SarStandardsInfo> 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<SarStandardsInfo> page1 = new Page<>(current, pageSize);
IPage<SarStandardsInfo> userIPage1 = SarStandardsInfoDao.selectPage(page1, wrapper1);
System.out.println("总条数"+userIPage1.getTotal());
System.out.println("总页数"+userIPage1.getPages());
QueryWrapper<SarStandAttrInfo> 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<SarStandAttrInfo> page2 = new Page<>(current, pageSize);
IPage<SarStandAttrInfo> userIPage2 = sarStandAttrInfoDao.selectPage(page2, wrapper2);
System.out.println("总条数"+userIPage2.getTotal());
@@ -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
)
)
<if test="qu != null">
<if test="qu.projectNumber != null">
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
))
<if test="qu != null">
@@ -248,4 +248,7 @@
</if>
)
</select>
<select id="getAllStands" resultType="java.lang.String">
SELECT DISTINCT STAND_ID FROM sar_stand_items
</select>
</mapper>