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