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 db66960b..18022e5c 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; +import java.util.stream.Collectors; @RestController public class InvWarehouseController extends BaseController { @@ -439,28 +440,20 @@ public class InvWarehouseController extends BaseController { //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 actionList =new ArrayList<>(); + actionList.addAll(exitEntitys); + //获取关联单据在选入单据的差集 + for (WarehouseBussinessTypeEntity obj:actionList){ + for(String str:relBusRequset.getSelectActions()){ + if(str.equals(obj.getAction())){ + exitEntitys.remove(obj); + } } } - - 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()); - List invBusUserEntities = invBusUserService.filterInvBusUser(filterInvBusUserRequest); - if (CollUtil.isNotEmpty(invBusUserEntities) ) - return ResultVOUtils.error(999, "请先移除用户关联单据类型!"); + if(exitEntitys.size()>0){ + return ResultVOUtils.error(999,"存在用户关联单据!"); } - boolean b = warehouseBussinessTypeService.deleteByCode(relBusRequset.getInvCode()); if (CollUtil.isNotEmpty(relBusRequset.getSelectActions())) { List basicBussinessTypeResponses = new ArrayList<>();