Commit 83d6ff522115d52d7038f840a4167210c8dfb0bc
1 parent
b3984623
修复仓库复制问题
Showing
8 changed files
with
45 additions
and
25 deletions
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 "-//mybatis.org//DTD Mapper 3.0//EN" | @@ -99,7 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
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> |