提交 3185701c authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v17.3_youhua_20240615' into dev

...@@ -2648,12 +2648,17 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2648,12 +2648,17 @@ public class OrderChildServiceImpl implements OrderChildService {
List<String> childNos;//取消运单 List<String> childNos;//取消运单
//未到达货源地之前运单(不包括取消) //未到达货源地之前运单(不包括取消)
List<OrderChild> arriveBeforeOrderChild = orderChildDao.listByOrderNo(param.getOrderNo(),arriveBeforeStatus); List<OrderChild> arriveBeforeOrderChild = orderChildDao.listByOrderNo(param.getOrderNo(),arriveBeforeStatus);
log.info("arriveBeforeOrderChild:{}",arriveBeforeOrderChild);
if(orderedWeight.compareTo(availableWeight) > 0){//已挂吨数大于可拉运吨数 取消未到达货源地的运单 if(orderedWeight.compareTo(availableWeight) > 0){//已挂吨数大于可拉运吨数 取消未到达货源地的运单
log.info("已挂吨数大于可拉运吨数,取消未到达货源地的运单:{}",orderedWeight.compareTo(availableWeight));
//到达货源地之后运单(不包括取消) //到达货源地之后运单(不包括取消)
List<OrderChild> arriveAfterOrderChild = orderChildDao.listByOrderNo(param.getOrderNo(),arriveAfterStatus); List<OrderChild> arriveAfterOrderChild = orderChildDao.listByOrderNo(param.getOrderNo(),arriveAfterStatus);
log.info("arriveAfterOrderChild:{}",arriveAfterOrderChild);
BigDecimal arriveAfterWeight = arriveAfterOrderChild.stream().map(OrderChild::getWeight) BigDecimal arriveAfterWeight = arriveAfterOrderChild.stream().map(OrderChild::getWeight)
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);//总拉运吨数 .reduce(BigDecimal::add).orElse(BigDecimal.ZERO);//总拉运吨数
log.info("总拉运吨数:{}",arriveAfterWeight);
if(availableWeight.compareTo(arriveAfterWeight) >0){//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单 if(availableWeight.compareTo(arriveAfterWeight) >0){//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
log.info("可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}",availableWeight.compareTo(arriveAfterWeight));
BigDecimal weight =BigDecimal.ZERO;//运单累加吨数 BigDecimal weight =BigDecimal.ZERO;//运单累加吨数
BigDecimal subtract = availableWeight.subtract(arriveAfterWeight);//可拉运吨数-运单拉运吨数=司机可以接单拉运吨数 BigDecimal subtract = availableWeight.subtract(arriveAfterWeight);//可拉运吨数-运单拉运吨数=司机可以接单拉运吨数
List<String> notCancelChildNos = new ArrayList<>();//不需要取消的运单 List<String> notCancelChildNos = new ArrayList<>();//不需要取消的运单
...@@ -2664,12 +2669,14 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2664,12 +2669,14 @@ public class OrderChildServiceImpl implements OrderChildService {
} }
notCancelChildNos.add(oc.getChildNo());//获取可以取消的运单 notCancelChildNos.add(oc.getChildNo());//获取可以取消的运单
} }
log.info("notCancelChildNos:{}",notCancelChildNos);
childNos = arriveBeforeOrderChild.stream().map(OrderChild::getChildNo).collect(Collectors.toList());//未到达货源地 childNos = arriveBeforeOrderChild.stream().map(OrderChild::getChildNo).collect(Collectors.toList());//未到达货源地
childNos.removeAll(notCancelChildNos);//剔除不需要取消的运单 childNos.removeAll(notCancelChildNos);//剔除不需要取消的运单
}else{ }else{
childNos = arriveBeforeOrderChild.stream().map(OrderChild::getChildNo).collect(Collectors.toList());//未到达货源地 childNos = arriveBeforeOrderChild.stream().map(OrderChild::getChildNo).collect(Collectors.toList());//未到达货源地
} }
log.info("批量取消运单:childNos:{}",childNos);
//批量取消运单 //批量取消运单
if(CollectionUtils.isNotEmpty(childNos)){ if(CollectionUtils.isNotEmpty(childNos)){
......
...@@ -1007,11 +1007,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -1007,11 +1007,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void cancelOrderGoods(CancelOrderGoodsParam param) { public void cancelOrderGoods(CancelOrderGoodsParam param) {
log.info("取消货单:{}",param);
//取消货单 //取消货单
orderGoodsDao.cancelOrderGoods(param.getOrderNo()); orderGoodsDao.cancelOrderGoods(param.getOrderNo());
//批量保存货单日志 //批量保存货单日志
List<OrderGoods> orderGoodsListByOrderNo = orderGoodsDao.getOrderGoodsListByOrderNo(param.getOrderNo()); List<OrderGoods> orderGoodsListByOrderNo = orderGoodsDao.getOrderGoodsListByOrderNo(param.getOrderNo());
log.info("orderGoodsListByOrderNo:{}",orderGoodsListByOrderNo);
List<OrderGoodsLog> orderGoodsLogs = new ArrayList<>(); List<OrderGoodsLog> orderGoodsLogs = new ArrayList<>();
OrderGoodsLog orderGoodsLog = null; OrderGoodsLog orderGoodsLog = null;
for(OrderGoods orderGoods:orderGoodsListByOrderNo){ for(OrderGoods orderGoods:orderGoodsListByOrderNo){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论