diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index 0ef8328..ae6dd5e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -287,6 +287,9 @@ public class OrderServiceImpl implements OrderService { supplementOrder.setFromType(ConstantStatus.FROM_PEACE_CHANGE); BussinessTypeEntity supplementType = bussinessTypeDao.selectByAction(bussinessTypeEntity.getSupplementOrderType()); + if (supplementType.isUllageFill()) { + supplementOrder.setOutChangeEnable(true); + } supplementOrder.setMainAction(supplementType.getMainAction()); supplementOrder.setAction(supplementType.getAction()); supplementOrder.setErpFk(null); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java index 61610c5..018f93d 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/InvProductsTrService.java @@ -706,22 +706,34 @@ public class InvProductsTrService { List temps; temps = filterSupMaps.get(corpName); - if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { //只有补采购入时才需要拆弹 List buildArray = new ArrayList<>(); + Map> splitArray = new HashMap<>(); //开始过滤集采非集采产品 for (WarehouseEntity warehouseEntity : temps) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(warehouseEntity.getRelId()); if (udiRelevanceEntity.isGroupBuy()) { - List single = new ArrayList<>(); - single.add(warehouseEntity); - buildOrderEntity(orderEntity, bussinessChangeTypeEntity, single, bussinessTypeEntity); + String key = warehouseEntity.getRelId() + warehouseEntity.getBatchNo(); + List warehouseEntities = splitArray.get(key); + if (CollUtil.isEmpty(warehouseEntities)) { + warehouseEntities = new ArrayList<>(); + splitArray.put(key, warehouseEntities); + } + warehouseEntities.add(warehouseEntity); } else { buildArray.add(warehouseEntity); } } if (CollUtil.isNotEmpty(buildArray)) buildOrderEntity(orderEntity, bussinessChangeTypeEntity, buildArray, bussinessTypeEntity); + + + if (CollUtil.isNotEmpty(splitArray)) { + for (String key : splitArray.keySet()) { + List warehouseEntities = splitArray.get(key); + buildOrderEntity(orderEntity, bussinessChangeTypeEntity, warehouseEntities, bussinessTypeEntity); + } + } } else { buildOrderEntity(orderEntity, bussinessChangeTypeEntity, temps, bussinessTypeEntity); }