diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index 1a589088..7999d158 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -472,25 +472,32 @@ public class InvWarehouseController extends BaseController { public BaseResponse postRes(@RequestBody UpdateInvRelBusRequest relBusRequset) { if (StrUtil.isEmpty(relBusRequset.getInvCode())) return ResultVOUtils.error(500, "仓库编码不能为空!"); - FilterInvBusUserRequest filterInvBusUserRequest = new FilterInvBusUserRequest(); + + //1.先查出已存在关联单据类型 + List exitEntitys = warehouseBussinessTypeService.getListByCode(relBusRequset.getInvCode()); + List removeLists = new ArrayList<>(); + for (WarehouseBussinessTypeEntity warehouseBussinessTypeEntity : exitEntitys) { + //2.过滤出被移除单据类型 + if (!isExitBusType(relBusRequset.getSelectActions(), warehouseBussinessTypeEntity)) { + removeLists.add(warehouseBussinessTypeEntity); + } + } + + List removeList = new ArrayList<>(); + for (WarehouseBussinessTypeEntity warehouseBussinessTypeEntity : removeLists) { + removeList.add(warehouseBussinessTypeEntity.getAction()); + } + if (CollUtil.isNotEmpty(removeList)) { + FilterInvBusUserRequest filterInvBusUserRequest = new FilterInvBusUserRequest(); filterInvBusUserRequest.setSubInvCode(relBusRequset.getInvCode()); - filterInvBusUserRequest.setSelectedCodes(relBusRequset.getSelectActions()); + filterInvBusUserRequest.setSelectedCodes(relBusRequset.getSelectActions()); List invBusUserEntities = invBusUserService.filterInvBusUser(filterInvBusUserRequest); - List objects = new ArrayList<>(); - List objects2 = new ArrayList<>(); - for (InvBusUserEntity invBusUserEntity : invBusUserEntities) { - objects.add(invBusUserEntity.getScAction()); - } - for (String selectAction : relBusRequset.getSelectActions()) { - objects2.add(selectAction); + if (CollUtil.isNotEmpty(invBusUserEntities)) + return ResultVOUtils.error(999, "请先移除用户关联单据类型!"); } - List objects3 = objects.stream().filter(item -> objects2.contains(item)).collect(Collectors.toList()); - if(null != objects3 && objects3.size()>0){ - return ResultVOUtils.error(999,"请先移除用户关联单据!"); - } + + boolean b = warehouseBussinessTypeService.deleteByCode(relBusRequset.getInvCode()); - //同时对用户关联的单据类型尽心那个删除 - // invBusUserService.deleteByscAction(relBusRequset.getInvCode(), relBusRequset.getSelectActions()); if (CollUtil.isNotEmpty(relBusRequset.getSelectActions())) { List basicBussinessTypeResponses = new ArrayList<>(); relBusRequset.getSelectActions().forEach(action -> @@ -511,6 +518,15 @@ public class InvWarehouseController extends BaseController { return ResultVOUtils.success("修改成功!"); } + public boolean isExitBusType(List selects, WarehouseBussinessTypeEntity warehouseBussinessTypeEntity) { + for (String busAction : selects) { + if (warehouseBussinessTypeEntity.getAction().equals(busAction)) { + return true; + } + } + return false; + } + @AuthRuleAnnotation("") @GetMapping("/udiwms/bussinessType/joinFilter")