提交 47c95e8f authored 作者: liuhaiquan's avatar liuhaiquan

接单接口兼容一辆车多个定向单的情况

上级 328ad50f
......@@ -24,6 +24,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo);
Optional<OrderGoodsTruckBind> getByOrderGoodsNoAndTruckNo(String orderGoodsNo, String truckNo);
Optional<OrderGoodsTruckBind> getValidByOrderGoodsNoAndTruckNo(String truckNo);
Optional<List<OrderGoodsTruckBind>> getValidByTruckNo(String truckNo);
Optional<List<OrderGoodsTruckBind>> selectListByTruckNo(List<String> truckList);
}
......@@ -3,7 +3,6 @@ package com.clx.performance.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.enums.OrderGoodsTypeEnum;
import com.clx.performance.mapper.OrderGoodsTruckBindMapper;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional;
......@@ -59,6 +58,15 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
));
}
@Override
public Optional<List<OrderGoodsTruckBind>> getValidByTruckNo(String truckNo) {
return Optional.ofNullable(list(lQrWrapper()
.eq(OrderGoodsTruckBind::getTruckNo, truckNo)
.in(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBind.Status.NORMAL.getCode())
));
}
@Override
public Optional<List<OrderGoodsTruckBind>> selectListByTruckNo(List<String> truckList) {
return Optional.ofNullable(baseMapper.selectList(new QueryWrapper<OrderGoodsTruckBind>().lambda()
......
......@@ -120,13 +120,16 @@ public class OrderChildServiceImpl implements OrderChildService {
// }
// 定向
OrderGoodsTruckBind orderGoodsTruckBind = orderGoodsTruckBindDao.getValidByOrderGoodsNoAndTruckNo(truckNo).orNull();
OrderGoodsTruckBind bind = null;
List<OrderGoodsTruckBind> orderGoodsTruckBindList = orderGoodsTruckBindDao.getValidByTruckNo(truckNo).orNull();
if (Objects.equals(orderGoods.getPendingOrderWay(), OrderGoodsPendingOrderWayStatusEnum.Status.EXCLUSIVE.getCode())){
if (orderGoodsTruckBind == null){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR);}
if (!Objects.equals(orderGoodsTruckBind.getOrderGoodsNo(), orderGoods.getOrderGoodsNo())){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR);}
if (CollectionUtils.isEmpty(orderGoodsTruckBindList)){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR);}
//筛选出当前选择的定向货单
bind = orderGoodsTruckBindList.stream().filter(s -> orderGoods.getOrderGoodsNo().equals(s.getOrderGoodsNo())).findFirst().orElse(null);
if (Objects.isNull(bind)){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR);}
}
else {
if (orderGoodsTruckBind != null){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1);}
if (CollectionUtils.isNotEmpty(orderGoodsTruckBindList)){throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1);}
}
// 库存验证
......@@ -175,7 +178,7 @@ public class OrderChildServiceImpl implements OrderChildService {
updateOrderGoodsAmount(orderGoods, truckLoad);
// 更新定向单状态
updateOrderGoodsDirect(orderGoodsTruckBind);
updateOrderGoodsDirect(bind);
// 新增运单
orderChildDao.saveEntity(orderChild);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论