Commit 83d6ff522115d52d7038f840a4167210c8dfb0bc

Authored by 游杰
1 parent b3984623

修复仓库复制问题

src/main/java/com/huaheng/common/constant/QuantityConstant.java
@@ -183,7 +183,7 @@ public class QuantityConstant { @@ -183,7 +183,7 @@ public class QuantityConstant {
183 /** 出库查看 */ 183 /** 出库查看 */
184 public static final int TASK_TYPE_VIEW = 900; 184 public static final int TASK_TYPE_VIEW = 900;
185 185
186 - /** 出库查看 */ 186 + /** 过站 */
187 public static final int TASK_TYPE_OVER_STATION = 1000; 187 public static final int TASK_TYPE_OVER_STATION = 1000;
188 188
189 /** 空托盘组入库 */ 189 /** 空托盘组入库 */
src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java
@@ -185,6 +185,10 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse @@ -185,6 +185,10 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
185 if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){ 185 if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){
186 throw new ServiceException("复制角色表失败"); 186 throw new ServiceException("复制角色表失败");
187 } 187 }
  188 + /* 复制菜单*/
  189 + if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){
  190 + throw new ServiceException("复制菜单表失败");
  191 + }
188 /* 复制角色菜单*/ 192 /* 复制角色菜单*/
189 if (!roleService.roleMenuCopy(warehouseCode, newWarehouseCode)){ 193 if (!roleService.roleMenuCopy(warehouseCode, newWarehouseCode)){
190 throw new ServiceException("复制角色菜单失败"); 194 throw new ServiceException("复制角色菜单失败");
@@ -193,10 +197,6 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse @@ -193,10 +197,6 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
193 if (!dictTypeService.dictTypeCopy(warehouseCode, newWarehouseCode)){ 197 if (!dictTypeService.dictTypeCopy(warehouseCode, newWarehouseCode)){
194 throw new ServiceException("复制字典数据表失败"); 198 throw new ServiceException("复制字典数据表失败");
195 } 199 }
196 - /* 复制菜单*/  
197 - if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){  
198 - throw new ServiceException("复制菜单表失败");  
199 - }  
200 /* 复制流程*/ 200 /* 复制流程*/
201 if (!statusFlowHeaderService.statusFlowCopy(warehouseCode, newWarehouseCode)){ 201 if (!statusFlowHeaderService.statusFlowCopy(warehouseCode, newWarehouseCode)){
202 throw new ServiceException("复制流程表失败"); 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,7 +174,7 @@ public class adjustDetailController extends BaseController {
174 return AjaxResult.error("单据未审批不允许调整"); 174 return AjaxResult.error("单据未审批不允许调整");
175 } 175 }
176 //不能重复调整 176 //不能重复调整
177 - if(adjustDetailEdit.getStatus() >= 3){ 177 + if(adjustDetailEdit.getStatus() >= 3) {
178 return AjaxResult.error("不能重复调整!"); 178 return AjaxResult.error("不能重复调整!");
179 } 179 }
180 ajaxResult1 = adjustDetailService.updateAdjustDetail(adjustDetailEdit); 180 ajaxResult1 = adjustDetailService.updateAdjustDetail(adjustDetailEdit);
@@ -274,12 +274,12 @@ public class adjustDetailController extends BaseController { @@ -274,12 +274,12 @@ public class adjustDetailController extends BaseController {
274 @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) 274 @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE)
275 @PostMapping( "/remove") 275 @PostMapping( "/remove")
276 @ResponseBody 276 @ResponseBody
277 - public AjaxResult remove(Integer id){  
278 - if(id == null){ 277 + public AjaxResult remove(Integer id) {
  278 + if(id == null) {
279 return AjaxResult.error("ID不能为空!"); 279 return AjaxResult.error("ID不能为空!");
280 } 280 }
281 AdjustDetail adjustDetail = adjustDetailService.getById(id); 281 AdjustDetail adjustDetail = adjustDetailService.getById(id);
282 - if(adjustDetail.getStatus() > 0 ){ 282 + if(adjustDetail.getStatus() > 0) {
283 return AjaxResult.error("单据状态不允许删除"); 283 return AjaxResult.error("单据状态不允许删除");
284 } 284 }
285 adjustDetailService.removeById(id); 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,7 +138,7 @@ public class adjustHeaderController extends BaseController {
138 AdjustDetail adjustDetail = new AdjustDetail(); 138 AdjustDetail adjustDetail = new AdjustDetail();
139 adjustDetail.setAdjustCode(adjustHeader.getCode()); 139 adjustDetail.setAdjustCode(adjustHeader.getCode());
140 adjustDetail.setWarehouseCode(adjustHeader.getWarehouseCode()); 140 adjustDetail.setWarehouseCode(adjustHeader.getWarehouseCode());
141 - if (!"".equals(adjustHeader.getCompanyCode()) || adjustHeader.getCompanyCode() != null) { 141 + if (StringUtils.isNotEmpty(adjustHeader.getCompanyCode())) {
142 adjustDetail.setCompanyCode(adjustHeader.getCompanyCode()); 142 adjustDetail.setCompanyCode(adjustHeader.getCompanyCode());
143 } 143 }
144 LambdaQueryWrapper<AdjustDetail> adjustDetailLambdaQueryWrapper = Wrappers.lambdaQuery(adjustDetail); 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,7 +95,7 @@ public class InventoryDetailController extends BaseController
95 .in(StringUtils.isEmpty(inventoryDetail.getCompanyCode()), InventoryDetail::getCompanyCode, ShiroUtils.getCompanyCodeList()) 95 .in(StringUtils.isEmpty(inventoryDetail.getCompanyCode()), InventoryDetail::getCompanyCode, ShiroUtils.getCompanyCodeList())
96 .orderByDesc(InventoryDetail::getId); 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 Page<InventoryDetail> page = new Page<>(pageNum, pageSize); 100 Page<InventoryDetail> page = new Page<>(pageNum, pageSize);
101 IPage<InventoryDetail> iPage = inventoryDetailService.page(page, lambdaQueryWrapper); 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,7 +30,14 @@ public class RoleMenu implements Serializable {
30 @TableField(value = "menuId") 30 @TableField(value = "menuId")
31 private Integer menuId; 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 package com.huaheng.pc.system.role.service; 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 import java.util.stream.Collectors; 4 import java.util.stream.Collectors;
9 5
10 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 6 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -307,6 +303,7 @@ public class RoleServiceImpl implements IRoleService { @@ -307,6 +303,7 @@ public class RoleServiceImpl implements IRoleService {
307 LambdaQueryWrapper<RoleMenu> roleMenuLambdaQueryWrapper = Wrappers.lambdaQuery(); 303 LambdaQueryWrapper<RoleMenu> roleMenuLambdaQueryWrapper = Wrappers.lambdaQuery();
308 roleMenuLambdaQueryWrapper.in(RoleMenu::getRoleId, roleIds); 304 roleMenuLambdaQueryWrapper.in(RoleMenu::getRoleId, roleIds);
309 List<RoleMenu> roleMenuList = roleMenuService.list(roleMenuLambdaQueryWrapper); 305 List<RoleMenu> roleMenuList = roleMenuService.list(roleMenuLambdaQueryWrapper);
  306 + List<RoleMenu> removeRoleMenuList = new ArrayList<>();
310 for(RoleMenu roleMenu : roleMenuList) { 307 for(RoleMenu roleMenu : roleMenuList) {
311 for(Role roleChild : roles) { 308 for(Role roleChild : roles) {
312 if(roleMenu.getRoleId().equals(roleChild.getId())) { 309 if(roleMenu.getRoleId().equals(roleChild.getId())) {
@@ -315,15 +312,21 @@ public class RoleServiceImpl implements IRoleService { @@ -315,15 +312,21 @@ public class RoleServiceImpl implements IRoleService {
315 role1.setRoleCode(roleChild.getRoleCode()); 312 role1.setRoleCode(roleChild.getRoleCode());
316 role1.setWarehouseCode(newCode); 313 role1.setWarehouseCode(newCode);
317 Menu menu = menuService.selectMenuById(roleMenu.getMenuId()); 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 try { 330 try {
328 int length = roleMenuMapper.batchRoleMenu(roleMenuList); 331 int length = roleMenuMapper.batchRoleMenu(roleMenuList);
329 } catch (Exception e) { 332 } catch (Exception e) {
@@ -333,4 +336,13 @@ public class RoleServiceImpl implements IRoleService { @@ -333,4 +336,13 @@ public class RoleServiceImpl implements IRoleService {
333 return true; 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 &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -99,7 +99,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
99 <if test="perms != null"> 99 <if test="perms != null">
100 AND perms = #{perms} 100 AND perms = #{perms}
101 </if> 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 </where> 104 </where>
104 limit 1 105 limit 1
105 </select> 106 </select>