shanji 3 years ago
parent
commit
aab4128f4f
  1. 24
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  2. 30
      BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

24
BBWY.Server.Business/Statistics/StatisticsBusiness.cs

@ -52,6 +52,7 @@ namespace BBWY.Server.Business
if (pularizeEndTime != null)
{
response.PularizeEndDate = pularizeEndDate;
var profit = fsql.Select<Order, OrderCost>().LeftJoin((o, oc) => o.Id == oc.OrderId)
.Where((o, oc) => o.ShopId == request.ShopId &&
o.OrderState != null &&
@ -59,10 +60,31 @@ namespace BBWY.Server.Business
o.StorageType != Enums.StorageType.SD &&
o.StartTime >= request.StartTime &&
o.StartTime <= pularizeEndTime).Sum((o, oc) => oc.Profit);
response.Profit = profit;
//response.Profit = profit;
//计算SD成本
var sdCost = fsql.Select<Order, OrderCost>().LeftJoin((o, oc) => o.Id == oc.OrderId)
.Where((o, oc) => o.ShopId == request.ShopId &&
o.OrderState != null &&
!invalidOrderStateList.Contains(o.OrderState.Value) && //排除待付款和取消
o.StorageType == Enums.StorageType.SD &&
o.StartTime >= request.StartTime &&
o.StartTime <= pularizeEndTime).Sum((o, oc) => oc.Profit);
response.SDCost = Math.Abs(sdCost);
response.AdvCost = shopPopularizeList.Sum(s => s.Cost) + response.SDCost;
response.Profit = profit - response.AdvCost - response.TaxCost - response.EmployeeCost;
response.ShoppopularizeList = shopPopularizeList.GroupBy(s => s.ItemName).Select(g => new Shoppopularize()
{
ShopId = request.ShopId,
Cost = g.Sum(s => s.Cost),
ItemName = g.Key
}).ToList();
}
//var shopId = request.ShopId.ToString();
//var mdsShop = freeSqlMultiDBManager.MDSfsql.Select<Shops>().Where(s => s.ShopId == shopId).ToOne();
//if (mdsShop != null)

30
BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

@ -1,4 +1,6 @@
using System;
using BBWY.Server.Model.Db;
using System;
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
@ -7,12 +9,12 @@ namespace BBWY.Server.Model.Dto
public long ShopId { get; set; }
/// <summary>
/// 销售额(用户实付)
/// 成交额(用户实付)
/// </summary>
public decimal SaleAmount { get; set; }
/// <summary>
/// 采购金额
/// 采购金额(货物成本)
/// </summary>
public decimal PurchaseAmount { get; set; }
@ -53,19 +55,37 @@ namespace BBWY.Server.Model.Dto
}
}
/// <summary>
/// 人工成本
/// </summary>
public decimal EmployeeCost { get; set; }
/// <summary>
/// 税务成本
/// </summary>
public decimal TaxCost { get; set; }
/// <summary>
/// 订单数量
/// </summary>
public int OrderCount { get; set; }
/// <summary>
/// 广告投入
/// 推广成本(包含SD成本)
/// </summary>
public decimal AdvCost { get; set; }
/// <summary>
/// 推广花费截至时间
/// </summary>
public DateTime? PularizeEndTime { get; set; }
public DateTime? PularizeEndDate { get; set; }
public decimal SDCost { get; set; }
/// <summary>
/// 推广明细
/// </summary>
public IList<Shoppopularize> ShoppopularizeList { get; set; }
}
}

Loading…
Cancel
Save