Commit 83d6ff522115d52d7038f840a4167210c8dfb0bc

Authored by 游杰
1 parent b3984623

修复仓库复制问题

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