丽知:1、toc仅退款修改时间,交易成功时间 > 退款完成时间 则取U8C交易成功时间。
2、toc仅退款查找销售订单时,没有交易成功时间的过滤掉。 3、tob、toc仅退款zyx18新增汇总维度。
This commit is contained in:
parent
710588d140
commit
3afd0c1095
|
@ -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的不要
|
||||
|
|
|
@ -373,6 +373,10 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
|
|||
* 公司+店铺+仓库+SKU+收发类别+部门 分组
|
||||
* <p>
|
||||
* 因为优惠金额在表头,先按单据便利一变,具体分摊金额拆到每行,在去汇总
|
||||
* <p>
|
||||
* add by zyd 2025-04-16 1、销售订单没有交易成功时间的过滤掉。
|
||||
* 2、交易成功时间 > 退款完成时间 则取U8C交易成功时间
|
||||
* 交易成功时间 < 退款完成时间 则取U8C退款完成时间
|
||||
*/
|
||||
public void implement(List<RerturnGoodsOrderSearchData> 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<String, List<RerturnGoodsOrderSearchHeader>> 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<RerturnGoodsOrderSearchDetails> ofsDetails = new ArrayList<>();
|
||||
|
|
|
@ -76,5 +76,6 @@ public class RerturnGoodsOrderSearchHeader {
|
|||
|
||||
//部门-来自销售订单
|
||||
private String saleDeptCode;
|
||||
private String saleDeptDame;
|
||||
private String saleDeptName;
|
||||
private String saleTradeSuccessAt;//销售订单交易成功时间
|
||||
}
|
Loading…
Reference in New Issue