diff --git a/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java b/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
index bc9c6be..92f3d2d 100644
--- a/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
+++ b/src/main/java/com/huaheng/pc/config/warehouse/mapper/WarehouseMapper.java
@@ -3,6 +3,7 @@ package com.huaheng.pc.config.warehouse.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huaheng.pc.config.warehouse.domain.Warehouse;
 import com.huaheng.pc.system.user.domain.SysUserWarehouse;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -13,4 +14,6 @@ public interface WarehouseMapper extends BaseMapper<Warehouse> {
     public List<Warehouse> selectWarehouseByUserId(Integer userId);
 
     public List<Warehouse> selectWarehouseAll();
+
+    int companyCopy(@Param("warehouseCode") String warehouseCode, @Param("newWarehouseCode")String newWarehouseCode);
 }
\ No newline at end of file
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 9a13912..e1b3e47 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
@@ -159,6 +159,10 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
         if (!shipmentTypeService.ShipmentTypeCopy(warehouseCode, newWarehouseCode)){
             throw new ServiceException("复制出库类型表失败");
         }
+        /* 复制仓库货主关系*/
+        if (warehouseMapper.companyCopy(warehouseCode, newWarehouseCode) < 1){
+            throw new ServiceException("复制仓库货主关系表失败");
+        }
         /* 复制角色*/
         if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){
             throw new ServiceException("复制角色表失败");
diff --git a/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java b/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java
index 5f80e4c..fdf75f6 100644
--- a/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java
+++ b/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java
@@ -94,4 +94,7 @@ public interface RoleMapper
 
     public int roleCopy(@Param("code")String code, @Param("newCode")String newCode);
 
+
+    public int roleUserCopy(@Param("code")String code);
+
 }
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 87300dc..1e4ce65 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
@@ -5,6 +5,8 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import com.huaheng.common.exception.service.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.huaheng.common.constant.UserConstants;
@@ -17,6 +19,8 @@ import com.huaheng.pc.system.role.mapper.RoleMapper;
 import com.huaheng.pc.system.role.mapper.RoleMenuMapper;
 import com.huaheng.pc.system.user.mapper.UserRoleMapper;
 
+import javax.annotation.Resource;
+
 /**
  * 角色 业务层处理
  * 
@@ -26,13 +30,13 @@ import com.huaheng.pc.system.user.mapper.UserRoleMapper;
 public class RoleServiceImpl implements IRoleService
 {
 
-    @Autowired
+    @Resource
     private RoleMapper roleMapper;
 
     @Autowired
     private RoleMenuMapper roleMenuMapper;
 
-    @Autowired
+    @Resource
     private UserRoleMapper userRoleMapper;
 
     /**
@@ -263,11 +267,19 @@ public class RoleServiceImpl implements IRoleService
     //复制角色
     @Override
     public Boolean roleCopy(String code, String newCode) {
-        int i = roleMapper.roleCopy(code,newCode);
-        if(i > 0){
-            return true;
+        int i = 0;
+        i = roleMapper.roleCopy(code,newCode);
+        if(i < 1){
+            throw new ServiceException("复制角色表失败");
+        }
+        if(i < 1){
+            throw new ServiceException("复制角色菜单关系表失败");
+        }
+        i = roleMapper.roleUserCopy(newCode);
+        if(i < 1){
+            throw new ServiceException("复制用户角色关系表失败");
         }
-        return false;
+        return true;
     }
 
 }
diff --git a/src/main/resources/mybatis/config/WarehouseMapper.xml b/src/main/resources/mybatis/config/WarehouseMapper.xml
index 4c719c5..0dea2fc 100644
--- a/src/main/resources/mybatis/config/WarehouseMapper.xml
+++ b/src/main/resources/mybatis/config/WarehouseMapper.xml
@@ -61,4 +61,9 @@
     lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, 
     userDef6, userDef7, userDef8, delete
   </sql>
+
+  <insert id="companyCopy">
+    insert into warehouse_company(warehouseCode,companyId,companyCode)
+    select #{newWarehouseCode},companyId,companyCode from warehouse_company where warehouseCode=#{warehouseCode}
+  </insert>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mybatis/system/RoleMapper.xml b/src/main/resources/mybatis/system/RoleMapper.xml
index 445c5df..0b9e098 100644
--- a/src/main/resources/mybatis/system/RoleMapper.xml
+++ b/src/main/resources/mybatis/system/RoleMapper.xml
@@ -129,5 +129,18 @@
 		insert into sys_role(roleName,roleCode,roleSort,warehouseCode,enable,remark)
 		select roleName,roleCode,roleSort,#{newCode},enable,remark from sys_role where warehouseCode=#{code}
 	</insert>
+
+
+	<update id="updateRoleMenu">
+		update sys_role_menu r inner join sys_menu m
+		on r.roleId = (select id from sys_role where warehouseCode = #{code} limit 1)
+		set r.
+	</update>
+
+	<insert id="roleUserCopy">
+	insert into sys_user_role(userId,roleId)
+	values(1,(select id from sys_role where warehouseCode = #{code} limit 1))
+
+	</insert>
 	
 </mapper> 
\ No newline at end of file