Browse Source

统一利润计算方式

qianyi
shanji 3 years ago
parent
commit
1daabef557
  1. 65
      BBWY.Client/Views/Order/ManualCalculationCost.xaml
  2. 26
      BBWY.Server.Business/Order/OrderBusiness.cs

65
BBWY.Client/Views/Order/ManualCalculationCost.xaml

@ -25,7 +25,7 @@
Grid.Row="1"
RowHeight="103">
<DataGrid.Columns>
<DataGridTemplateColumn Header="货品信息" Width="400">
<DataGridTemplateColumn Header="货品信息" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
@ -106,11 +106,19 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="操作" Width="70"
<DataGridTemplateColumn Header="入仓操作" Width="70"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<c:BTextBox Text="{Binding OperationAmountStr,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Margin="5,0"/>
<c:BTextBox Text="{Binding InStorageAmountStr,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Margin="5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="出仓操作" Width="70"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<c:BTextBox Text="{Binding OutStorageAmountStr,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Margin="5,0"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
@ -138,7 +146,7 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*" HeaderStyle="{StaticResource ColumnHeaderStyle_Center}">
<DataGridTemplateColumn Width="90" HeaderStyle="{StaticResource ColumnHeaderStyle_Center}">
<DataGridTemplateColumn.Header>
<StackPanel>
<TextBlock Text="总采购成本" HorizontalAlignment="Center"/>
@ -154,55 +162,6 @@
</DataGrid.Columns>
</DataGrid>
<!--<Grid Grid.Row="1" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="10"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品成本" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1"/>
<c:BTextBox x:Name="txtSkuAmount" Grid.Column="1" Grid.Row="1" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,0,0,0"/>
<TextBlock Text="采购运费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="2"/>
<c:BTextBox x:Name="txtFeright" Grid.Column="1" Grid.Row="2" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,0,0,0"/>
<TextBlock Text="销售运费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="3"/>
<c:BTextBox x:Name="txtDeliveryExpressFreight" Grid.Column="1" Grid.Row="3" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,0,0,0"/>
<TextBlock Text="头程运费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="4"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<c:BTextBox x:Name="txtFirstFreight" Grid.Column="1" Grid.Row="4" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,5,0,5"/>
<TextBlock Text="操作费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="5"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<c:BTextBox x:Name="txtOperationAmount" Grid.Column="1" Grid.Row="5" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,5,0,5"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<TextBlock Text="仓储费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="6"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<c:BTextBox x:Name="txtStorageAmount" Grid.Column="1" Grid.Row="6" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,5,0,5"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<TextBlock Text="耗材费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="7"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<c:BTextBox x:Name="txtConsumableAmount" Grid.Column="1" Grid.Row="7" Height="30" Width="150" HorizontalAlignment="Left" Margin="5,5,0,5"
Visibility="{Binding Visibility,ElementName=txtFirstFreight}"/>
<c:BButton x:Name="btn_fillFromLately" Content="填入最近一次信息" Grid.Row="9" Grid.ColumnSpan="2" Width="120"
Click="btn_fillFromLately_Click"/>
</Grid>-->
<StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Left" Margin="8,0,0,0">
<TextBlock Text="销售运费总计" VerticalAlignment="Center" FontSize="16"/>
<TextBlock x:Name="txtTotalDeliveryExpressFreight" Text="100" VerticalAlignment="Center" Margin="2,0" Foreground="#EC808D" FontSize="16"/>

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

@ -1,6 +1,7 @@
using BBWY.Common.Extensions;
using BBWY.Common.Http;
using BBWY.Common.Models;
using BBWY.Server.Business.Extensions;
using BBWY.Server.Business.PlatformSDK.DataExtension;
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
@ -611,6 +612,7 @@ namespace BBWY.Server.Business
IUpdate<OrderCost> updateOrderCost = null;
IInsert<OrderCost> insertOrderCost = null;
List<OrderCostDetail> insertOrderCostDetailList = new List<OrderCostDetail>();
var dbAfterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => aso.OrderId == manualCalculationCostRequest.OrderId).ToList();
if (manualCalculationCostRequest.IsSetStorageType)
orderUpdate = fsql.Update<Order>(manualCalculationCostRequest.OrderId).Set(o => o.StorageType, manualCalculationCostRequest.StorageType);
@ -643,23 +645,25 @@ namespace BBWY.Server.Business
CreateTime = DateTime.Now,
IsManualEdited = true
};
orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
orderCost.Profit = dbOrder.OrderSellerPrice +
dbOrder.FreightPrice -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount;
//orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
//orderCost.Profit = dbOrder.OrderSellerPrice +
// dbOrder.FreightPrice -
// orderCost.PurchaseAmount -
// orderCost.DeliveryExpressFreight -
// orderCost.PlatformCommissionAmount;
orderCost.CalculationOrderProfitAndCost(dbOrder, dbAfterSaleOrderList);
insertOrderCost = fsql.Insert(orderCost);
}
else
{
orderCost.PurchaseAmount = totalPurchaseCost;
orderCost.DeliveryExpressFreight = totalDeliveryExpressFreight;
orderCost.Profit = dbOrder.OrderSellerPrice +
dbOrder.FreightPrice -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount;
//orderCost.Profit = dbOrder.OrderSellerPrice +
// dbOrder.FreightPrice -
// orderCost.PurchaseAmount -
// orderCost.DeliveryExpressFreight -
// orderCost.PlatformCommissionAmount;
orderCost.CalculationOrderProfitAndCost(dbOrder, dbAfterSaleOrderList);
orderCost.IsManualEdited = true;
updateOrderCost = fsql.Update<OrderCost>().SetSource(orderCost);
}

Loading…
Cancel
Save