丽知: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");
|
parentvo.setZyx3("SALES");
|
||||||
//zyx16 单据红字标识 1Y 2N
|
//zyx16 单据红字标识 1Y 2N
|
||||||
parentvo.setZyx16("1");
|
parentvo.setZyx16("1");
|
||||||
|
//zyx18 汇总逻辑 [0]公司 [1]店铺 [2]部门 [3]单据日期
|
||||||
|
parentvo.setZyx18(split[0] + "+" + split[1] + "+" + split[2] + "+" + split[3]);
|
||||||
|
|
||||||
|
|
||||||
//子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要
|
//子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要
|
||||||
|
|
|
@ -373,6 +373,10 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
|
||||||
* 公司+店铺+仓库+SKU+收发类别+部门 分组
|
* 公司+店铺+仓库+SKU+收发类别+部门 分组
|
||||||
* <p>
|
* <p>
|
||||||
* 因为优惠金额在表头,先按单据便利一变,具体分摊金额拆到每行,在去汇总
|
* 因为优惠金额在表头,先按单据便利一变,具体分摊金额拆到每行,在去汇总
|
||||||
|
* <p>
|
||||||
|
* add by zyd 2025-04-16 1、销售订单没有交易成功时间的过滤掉。
|
||||||
|
* 2、交易成功时间 > 退款完成时间 则取U8C交易成功时间
|
||||||
|
* 交易成功时间 < 退款完成时间 则取U8C退款完成时间
|
||||||
*/
|
*/
|
||||||
public void implement(List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders) throws Exception {
|
public void implement(List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders) throws Exception {
|
||||||
|
|
||||||
|
@ -387,18 +391,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
|
||||||
String refOrderCode = filterReturnGoodsOrder.getHeader().getRefOrderCode();
|
String refOrderCode = filterReturnGoodsOrder.getHeader().getRefOrderCode();
|
||||||
SaleOrderMessageDto ofsSaleOrder = getOfsOrder(refOrderCode);
|
SaleOrderMessageDto ofsSaleOrder = getOfsOrder(refOrderCode);
|
||||||
String deptCode = "002";
|
String deptCode = "002";
|
||||||
|
String tradeSuccessAt = null;
|
||||||
if (ofsSaleOrder != null) {
|
if (ofsSaleOrder != null) {
|
||||||
// Assert.state(false,"根据仅退款:{},查询销售订单:{},失败!未查询到对应销售订单",filterReturnGoodsOrder.getHeader().getCode(),refOrderCode);
|
// Assert.state(false,"根据仅退款:{},查询销售订单:{},失败!未查询到对应销售订单",filterReturnGoodsOrder.getHeader().getCode(),refOrderCode);
|
||||||
if (ofsSaleOrder.getData().get(0).getHeader().getDepartmentType() != null && !"".equals((ofsSaleOrder.getData().get(0).getHeader().getDepartmentType()))) {
|
if (ofsSaleOrder.getData().get(0).getHeader().getDepartmentType() != null && !"".equals((ofsSaleOrder.getData().get(0).getHeader().getDepartmentType()))) {
|
||||||
deptCode = 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().setSaleDeptCode(deptCode);
|
||||||
|
filterReturnGoodsOrder.getHeader().setSaleTradeSuccessAt(tradeSuccessAt);
|
||||||
allHeader.add(filterReturnGoodsOrder.getHeader());
|
allHeader.add(filterReturnGoodsOrder.getHeader());
|
||||||
allDetail.addAll(filterReturnGoodsOrder.getDetails());
|
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)));
|
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");
|
parentvo.setZyx3("SALES");
|
||||||
//zyx16 单据红字标识 1Y 2N
|
//zyx16 单据红字标识 1Y 2N
|
||||||
parentvo.setZyx16("1");
|
parentvo.setZyx16("1");
|
||||||
|
//zyx18 汇总逻辑 [0]公司 [1]店铺 [2]部门 [3]单据日期
|
||||||
|
parentvo.setZyx18(split[0] + "+" + split[1] + "+" + split[2] + "+" + split[3]);
|
||||||
|
|
||||||
//子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要
|
//子表,需要通过多个主表的id找到多个子表,且退货金额==0的不要
|
||||||
List<RerturnGoodsOrderSearchDetails> ofsDetails = new ArrayList<>();
|
List<RerturnGoodsOrderSearchDetails> ofsDetails = new ArrayList<>();
|
||||||
|
@ -634,7 +656,7 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sum_jfbbje.compareTo(BigDecimal.ZERO) != 0){
|
if (sum_jfbbje.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
childrenn.setJfbbje("-" + sum_jfbbje);
|
childrenn.setJfbbje("-" + sum_jfbbje);
|
||||||
childrenn.setJfybje("-" + sum_jfbbje);
|
childrenn.setJfybje("-" + sum_jfbbje);
|
||||||
childrenn.setJfbbsj("-" + sum_jfbbsj);
|
childrenn.setJfbbsj("-" + sum_jfbbsj);
|
||||||
|
|
|
@ -76,5 +76,6 @@ public class RerturnGoodsOrderSearchHeader {
|
||||||
|
|
||||||
//部门-来自销售订单
|
//部门-来自销售订单
|
||||||
private String saleDeptCode;
|
private String saleDeptCode;
|
||||||
private String saleDeptDame;
|
private String saleDeptName;
|
||||||
|
private String saleTradeSuccessAt;//销售订单交易成功时间
|
||||||
}
|
}
|
Loading…
Reference in New Issue