diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToB.java index c8788da3..a2c22a6b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToB.java @@ -471,6 +471,8 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity { parentvo.setZyx3("SALES"); //zyx16 单据红字标识 1Y 2N parentvo.setZyx16("1"); + //zyx18 汇总逻辑 [0]公司 [1]店铺 [2]部门 [3]单据日期 + parentvo.setZyx18(split[0] + "+" + split[1] + "+" + split[2] + "+" + split[3]); //子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要 diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java index a59ba10b..4b48dba2 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java @@ -373,6 +373,10 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { * 公司+店铺+仓库+SKU+收发类别+部门 分组 *

* 因为优惠金额在表头,先按单据便利一变,具体分摊金额拆到每行,在去汇总 + *

+ * add by zyd 2025-04-16 1、销售订单没有交易成功时间的过滤掉。 + * 2、交易成功时间 > 退款完成时间 则取U8C交易成功时间 + * 交易成功时间 < 退款完成时间 则取U8C退款完成时间 */ public void implement(List filterReturnGoodsOrders) throws Exception { @@ -387,18 +391,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { String refOrderCode = filterReturnGoodsOrder.getHeader().getRefOrderCode(); SaleOrderMessageDto ofsSaleOrder = getOfsOrder(refOrderCode); String deptCode = "002"; + String tradeSuccessAt = null; if (ofsSaleOrder != null) { // Assert.state(false,"根据仅退款:{},查询销售订单:{},失败!未查询到对应销售订单",filterReturnGoodsOrder.getHeader().getCode(),refOrderCode); if (ofsSaleOrder.getData().get(0).getHeader().getDepartmentType() != null && !"".equals((ofsSaleOrder.getData().get(0).getHeader().getDepartmentType()))) { deptCode = ofsSaleOrder.getData().get(0).getHeader().getDepartmentType(); + tradeSuccessAt = ofsSaleOrder.getData().get(0).getHeader().getTradeSuccessAt(); } } + if (tradeSuccessAt == null) { + continue; + } filterReturnGoodsOrder.getHeader().setSaleDeptCode(deptCode); + filterReturnGoodsOrder.getHeader().setSaleTradeSuccessAt(tradeSuccessAt); allHeader.add(filterReturnGoodsOrder.getHeader()); allDetail.addAll(filterReturnGoodsOrder.getDetails()); } + //整合时间 + //交易成功时间 > 退款完成时间 则取U8C交易成功时间 + //交易成功时间 < 退款完成时间 则取U8C退款完成时间 + for (RerturnGoodsOrderSearchHeader rerturnGoodsOrderSearchHeader : allHeader) { + if (rerturnGoodsOrderSearchHeader.getSaleTradeSuccessAt().compareTo(rerturnGoodsOrderSearchHeader.getRefundedAt()) > 0) { + rerturnGoodsOrderSearchHeader.setRefundedAt(rerturnGoodsOrderSearchHeader.getSaleTradeSuccessAt()); + } + } + + //分组:公司+店铺+部门+单据日期(退款日期),仅退款没有仓库,固不去 Map> collect = allHeader.stream().collect(Collectors.groupingBy(index -> index.getCompanyCode() + ",#" + index.getStoreCode() + ",#" + index.getSaleDeptCode() + ",#" + index.getRefundedAt().substring(0, 10))); @@ -474,6 +494,8 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { parentvo.setZyx3("SALES"); //zyx16 单据红字标识 1Y 2N parentvo.setZyx16("1"); + //zyx18 汇总逻辑 [0]公司 [1]店铺 [2]部门 [3]单据日期 + parentvo.setZyx18(split[0] + "+" + split[1] + "+" + split[2] + "+" + split[3]); //子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要 List ofsDetails = new ArrayList<>(); @@ -634,7 +656,7 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { continue; } - if(sum_jfbbje.compareTo(BigDecimal.ZERO) != 0){ + if (sum_jfbbje.compareTo(BigDecimal.ZERO) != 0) { childrenn.setJfbbje("-" + sum_jfbbje); childrenn.setJfybje("-" + sum_jfbbje); childrenn.setJfbbsj("-" + sum_jfbbsj); diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodordersearch/RerturnGoodsOrderSearchHeader.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodordersearch/RerturnGoodsOrderSearchHeader.java index 1a74cf30..3980842e 100755 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodordersearch/RerturnGoodsOrderSearchHeader.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodordersearch/RerturnGoodsOrderSearchHeader.java @@ -76,5 +76,6 @@ public class RerturnGoodsOrderSearchHeader { //部门-来自销售订单 private String saleDeptCode; - private String saleDeptDame; + private String saleDeptName; + private String saleTradeSuccessAt;//销售订单交易成功时间 } \ No newline at end of file