fix(sales): 过滤售中状态的售后订单

- 新增 filterForSale 方法,用于过滤售中状态的售后订单
- 在查询售后订单后,调用 filterForSale 方法进行过滤
- 优化了代码结构,提高了可读性和可维护性
This commit is contained in:
liuy 2025-03-13 15:06:15 +08:00
parent 0a5840bfe7
commit ed4d8f3e94
1 changed files with 28 additions and 0 deletions

View File

@ -1369,6 +1369,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
//查询OFS售后入库单对应的售后订单
List<RerturnGoodsOrderSearchData> rerturnGoodsOrderSearchData = queryBatchAfterSalesOrder(returnGoodHeaderDetailsDataDtoList1);
findAfterSalesOrder(rerturnGoodsOrderSearchData, returnGoodHeaderDetailsDataDtoList1);
returnGoodHeaderDetailsDataDtoList1 = filterForSale(returnGoodHeaderDetailsDataDtoList1);
//测试
// RerturnGoodsOrderSearchData rerturnGoodsOrderSearchData2 = rerturnGoodsOrderSearchData.get(0);
// List<RerturnGoodsOrderSearchDetails> details2 = rerturnGoodsOrderSearchData2.getDetails();
@ -3231,4 +3232,31 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
}
return map;
}
/**
* 如果售后入库单对应的售后订单状态为售中节点则过滤掉不传递
*
* @author liuyang
*/
public List<StockinOrderSearchResponse.StockinOrder> filterForSale(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) {
List<StockinOrderSearchResponse.StockinOrder> filteredList = null;
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
filteredList = returnGoodHeaderDetailsDataDtoList1.stream().filter(stockinOrder -> {
StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader();
if (header == null) {
// 如果 StockinH 为空保留该对象
return true;
}
// 获取 RerturnGoodsOrderSearchData 对象
RerturnGoodsOrderSearchData returnData = header.getRerturnGoodsOrderSearchData();
if (returnData == null) {
// 如果 RerturnGoodsOrderSearchData 为空保留该对象
return true;
}
// 检查 returnNode 是否不等于 200若不等于则保留
return !"200".equals(returnData.getHeader().getReturnNode().trim());
}).collect(Collectors.toList());
}
return filteredList;
}
}