refactor(sales): 回退业务日期生成逻辑
- 在 PassiveWarehouseReceiptToC 和 SoSaleReturnPluginInitializerToC 类中 - 回退了之前修改的业务日期生成逻辑 - 恢复到原始版本,即仅使用关联时间和关单时间来生成业务日期 - 移除了对交易成功时间的判断和相关逻辑
This commit is contained in:
parent
0011e45611
commit
02bc259d32
|
@ -1506,40 +1506,71 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
|||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
// private String createGenerateBusinessDate(PassiveStorageResponse.Header header) {
|
||||
// String code = null;
|
||||
// if (header != null && header.getReceiptCode() != null) {
|
||||
// code = header.getReceiptCode();
|
||||
// }
|
||||
//
|
||||
// HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
// Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 无源入库单编码:{}", code);
|
||||
// Assert.notNull(headerDetailsDto.getHeader(), "售后入库单对应的销售订单不能为空! 无源入库单编码:{}", code);
|
||||
//
|
||||
// if (header != null && header.getRelatedAt() != null) {
|
||||
// String relatedAt = header.getRelatedAt();
|
||||
// String relatedAtDateStr = null;
|
||||
// String tradeSuccessAtDateStr = null;
|
||||
// try {
|
||||
// Date relatedAtDate = DateUtil.parse(relatedAt);
|
||||
// relatedAtDateStr = DateUtil.format(relatedAtDate, "yyyy-MM-dd");
|
||||
//
|
||||
// if (headerDetailsDto.getHeader().getTradeSuccessAt() != null && !"".equals(headerDetailsDto.getHeader().getTradeSuccessAt())) {
|
||||
// Date tradeSuccessAtDate = DateUtil.parse(headerDetailsDto.getHeader().getTradeSuccessAt());
|
||||
// tradeSuccessAtDateStr = DateUtil.format(tradeSuccessAtDate, "yyyy-MM-dd");
|
||||
//
|
||||
// if ((relatedAtDate.before(tradeSuccessAtDate) || relatedAtDate.equals(tradeSuccessAtDate))) {
|
||||
// //满足"2.关联时间早于交易成功时间"
|
||||
// return tradeSuccessAtDateStr;
|
||||
// }
|
||||
// }
|
||||
// //满足"1.无源入库单没有交易成功时间"
|
||||
// return relatedAtDateStr;
|
||||
// } catch (Exception e) {
|
||||
// logger.error("时间日期解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
// Assert.state(false, "时间日期解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
// }
|
||||
// return null;
|
||||
// } else {
|
||||
// logger.error("业务日期生成失败relatedAt(O 关联时间)不能为空 O 无源入库单号:{}", code);
|
||||
// Assert.state(false, "业务日期生成失败relatedAt(O 关联时间)不能为空 O 无源入库单号:{}", code);
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 2025 年 3 月 12 日 15:53:27
|
||||
* 生成业务日期:取「关联时间」,只能取关联时间,否则会存在跨月问题
|
||||
* <p>
|
||||
* 2025年8月13日08:41:33 回退原始版本
|
||||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
private String createGenerateBusinessDate(PassiveStorageResponse.Header header) {
|
||||
String code = null;
|
||||
if (header != null && header.getReceiptCode() != null) {
|
||||
code = header.getReceiptCode();
|
||||
}
|
||||
|
||||
HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 无源入库单编码:{}", code);
|
||||
Assert.notNull(headerDetailsDto.getHeader(), "售后入库单对应的销售订单不能为空! 无源入库单编码:{}", code);
|
||||
|
||||
if (header != null && header.getRelatedAt() != null) {
|
||||
String relatedAt = header.getRelatedAt();
|
||||
String relatedAtDateStr = null;
|
||||
String tradeSuccessAtDateStr = null;
|
||||
String closedAt = header.getRelatedAt();
|
||||
String businessFormat = null;
|
||||
try {
|
||||
Date relatedAtDate = DateUtil.parse(relatedAt);
|
||||
relatedAtDateStr = DateUtil.format(relatedAtDate, "yyyy-MM-dd");
|
||||
|
||||
if (headerDetailsDto.getHeader().getTradeSuccessAt() != null && !"".equals(headerDetailsDto.getHeader().getTradeSuccessAt())) {
|
||||
Date tradeSuccessAtDate = DateUtil.parse(headerDetailsDto.getHeader().getTradeSuccessAt());
|
||||
tradeSuccessAtDateStr = DateUtil.format(tradeSuccessAtDate, "yyyy-MM-dd");
|
||||
|
||||
if ((relatedAtDate.before(tradeSuccessAtDate) || relatedAtDate.equals(tradeSuccessAtDate))) {
|
||||
//满足"2.关联时间早于交易成功时间"
|
||||
return tradeSuccessAtDateStr;
|
||||
}
|
||||
}
|
||||
//满足"1.无源入库单没有交易成功时间"
|
||||
return relatedAtDateStr;
|
||||
Date dbill = DateUtil.parse(closedAt);
|
||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||
} catch (Exception e) {
|
||||
logger.error("时间日期解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
Assert.state(false, "时间日期解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
logger.error("业务日期生成失败relatedAt(O 关联时间)解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
Assert.state(false, "业务日期生成失败closedAt(O 关联时间)解析异常:{} O 无源入库单号:{}", e.getMessage(), code);
|
||||
}
|
||||
return null;
|
||||
return businessFormat;
|
||||
} else {
|
||||
logger.error("业务日期生成失败relatedAt(O 关联时间)不能为空 O 无源入库单号:{}", code);
|
||||
Assert.state(false, "业务日期生成失败relatedAt(O 关联时间)不能为空 O 无源入库单号:{}", code);
|
||||
|
|
|
@ -1451,44 +1451,78 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) throws Exception {
|
||||
// private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) throws Exception {
|
||||
// //测试
|
||||
//// header.setClosedAt("2024-11-29 10:00:12");
|
||||
// String code = null;
|
||||
// if (header != null && header.getCode() != null) {
|
||||
// code = header.getCode();
|
||||
// }
|
||||
//
|
||||
// //OFS销售订单
|
||||
// com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
// Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code);
|
||||
// Assert.notNull(headerDetailsDto.getHeader(), "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code);
|
||||
//
|
||||
// if (header != null && header.getClosedAt() != null) {
|
||||
// //TOC以出库日期作为业务日期
|
||||
// String closedAt = header.getClosedAt();
|
||||
// String closedAtDateStr = null;
|
||||
// String tradeSuccessAtDateStr = null;
|
||||
// try {
|
||||
// Date closedAtDate = DateUtil.parse(closedAt);
|
||||
// closedAtDateStr = DateUtil.format(closedAtDate, "yyyy-MM-dd");
|
||||
//
|
||||
// if (headerDetailsDto.getHeader().getTradeSuccessAt() != null && !"".equals(headerDetailsDto.getHeader().getTradeSuccessAt())) {
|
||||
// Date tradeSuccessAtDate = DateUtil.parse(headerDetailsDto.getHeader().getTradeSuccessAt());
|
||||
// tradeSuccessAtDateStr = DateUtil.format(tradeSuccessAtDate, "yyyy-MM-dd");
|
||||
//
|
||||
// if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) {
|
||||
// //满足"2.关单时间早于交易成功时间"
|
||||
// return tradeSuccessAtDateStr;
|
||||
// }
|
||||
// }
|
||||
// //满足"1.售后入库单没有交易成功时间"
|
||||
// return closedAtDateStr;
|
||||
// } catch (Exception e) {
|
||||
// logger.error("时间日期解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
// Assert.state(false, "时间日期解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
// }
|
||||
// return null;
|
||||
// } else {
|
||||
// logger.error("业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||
// Assert.state(false, "业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 2024年8月9日 15:43:13
|
||||
* 生成业务日期:取「入库时间」、还是取「结束收货时间」
|
||||
* <p>
|
||||
* 2025年8月13日08:39:17 回退原版本
|
||||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) {
|
||||
//测试
|
||||
// header.setClosedAt("2024-11-29 10:00:12");
|
||||
String code = null;
|
||||
if (header != null && header.getCode() != null) {
|
||||
code = header.getCode();
|
||||
}
|
||||
|
||||
//OFS销售订单
|
||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto headerDetailsDto = header.getHeaderDetailsDto();
|
||||
Assert.notNull(headerDetailsDto, "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code);
|
||||
Assert.notNull(headerDetailsDto.getHeader(), "售后入库单对应的销售订单不能为空! 售后入库单编码:{}", code);
|
||||
|
||||
if (header != null && header.getClosedAt() != null) {
|
||||
//TOC以出库日期作为业务日期
|
||||
String closedAt = header.getClosedAt();
|
||||
String closedAtDateStr = null;
|
||||
String tradeSuccessAtDateStr = null;
|
||||
String businessFormat = null;
|
||||
try {
|
||||
Date closedAtDate = DateUtil.parse(closedAt);
|
||||
closedAtDateStr = DateUtil.format(closedAtDate, "yyyy-MM-dd");
|
||||
|
||||
if (headerDetailsDto.getHeader().getTradeSuccessAt() != null && !"".equals(headerDetailsDto.getHeader().getTradeSuccessAt())) {
|
||||
Date tradeSuccessAtDate = DateUtil.parse(headerDetailsDto.getHeader().getTradeSuccessAt());
|
||||
tradeSuccessAtDateStr = DateUtil.format(tradeSuccessAtDate, "yyyy-MM-dd");
|
||||
|
||||
if ((closedAtDate.before(tradeSuccessAtDate) || closedAtDate.equals(tradeSuccessAtDate))) {
|
||||
//满足"2.关单时间早于交易成功时间"
|
||||
return tradeSuccessAtDateStr;
|
||||
}
|
||||
}
|
||||
//满足"1.售后入库单没有交易成功时间"
|
||||
return closedAtDateStr;
|
||||
Date dbill = DateUtil.parse(closedAt);
|
||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||
} catch (Exception e) {
|
||||
logger.error("时间日期解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
Assert.state(false, "时间日期解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
logger.error("业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
Assert.state(false, "业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||
}
|
||||
return null;
|
||||
return businessFormat;
|
||||
} else {
|
||||
logger.error("业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||
Assert.state(false, "业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||
|
|
Loading…
Reference in New Issue