diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java index df05a81f..d7b5bf4a 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java @@ -2433,6 +2433,17 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity { } summaryDimensionStr.append(ADD); + //业务日期:关联时间或者交易成功时间 + String targetBusinessDate = passiveStorageSonDetailsDto2.getTargetBusinessDate(); + Assert.notNull(targetBusinessDate, "业务日期:关联时间或者交易成功时间不能为空"); + targetBusinessDate = targetBusinessDate.substring(0, 10); + if (targetBusinessDate != null && !"".equals(targetBusinessDate)) { + summaryDimensionStr.append(targetBusinessDate); + } else { + summaryDimensionStr.append(NOTHING); + } + summaryDimensionStr.append(ADD); + if (newState != null) { summaryDimensionStr.append(newState); } else { @@ -2965,14 +2976,15 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity { //销售订单-交易成功时间 HeaderDetailsDto headerDetailsDto = stringHeaderDetailsDtoMap.get(header.getRefOrderCode()); - Assert.notNull("无源入库单关联的销售订单不能为空!"); + Assert.notNull(headerDetailsDto, "无源入库单关联的销售订单不能为空!"); HeaderDto header1 = headerDetailsDto.getHeader(); String tradeSuccessAt = header1.getTradeSuccessAt(); + Assert.notNull(tradeSuccessAt, "销售订单交易成功时间不能为空!"); DateTime tradeSuccessAtDate = DateUtil.parse(tradeSuccessAt); //无源入库单-关联时间 PassiveStorageResponse.Data passiveStorageResponseData = header.getPassiveStorageResponseData(); - Assert.notNull("售后订单关联的无源入库单不能为空!"); + Assert.notNull(passiveStorageResponseData, "售后订单关联的无源入库单不能为空!"); PassiveStorageResponse.Header header2 = passiveStorageResponseData.getHeader(); String relatedAt = header2.getRelatedAt(); DateTime relatedAtDate = DateUtil.parse(relatedAt); 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 19b061c9..e46f31d0 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 @@ -1654,7 +1654,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { String closedAt = stockinH.getClosedAt(); com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = stockinH.getHeaderDetailsDto(); + Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code); com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header = headerDetailsDto.getHeader(); + Assert.notNull(header, "header表头对象不能为空"); + Assert.notNull(header.getTradeSuccessAt(), "交易成功时间不能为空!"); String businessFormat = null; try { @@ -2069,9 +2072,17 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { } else { summaryDimensionStr.append(NOTHING); } + summaryDimensionStr.append(ADD); //如果为退款业务,则增加入库时间类型标记、推送状态的维度 if ("tran".equals(sceneType)) { + //业务日期 + String generateBusinessDate = createSuccessFulTradeDate(header); + if (generateBusinessDate != null) { + summaryDimensionStr.append(generateBusinessDate); + } else { + summaryDimensionStr.append(NOTHING); + } summaryDimensionStr.append(ADD); if (storageTimeStamp != null) { @@ -2128,7 +2139,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { private static boolean contains(String[] array, String targetValue) { for (String value : array) { - if (value.equals(targetValue)) { +// if (value.contains(targetValue)) { + if (targetValue.contains(value)) { return true; } } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java index c81cd2a2..d1c3ef04 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java @@ -74,9 +74,9 @@ public class SoSaleReturnPluginInitializerToCTest { //满足红字应收单 // soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200001324", "tran"); //情况一 - soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200000255", "tran"); +// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200000255", "tran"); //情况二 -// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072800000594", "tran"); +// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072900002597", "tran"); //情况三 // soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025080200002257", "tran"); @@ -103,6 +103,8 @@ public class SoSaleReturnPluginInitializerToCTest { // System.out.println(s); // soSaleReturnPluginInitializerToC.u8cOperationFlow(); + + soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-08-01 00:00:00","2025-08-01 23:59:59", "2"); } catch (Exception e) { e.printStackTrace(); } @@ -131,5 +133,6 @@ public class SoSaleReturnPluginInitializerToCTest { // } catch (Exception e) { // e.printStackTrace(); // } + } } \ No newline at end of file