From d9666ecd3599c458ddd714dafe96f28bfba93cac Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 04 十一月 2025 08:45:40 +0800
Subject: [PATCH] 绩效查询    未完结的客户数量有问题,查找问题

---
 CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs b/CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
index 7399928..7ddd3d8 100644
--- a/CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
+++ b/CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
@@ -1734,26 +1734,26 @@
 
             string fromSouce = "(  ";
 
-              fromSouce += "   select os.DepartmentId,os.[Name] as BusinessManager ,os.[Keyid] as BusinessManagerId, os.FirmId,gendan.gendanshuliang,xinzeng.xinzengshuliang,wanjie.wanjieshuliang,xiadan.xiadanshuliang,ob.shuliang,ob.SumPrice,ob.PayedMoney,eob.kaipiaojine,huifang.huifangshuliang ,'"+ chaxuntime + "' as chaxuntime ";
+              fromSouce += "   select os.DepartmentId,os.[Name] as BusinessManager ,os.[Keyid] as BusinessManagerId, os.FirmId,gendan.gendanshuliang,xinzeng.xinzengshuliang,wanjie.wanjieshuliang,xiadan.xiadanshuliang,ob.shuliang,ob.SumPrice,ob.PayedMoney,eob.kaipiaojine,huifang.huifangshuliang ,'"+ chaxuntime + "' as chaxuntime,ob.OrAllUnPayedMoney ";
             fromSouce += "  from [OA_Staff] os    ";
             fromSouce += "  left join  (  select  COUNT(*) gendanshuliang ,oc.BusinessManagerId from OA_CorporateClients oc   where ( oc.Shifouwanjie is null or oc.Shifouwanjie=2  ) and     DATEDIFF(MONTH,oc.CreateTime,'" + chaxuntime + "') >=0   group by oc.BusinessManagerId   ) gendan on gendan.BusinessManagerId = os.Keyid  ";
             fromSouce += "    left join  (  select  COUNT(*) xinzengshuliang ,oc.BusinessManagerId from OA_CorporateClients oc where  DATEDIFF(MONTH,oc.CreateTime,'"+ chaxuntime + "') =0 group by oc.BusinessManagerId   ) xinzeng on xinzeng.BusinessManagerId = os.Keyid ";
             fromSouce += "    left join  (  select  COUNT(*) wanjieshuliang ,oc.BusinessManagerId from OA_CorporateClients oc where  oc.Shifouwanjie=1 and   DATEDIFF(MONTH,oc.[LastUpdateTime],'" + chaxuntime + "') =0  group by oc.BusinessManagerId   ) wanjie on wanjie.BusinessManagerId = os.Keyid  ";
             fromSouce += "   left join  (  select COUNT( distinct oc.Keyid)  xiadanshuliang ,oc.BusinessManagerId from OA_CorporateClients oc  Inner Join EC_OrderBasic ob On oc.Keyid=ob.[BuyerId]  where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   group by oc.BusinessManagerId   ) xiadan on xiadan.BusinessManagerId = os.Keyid  ";
             fromSouce += "   left join ( select  COUNT(*)  huifangshuliang,occ.Creater as BusinessManagerId  from  OA_CorporateClientsVisit occ   where DATEDIFF(MONTH,occ.[VisitTime],'" + chaxuntime + "') =0  group by occ.Creater  ) huifang on huifang.BusinessManagerId = os.MemberId ";
-            fromSouce += "  left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang  ";
+            fromSouce += "  left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang  ,SUM( Case When ( (ob.SumPrice-ts.PayedMoney) <=0 or ob.PayState =-1) then 0 else (ob.SumPrice-ts.PayedMoney) end) OrAllUnPayedMoney  ";
             fromSouce += "  from EC_OrderBasic ob   ";
             fromSouce += "  Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid)   ";
             fromSouce += "  Inner Join Pay_TradingSingle as ts On(ob.Keyid = ts.OrderId)  ";
             fromSouce += "  Inner Join OA_CorporateClients as oc On(ob.BuyerId = oc.Keyid)  ";
-            fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid    where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   ";
+            fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid    where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0  and ob.OrderState !=0 and ob.OrderState !=-2   and  ob.[SumPrice] >0 ";
             fromSouce += "  group by  oc.BusinessManagerId ) ob  on os.Keyid = ob.BusinessManagerId  ";
             fromSouce += " left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) kaipiaojine    ";
             fromSouce += "  from EC_OrderBasic ob   ";
             fromSouce += "   Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid)   ";
             fromSouce += "  Inner Join OA_CorporateClients as oc On(ob.BuyerId = oc.Keyid)  ";
             fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid  ";
-            fromSouce += "  left join OA_Kaipiaoshenqing  ks  on ks.Keyid = oe.KaipiaoshenqingId  ";
+            fromSouce += "  left join OA_Kaipiaoshenqing  ks  on ks.Keyid = oe.KaipiaoshenqingId    and ob.OrderState !=0 and ob.OrderState !=-2  ";
             fromSouce += " where ks.Kaipiaoshenqing = 3   and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   ";
             fromSouce += "  group by  oc.BusinessManagerId ) eob  on os.Keyid = eob.BusinessManagerId ";
             fromSouce += "   where os.Status='鍦ㄨ亴'  And IsBusinessManager='true'       " + where;
@@ -1770,27 +1770,28 @@
                 from.Append(" ( ");
                 from.Append("  select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =1 ");
                 from.Append(" inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0  and DATEDIFF(MONTH,ob.CreateTime,'"+ datetimenow + "') > 0  ");
-                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
+                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0 "
+                      ); //oe.KaipiaoshenqingId is null
                 from.Append("  UNION ");
                 from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =2  ");
                 from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and  DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0  and  DATENAME(year, ob.CreateTime) +'绗�'+DATENAME(quarter,  ob.CreateTime) <DATENAME(year, '"+ datetimenow + "') +'绗�'+DATENAME(quarter,  '"+ datetimenow + "') ");
-                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
+                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                 from.Append(" UNION  ");
                 from.Append("  select  ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =3 ");
                 from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and  DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATENAME(year, ob.CreateTime) +'绗�'+CONVERT(varchar,(month(ob.CreateTime)+5)/6)+'鍗婂勾'<DATENAME(year,'"+ datetimenow + "') +'绗�'+CONVERT(varchar,(month('"+ datetimenow + "')+5)/6)+'鍗婂勾' ");
-                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
+                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                 from.Append("  UNION ");
                 from.Append("  select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =4 ");
                 from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATENAME(year, ob.CreateTime)+'骞�' <DATENAME(year, '"+ datetimenow + "')+'骞�'  ");
-                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
+                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                 from.Append("  UNION ");
                 from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =6 and oc.Shifouwanjie=1  ");
                 from.Append(" inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   ");
-                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
+                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                 from.Append("  UNION ");
                 from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =7  ");
                 from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATEDIFF(day,ob.CreateTime,GETDATE()) > oc.Paydays ");
-                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
+                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                 from.Append("  UNION ");
                 from.Append(" select   ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =5  ");
                 from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and ");
@@ -1800,7 +1801,7 @@
                 from.Append("   case when DATEDIFF(day,'"+ datetimenow + "',DATENAME(year, '"+ datetimenow + "')+'-03-01')>0    then CONVERT(varchar,YEAR('"+ datetimenow + "')-1)+'鑷�'+CONVERT(varchar,YEAR('"+ datetimenow + "'))+ '1瀛︽湡'  ");
                 from.Append("    when DATEDIFF(day,'"+ datetimenow + "',DATENAME(year, '"+ datetimenow + "')+'-09-01')<=0    then CONVERT(varchar,YEAR('"+ datetimenow + "'))+'鑷�'+CONVERT(varchar,YEAR('"+ datetimenow + "')+1)+ '1瀛︽湡'  ");
                 from.Append("   else CONVERT(varchar,YEAR('"+ datetimenow + "')-1)+'鑷�'+CONVERT(varchar,YEAR('"+ datetimenow + "'))+'2瀛︽湡' end  ");
-                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
+                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
 
 
                 from.Append(" ) as t ");
@@ -1808,6 +1809,15 @@
 
                 var eC_OrderBasics = _dataBase.SelectModel<Model.EC_OrderBasic>(" t.* ", from.ToString());
                 oA_DeliverPlan.fapiaoshuliang = eC_OrderBasics.Count;
+                foreach(var eC_OrderBasic in eC_OrderBasics)
+                {
+                    oA_DeliverPlan.fapiaoshuliangName += eC_OrderBasic.Keyid + ",";
+                }
+                if (!string.IsNullOrEmpty(oA_DeliverPlan.fapiaoshuliangName))
+                {
+                    oA_DeliverPlan.fapiaoshuliangName = oA_DeliverPlan.fapiaoshuliangName.Trim(',');
+                }
+                
             }
 
             return null == result ? null : result;//杩斿洖缁撴灉

--
Gitblit v1.9.1