From ad24a5e99eeff9f1779d0ea0bd3a67af35f00ea5 Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Fri, 27 Dec 2024 15:48:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(sales):=20=E9=87=8D=E6=9E=84=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E6=97=A5=E6=9C=9F=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 createGenerateBusinessDateTran 方法,增加 SonDetailsDto 参数 - 从明细行获取交易成功时间,而非头部 - 更新错误日志,增加明细行主键信息 - 在 implementTran 方法中调用更新后的 createGenerateBusinessDateTran --- .../sales/SoSaleOutPluginInitializerToC.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index b1f115f8..2ae178c9 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -1353,28 +1353,32 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { * * @author liuyang */ - private String createGenerateBusinessDateTran(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header) { + private String createGenerateBusinessDateTran(com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header, SonDetailsDto sonDetailsDto) { + //O出库单单号 String code = null; if (header != null && header.getCode() != null) { code = header.getCode(); } - //测试 -// header.setTradeSuccessAt("2024-10-24 14:46:28"); - if (header != null && header.getTradeSuccessAt() != null) { + //O出库单明细行主键 + String detailedId = null; + if (sonDetailsDto != null && sonDetailsDto.getId() != null) { + detailedId = sonDetailsDto.getId(); + } + if (sonDetailsDto != null && sonDetailsDto.getTradeSuccessAt() != null) { //TOC以出库日期作为业务日期 - String tradeSuccessAt = header.getTradeSuccessAt(); + String tradeSuccessAt = sonDetailsDto.getTradeSuccessAt(); String businessFormat = null; try { Date dbill = DateUtil.parse(tradeSuccessAt); businessFormat = DateUtil.format(dbill, "yyyy-MM-dd"); } catch (Exception e) { - logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code); - Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{}", e.getMessage(), code); + logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{} 明细主键:{}", e.getMessage(), code, detailedId); + Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间)解析异常:{} O销售出库单编码:{} 明细主键:{}", e.getMessage(), code, detailedId); } return businessFormat; } else { - logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间)不能为空! O销售出库单编码:{}", code); - Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间)不能为空! O销售出库单编码:{}", code); + logger.error("业务日期生成失败tradeSuccessAt(O交易成功时间,取明细行)不能为空! O销售出库单编码:{} 明细主键:{}", code, detailedId); + Assert.state(false, "业务日期生成失败tradeSuccessAt(O交易成功时间,取明细行)不能为空! O销售出库单编码:{} 明细主键:{}", code, detailedId); return null; } } @@ -2137,6 +2141,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { * 库存同步,代码同步逻辑 * * @param headerDetailsDtos 查询得到的O出库单对象 + * @param pushScenarioType 阶段纬度标识 * @author liuyang */ private void implementTran(List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtos, String pushScenarioType) throws Exception { @@ -2215,7 +2220,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { // checkArchives(oldValue.get(0)); // checkAllFail(oldValue, newState2, "1"); //取交易成功时间,生成业务日期 - String generateBusinessDate = createGenerateBusinessDateTran(header); + String generateBusinessDate = createGenerateBusinessDateTran(header, oldValue.get(0)); SaleorderRequestDto saleorderRequestDto = new SaleorderRequestDto(); SaleorderRequestParentDto saleorderRequestParentDto = new SaleorderRequestParentDto(); @@ -2504,7 +2509,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { //验证数据完整性 // checkAllFail(oldValue, newState3, "2"); //取交易成功时间,生成业务日期 - String generateBusinessDate = createGenerateBusinessDateTran(header); + String generateBusinessDate = createGenerateBusinessDateTran(header, oldValue.get(0)); SaleorderRequestDto saleorderRequestDto = new SaleorderRequestDto(); SaleorderRequestParentDto saleorderRequestParentDto = new SaleorderRequestParentDto();