Commit 83d6ff522115d52d7038f840a4167210c8dfb0bc
1 parent
b3984623
修复仓库复制问题
Showing
8 changed files
with
45 additions
and
25 deletions
src/main/java/com/huaheng/common/constant/QuantityConstant.java
src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java
... | ... | @@ -185,6 +185,10 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse |
185 | 185 | if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){ |
186 | 186 | throw new ServiceException("复制角色表失败"); |
187 | 187 | } |
188 | + /* 复制菜单*/ | |
189 | + if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){ | |
190 | + throw new ServiceException("复制菜单表失败"); | |
191 | + } | |
188 | 192 | /* 复制角色菜单*/ |
189 | 193 | if (!roleService.roleMenuCopy(warehouseCode, newWarehouseCode)){ |
190 | 194 | throw new ServiceException("复制角色菜单失败"); |
... | ... | @@ -193,10 +197,6 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse |
193 | 197 | if (!dictTypeService.dictTypeCopy(warehouseCode, newWarehouseCode)){ |
194 | 198 | throw new ServiceException("复制字典数据表失败"); |
195 | 199 | } |
196 | - /* 复制菜单*/ | |
197 | - if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){ | |
198 | - throw new ServiceException("复制菜单表失败"); | |
199 | - } | |
200 | 200 | /* 复制流程*/ |
201 | 201 | if (!statusFlowHeaderService.statusFlowCopy(warehouseCode, newWarehouseCode)){ |
202 | 202 | throw new ServiceException("复制流程表失败"); |
... | ... |
src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
... | ... | @@ -174,7 +174,7 @@ public class adjustDetailController extends BaseController { |
174 | 174 | return AjaxResult.error("单据未审批不允许调整"); |
175 | 175 | } |
176 | 176 | //不能重复调整 |
177 | - if(adjustDetailEdit.getStatus() >= 3){ | |
177 | + if(adjustDetailEdit.getStatus() >= 3) { | |
178 | 178 | return AjaxResult.error("不能重复调整!"); |
179 | 179 | } |
180 | 180 | ajaxResult1 = adjustDetailService.updateAdjustDetail(adjustDetailEdit); |
... | ... | @@ -274,12 +274,12 @@ public class adjustDetailController extends BaseController { |
274 | 274 | @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) |
275 | 275 | @PostMapping( "/remove") |
276 | 276 | @ResponseBody |
277 | - public AjaxResult remove(Integer id){ | |
278 | - if(id == null){ | |
277 | + public AjaxResult remove(Integer id) { | |
278 | + if(id == null) { | |
279 | 279 | return AjaxResult.error("ID不能为空!"); |
280 | 280 | } |
281 | 281 | AdjustDetail adjustDetail = adjustDetailService.getById(id); |
282 | - if(adjustDetail.getStatus() > 0 ){ | |
282 | + if(adjustDetail.getStatus() > 0) { | |
283 | 283 | return AjaxResult.error("单据状态不允许删除"); |
284 | 284 | } |
285 | 285 | adjustDetailService.removeById(id); |
... | ... |
src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
... | ... | @@ -138,7 +138,7 @@ public class adjustHeaderController extends BaseController { |
138 | 138 | AdjustDetail adjustDetail = new AdjustDetail(); |
139 | 139 | adjustDetail.setAdjustCode(adjustHeader.getCode()); |
140 | 140 | adjustDetail.setWarehouseCode(adjustHeader.getWarehouseCode()); |
141 | - if (!"".equals(adjustHeader.getCompanyCode()) || adjustHeader.getCompanyCode() != null) { | |
141 | + if (StringUtils.isNotEmpty(adjustHeader.getCompanyCode())) { | |
142 | 142 | adjustDetail.setCompanyCode(adjustHeader.getCompanyCode()); |
143 | 143 | } |
144 | 144 | LambdaQueryWrapper<AdjustDetail> adjustDetailLambdaQueryWrapper = Wrappers.lambdaQuery(adjustDetail); |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java
... | ... | @@ -95,7 +95,7 @@ public class InventoryDetailController extends BaseController |
95 | 95 | .in(StringUtils.isEmpty(inventoryDetail.getCompanyCode()), InventoryDetail::getCompanyCode, ShiroUtils.getCompanyCodeList()) |
96 | 96 | .orderByDesc(InventoryDetail::getId); |
97 | 97 | |
98 | - if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ | |
98 | + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { | |
99 | 99 | //分页查询 |
100 | 100 | Page<InventoryDetail> page = new Page<>(pageNum, pageSize); |
101 | 101 | IPage<InventoryDetail> iPage = inventoryDetailService.page(page, lambdaQueryWrapper); |
... | ... |
src/main/java/com/huaheng/pc/system/role/domain/RoleMenu.java
... | ... | @@ -30,7 +30,14 @@ public class RoleMenu implements Serializable { |
30 | 30 | @TableField(value = "menuId") |
31 | 31 | private Integer menuId; |
32 | 32 | |
33 | - | |
34 | - | |
33 | + @Override | |
34 | + public boolean equals(Object obj) { | |
35 | + RoleMenu roleMenu = (RoleMenu) obj; | |
36 | + if (roleMenu.getMenuId().intValue() == menuId.intValue() && | |
37 | + roleMenu.getRoleId().intValue() == roleId.intValue()) { | |
38 | + return true; | |
39 | + } | |
40 | + return false; | |
41 | + } | |
35 | 42 | |
36 | 43 | } |
... | ... |
src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java
1 | 1 | package com.huaheng.pc.system.role.service; |
2 | 2 | |
3 | -import java.util.ArrayList; | |
4 | -import java.util.Arrays; | |
5 | -import java.util.HashSet; | |
6 | -import java.util.List; | |
7 | -import java.util.Set; | |
3 | +import java.util.*; | |
8 | 4 | import java.util.stream.Collectors; |
9 | 5 | |
10 | 6 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
... | ... | @@ -307,6 +303,7 @@ public class RoleServiceImpl implements IRoleService { |
307 | 303 | LambdaQueryWrapper<RoleMenu> roleMenuLambdaQueryWrapper = Wrappers.lambdaQuery(); |
308 | 304 | roleMenuLambdaQueryWrapper.in(RoleMenu::getRoleId, roleIds); |
309 | 305 | List<RoleMenu> roleMenuList = roleMenuService.list(roleMenuLambdaQueryWrapper); |
306 | + List<RoleMenu> removeRoleMenuList = new ArrayList<>(); | |
310 | 307 | for(RoleMenu roleMenu : roleMenuList) { |
311 | 308 | for(Role roleChild : roles) { |
312 | 309 | if(roleMenu.getRoleId().equals(roleChild.getId())) { |
... | ... | @@ -315,15 +312,21 @@ public class RoleServiceImpl implements IRoleService { |
315 | 312 | role1.setRoleCode(roleChild.getRoleCode()); |
316 | 313 | role1.setWarehouseCode(newCode); |
317 | 314 | Menu menu = menuService.selectMenuById(roleMenu.getMenuId()); |
318 | - menu.setWarehouseCode(newCode); | |
319 | - Menu menu2 = menuService.selectMenu(menu); | |
320 | - Role role2 = selectRoleList(role1).get(0); | |
321 | - roleMenu.setRoleId(role2.getId()); | |
322 | - roleMenu.setMenuId(menu2.getId()); | |
323 | - roleMenu.setId(null); | |
315 | + if(menu != null) { | |
316 | + menu.setWarehouseCode(newCode); | |
317 | + Menu menu2 = menuService.selectMenu(menu); | |
318 | + Role role2 = selectRoleList(role1).get(0); | |
319 | + roleMenu.setRoleId(role2.getId()); | |
320 | + roleMenu.setMenuId(menu2.getId()); | |
321 | + roleMenu.setId(null); | |
322 | + } else { | |
323 | + removeRoleMenuList.add(roleMenu); | |
324 | + } | |
324 | 325 | } |
325 | 326 | } |
326 | 327 | } |
328 | + roleMenuList.removeAll(removeRoleMenuList); | |
329 | + roleMenuList = removeDupliByMorePro(roleMenuList); | |
327 | 330 | try { |
328 | 331 | int length = roleMenuMapper.batchRoleMenu(roleMenuList); |
329 | 332 | } catch (Exception e) { |
... | ... | @@ -333,4 +336,13 @@ public class RoleServiceImpl implements IRoleService { |
333 | 336 | return true; |
334 | 337 | } |
335 | 338 | |
339 | + private List<RoleMenu> removeDupliByMorePro(List<RoleMenu> persons){ | |
340 | + List<RoleMenu> personList = persons.stream().collect(Collectors | |
341 | + .collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> { | |
342 | + // 根据useId和userName进行去重 | |
343 | + return o.getRoleId() + "," + o.getMenuId(); | |
344 | + }))), ArrayList::new)); | |
345 | + return personList; | |
346 | + } | |
347 | + | |
336 | 348 | } |
... | ... |
src/main/resources/mybatis/system/MenuMapper.xml
... | ... | @@ -99,7 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
99 | 99 | <if test="perms != null"> |
100 | 100 | AND perms = #{perms} |
101 | 101 | </if> |
102 | - and menuName = #{menuName} and warehouseCode=#{warehouseCode} and url=#{url} and orderNum=#{orderNum} | |
102 | + and menuName = #{menuName} and warehouseCode=#{warehouseCode} and url=#{url} | |
103 | + and orderNum=#{orderNum} | |
103 | 104 | </where> |
104 | 105 | limit 1 |
105 | 106 | </select> |
... | ... |