From c43a7055a1150ebec0c799ced46e1b9680c09938 Mon Sep 17 00:00:00 2001 From: erdanergou Date: Thu, 25 May 2023 11:27:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=87=BA=E5=85=A5=E5=BA=93=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=B7=BB=E5=8A=A0=E5=A4=9A=E5=B1=82=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DepositoryRecordController.java | 20 ++++++++ .../mapper/DepositoryRecordMapper.xml | 48 +++++++++++++++---- .../impl/DepositoryRecordServiceImpl.java | 10 ++-- .../service/impl/DepositoryServiceImpl.java | 3 ++ 4 files changed, 66 insertions(+), 15 deletions(-) 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);