diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 929d325f..edb29def 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -849,6 +849,16 @@ public class DepositoryRecordController { List list = new ArrayList<>(); Integer recordPCount = 0; Integer maindeparment = userToken.getMaindeparment(); + if (map.containsKey("depositoryId")) { + // 如果包含仓库id + Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); + // 获取当前仓库下所有可见的仓库 + List allChildDepositoryById = depositoryService.findAllChildDepositoryById(depositoryId, userToken); + if (allChildDepositoryById.size() > 0) { + map.put("depositoryIdList", allChildDepositoryById); + map.remove("depositoryId"); + } + } if (PublicConfig.roleAdminorgList.contains(maindeparment)) { list = depositoryRecordService.findApplicationInRecordPByCondition(map, userToken, userKey, token); recordPCount = depositoryRecordService.findApplicationInRecordPCountByCondition(map); @@ -1010,6 +1020,16 @@ public class DepositoryRecordController { List list = new ArrayList<>(); Integer countBy = 0; Integer maindeparment = userByPort.getMaindeparment(); + if (map.containsKey("depositoryId")) { + // 如果包含仓库id + Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); + // 获取当前仓库下所有可见的仓库 + List allChildDepositoryById = depositoryService.findAllChildDepositoryById(depositoryId, userByPort); + if (allChildDepositoryById.size() > 0) { + map.put("depositoryIdList", allChildDepositoryById); + map.remove("depositoryId"); + } + } if (PublicConfig.roleAdminorgList.contains(maindeparment)) { list = depositoryRecordService.findApplicationOutRecordPByCondition(map, userByPort, userKey, token); countBy = depositoryRecordService.findApplicationOutRecordPCountByCondition(map); diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml index 5739111e..3e866603 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -490,7 +490,7 @@ and did in - #{did} + #{id} @@ -535,9 +535,20 @@ and applicantId = #{applicantId} - - and depositoryId = #{depositoryId} + + and ( depositoryId + in + + #{id} + + ) + + + + and applicantId = #{applicantId} + + and mid = #{mid} @@ -852,7 +863,7 @@ and did in - + #{did} @@ -877,9 +888,20 @@ and applicantId = #{applicantId} - - and depositoryId = #{depositoryId} + + and ( depositoryId + in + + #{id} + + ) + + + and applicantId = #{applicantId} + + + and mid = #{mid} @@ -916,22 +938,30 @@ and depositoryManagerTime >= #{depositoryManagerTime} - + and depositoryManagerMessage like CONCAT('%', #{depositoryManagerMessage}, '%') - + and aorstate like CONCAT('%', #{state}, '%') and istransfer = #{istransfer} + + and mversion = #{version} + + + and mcode = #{code} + + + and placeId = #{placeId} + and adminorgid = #{adminorgid} and constructionunitid = #{constructionunitid} - diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index 964c980a..334c4149 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -4330,7 +4330,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } if (map.containsKey("depositoryId")) { depositoryIdList.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); - } else { + } else if (!map.containsKey("depositoryIdList")) { List depositoryAndRole = roleService.findDepositoryAndRole(userByPort.getId()); depositoryAndRole.addAll(roleService.findDepositoryAndRole(userByPort.getPosition())); for (RoleAndDepository depository : depositoryAndRole @@ -4340,10 +4340,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { if (depositoryIdList.size() == 0) { depositoryIdList = null; } + map.put("depositoryIdList", depositoryIdList); } - - map.put("depositoryIdList", depositoryIdList); - List list = depositoryRecordMapper.findApplicationOutRecordPByUser(map); List result = new ArrayList<>(); for (ApplicationOutRecord record : list) { @@ -4376,7 +4374,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } if (map.containsKey("depositoryId")) { depositoryIdList.add(ObjectFormatUtil.toInteger(map.get("depositoryId"))); - } else { + } else if(!map.containsKey("depositoryIdList")){ List depositoryAndRole = roleService.findDepositoryAndRole(userByPort.getId()); depositoryAndRole.addAll(roleService.findDepositoryAndRole(userByPort.getPosition())); @@ -4387,9 +4385,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { if (depositoryIdList.size() == 0) { depositoryIdList = null; } + map.put("depositoryIdList", depositoryIdList); } - map.put("depositoryIdList", depositoryIdList); return depositoryRecordMapper.findApplicationOutRecordPCountByUser(map); } diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java index b5e2e9f6..b82a3bea 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java @@ -433,6 +433,9 @@ public class DepositoryServiceImpl implements DepositoryService { depositoryIdList.add(depository.getId()); } } + if(PublicConfig.roleAdminorgList.contains(userByPort.getMaindeparment())){ + return depositoryIdList; + } //用于查询当前用户所拥有及所管理的仓库 List depositoryIdForUserHas = roleService.findDepositoryIdForUserHas(userByPort); depositoryIdList = (List) CollectionUtils.intersection(depositoryIdList, depositoryIdForUserHas);