master
parent
77db899d11
commit
d9462239fd
|
|
@ -1159,6 +1159,21 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
Assert.notNull(orderInfoEntity, () -> Exceptions.clierr("订单不存在"));
|
||||
OrderStatus orderStatus = orderInfoEntity.getOrderStatus();
|
||||
Assert.isTrue(orderStatus == OrderStatus.YiJinChang, () -> Exceptions.clierr("当前订单状态,无法出场"));
|
||||
OrderCategory orderCategory = orderInfoEntity.getOrderCategory();
|
||||
|
||||
Integer settleWeight = orderCarInOutService.truckOut(orderInfoEntity.getCarInOutId(), truckLeavingOrderParam, orderCategory, truckId);
|
||||
// 结算(目前仅针对清运公司):
|
||||
// 1) 复制“产品”到 order_expense_items;
|
||||
// 2) 从 expense_items_config 读取可用付费项并按 scope 过滤(all / customer_type=QiYe|GeTi / customer 包含 trans_company_id);
|
||||
// 3) 合并集合,计算 total_money 与 settle_money,并批量落库。
|
||||
OrderGoodsEntity entity = orderGoodsService.getById(orderInfoEntity.getGoodsId());
|
||||
Assert.notNull(entity, () -> Exceptions.clierr("产品不存在"));
|
||||
if (MoneyWay.OUT.getVal().equals(entity.getMoneyWay())) {
|
||||
// 计算费用,出厂付费可能需要称重,需要更新付费项
|
||||
updateOrderItems(orderInfoEntity.getId(), settleWeight, Boolean.FALSE);
|
||||
orderInfoEntity = this.getById(truckLeavingOrderParam.getOrderId());
|
||||
}
|
||||
|
||||
baseMapper.busyDriver(orderInfoEntity.getDriverId(), Boolean.FALSE);
|
||||
baseMapper.busyTruck(orderInfoEntity.getTruckId(), Boolean.FALSE);
|
||||
PaymentStatus paymentStatus = orderInfoEntity.getPaymentStatus();
|
||||
|
|
@ -1169,33 +1184,27 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
.setId(orderInfoEntity.getId())
|
||||
.setOrderStatus(newOrderStatus)
|
||||
);
|
||||
OrderCategory orderCategory = orderInfoEntity.getOrderCategory();
|
||||
// 计算本单净重(或结算重量),作为结算时的数量依据
|
||||
Integer settleWeight = orderCarInOutService.truckOut(orderInfoEntity.getCarInOutId(), truckLeavingOrderParam, orderCategory, truckId);
|
||||
|
||||
OrderInfoEntity orderInfoEntity_ = orderInfoEntity;
|
||||
CompletableFuture.runAsync(() -> {
|
||||
BizTruckEntity truckInfo = baseMapper.getTruckInfo(truckId);
|
||||
String licensePlate = truckInfo.getLicensePlate();
|
||||
Websocket.publish(new WsMsg().setEvent("down/order/status_change")
|
||||
.setData(MapUtil.builder()
|
||||
.put("sn", orderInfoEntity.getSn())
|
||||
.put("sn", orderInfoEntity_.getSn())
|
||||
.put("licensePlate", licensePlate)
|
||||
.put("orderStatus", newOrderStatus)
|
||||
.build()));
|
||||
}).exceptionally(e -> {
|
||||
log.error("订单状态改变事件发布失败,订单{},状态{}", orderInfoEntity.getSn(), newOrderStatus, e);
|
||||
log.error("订单状态改变事件发布失败,订单{},状态{}", orderInfoEntity_.getSn(), newOrderStatus, e);
|
||||
return null;
|
||||
});
|
||||
// 结算(目前仅针对清运公司):
|
||||
// 1) 复制“产品”到 order_expense_items;
|
||||
// 2) 从 expense_items_config 读取可用付费项并按 scope 过滤(all / customer_type=QiYe|GeTi / customer 包含 trans_company_id);
|
||||
// 3) 合并集合,计算 total_money 与 settle_money,并批量落库。
|
||||
OrderGoodsEntity entity = orderGoodsService.getById(orderInfoEntity.getGoodsId());
|
||||
Assert.notNull(entity, () -> Exceptions.clierr("产品不存在"));
|
||||
|
||||
// 出厂付费
|
||||
if (MoneyWay.OUT.getVal().equals(entity.getMoneyWay())) {
|
||||
// 计算费用,出厂付费可能需要称重,需要更新付费项
|
||||
updateOrderItems(orderInfoEntity.getId(), settleWeight, Boolean.FALSE);
|
||||
// updateOrderItems(orderInfoEntity.getId(), settleWeight, Boolean.FALSE);
|
||||
|
||||
// 扣费
|
||||
return handleCompanyPay(orderInfoEntity, Boolean.FALSE, new BigDecimal("0"), Boolean.FALSE);
|
||||
|
|
|
|||
Loading…
Reference in New Issue