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);
|
||||
|
||||
//业务日期:关联时间或者交易成功时间
|
||||
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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue