shanji 3 years ago
parent
commit
3b4275fbd7
  1. 2
      BBWY.Client/Models/APIModel/Response/AfterSaleOrder/AfterSaleOrderResponse.cs
  2. 2
      BBWY.Client/Models/AfterSaleOrder/AfterSaleOrder.cs
  3. 94
      BBWY.Client/Views/Order/OrderList.xaml
  4. 57
      BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs
  5. 28
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  6. 7
      BBWY.Server.Business/Order/OrderBusiness.cs
  7. 6
      BBWY.Server.Model/Db/Order/AfterSaleOrder.cs

2
BBWY.Client/Models/APIModel/Response/AfterSaleOrder/AfterSaleOrderResponse.cs

@ -119,5 +119,7 @@ namespace BBWY.Client.Models
public string Mobile { get; set; } public string Mobile { get; set; }
public decimal AfterTotalCost { get; set; } = 0.0M; public decimal AfterTotalCost { get; set; } = 0.0M;
public decimal StorageAmount { get; set; } = 0.0M;
} }
} }

2
BBWY.Client/Models/AfterSaleOrder/AfterSaleOrder.cs

@ -105,6 +105,8 @@ namespace BBWY.Client.Models
public decimal ReissueFreight { get => reissueFreight; set { Set(ref reissueFreight, value); } } public decimal ReissueFreight { get => reissueFreight; set { Set(ref reissueFreight, value); } }
public decimal ReissueProductAmount { get => reissueProductAmount; set { Set(ref reissueProductAmount, value); } } public decimal ReissueProductAmount { get => reissueProductAmount; set { Set(ref reissueProductAmount, value); } }
public decimal StorageAmount { get; set; } = 0.0M;
public object Clone() public object Clone()
{ {
return this.MemberwiseClone(); return this.MemberwiseClone();

94
BBWY.Client/Views/Order/OrderList.xaml

@ -348,7 +348,7 @@
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}" <Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="185"> MinHeight="155">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition/> <RowDefinition/>
@ -453,7 +453,7 @@
<Run Text="货号:" /> <Run Text="货号:" />
<Run Text="{Binding ProductItemNum}"/> <Run Text="{Binding ProductItemNum}"/>
</TextBlock> </TextBlock>
<TextBlock DataContext="{Binding DataContext,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" <!--<TextBlock DataContext="{Binding DataContext,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}"
TextTrimming="CharacterEllipsis"> TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip> <TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}"> <ToolTip Style="{StaticResource OrderCouponToolipStyle}">
@ -462,7 +462,7 @@
</TextBlock.ToolTip> </TextBlock.ToolTip>
<Run Text="买家备注:" /> <Run Text="买家备注:" />
<Run Text="{Binding BuyerRemark}"/> <Run Text="{Binding BuyerRemark}"/>
</TextBlock> </TextBlock>-->
<Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1" HorizontalAlignment="Left" Padding="5,2" <Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1" HorizontalAlignment="Left" Padding="5,2"
Visibility="{Binding IsRefund,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}"> Visibility="{Binding IsRefund,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}">
<TextBlock Text="售后" Foreground="{StaticResource Text.Pink}"/> <TextBlock Text="售后" Foreground="{StaticResource Text.Pink}"/>
@ -495,6 +495,11 @@
</MultiBinding> </MultiBinding>
</Setter.Value> </Setter.Value>
</Setter> </Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style> </Style>
</ListBox.ItemContainerStyle> </ListBox.ItemContainerStyle>
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -764,35 +769,6 @@
<Run Text="{Binding SDType,Converter={StaticResource objConverter},ConverterParameter=自刷:空单号/刷单号:SD佣金}"/> <Run Text="{Binding SDType,Converter={StaticResource objConverter},ConverterParameter=自刷:空单号/刷单号:SD佣金}"/>
<Run Text="{Binding OrderCost.SDCommissionAmount}"/> <Run Text="{Binding OrderCost.SDCommissionAmount}"/>
</TextBlock> </TextBlock>
<StackPanel Orientation="Horizontal"
Visibility="{Binding OrderCost.TotalReissue,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}">
<TextBlock>
<Run Text="补发总计"/>
<Run Text="{Binding OrderCost.TotalReissue,Mode=OneWay}"/>
</TextBlock>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<StackPanel>
<TextBlock>
<Run Text="补发快递成本"/>
<Run Text="{Binding OrderCost.ReissueFreight}"/>
</TextBlock>
<TextBlock>
<Run Text="补发货款成本"/>
<Run Text="{Binding OrderCost.ReissueProductAmount}"/>
</TextBlock>
<TextBlock>
<Run Text="售后补偿成本"/>
<Run Text="{Binding OrderCost.ReissueAfterSaleAmount}"/>
</TextBlock>
</StackPanel>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<TextBlock> <TextBlock>
<Run Text="成本总计"/> <Run Text="成本总计"/>
<Run Text="{Binding OrderCost.TotalCost,Mode=OneWay}"/> <Run Text="{Binding OrderCost.TotalCost,Mode=OneWay}"/>
@ -1071,7 +1047,7 @@
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0"> <Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip> <Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}"> <ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid Width="700" Height="120"> <Grid Width="770" Height="120">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
@ -1094,6 +1070,7 @@
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/> <ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@ -1106,13 +1083,13 @@
<Grid Grid.ColumnSpan="2" Background="{StaticResource Border.Background}"> <Grid Grid.ColumnSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="商品成本"/> <TextBlock Text="商品成本"/>
</Grid> </Grid>
<Grid Grid.Column="2" Grid.ColumnSpan="5" Background="{StaticResource Border.Background}"> <Grid Grid.Column="2" Grid.ColumnSpan="6" Background="{StaticResource Border.Background}">
<TextBlock Text="期间成本"/> <TextBlock Text="期间成本"/>
</Grid> </Grid>
<Grid Grid.Column="7" Grid.ColumnSpan="2" Background="{StaticResource Border.Background}"> <Grid Grid.Column="8" Grid.ColumnSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="售后损耗"/> <TextBlock Text="售后损耗"/>
</Grid> </Grid>
<Grid Grid.Column="9" Grid.RowSpan="2" Background="{StaticResource Border.Background}"> <Grid Grid.Column="10" Grid.RowSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="退款采购成本"/> <TextBlock Text="退款采购成本"/>
</Grid> </Grid>
@ -1139,49 +1116,56 @@
<TextBlock Text="出库操作费"/> <TextBlock Text="出库操作费"/>
</Grid> </Grid>
<Grid Grid.Row="1" Grid.Column="7" Background="{StaticResource Border.Background}"> <Grid Grid.Row="1" Grid.Column="7" Background="{StaticResource Border.Background}">
<TextBlock Text="退货入库"/> <TextBlock Text="仓储费"/>
</Grid> </Grid>
<Grid Grid.Row="1" Grid.Column="8" Background="{StaticResource Border.Background}"> <Grid Grid.Row="1" Grid.Column="8" Background="{StaticResource Border.Background}">
<TextBlock Text="退货入库"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="9" Background="{StaticResource Border.Background}">
<TextBlock Text="售后补偿"/> <TextBlock Text="售后补偿"/>
</Grid> </Grid>
<!--Row 3--> <!--Row 3-->
<TextBlock Grid.Row="2" Text="{Binding ReissueProductAmount}" <TextBlock Grid.Row="2" Text="{Binding ReissueProductAmount}"
Visibility="{Binding ReissueProductAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding ReissueProductAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ReissueFreight}" <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ReissueFreight}"
Visibility="{Binding ReissueFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding ReissueFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding FirstFreight}" <TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding FirstFreight}"
Visibility="{Binding FirstFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding FirstFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="3" Text="{Binding ConsumableAmount}" <TextBlock Grid.Row="2" Grid.Column="3" Text="{Binding ConsumableAmount}"
Visibility="{Binding ConsumableAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding ConsumableAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="4" Text="{Binding DeliveryExpressFreight}" <TextBlock Grid.Row="2" Grid.Column="4" Text="{Binding DeliveryExpressFreight}"
Visibility="{Binding DeliveryExpressFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding DeliveryExpressFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="5" Text="{Binding InStorageAmount}" <TextBlock Grid.Row="2" Grid.Column="5" Text="{Binding InStorageAmount}"
Visibility="{Binding InStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding InStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="6" Text="{Binding OutStorageAmount}" <TextBlock Grid.Row="2" Grid.Column="6" Text="{Binding OutStorageAmount}"
Visibility="{Binding OutStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding OutStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="7" Text="{Binding RefundInStorageAmount}" <TextBlock Grid.Row="2" Grid.Column="7" Text="{Binding StorageAmount}"
Visibility="{Binding RefundInStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding StorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="8" Text="{Binding ReissueAfterSaleAmount}" <TextBlock Grid.Row="2" Grid.Column="8" Text="{Binding RefundInStorageAmount}"
Visibility="{Binding ReissueAfterSaleAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding RefundInStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="9" Text="{Binding RefundPurchaseAmount}" <TextBlock Grid.Row="2" Grid.Column="9" Text="{Binding ReissueAfterSaleAmount}"
Visibility="{Binding RefundPurchaseAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/> Visibility="{Binding ReissueAfterSaleAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="10" Text="{Binding RefundPurchaseAmount}"
Visibility="{Binding RefundPurchaseAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<!--Line--> <!--Line-->
<Border Width="1" Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="6" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="7" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="8" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="9" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="3" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="3" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="4" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="4" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="5" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="5" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="7" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/> <Border Width="1" Grid.Column="6" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="8" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="9" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="9" Background="{StaticResource Border.Brush}"/> <Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="10" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="10" Background="{StaticResource Border.Brush}"/> <Border Height="1" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="11" Background="{StaticResource Border.Brush}"/>
</Grid> </Grid>
</Border> </Border>
<TextBlock Grid.Row="1" VerticalAlignment="Center" Margin="0,5"> <TextBlock Grid.Row="1" VerticalAlignment="Center" Margin="0,5">

57
BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs

@ -1,4 +1,5 @@
using BBWY.Common.Models; using BBWY.Common.Models;
using BBWY.Server.Business.Extensions;
using BBWY.Server.Model.Db; using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto; using BBWY.Server.Model.Dto;
using System; using System;
@ -28,6 +29,7 @@ namespace BBWY.Server.Business
Logo = osku.Logo, Logo = osku.Logo,
OrderId = aso.OrderId, OrderId = aso.OrderId,
OutStorageAmount = aso.OutStorageAmount, OutStorageAmount = aso.OutStorageAmount,
StorageAmount = aso.StorageAmount,
ProductHealth = aso.ProductHealth, ProductHealth = aso.ProductHealth,
ProductId = aso.ProductId, ProductId = aso.ProductId,
ProductResult = aso.ProductResult, ProductResult = aso.ProductResult,
@ -94,6 +96,10 @@ namespace BBWY.Server.Business
var afterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => aso.OrderId == editAfterSaleOrderRequest.OrderId).ToList(); var afterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => aso.OrderId == editAfterSaleOrderRequest.OrderId).ToList();
var dbAfterSaleOrder = afterSaleOrderList.FirstOrDefault(aso => aso.Id == editAfterSaleOrderRequest.Id); var dbAfterSaleOrder = afterSaleOrderList.FirstOrDefault(aso => aso.Id == editAfterSaleOrderRequest.Id);
var dbOrder = fsql.Select<Order>(editAfterSaleOrderRequest.OrderId).ToOne(); var dbOrder = fsql.Select<Order>(editAfterSaleOrderRequest.OrderId).ToOne();
var dbOrderCostDetail = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == editAfterSaleOrderRequest.OrderId &&
ocd.SkuId == dbAfterSaleOrder.SkuId &&
ocd.IsEnabled == true).ToOne();
var dbOrderCost = fsql.Select<OrderCost>(editAfterSaleOrderRequest.OrderId).ToOne();
#region 更新当前服务单属性 #region 更新当前服务单属性
dbAfterSaleOrder.ServiceResult = editAfterSaleOrderRequest.ServiceResult; dbAfterSaleOrder.ServiceResult = editAfterSaleOrderRequest.ServiceResult;
@ -109,6 +115,7 @@ namespace BBWY.Server.Business
dbAfterSaleOrder.RefundInStorageAmount = 0M; dbAfterSaleOrder.RefundInStorageAmount = 0M;
dbAfterSaleOrder.ReissueFreight = 0M; dbAfterSaleOrder.ReissueFreight = 0M;
dbAfterSaleOrder.ReissueProductAmount = 0M; dbAfterSaleOrder.ReissueProductAmount = 0M;
dbAfterSaleOrder.StorageAmount = 0M;
dbAfterSaleOrder.AfterTotalCost = 0M; dbAfterSaleOrder.AfterTotalCost = 0M;
if (dbAfterSaleOrder.ServiceResult == Model.Enums.ServiceResult. || if (dbAfterSaleOrder.ServiceResult == Model.Enums.ServiceResult. ||
@ -119,21 +126,39 @@ namespace BBWY.Server.Business
dbAfterSaleOrder.ProductHealth = Model.Enums.ProductHealth.退; dbAfterSaleOrder.ProductHealth = Model.Enums.ProductHealth.退;
dbAfterSaleOrder.ReissueProductAmount = editAfterSaleOrderRequest.ReissueProductAmount; dbAfterSaleOrder.ReissueProductAmount = editAfterSaleOrderRequest.ReissueProductAmount;
dbAfterSaleOrder.ReissueFreight = editAfterSaleOrderRequest.ReissueFreight;
if (dbOrder.StorageType == Model.Enums.StorageType.)
dbAfterSaleOrder.ReissueFreight = editAfterSaleOrderRequest.ReissueFreight; //其他单单更新采购运费
else
dbAfterSaleOrder.DeliveryExpressFreight = editAfterSaleOrderRequest.ReissueFreight; //代发单更新快递费
} }
else if (dbAfterSaleOrder.ServiceResult == Model.Enums.ServiceResult.退) else if (dbAfterSaleOrder.ServiceResult == Model.Enums.ServiceResult.)
{ {
if (dbAfterSaleOrder.ProductResult == Model.Enums.ProductResult.退 || dbAfterSaleOrder.ConsumableAmount = dbOrderCostDetail.ConsumableAmount;
dbAfterSaleOrder.ProductResult == Model.Enums.ProductResult.退) dbAfterSaleOrder.DeliveryExpressFreight = dbOrderCostDetail.DeliveryExpressFreight;
dbAfterSaleOrder.FirstFreight = dbOrderCostDetail.FirstFreight;
dbAfterSaleOrder.ReissueProductAmount = dbOrderCostDetail.SkuAmount;
dbAfterSaleOrder.ReissueFreight = dbOrderCostDetail.PurchaseFreight;
dbAfterSaleOrder.StorageAmount = dbOrderCostDetail.StorageAmount;
if (dbOrder.StorageType == Model.Enums.StorageType.)
{
dbAfterSaleOrder.InStorageAmount = 0.2M * dbOrderCostDetail.DeductionQuantity;
dbAfterSaleOrder.OutStorageAmount = 0.9M * dbOrderCostDetail.DeductionQuantity;
}
else if (dbOrder.StorageType == Model.Enums.StorageType.)
{ {
dbAfterSaleOrder.InStorageAmount = 1.4M * dbOrderCostDetail.DeductionQuantity;
dbAfterSaleOrder.OutStorageAmount = 1.4M * dbOrderCostDetail.DeductionQuantity;
} }
} }
if (dbAfterSaleOrder.ProductResult == Model.Enums.ProductResult.退 || dbAfterSaleOrder.ProductResult == Model.Enums.ProductResult.退)
dbAfterSaleOrder.RefundInStorageAmount = 1M;
if (dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth.) if (dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth.)
{ {
//原sku采购成本 //原sku采购成本
dbAfterSaleOrder.RefundPurchaseAmount = dbOrderCostDetail.TotalCost;
} }
else if (dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth._ || else if (dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth._ ||
dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth.退 || dbAfterSaleOrder.ProductHealth == Model.Enums.ProductHealth.退 ||
@ -142,9 +167,27 @@ namespace BBWY.Server.Business
dbAfterSaleOrder.RefundPurchaseAmount = 0M; dbAfterSaleOrder.RefundPurchaseAmount = 0M;
} }
dbAfterSaleOrder.AfterTotalCost = dbAfterSaleOrder.ReissueAfterSaleAmount.Value +
dbAfterSaleOrder.ConsumableAmount.Value +
dbAfterSaleOrder.DeliveryExpressFreight.Value +
dbAfterSaleOrder.FirstFreight.Value +
dbAfterSaleOrder.InStorageAmount.Value +
dbAfterSaleOrder.OutStorageAmount.Value +
dbAfterSaleOrder.RefundInStorageAmount.Value +
dbAfterSaleOrder.ReissueFreight.Value +
dbAfterSaleOrder.ReissueProductAmount.Value +
dbAfterSaleOrder.StorageAmount;
#endregion #endregion
dbOrderCost.CalculationOrderProfitAndCost(dbOrder, afterSaleOrderList);
fsql.Transaction(() =>
{
fsql.Update<OrderCost>().SetSource(dbOrderCost).ExecuteAffrows();
fsql.Update<AfterSaleOrder>().SetSource(dbAfterSaleOrder).ExecuteAffrows();
});
} }
} }
} }

28
BBWY.Server.Business/Extensions/OrderCostExtension.cs

@ -0,0 +1,28 @@
using BBWY.Server.Model.Db;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BBWY.Server.Business.Extensions
{
public static class OrderCostExtension
{
public static void CalculationOrderProfitAndCost(this OrderCost orderCost, Order order, IList<AfterSaleOrder> afterSaleOrders)
{
orderCost.AfterTotalCost = afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.AfterTotalCost);
orderCost.RefundAmount = afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.RefundAmount ?? 0M);
orderCost.RefundPurchaseAmount = afterSaleOrders.Count == 0M ? 0M : afterSaleOrders.Sum(aso => aso.RefundPurchaseAmount ?? 0);
//退款之后平台扣点
orderCost.PlatformCommissionAmount = (order.OrderSellerPrice - orderCost.RefundAmount) * (orderCost.PlatformCommissionRatio);
orderCost.Profit = order.OrderSellerPrice + order.FreightPrice - orderCost.RefundAmount -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount -
orderCost.AfterTotalCost +
orderCost.RefundPurchaseAmount;
}
}
}

7
BBWY.Server.Business/Order/OrderBusiness.cs

@ -620,13 +620,6 @@ namespace BBWY.Server.Business
orderCostDetail.CreateTime = DateTime.Now; orderCostDetail.CreateTime = DateTime.Now;
orderCostDetail.OrderId = manualCalculationCostRequest.OrderId; orderCostDetail.OrderId = manualCalculationCostRequest.OrderId;
orderCostDetail.PurchaseOrderPKId = 0; orderCostDetail.PurchaseOrderPKId = 0;
//orderCostDetail.TotalCost = orderCostDetail.SkuAmount +
// orderCostDetail.PurchaseFreight +
// orderCostDetail.FirstFreight +
// orderCostDetail.StorageAmount +
// orderCostDetail.ConsumableAmount +
// orderCostDetail.OperationAmount;
//orderCostDetail.UnitCost = orderCostDetail.TotalCost / orderCostDetail.DeductionQuantity;
} }
var totalPurchaseCost = insertOrderCostDetailList.Sum(ocd => ocd.TotalCost); var totalPurchaseCost = insertOrderCostDetailList.Sum(ocd => ocd.TotalCost);

6
BBWY.Server.Model/Db/Order/AfterSaleOrder.cs

@ -133,6 +133,12 @@ namespace BBWY.Server.Model.Db
[Column(DbType = "decimal(20,2)")] [Column(DbType = "decimal(20,2)")]
public decimal AfterTotalCost { get; set; } = 0.0M; public decimal AfterTotalCost { get; set; } = 0.0M;
/// <summary>
/// 仓储费
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal StorageAmount { get; set; } = 0.0M;
} }
} }

Loading…
Cancel
Save