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