From c1ecc8c06d3eea509c5cec3899deb70537ee82ee Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Thu, 5 Dec 2024 17:18:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(buildpackage):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E4=BB=A3=E7=A0=81=E8=BF=87=E6=BB=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ProfilesActiveConstant 中添加 FILTER_COMPANY 常量,用于定义需要过滤的公司代码- 在多个插件类中实现数据过滤逻辑,移除符合条件的公司代码对应的记录 - 优化数据处理流程,提高系统性能 --- .../lets/constant/ProfilesActiveConstant.java | 2 + .../plugin/outsourc/ConsignmachiningIn.java | 25 ++++++++++ .../plugin/purchase/ProxyPurchaseReturn.java | 25 ++++++++++ .../purchase/ProxyPurchaseWarehousOrder.java | 27 ++++++++++ .../ProxyPurchaseWarehousWarehouse.java | 25 ++++++++++ .../sales/SoSaleOutPluginInitializerToB.java | 37 ++++++++++++++ .../sales/SoSaleOutPluginInitializerToC.java | 49 +++++++++++++++++++ .../SoSaleReturnPluginInitializerToB.java | 37 ++++++++++++++ .../SoSaleReturnPluginInitializerToC.java | 37 ++++++++++++++ .../SoSaleOutPluginInitializerToCTest.java | 2 +- 10 files changed, 265 insertions(+), 1 deletion(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/ProfilesActiveConstant.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/ProfilesActiveConstant.java index 466801c7..7d8ae913 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/ProfilesActiveConstant.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/ProfilesActiveConstant.java @@ -36,4 +36,6 @@ public class ProfilesActiveConstant { public static final String sourceSystem1 = "OFS订单系统"; public static final String sourceSystem2 = "丽知商城"; + + public static final String FILTER_COMPANY = "NMNS,YNS,HJ"; } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java index 628845a9..4005b2dc 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java @@ -32,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.function.Predicate; /** * O采购入库(委外加工类型)->U8C委外订单 @@ -225,6 +226,18 @@ public class ConsignmachiningIn extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("插件:{} O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -271,6 +284,18 @@ public class ConsignmachiningIn extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index afd788c8..4468b888 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -39,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -224,6 +225,18 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search"); logger.info("插件:{} O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要发起同步逻辑!!"); @@ -269,6 +282,18 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要发起同步逻辑!!"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java index e0e5d89b..60fd55a7 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java @@ -23,6 +23,8 @@ import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderHeader; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.BaseResult; @@ -33,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.function.Predicate; /** * 代理品牌采购业务:(代理品牌采购)OFS采购订单生成U8C采购订单 @@ -221,6 +224,18 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { ofsStandardUtil.queryOfsPoOrder(queryOfsSoSaleOutVo, allOfsPoOrderList, 1L); logger.info("插件:{} O接口返回行数:{} 时间段:{} {}", getPluginName(), allOfsPoOrderList.size(), startTime, endTime); if (allOfsPoOrderList.size() > 0) { + allOfsPoOrderList.removeIf(new Predicate() { + @Override + public boolean test(OfsPoOrderData headerDetailsDto) { + OfsPoOrderHeader header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(allOfsPoOrderList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -266,6 +281,18 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { ofsStandardUtil.queryOfsPoOrder(queryOfsSoSaleOutVo, allOfsPoOrderList, 1L); logger.info("数据返回行数:{}", allOfsPoOrderList.size()); if (allOfsPoOrderList.size() > 0) { + allOfsPoOrderList.removeIf(new Predicate() { + @Override + public boolean test(OfsPoOrderData headerDetailsDto) { + OfsPoOrderHeader header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(allOfsPoOrderList); } else { logger.info("没有查询到任何数据!不需要同步"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java index 8f1a91ae..2c3f0161 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java @@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.function.Predicate; /** * 代理品牌采购业务:(代理品牌采购)OFS采购入库单生成U8C采购入库单(关联原采购订单) @@ -221,6 +222,18 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("插件:{} O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -266,6 +279,18 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSet(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java index d3e3a3c2..6d07f3fb 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java @@ -41,6 +41,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -272,6 +273,18 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { logger.info("插件:{} (库存)O接口返回行数:{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime); splicingPrintingOrderNumber(headerDetailsDtoList, "stock", startTime, endTime, null); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStock(headerDetailsDtoList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -318,6 +331,18 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { logger.info("插件:{} (确认收入)O接口返回行数:{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime); splicingPrintingOrderNumber(headerDetailsDtoList, "tran", startTime, endTime, null); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStockTran(headerDetailsDtoList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -360,6 +385,18 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { logger.info("根据单据号查询:数据返回行数:{}", headerDetailsDtoList.size()); splicingPrintingOrderNumber(headerDetailsDtoList, sceneType, null, null, code); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); if (sceneType.equals("stock")) { getSetStock(headerDetailsDtoList); } else if (sceneType.equals("tran")) { diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index c0b9d782..af972b72 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -49,6 +49,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.locks.ReentrantLock; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -245,6 +246,18 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (header.getCompanyCode().contains(ProfilesActiveConstant.FILTER_COMPANY)) { + return true; + } + } + return false; + } + }); getSetStock(headerDetailsDtoList); } else { logger.info("TOC没有查询到任何数据!不需要同步"); @@ -293,6 +306,18 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStock(headerDetailsDtoList); } else { logger.info("TOC没有查询到任何数据!不需要同步"); @@ -335,6 +360,18 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { logger.info("数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); if (sceneType.equals("stock")) { getSetStock(headerDetailsDtoList); } else if (sceneType.equals("tran")) { @@ -388,6 +425,18 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { // } logger.info("TOC数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { + headerDetailsDtoList.removeIf(new Predicate() { + @Override + public boolean test(HeaderDetailsDto headerDetailsDto) { + HeaderDto header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetTran(headerDetailsDtoList); } else { logger.info("TOC没有查询到任何数据!不需要同步"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index 252095c4..0d86737d 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -46,6 +46,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -272,6 +273,18 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { logger.info("插件:{} (库存)O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "stock", startTime, endTime, null); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStock(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -320,6 +333,18 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { logger.info("插件:{} (确认收入)O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "tran", startTime, endTime, null); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetTrade(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -366,6 +391,18 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, sceneType, null, null, code); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { if (sceneType.equals("stock")) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStock(returnGoodHeaderDetailsDataDtoArrayList); } else if (sceneType.equals("tran")) { getSetTrade(returnGoodHeaderDetailsDataDtoArrayList); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index dc834ce9..7a526807 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -45,6 +45,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.locks.ReentrantLock; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -232,6 +233,18 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("TOC退货数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetStock(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); @@ -274,6 +287,18 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoList, 1L, "ofs.receipt.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoList.size()); if (returnGoodHeaderDetailsDataDtoList.size() > 0) { + returnGoodHeaderDetailsDataDtoList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); if (sceneType.equals("stock")) { getSetStock(returnGoodHeaderDetailsDataDtoList); } else if (sceneType.equals("tran")) { @@ -320,6 +345,18 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { + @Override + public boolean test(StockinOrderSearchResponse.StockinOrder headerDetailsDto) { + StockinOrderSearchResponse.StockinOrder.StockinH header = headerDetailsDto.getHeader(); + if (header != null && header.getCompanyCode() != null) { + if (ProfilesActiveConstant.FILTER_COMPANY.contains(header.getCompanyCode())) { + return true; + } + } + return false; + } + }); getSetTran(returnGoodHeaderDetailsDataDtoArrayList); } else { logger.info("没有查询到任何数据!不需要同步"); diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java index 2e2dff85..184f5106 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java @@ -120,7 +120,7 @@ class SoSaleOutPluginInitializerToCTest { // soSaleOutPluginInitializerToC.sendU8CTOCOrder("123446"); try { - soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024120300016549", "tran"); + soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024120300016549", "stock"); // soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500013375", "tran"); // soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024111700013756", "tran");