diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java index 93f40f34..49f72ee1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java @@ -10,18 +10,21 @@ import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; +import com.adc.da.slrs.zlTree.service.IZlTreeService; import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.management.Query; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -44,6 +47,8 @@ public class FileMaterialServiceImpl extends ServiceImpl treeIds = new ArrayList<>(); + zlTreeService.subordinateTreeNodes(treeIds, queryPage.getTreeId()); + if (ObjectUtils.isEmpty(treeIds)) { return null; } + // 查看菜单是否有数据权限 + treeIds = treeIds.stream().filter(treeId -> treeIdList.contains(treeId)).collect(Collectors.toList()); + if (ObjectUtils.isEmpty(treeIds)) { + return null; + } + queryPage.setTreeIdList(treeIds); } - return fileMaterialDao.getFileMaterialPage(page,queryPage); + queryPage.setTreeId(null); + IPage fileMaterialPage = fileMaterialDao.getFileMaterialPage(page, queryPage); + if (ObjectUtils.isNotEmpty(queryPage.getDataType())) { + List fileMaterials = fileMaterialPage.getRecords().stream().filter(fileMaterial -> fileMaterial.getDataType().equals(queryPage.getDataType())).collect(Collectors.toList()); + fileMaterialPage.setRecords(fileMaterials); + fileMaterialPage.setTotal(fileMaterials.size()); + } + return fileMaterialPage; } @Override diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java index 1ed663b7..e37b374c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/IZlTreeService.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.zlTree.entity.ZlTree; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Arrays; import java.util.List; /** @@ -51,4 +52,6 @@ public interface IZlTreeService extends IService { * @return */ ZlTree queryTree(String treeId); + + void subordinateTreeNodes(List treeIds,String parentTreeId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 98caaac2..4d9a6e88 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -154,4 +154,23 @@ public class ZlTreeServiceImpl extends ServiceImpl implements } return null; } + + /** + * 根据树的父节点查询所有子节点id + * + * @param parentTreeId + * @return + */ + @Override + public void subordinateTreeNodes(List treeIds, String parentTreeId) { + treeIds.add(parentTreeId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("p_id", parentTreeId); + List list = list(queryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + for (ZlTree zlTree : list) { + subordinateTreeNodes(treeIds,zlTree.getId()); + } + } + } } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml index 9642feb1..886a9f25 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/fileMaterialCenter/FileMaterialMapper.xml @@ -38,9 +38,6 @@ and fm.id=#{flieM.id} - - AND fm.data_type like concat('%',#{flieM.dataType},'%') - AND fm.data_title like concat('%',#{flieM.dataTitle},'%') diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 012d967b..bb1bae1c 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -155,7 +155,7 @@ LEFT JOIN ts_user_position on ts_user.USID = ts_user_position.user_id WHERE ts_user_position.position_id in ( SELECT ts_position_role.position_id from ts_position_role - WHERE ts_position_role.role_id = #{role.roleId} ) + WHERE ts_position_role.role_id = #{role.roleId} ) and ts_user.DISABLE_FLAG = '0' and ts_user.USID like concat(concat('%',#{role.userId}),'%') @@ -177,7 +177,7 @@ LEFT JOIN ts_user_position on ts_user.USID = ts_user_position.user_id WHERE ts_user_position.position_id in ( SELECT ts_position_role.position_id from ts_position_role - WHERE ts_position_role.role_id = #{role.roleId} ) + WHERE ts_position_role.role_id = #{role.roleId} ) and ts_user.DISABLE_FLAG = '0' and ts_user.USID like concat(concat('%',#{role.userId}),'%')