stringwhere=$" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0 and o.OrderStatus=2";
stringwhere="";
if(dmodel.IsOut==0)
{
where=$" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0 and o.OrderStatus =2";
}
else
{
where=$" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0 and o.OrderStatus in(2,3,4,5,6)";
}
stringchildreWhere="";
stringoutWhere="";
if(dmodel.TenantId>0)
...
...
@@ -555,8 +574,16 @@ where {where} order by o.CreateDate desc";
where+=$@" and od.{nameof(RB_Goods_OrderDetail.ProductCode)} like '%{dmodel.ProductCode}%'";
}
where+=$" and od.Id not in (SELECT OrderDetailId from rb_goods_expressrelevance where 1=1 {childreWhere})";
where+=@$" AND od.Id NOT IN (SELECT OrderGoodsId FROM {Config.PropertyDB}.rb_warehouseout_goods AS g LEFT JOIN {Config.PropertyDB}.rb_warehouseout_apply AS ap ON g.applyId = ap.id WHERE ap.ApplyStatus in (1,2) {outWhere} )";
if(dmodel.IsOut==0)
{
where+=$" and od.Id not in (SELECT OrderDetailId from rb_goods_expressrelevance where 1=1 {childreWhere})";
where+=@$" AND od.Id NOT IN (SELECT OrderGoodsId FROM {Config.PropertyDB}.rb_warehouseout_goods AS g LEFT JOIN {Config.PropertyDB}.rb_warehouseout_apply AS ap ON g.applyId = ap.id WHERE ap.ApplyStatus in (1,2) {outWhere} )";
}
elseif(dmodel.IsOut==1)
{
where+=$" and( od.Id in (SELECT OrderDetailId from rb_goods_expressrelevance where 1=1 {childreWhere})";
where+=@$" or od.Id IN (SELECT OrderGoodsId FROM {Config.PropertyDB}.rb_warehouseout_goods AS g LEFT JOIN {Config.PropertyDB}.rb_warehouseout_apply AS ap ON g.applyId = ap.id WHERE ap.ApplyStatus in (1,2) {outWhere} ))";
}
stringsql=$@"SELECT od.*,o.OrderNo FROM rb_goods_orderdetail od
INNER JOIN rb_goods_order o on o.OrderId=od.OrderId
stringwhere=$" where 1=1 and a.OrderStatus in(2,3,4,6,5)";
stringwhere="where 1=1 and (a.OrderStatus in(2,3,4,5,6) or (a.OrderStatus=7 and a.PaymentTime is not NULL and a.CancelTime is not NULL and DATE_FORMAT(a.PaymentTime,'%Y-%m-%d' )<DATE_FORMAT(a.CancelTime,'%Y-%m-%d' ) ) ) ";
// string where = $" where 1=1 and (a.OrderStatus in(2,3,4,6,5) or( a.{nameof(RB_Goods_Order.OrderStatus)}=7 and a.{nameof(RB_Goods_Order.PaymentTime)} is not NULL))";
//string payMemerNumWhere = $" and (OrderStatus in(2,3,4,6,5) or( {nameof(RB_Goods_Order.OrderStatus)}=7 and {nameof(RB_Goods_Order.PaymentTime)} is not NULL)) ";
stringpayMemerNumWhere=" and (OrderStatus in(2,3,4,5,6) or (OrderStatus=7 and PaymentTime is not NULL and CancelTime is not NULL and DATE_FORMAT(PaymentTime,'%Y-%m-%d' )<DATE_FORMAT(CancelTime,'%Y-%m-%d' ) ) ) ";
stringorderTypeWhere="";
stringsql="";
if(dmodel.TenantId>0)
{
where+=$@" and a.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
}
if(dmodel.MallBaseId>0)
{
where+=$@" and a.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
}
if(dmodel.PlatformType>0)
{
where+=$@" and a.{nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.OrderSource)}={(int)dmodel.PlatformType}";
}
if(dmodel.OrderType>0)
{
...
...
@@ -859,13 +866,27 @@ SELECT 0 as Total,0 as MemberNum, 0 as GoodsNum,0 as OrderNum,
if(!string.IsNullOrWhiteSpace(dmodel.StartDate))
{
where+=$" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
payMemerNumWhere+=$" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
if(!string.IsNullOrWhiteSpace(dmodel.EndDate))
{
where+=$" AND DATE_FORMAT(a.{nameof(RB_Goods_Order.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
payMemerNumWhere+=$" AND DATE_FORMAT({nameof(RB_Goods_OrderAfterSale.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
}
stringsql=$@" select a.*,b.GoodsTotalNum from rb_goods_order as a LEFT JOIN (SELECT OrderId,COUNT(*) as GoodsTotalNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b
(SELECT COUNT(DISTINCT UserId) from rb_goods_order where 1=1 {payMemerNumWhere} ) as TotalPayMemerNum,
COUNT(DISTINCT t.UserId) as PayMemerNum,GROUP_CONCAT(DISTINCT t.UserId) as UserIds
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsTotalNum,a.UserId,a.Income,a.OrderId from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsTotalNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId
{where} )
as t GROUP BY t.CreateDate desc";
// sql = $@"SELECT t.CreateDate,SUM(t.GoodsTotalNum)as GoodsTotalNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as Income,MAX(t.PayMemerNum) as PayMemerNum,GROUP_CONCAT(DISTINCT t.UserId) as UserIds
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsTotalNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum from rb_goods_order as a
// LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsTotalNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId
//LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1 {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
//as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} )
//as t GROUP BY t.CreateDate desc";
returnGet<RB_Goods_Order_Extend>(sql).ToList();
}
...
...
@@ -968,8 +989,8 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
}
if(dmodel.OrderStatus==1||dmodel.OrderStatus==0)
{
where+=$@" and a.{nameof(RB_Goods_Order.OrderStatus)} in (2,4,3,5,6)";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.OrderStatus)} in (2,4,5,3,6)";
where+=$" and (a.OrderStatus in(2,3,4,5,6) or (a.OrderStatus=7 and a.PaymentTime is not NULL and a.CancelTime is not NULL and DATE_FORMAT(a.PaymentTime,'%Y-%m-%d' )<DATE_FORMAT(a.CancelTime,'%Y-%m-%d' ) ) )";
payMemerNumWhere=$"and (OrderStatus in(2,3,4,5,6) or (OrderStatus=7 and PaymentTime is not NULL and CancelTime is not NULL and DATE_FORMAT(PaymentTime,'%Y-%m-%d' )<DATE_FORMAT(CancelTime,'%Y-%m-%d' ) ) ) ";
}
elseif(dmodel.OrderStatus==2)
{
...
...
@@ -978,8 +999,8 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
}
elseif(dmodel.OrderStatus==3)
{
where+=$@" and a.{nameof(RB_Goods_Order.OrderStatus)}=7";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.OrderStatus)}=7";
where+=$@" and a.{nameof(RB_Goods_Order.OrderStatus)}=7 and a.{nameof(RB_Goods_Order.PaymentTime)} is not NULL";
payMemerNumWhere+=$@" and {nameof(RB_Goods_Order.OrderStatus)}=7 and a.{nameof(RB_Goods_Order.PaymentTime)} is not NULL";
}
elseif(dmodel.OrderStatus==4)//后面做因为现在还没有售后表
{
...
...
@@ -1003,25 +1024,17 @@ LEFT JOIN rb_member_user as c on b.UserId=c.Id
// sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum,MAX(t.RepurchaseNum) as RepurchaseNum
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum,d.RepurchaseNum from rb_goods_order as a
// sql = $@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum,GROUP_CONCAT(DISTINCT t.UserId) as UserIds
//from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum from rb_goods_order as a
// LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId
//LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1 {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
//as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )
//LEFT JOIN (SELECT temp.CreateDate,COUNT(UserId) as RepurchaseNum from (SELECT UserId,COUNT(DISTINCT UserId) as RepurchaseNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1
//{payMemerNumWhere} GROUP BY UserId,DATE_FORMAT(CreateDate,'%Y-%m-%d' ) having count(UserId) > 1) as temp GROUP BY temp.CreateDate
//)
//as d on d.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )
//{where} )
//as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} )
//as t GROUP BY t.CreateDate desc";
sql=$@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,MAX(t.PayMemerNum) as PayMemerNum,GROUP_CONCAT(DISTINCT t.UserId) as UserIds
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId,c.PayMemerNum from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId
LEFT JOIN (SELECT COUNT(DISTINCT UserId) as PayMemerNum, DATE_FORMAT(CreateDate,'%Y-%m-%d' ) as CreateDate from rb_goods_order where 1=1 {payMemerNumWhere} GROUP BY DATE_FORMAT(CreateDate,'%Y-%m-%d' ))
as c on c.CreateDate=DATE_FORMAT(a.CreateDate,'%Y-%m-%d' ) {where} )
sql=$@"SELECT t.CreateDate,SUM(t.GoodsNum)as GoodsNum ,COUNT(t.OrderId)as OrderNum ,SUM(t.Income)as PayMoney,COUNT(DISTINCT t.UserId) as PayMemerNum,GROUP_CONCAT(DISTINCT t.UserId) as UserIds
from (SELECT DATE_FORMAT(a.CreateDate,'%Y-%m-%d' )as CreateDate,b.GoodsNum,a.UserId,a.Income,a.OrderId from rb_goods_order as a
LEFT JOIN (SELECT OrderId,SUM(Number)as GoodsNum from rb_goods_orderdetail where 1=1 {orderTypeWhere} GROUP BY OrderId)as b on a.OrderId=b.OrderId {where} )