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>