diff --git a/src/main/java/com/huaheng/common/constant/QuantityConstant.java b/src/main/java/com/huaheng/common/constant/QuantityConstant.java index fb643a3..d0115f8 100644 --- a/src/main/java/com/huaheng/common/constant/QuantityConstant.java +++ b/src/main/java/com/huaheng/common/constant/QuantityConstant.java @@ -183,7 +183,7 @@ public class QuantityConstant { /** 出库查看 */ public static final int TASK_TYPE_VIEW = 900; - /** 出库查看 */ + /** 过站 */ public static final int TASK_TYPE_OVER_STATION = 1000; /** 空托盘组入库 */ diff --git a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java index af10eec..3890643 100644 --- a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java @@ -185,6 +185,10 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制角色表失败"); } + /* 复制菜单*/ + if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制菜单表失败"); + } /* 复制角色菜单*/ if (!roleService.roleMenuCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制角色菜单失败"); @@ -193,10 +197,6 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse if (!dictTypeService.dictTypeCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制字典数据表失败"); } - /* 复制菜单*/ - if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){ - throw new ServiceException("复制菜单表失败"); - } /* 复制流程*/ if (!statusFlowHeaderService.statusFlowCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制流程表失败"); diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java index fc828ed..caa4492 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java @@ -174,7 +174,7 @@ public class adjustDetailController extends BaseController { return AjaxResult.error("单据未审批不允许调整"); } //不能重复调整 - if(adjustDetailEdit.getStatus() >= 3){ + if(adjustDetailEdit.getStatus() >= 3) { return AjaxResult.error("不能重复调整!"); } ajaxResult1 = adjustDetailService.updateAdjustDetail(adjustDetailEdit); @@ -274,12 +274,12 @@ public class adjustDetailController extends BaseController { @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody - public AjaxResult remove(Integer id){ - if(id == null){ + public AjaxResult remove(Integer id) { + if(id == null) { return AjaxResult.error("ID不能为空!"); } AdjustDetail adjustDetail = adjustDetailService.getById(id); - if(adjustDetail.getStatus() > 0 ){ + if(adjustDetail.getStatus() > 0) { return AjaxResult.error("单据状态不允许删除"); } adjustDetailService.removeById(id); diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java index 5285d8b..1e879d8 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java @@ -138,7 +138,7 @@ public class adjustHeaderController extends BaseController { AdjustDetail adjustDetail = new AdjustDetail(); adjustDetail.setAdjustCode(adjustHeader.getCode()); adjustDetail.setWarehouseCode(adjustHeader.getWarehouseCode()); - if (!"".equals(adjustHeader.getCompanyCode()) || adjustHeader.getCompanyCode() != null) { + if (StringUtils.isNotEmpty(adjustHeader.getCompanyCode())) { adjustDetail.setCompanyCode(adjustHeader.getCompanyCode()); } LambdaQueryWrapper<AdjustDetail> adjustDetailLambdaQueryWrapper = Wrappers.lambdaQuery(adjustDetail); diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java index ec7b54f..9cc792a 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java @@ -95,7 +95,7 @@ public class InventoryDetailController extends BaseController .in(StringUtils.isEmpty(inventoryDetail.getCompanyCode()), InventoryDetail::getCompanyCode, ShiroUtils.getCompanyCodeList()) .orderByDesc(InventoryDetail::getId); - if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { //分页查询 Page<InventoryDetail> page = new Page<>(pageNum, pageSize); IPage<InventoryDetail> iPage = inventoryDetailService.page(page, lambdaQueryWrapper); diff --git a/src/main/java/com/huaheng/pc/system/role/domain/RoleMenu.java b/src/main/java/com/huaheng/pc/system/role/domain/RoleMenu.java index 3f3a3d0..a8e849b 100644 --- a/src/main/java/com/huaheng/pc/system/role/domain/RoleMenu.java +++ b/src/main/java/com/huaheng/pc/system/role/domain/RoleMenu.java @@ -30,7 +30,14 @@ public class RoleMenu implements Serializable { @TableField(value = "menuId") private Integer menuId; - - + @Override + public boolean equals(Object obj) { + RoleMenu roleMenu = (RoleMenu) obj; + if (roleMenu.getMenuId().intValue() == menuId.intValue() && + roleMenu.getRoleId().intValue() == roleId.intValue()) { + return true; + } + return false; + } } diff --git a/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java b/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java index 1744430..0016748 100644 --- a/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java +++ b/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java @@ -1,10 +1,6 @@ package com.huaheng.pc.system.role.service; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -307,6 +303,7 @@ public class RoleServiceImpl implements IRoleService { LambdaQueryWrapper<RoleMenu> roleMenuLambdaQueryWrapper = Wrappers.lambdaQuery(); roleMenuLambdaQueryWrapper.in(RoleMenu::getRoleId, roleIds); List<RoleMenu> roleMenuList = roleMenuService.list(roleMenuLambdaQueryWrapper); + List<RoleMenu> removeRoleMenuList = new ArrayList<>(); for(RoleMenu roleMenu : roleMenuList) { for(Role roleChild : roles) { if(roleMenu.getRoleId().equals(roleChild.getId())) { @@ -315,15 +312,21 @@ public class RoleServiceImpl implements IRoleService { role1.setRoleCode(roleChild.getRoleCode()); role1.setWarehouseCode(newCode); Menu menu = menuService.selectMenuById(roleMenu.getMenuId()); - menu.setWarehouseCode(newCode); - Menu menu2 = menuService.selectMenu(menu); - Role role2 = selectRoleList(role1).get(0); - roleMenu.setRoleId(role2.getId()); - roleMenu.setMenuId(menu2.getId()); - roleMenu.setId(null); + if(menu != null) { + menu.setWarehouseCode(newCode); + Menu menu2 = menuService.selectMenu(menu); + Role role2 = selectRoleList(role1).get(0); + roleMenu.setRoleId(role2.getId()); + roleMenu.setMenuId(menu2.getId()); + roleMenu.setId(null); + } else { + removeRoleMenuList.add(roleMenu); + } } } } + roleMenuList.removeAll(removeRoleMenuList); + roleMenuList = removeDupliByMorePro(roleMenuList); try { int length = roleMenuMapper.batchRoleMenu(roleMenuList); } catch (Exception e) { @@ -333,4 +336,13 @@ public class RoleServiceImpl implements IRoleService { return true; } + private List<RoleMenu> removeDupliByMorePro(List<RoleMenu> persons){ + List<RoleMenu> personList = persons.stream().collect(Collectors + .collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> { + // 根据useId和userName进行去重 + return o.getRoleId() + "," + o.getMenuId(); + }))), ArrayList::new)); + return personList; + } + } diff --git a/src/main/resources/mybatis/system/MenuMapper.xml b/src/main/resources/mybatis/system/MenuMapper.xml index 7e5abc4..b94fde5 100644 --- a/src/main/resources/mybatis/system/MenuMapper.xml +++ b/src/main/resources/mybatis/system/MenuMapper.xml @@ -99,7 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <if test="perms != null"> AND perms = #{perms} </if> - and menuName = #{menuName} and warehouseCode=#{warehouseCode} and url=#{url} and orderNum=#{orderNum} + and menuName = #{menuName} and warehouseCode=#{warehouseCode} and url=#{url} + and orderNum=#{orderNum} </where> limit 1 </select>