|
@@ -303,12 +303,37 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
orderDto.setClassify(OrderClassifyEnum.PURCHASE_ORDER.getKey());
|
|
|
}
|
|
|
}
|
|
|
+ // 委外订单修改金额
|
|
|
+ if (ObjectUtil.equals(orderDto.getType(), 2)) {
|
|
|
+ orderDto.setProductTotalAmount(BigDecimal.ZERO);
|
|
|
+ orderDto.setLssueFee(BigDecimal.ZERO);
|
|
|
+ orderDto.setDeliveryMaterialsFee(BigDecimal.ZERO);
|
|
|
+ orderDto.setManagementFee(BigDecimal.ZERO);
|
|
|
+ orderDto.setPackingLabor(orderDto.getPackingLabor().multiply(new BigDecimal(2)));
|
|
|
+ orderDto.setTotalAmount(orderDto.getProductTotalAmount()
|
|
|
+ .add(orderDto.getCustomProcessingFee())
|
|
|
+ .add(orderDto.getLssueFee())
|
|
|
+ .add(orderDto.getDeliveryMaterialsFee())
|
|
|
+ .add(orderDto.getPackingLabor())
|
|
|
+ .add(orderDto.getPackagingMaterialCost())
|
|
|
+ .add(orderDto.getManagementFee()));
|
|
|
+ }
|
|
|
this.save(orderDto);
|
|
|
|
|
|
// 新增订单产品包材配件
|
|
|
List<OrderSku> tempOrderSkuList = orderSkuList.stream()
|
|
|
.peek(item -> item.setOrderId(orderDto.getId()))
|
|
|
.peek(item -> item.setStockPreparationStatus(StatusConstant.NO))
|
|
|
+ .peek(item -> {
|
|
|
+ // 委外订单修改金额
|
|
|
+ if (ObjectUtil.equals(orderDto.getType(), 2)) {
|
|
|
+ item.setUnitPrice(BigDecimal.ZERO);
|
|
|
+ item.setLssueFee(BigDecimal.ZERO);
|
|
|
+ item.setDeliveryMaterialsFee(BigDecimal.ZERO);
|
|
|
+ item.setManagementFee(BigDecimal.ZERO);
|
|
|
+ item.setPackingLabor(item.getPackingLabor().multiply(new BigDecimal(2)));
|
|
|
+ }
|
|
|
+ })
|
|
|
.map(item -> (OrderSku) item)
|
|
|
.collect(Collectors.toList());
|
|
|
orderSkuService.saveBatch(tempOrderSkuList);
|
|
@@ -517,9 +542,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
|
|
|
// 更新订单
|
|
|
dto.setStatus(OrderStatusEnum.STOCK_PREPARATION.getKey());
|
|
|
- // 订单为委外订单时,订单分类为委外订单
|
|
|
+ // 订单为委外订单时,订单分类为委外订单,订单费用修改
|
|
|
if (Objects.equals(dto.getType(), 2)) {
|
|
|
dto.setClassify(OrderClassifyEnum.OUTSOURCE_ORDER.getKey());
|
|
|
+ dto.setProductTotalAmount(BigDecimal.ZERO);
|
|
|
+ dto.setLssueFee(BigDecimal.ZERO);
|
|
|
+ dto.setDeliveryMaterialsFee(BigDecimal.ZERO);
|
|
|
+ dto.setManagementFee(BigDecimal.ZERO);
|
|
|
+ dto.setPackingLabor(dto.getPackingLabor().multiply(new BigDecimal(2)));
|
|
|
+ dto.setTotalAmount(dto.getProductTotalAmount()
|
|
|
+ .add(dto.getCustomProcessingFee())
|
|
|
+ .add(dto.getLssueFee())
|
|
|
+ .add(dto.getDeliveryMaterialsFee())
|
|
|
+ .add(dto.getPackingLabor())
|
|
|
+ .add(dto.getPackagingMaterialCost())
|
|
|
+ .add(dto.getManagementFee()));
|
|
|
} else if (Objects.equals(dto.getType(), 1)) {
|
|
|
// 拥有采购角色的账号创建的自主订单为采购订单
|
|
|
Long userId = dto.getCreateUser();
|
|
@@ -534,6 +571,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
List<OrderSku> tempOrderSkuList = orderSkuList.stream()
|
|
|
.peek(item -> item.setOrderId(dto.getId()))
|
|
|
.peek(item -> item.setStockPreparationStatus(StatusConstant.NO))
|
|
|
+ .peek(item -> {
|
|
|
+ // 委外订单修改金额
|
|
|
+ if (ObjectUtil.equals(dto.getType(), 2)) {
|
|
|
+ item.setUnitPrice(BigDecimal.ZERO);
|
|
|
+ item.setLssueFee(BigDecimal.ZERO);
|
|
|
+ item.setDeliveryMaterialsFee(BigDecimal.ZERO);
|
|
|
+ item.setManagementFee(BigDecimal.ZERO);
|
|
|
+ item.setPackingLabor(item.getPackingLabor().multiply(new BigDecimal(2)));
|
|
|
+ }
|
|
|
+ })
|
|
|
.map(item -> (OrderSku) item)
|
|
|
.collect(Collectors.toList());
|
|
|
orderSkuService.editLinked(tempOrderSkuList, OrderSku::getOrderId, dto.getId());
|