fix(sales): 修复维度组装中业务日期相关逻辑
- 在 PassiveWarehouseReceiptToC 和 SoSaleReturnPluginInitializerToC 中添加业务日期处理逻辑 - 修复了因缺少业务日期导致的维度组装不完整问题 - 优化了异常处理,增加了更具体的错误提示
This commit is contained in:
parent
230c45d8e5
commit
66185351e9
|
@ -2433,6 +2433,17 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
summaryDimensionStr.append(ADD);
|
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) {
|
if (newState != null) {
|
||||||
summaryDimensionStr.append(newState);
|
summaryDimensionStr.append(newState);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2965,14 +2976,15 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
|
|
||||||
//销售订单-交易成功时间
|
//销售订单-交易成功时间
|
||||||
HeaderDetailsDto headerDetailsDto = stringHeaderDetailsDtoMap.get(header.getRefOrderCode());
|
HeaderDetailsDto headerDetailsDto = stringHeaderDetailsDtoMap.get(header.getRefOrderCode());
|
||||||
Assert.notNull("无源入库单关联的销售订单不能为空!");
|
Assert.notNull(headerDetailsDto, "无源入库单关联的销售订单不能为空!");
|
||||||
HeaderDto header1 = headerDetailsDto.getHeader();
|
HeaderDto header1 = headerDetailsDto.getHeader();
|
||||||
String tradeSuccessAt = header1.getTradeSuccessAt();
|
String tradeSuccessAt = header1.getTradeSuccessAt();
|
||||||
|
Assert.notNull(tradeSuccessAt, "销售订单交易成功时间不能为空!");
|
||||||
DateTime tradeSuccessAtDate = DateUtil.parse(tradeSuccessAt);
|
DateTime tradeSuccessAtDate = DateUtil.parse(tradeSuccessAt);
|
||||||
|
|
||||||
//无源入库单-关联时间
|
//无源入库单-关联时间
|
||||||
PassiveStorageResponse.Data passiveStorageResponseData = header.getPassiveStorageResponseData();
|
PassiveStorageResponse.Data passiveStorageResponseData = header.getPassiveStorageResponseData();
|
||||||
Assert.notNull("售后订单关联的无源入库单不能为空!");
|
Assert.notNull(passiveStorageResponseData, "售后订单关联的无源入库单不能为空!");
|
||||||
PassiveStorageResponse.Header header2 = passiveStorageResponseData.getHeader();
|
PassiveStorageResponse.Header header2 = passiveStorageResponseData.getHeader();
|
||||||
String relatedAt = header2.getRelatedAt();
|
String relatedAt = header2.getRelatedAt();
|
||||||
DateTime relatedAtDate = DateUtil.parse(relatedAt);
|
DateTime relatedAtDate = DateUtil.parse(relatedAt);
|
||||||
|
|
|
@ -1654,7 +1654,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
String closedAt = stockinH.getClosedAt();
|
String closedAt = stockinH.getClosedAt();
|
||||||
|
|
||||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = stockinH.getHeaderDetailsDto();
|
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = stockinH.getHeaderDetailsDto();
|
||||||
|
Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code);
|
||||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header = headerDetailsDto.getHeader();
|
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDto header = headerDetailsDto.getHeader();
|
||||||
|
Assert.notNull(header, "header表头对象不能为空");
|
||||||
|
Assert.notNull(header.getTradeSuccessAt(), "交易成功时间不能为空!");
|
||||||
|
|
||||||
String businessFormat = null;
|
String businessFormat = null;
|
||||||
try {
|
try {
|
||||||
|
@ -2069,9 +2072,17 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
} else {
|
} else {
|
||||||
summaryDimensionStr.append(NOTHING);
|
summaryDimensionStr.append(NOTHING);
|
||||||
}
|
}
|
||||||
|
summaryDimensionStr.append(ADD);
|
||||||
|
|
||||||
//如果为退款业务,则增加入库时间类型标记、推送状态的维度
|
//如果为退款业务,则增加入库时间类型标记、推送状态的维度
|
||||||
if ("tran".equals(sceneType)) {
|
if ("tran".equals(sceneType)) {
|
||||||
|
//业务日期
|
||||||
|
String generateBusinessDate = createSuccessFulTradeDate(header);
|
||||||
|
if (generateBusinessDate != null) {
|
||||||
|
summaryDimensionStr.append(generateBusinessDate);
|
||||||
|
} else {
|
||||||
|
summaryDimensionStr.append(NOTHING);
|
||||||
|
}
|
||||||
summaryDimensionStr.append(ADD);
|
summaryDimensionStr.append(ADD);
|
||||||
|
|
||||||
if (storageTimeStamp != null) {
|
if (storageTimeStamp != null) {
|
||||||
|
@ -2128,7 +2139,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
|
|
||||||
private static boolean contains(String[] array, String targetValue) {
|
private static boolean contains(String[] array, String targetValue) {
|
||||||
for (String value : array) {
|
for (String value : array) {
|
||||||
if (value.equals(targetValue)) {
|
// if (value.contains(targetValue)) {
|
||||||
|
if (targetValue.contains(value)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,9 +74,9 @@ public class SoSaleReturnPluginInitializerToCTest {
|
||||||
//满足红字应收单
|
//满足红字应收单
|
||||||
// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200001324", "tran");
|
// 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");
|
// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025080200002257", "tran");
|
||||||
|
|
||||||
|
@ -103,6 +103,8 @@ public class SoSaleReturnPluginInitializerToCTest {
|
||||||
// System.out.println(s);
|
// System.out.println(s);
|
||||||
|
|
||||||
// soSaleReturnPluginInitializerToC.u8cOperationFlow();
|
// soSaleReturnPluginInitializerToC.u8cOperationFlow();
|
||||||
|
|
||||||
|
soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-08-01 00:00:00","2025-08-01 23:59:59", "2");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -131,5 +133,6 @@ public class SoSaleReturnPluginInitializerToCTest {
|
||||||
// } catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
// e.printStackTrace();
|
// e.printStackTrace();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue