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 728aa75a..9001d28e 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 @@ -416,6 +416,8 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { if (sceneType.equals("stock")) { getSetStock(headerDetailsDtoList); } else if (sceneType.equals("tran")) { + //过滤掉没有交易成功的明细行 + filterSuccessfulTrade(headerDetailsDtoList); getSetStockTran(headerDetailsDtoList); } } else { @@ -2922,4 +2924,22 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { logger.error("{} 插件:{},打印拉取到的单据号出错", type, getPluginName(), e); } } + + /** + * 过滤掉没有交易成功时间的明细行数据 + * + * @author liuyang + */ + private void filterSuccessfulTrade(List headerDetailsDtoList) { + if (headerDetailsDtoList != null && headerDetailsDtoList.size() > 0) { + for (int i = 0; i < headerDetailsDtoList.size(); i++) { + HeaderDetailsDto headerDetailsDto = headerDetailsDtoList.get(i); + List details = headerDetailsDto.getDetails(); + if (details != null && details.size() > 0) { + List filteredDetails = details.stream().filter(detail -> detail.getTradeSuccessAt() != null && !detail.getTradeSuccessAt().isEmpty()).collect(Collectors.toList()); + headerDetailsDto.setDetails(filteredDetails); + } + } + } + } } \ No newline at end of file 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 25db7cb4..7fac033d 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 @@ -404,6 +404,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { if (sceneType.equals("stock")) { getSetStock(headerDetailsDtoList, "2"); } else if (sceneType.equals("tran")) { + //过滤掉没有交易成功的明细行 + filterSuccessfulTrade(headerDetailsDtoList); getSetTran(headerDetailsDtoList, "2"); } } else { @@ -4104,4 +4106,22 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { } return headerDetailsDtoList; } + + /** + * 过滤掉没有交易成功时间的明细行数据 + * + * @author liuyang + */ + private void filterSuccessfulTrade(List headerDetailsDtoList) { + if (headerDetailsDtoList != null && headerDetailsDtoList.size() > 0) { + for (int i = 0; i < headerDetailsDtoList.size(); i++) { + HeaderDetailsDto headerDetailsDto = headerDetailsDtoList.get(i); + List details = headerDetailsDto.getDetails(); + if (details != null && details.size() > 0) { + List filteredDetails = details.stream().filter(detail -> detail.getTradeSuccessAt() != null && !detail.getTradeSuccessAt().isEmpty()).collect(Collectors.toList()); + headerDetailsDto.setDetails(filteredDetails); + } + } + } + } } \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java index 2b73e82a..5644f45b 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java @@ -89,13 +89,13 @@ public class SoSaleOutPluginInitializerToBTest { // soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-31 14:48:41", "2024-10-31 14:48:41"); -// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110700026623", "tran"); + soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2025010200030571", "tran"); // soSaleOutPluginInitializerToB.startImplementByStockTime("2024-11-08 19:18:02", "2024-11-08 19:18:02"); - soSaleOutPluginInitializerToB.startImplementByTranTime("2025-01-04 19:21:25", "2025-01-04 19:21:25"); +// soSaleOutPluginInitializerToB.startImplementByTranTime("2025-01-04 19:21:25", "2025-01-04 19:21:25"); } catch (Exception e) { e.printStackTrace(); }