Commit 15c8771c authored by 吴春's avatar 吴春

提交代码

parent cd17b35d
...@@ -13,6 +13,9 @@ namespace Mall.Model.Extend.Product ...@@ -13,6 +13,9 @@ namespace Mall.Model.Extend.Product
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Goods_OrderCommission_Extend : RB_Goods_OrderCommission public class RB_Goods_OrderCommission_Extend : RB_Goods_OrderCommission
{ {
public string OrderDetailIds { get; set; }
/// <summary> /// <summary>
/// ids /// ids
/// </summary> /// </summary>
......
...@@ -80,17 +80,34 @@ namespace Mall.Module.MarketingCenter ...@@ -80,17 +80,34 @@ namespace Mall.Module.MarketingCenter
{ {
var list = orderRepository.GetFXOrderProfitLossList(pageIndex, pageSize, out count, dmodel); var list = orderRepository.GetFXOrderProfitLossList(pageIndex, pageSize, out count, dmodel);
if (list != null && list.Any())
{
//查询订单的返佣信息
string orderDetailIds = string.Join(",", list.Select(x => x.Id));
//分销情况
var oclist = goods_OrderCommissionRepository.GetListGroupByUser_V2(new RB_Goods_OrderCommission_Extend { TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId, OrderDetailIds = orderDetailIds });
foreach (var item in list)
{
item.FXCommission = (oclist != null && oclist.Any()) ? oclist.Where(x => x.OrderDetailId == item.Id).Sum(x => (x.Commission ?? 0)) : 0;
item.RemitFXCommission = (oclist != null && oclist.Any()) ? oclist.Where(x => x.OrderDetailId == item.Id && x.IsRemit == 1).Sum(x => (x.Commission ?? 0)) : 0;
}
}
return list; return list;
} }
public List<OrderStatistics_Query> GetFXAllOrderProfitLossList(OrderStatistics_Query dmodel) public List<OrderStatistics_Query> GetFXAllOrderProfitLossList(OrderStatistics_Query dmodel)
{ {
var list = orderRepository.GetFXAllOrderProfitLossList(dmodel); var list = orderRepository.GetFXAllOrderProfitLossList(dmodel);
if (dmodel.IsSelectOrderCommission == 1)
if (list != null && list.Any())
{ {
if (list != null && list.Any()) //分销情况
//分销情况
var oclist = goods_OrderCommissionRepository.GetListGroupByUser_V2(new RB_Goods_OrderCommission_Extend { TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId, OrderIds = string.Join(",", list.Select(x => x.OrderId)) });
// var oclist = goods_OrderCommissionRepository.GetListGroupByOrderDetailIds(new RB_Goods_OrderCommission_Extend() { TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId, OrderIds = string.Join(",", list.Select(x => x.OrderId)) });
if (dmodel.IsSelectOrderCommission == 1)
{ {
//分销情况
var oclist = goods_OrderCommissionRepository.GetListGroupByOrderDetailIds(new RB_Goods_OrderCommission_Extend() { TenantId = dmodel.TenantId, MallBaseId = dmodel.MallBaseId, OrderIds = string.Join(",", list.Select(x => x.OrderId)) });
if (oclist.Any()) if (oclist.Any())
{ {
//获取用户 //获取用户
...@@ -115,41 +132,54 @@ namespace Mall.Module.MarketingCenter ...@@ -115,41 +132,54 @@ namespace Mall.Module.MarketingCenter
item.UserName = umodel?.Name ?? ""; item.UserName = umodel?.Name ?? "";
item.Mobile = umodel?.Moblie ?? ""; item.Mobile = umodel?.Moblie ?? "";
item.Name = dislist.Where(x => x.UserId == item.UserId).FirstOrDefault()?.Name ?? ""; item.Name = dislist.Where(x => x.UserId == item.UserId).FirstOrDefault()?.Name ?? "";
if (item.Type == 1) if (item.CommissionType == 1 || item.CommissionType == 4)
{ {
if (item.Grade == 0) if (item.Type == 1)
{ {
item.GradeDescription = "自购返利"; if (item.Grade == 0)
{
item.GradeDescription = "自购返利";
}
else if (item.Grade == 1)
{
item.GradeDescription = "一级佣金";
}
else if (item.Grade == 2)
{
item.GradeDescription = "二级佣金";
}
else if (item.Grade == 3)
{
item.GradeDescription = "三级佣金";
}
} }
else if (item.Grade == 1) else if (item.Type == 2)
{ {
item.GradeDescription = "一级佣金"; var hpGModel = HpgradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = hpGModel?.GradeName ?? "暂无等级";
} }
else if (item.Grade == 2) else if (item.Type == 3)
{ {
item.GradeDescription = "二级佣金"; var fxGModel = FXGradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
} item.GradeDescription = fxGModel?.GradeName ?? "暂无等级";
else if (item.Grade == 3)
{
item.GradeDescription = "三级佣金";
} }
} }
else if (item.Type == 2) else if (item.CommissionType == 2)
{ {
var hpGModel = HpgradeList.Where(x => x.Id == item.Grade).FirstOrDefault(); item.GradeDescription = "供应商返佣";
item.GradeDescription = hpGModel?.GradeName ?? "暂无等级";
} }
else if (item.Type == 3) else if (item.CommissionType == 3)
{ {
var fxGModel = FXGradeList.Where(x => x.Id == item.Grade).FirstOrDefault(); item.GradeDescription = "微店返佣";
item.GradeDescription = fxGModel?.GradeName ?? "暂无等级";
} }
} }
} }
foreach (var item in list) }
{ foreach (var item in list)
item.OrderCommissionList = oclist.Where(x => x.OrderDetailId == item.Id).ToList(); {
} item.OrderCommissionList = oclist.Where(x => x.OrderDetailId == item.Id).ToList();
item.FXCommission = (item.OrderCommissionList != null && item.OrderCommissionList.Any()) ? item.OrderCommissionList.Where(x => x.OrderDetailId == item.Id).Sum(x => (x.Commission ?? 0)) : 0;
item.RemitFXCommission = (item.OrderCommissionList != null && item.OrderCommissionList.Any()) ? item.OrderCommissionList.Where(x => x.OrderDetailId == item.Id && x.IsRemit == 1).Sum(x => (x.Commission ?? 0)) : 0;
} }
} }
return list; return list;
...@@ -169,7 +199,7 @@ namespace Mall.Module.MarketingCenter ...@@ -169,7 +199,7 @@ namespace Mall.Module.MarketingCenter
var HpgradeList = new List<RB_Distributor_HPGradeInfo_Extend>(); var HpgradeList = new List<RB_Distributor_HPGradeInfo_Extend>();
if (oclist.Where(x => x.Type == 2).Any()) if (oclist.Where(x => x.Type == 2).Any())
{ {
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 2 &&(x.CommissionType == 1|| x.CommissionType == 4)).Select(x => x.Grade).Distinct()); string gradeIds = string.Join(",", oclist.Where(x => x.Type == 2 && (x.CommissionType == 1 || x.CommissionType == 4)).Select(x => x.Grade).Distinct());
HpgradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = gradeIds, TenantId = model.TenantId, MallBaseId = model.MallBaseId }, true); HpgradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = gradeIds, TenantId = model.TenantId, MallBaseId = model.MallBaseId }, true);
} }
var FXGradeList = new List<RB_Distributor_FXGrade_Extend>(); var FXGradeList = new List<RB_Distributor_FXGrade_Extend>();
......
...@@ -124,10 +124,14 @@ where {where} group by oc.OrderId,oc.UserId,oc.Grade,oc.Type order by oc.Grade a ...@@ -124,10 +124,14 @@ where {where} group by oc.OrderId,oc.UserId,oc.Grade,oc.Type order by oc.Grade a
{ {
where += $@" and oc.{nameof(RB_Goods_OrderCommission.OrderId)} in({dmodel.OrderIds})"; where += $@" and oc.{nameof(RB_Goods_OrderCommission.OrderId)} in({dmodel.OrderIds})";
} }
if (!string.IsNullOrEmpty(dmodel.OrderDetailIds))
{
where += $@" and oc.{nameof(RB_Goods_OrderCommission.OrderDetailId)} in({dmodel.OrderDetailIds})";
}
string sql = $@"SELECT oc.OrderId,oc.UserId,oc.Grade,oc.Type,oc.CommissionState,SUM(oc.Commission) as Commission,oc.CommissionType FROM All_Commission oc string sql = $@"SELECT oc.OrderId,oc.OrderDetailId,oc.UserId,oc.Grade,oc.Type,oc.CommissionState,SUM(oc.Commission) as Commission,oc.CommissionType FROM All_Commission oc
left join rb_goods_orderaftersale oa on oc.OrderDetailId= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) left join rb_goods_orderaftersale oa on oc.OrderDetailId= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5)
where {where} group by oc.OrderId,oc.UserId,oc.Grade,oc.Type,oc.CommissionType order by oc.Grade asc"; where {where} group by oc.OrderDetailId,oc.UserId,oc.Grade,oc.Type,oc.CommissionType order by oc.Grade asc";
return Get<RB_Goods_OrderCommission_Extend>(sql).ToList(); return Get<RB_Goods_OrderCommission_Extend>(sql).ToList();
} }
......
...@@ -1287,27 +1287,27 @@ GROUP BY od.GoodsId,o.OrderId ...@@ -1287,27 +1287,27 @@ GROUP BY od.GoodsId,o.OrderId
} }
} }
// string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName, // string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName,
//SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice , //SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice ,
//SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight, //SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight,
//0 as OtherPrice,e.FXCommission,f.RemitFXCommission,0 as Paid //0 as OtherPrice,e.FXCommission,f.RemitFXCommission,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid
//from rb_goods_orderdetail as b //from rb_goods_orderdetail as b
//LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId //LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId
//LEFT JOIN rb_supplier as f on f.ID=b.SupplierId //LEFT JOIN rb_supplier as f on f.ID=b.SupplierId
//LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from rb_goods_ordercommission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId //LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from All_Commission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId
//LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from rb_goods_ordercommission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId //LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from All_Commission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId
//left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where} //left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where}
//GROUP BY b.Id order by b.Id desc"; //GROUP BY b.Id order by b.Id desc";
string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName, string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName,
SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice , SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice ,
SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight, SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight,
0 as OtherPrice,e.FXCommission,f.RemitFXCommission,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid 0 as OtherPrice,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid
from rb_goods_orderdetail as b from rb_goods_orderdetail as b
LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId
LEFT JOIN rb_supplier as f on f.ID=b.SupplierId LEFT JOIN rb_supplier as f on f.ID=b.SupplierId
LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from All_Commission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId
LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from All_Commission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId
left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where} left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where}
GROUP BY b.Id order by b.Id desc"; GROUP BY b.Id order by b.Id desc";
...@@ -1359,29 +1359,29 @@ GROUP BY b.Id order by b.Id desc"; ...@@ -1359,29 +1359,29 @@ GROUP BY b.Id order by b.Id desc";
} }
// string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName, // string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName,
//SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice , //SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice ,
//SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight, //SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight,
//0 as OtherPrice,e.FXCommission,f.RemitFXCommission,0 as Paid //0 as OtherPrice,e.FXCommission,f.RemitFXCommission,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid
//from rb_goods_orderdetail as b //from rb_goods_orderdetail as b
//LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId //LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId
//LEFT JOIN rb_supplier as f on f.ID=b.SupplierId //LEFT JOIN rb_supplier as f on f.ID=b.SupplierId
//LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from rb_goods_ordercommission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId //LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from All_Commission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId
//LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from rb_goods_ordercommission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId //LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from All_Commission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId
//left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where} //left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where}
//GROUP BY b.Id "; //GROUP BY b.Id ";
string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName,
string sql = $@" SELECT B.Id,SUM(b.PaidCostMoney) as PaidCostMoney,MAX(b.OrderId) as OrderId,MAX( a.OrderNo) as OrderNo,MAX(b.GoodsName) as GoodsName,b.Specification,MAX(b.Unit_Price) as Unit_Price,SUM(b.Number) as Number,f.`Name` as SupplierName,
SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice , SUM(b.Final_Price) as Final_Price,SUM(b.FreightMoney) as FreightMoney,SUM(b.Final_Price+b.FreightMoney) as AllPrice ,
SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight, SUM(IFNULL(b.CostMoney,0)*b.Number) as CostMoney,0 as PackingMoney, 0 as CostFreight,0 as GoodsFreight,
0 as OtherPrice,e.FXCommission,f.RemitFXCommission,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid 0 as OtherPrice,b.LiveCommission,b.LiveFinanceIds,b.LivePeopleNum,0 as Paid
from rb_goods_orderdetail as b from rb_goods_orderdetail as b
LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId LEFT JOIN rb_goods_order as A on a.OrderId=b.OrderId
LEFT JOIN rb_supplier as f on f.ID=b.SupplierId LEFT JOIN rb_supplier as f on f.ID=b.SupplierId
LEFT JOIN (SELECT SUM(Commission) as FXCommission,OrderDetailId from All_Commission GROUP BY OrderDetailId ) as e on b.Id=e.OrderDetailId
LEFT JOIN (SELECT SUM(Commission) as RemitFXCommission,OrderDetailId from All_Commission where IsRemit=1 GROUP BY OrderDetailId ) as f on b.Id=f.OrderDetailId
left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where} left join rb_goods_orderaftersale oa on b.ID= oa.OrderDetialId and oa.Type=1 and oa.Status=0 and oa.ReOrderStatus in (2,3,4,5) {where}
GROUP BY b.Id "; GROUP BY b.Id ";
return Get<OrderStatistics_Query>(sql).ToList(); return Get<OrderStatistics_Query>(sql).ToList();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment