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 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();