From ab97a81afbf0bfb6e2eead373dc3ab463f2a648d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 24 Feb 2023 14:36:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=A4=9A=E7=BA=A7=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E8=87=B3=E5=90=8C=E4=B8=80=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/inout/impl/OrderServiceImpl.java | 3 +++ .../admin/thread/InvProductsTrService.java | 20 +++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) 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); }