增强销售出库和退货插件中的业务日期生成逻辑
- 在销售出库和退货插件中,增加获取订单编码的逻辑- 优化业务日期生成方法,加入订单编码信息到日志和异常信息中 - 提高代码健壮性,增加空值检查和异常处理 - 重构部分代码,提高可读性和维护性
This commit is contained in:
parent
035e0829ab
commit
992e143bbc
|
@ -876,6 +876,10 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(OrderOutTobHeaderDto orderOutTobHeaderDto) {
|
private String createGenerateBusinessDate(OrderOutTobHeaderDto orderOutTobHeaderDto) {
|
||||||
|
String code = null;
|
||||||
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null) {
|
||||||
|
code = orderOutTobHeaderDto.getHeader().getCode();
|
||||||
|
}
|
||||||
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getShipAt() != null) {
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getShipAt() != null) {
|
||||||
HeaderDto header = orderOutTobHeaderDto.getHeader();
|
HeaderDto header = orderOutTobHeaderDto.getHeader();
|
||||||
String shipAt = header.getShipAt();
|
String shipAt = header.getShipAt();
|
||||||
|
@ -884,14 +888,13 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(shipAt);
|
Date dbill = DateUtil.parse(shipAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("业务日期生成失败", e);
|
logger.error("业务日期生成失败shipAt(O发货时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "业务日期生成失败,抛出异常:" + e.getMessage());
|
Assert.state(false, "业务日期生成失败shipAt(O发货时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
logger.info("TOB库存同步业务,生成的业务日期:{}", businessFormat);
|
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("生成出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
logger.error("业务日期生成失败shipAt(O发货时间)不能为空! O销售出库单编码:{}", code);
|
||||||
Assert.state(false, "生成出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
Assert.state(false, "业务日期生成失败shipAt(O发货时间)不能为空! O销售出库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -903,24 +906,25 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createSuccessFulTradeDate(OrderOutTobHeaderDto orderOutTobHeaderDto) throws Exception {
|
private String createSuccessFulTradeDate(OrderOutTobHeaderDto orderOutTobHeaderDto) throws Exception {
|
||||||
//测试
|
String code = null;
|
||||||
// orderOutTobHeaderDto.getHeader().setTradeSuccessAt("2024-09-12");
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null) {
|
||||||
|
code = orderOutTobHeaderDto.getHeader().getCode();
|
||||||
|
}
|
||||||
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getTradeSuccessAt() != null) {
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getTradeSuccessAt() != null) {
|
||||||
HeaderDto header = orderOutTobHeaderDto.getHeader();
|
HeaderDto header = orderOutTobHeaderDto.getHeader();
|
||||||
String shipAt = header.getTradeSuccessAt();
|
String tradeSuccessAt = header.getTradeSuccessAt();
|
||||||
String businessFormat = null;
|
String businessFormat = null;
|
||||||
try {
|
try {
|
||||||
Date dbill = DateUtil.parse(shipAt);
|
Date dbill = DateUtil.parse(tradeSuccessAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("tradeSuccessAt业务日期生成失败", e);
|
logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "业务日期生成失败,抛出异常:" + e.getMessage());
|
Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功日期)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
logger.info("TOB销售发票业务,生成的的业务日期为:{}", businessFormat);
|
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("生成发票业务日期失败,或者tradeSuccessAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)不能为空! O销售出库单编码:{}", code);
|
||||||
Assert.state(false, "生成发票业务日期失败,或者tradeSuccessAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功日期)不能为空! O销售出库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -916,8 +916,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDateStock(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header) {
|
private String createGenerateBusinessDateStock(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header) {
|
||||||
//测试
|
String code = null;
|
||||||
// header.setShipAt("2024-09-14");
|
if (header != null && header.getCode() != null) {
|
||||||
|
code = header.getCode();
|
||||||
|
}
|
||||||
if (header != null && header.getShipAt() != null) {
|
if (header != null && header.getShipAt() != null) {
|
||||||
//TOC以出库日期作为业务日期
|
//TOC以出库日期作为业务日期
|
||||||
String shipAt = header.getShipAt();
|
String shipAt = header.getShipAt();
|
||||||
|
@ -926,14 +928,13 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(shipAt);
|
Date dbill = DateUtil.parse(shipAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// e.printStackTrace();
|
logger.error("业务日期生成失败shipAt(O发货时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
logger.error("业务日期转换失败", e);
|
Assert.state(false, "业务日期生成失败shipAt(O发货时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "业务日期生成失败,原因:", e);
|
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("生成出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(header));
|
logger.error("业务日期生成失败shipAt(O发货时间)不能为空! O销售出库单编码:{}", code);
|
||||||
Assert.state(false, "生成出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(header));
|
Assert.state(false, "业务日期生成失败shipAt(O发货时间)不能为空! O销售出库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -945,6 +946,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDateTran(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header) {
|
private String createGenerateBusinessDateTran(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header) {
|
||||||
|
String code = null;
|
||||||
|
if (header != null && header.getCode() != null) {
|
||||||
|
code = header.getCode();
|
||||||
|
}
|
||||||
if (header != null && header.getTradeSuccessAt() != null) {
|
if (header != null && header.getTradeSuccessAt() != null) {
|
||||||
//TOC以出库日期作为业务日期
|
//TOC以出库日期作为业务日期
|
||||||
String tradeSuccessAt = header.getTradeSuccessAt();
|
String tradeSuccessAt = header.getTradeSuccessAt();
|
||||||
|
@ -953,14 +958,13 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(tradeSuccessAt);
|
Date dbill = DateUtil.parse(tradeSuccessAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// e.printStackTrace();
|
logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
logger.error("业务日期转换失败", e);
|
Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "业务日期生成失败,原因:", e);
|
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("生成出库日期失败,或者tradeSuccessAt为空! json:{}", JSON.toJSON(header));
|
logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)不能为空! O销售出库单编码:{}", code);
|
||||||
Assert.state(false, "生成出库日期失败,或者tradeSuccessAt为空! json:{}", JSON.toJSON(header));
|
Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间)不能为空! O销售出库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -863,6 +863,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(OrderToBHeaderDto orderOutTobHeaderDto) {
|
private String createGenerateBusinessDate(OrderToBHeaderDto orderOutTobHeaderDto) {
|
||||||
|
String code = null;
|
||||||
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null) {
|
||||||
|
code = orderOutTobHeaderDto.getHeader().getCode();
|
||||||
|
}
|
||||||
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getClosedAt() != null) {
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getClosedAt() != null) {
|
||||||
StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();
|
StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();
|
||||||
String closedAt = header.getClosedAt();
|
String closedAt = header.getClosedAt();
|
||||||
|
@ -871,12 +875,13 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(closedAt);
|
Date dbill = DateUtil.parse(closedAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("业务日期生成失败", e);
|
logger.error("业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||||
|
Assert.state(false, "业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
logger.error("业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||||
Assert.state(false, "OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
Assert.state(false, "业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1886,6 +1891,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createSuccessFulTradeDate(OrderToBHeaderDto orderOutTobHeaderDto) {
|
private String createSuccessFulTradeDate(OrderToBHeaderDto orderOutTobHeaderDto) {
|
||||||
|
String code = null;
|
||||||
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null) {
|
||||||
|
code = orderOutTobHeaderDto.getHeader().getCode();
|
||||||
|
}
|
||||||
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getRefundedAt() != null) {
|
if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getRefundedAt() != null) {
|
||||||
StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();
|
StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();
|
||||||
String refundedAt = header.getRefundedAt();
|
String refundedAt = header.getRefundedAt();
|
||||||
|
@ -1894,13 +1903,13 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(refundedAt);
|
Date dbill = DateUtil.parse(refundedAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("refundedAt业务日期生成失败", e);
|
logger.error("业务日期生成失败refundedAt(O退款完成时间)解析异常:{} O售后入库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "refundedAt业务日期生成失败不能为空");
|
Assert.state(false, "业务日期生成失败refundedAt(O退款完成时间)解析异常:{} O售后入库单编码:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
logger.error("业务日期生成失败refundedAt(O退款完成时间)不能为空! O售后入库单编码:{}", code);
|
||||||
Assert.state(false, "refundedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
|
Assert.state(false, "业务日期生成失败refundedAt(O退款完成时间)不能为空! O售后入库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -959,6 +959,10 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) {
|
private String createGenerateBusinessDate(StockinOrderSearchResponse.StockinOrder.StockinH header) {
|
||||||
|
String code = null;
|
||||||
|
if (header != null && header.getCode() != null) {
|
||||||
|
code = header.getCode();
|
||||||
|
}
|
||||||
if (header != null && header.getClosedAt() != null) {
|
if (header != null && header.getClosedAt() != null) {
|
||||||
//TOC以出库日期作为业务日期
|
//TOC以出库日期作为业务日期
|
||||||
String closedAt = header.getClosedAt();
|
String closedAt = header.getClosedAt();
|
||||||
|
@ -967,13 +971,13 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
Date dbill = DateUtil.parse(closedAt);
|
Date dbill = DateUtil.parse(closedAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
logger.error("业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||||
logger.error("业务日期转换失败", e);
|
Assert.state(false, "业务日期生成失败closedAt(O关单时间)解析异常:{} O售后入库单号:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(header));
|
logger.error("业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||||
Assert.state(false, "OFS字段closedAt为空(作为U8C的业务日期)! json:{}", JSON.toJSON(header));
|
Assert.state(false, "业务日期生成失败closedAt(O关单时间)不能为空 O售后入库单号:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -985,21 +989,24 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createSuccessFulTradeDate(StockinOrderSearchResponse.StockinOrder.StockinH stockinH) {
|
private String createSuccessFulTradeDate(StockinOrderSearchResponse.StockinOrder.StockinH stockinH) {
|
||||||
|
String code = null;
|
||||||
|
if (stockinH != null && stockinH.getCode() != null) {
|
||||||
|
code = stockinH.getCode();
|
||||||
|
}
|
||||||
if (stockinH != null && stockinH.getRefundedAt() != null) {
|
if (stockinH != null && stockinH.getRefundedAt() != null) {
|
||||||
// StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();
|
|
||||||
String refundedAt = stockinH.getRefundedAt();
|
String refundedAt = stockinH.getRefundedAt();
|
||||||
String businessFormat = null;
|
String businessFormat = null;
|
||||||
try {
|
try {
|
||||||
Date dbill = DateUtil.parse(refundedAt);
|
Date dbill = DateUtil.parse(refundedAt);
|
||||||
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("refundedAt业务日期生成失败", e);
|
logger.error("业务日期生成失败refundedAt(O退款完成时间)解析异常:{} O售后入库单编码:{}", e.getMessage(), code);
|
||||||
Assert.state(false, "refundedAt业务日期生成失败不能为空");
|
Assert.state(false, "业务日期生成失败refundedAt(O退款完成时间)解析异常:{} O售后入库单编码:{}", e.getMessage(), code);
|
||||||
}
|
}
|
||||||
return businessFormat;
|
return businessFormat;
|
||||||
} else {
|
} else {
|
||||||
logger.error("refundedAt为空! json:{}", JSON.toJSON(stockinH));
|
logger.error("业务日期生成失败refundedAt(O退款完成时间)不能为空! O售后入库单编码:{}", code);
|
||||||
Assert.state(false, "refundedAt为空! json:{}", JSON.toJSON(stockinH));
|
Assert.state(false, "业务日期生成失败refundedAt(O退款完成时间)不能为空! O售后入库单编码:{}", code);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue