diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java index 1864d173..157acea0 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java @@ -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 + * 生成业务日期:取「关联时间」,只能取关联时间,否则会存在跨月问题 + *

+ * 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); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index 5ff3dc6e..1d161e24 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -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 + * 生成业务日期:取「入库时间」、还是取「结束收货时间」 + *

+ * 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);