From 5421f9a6e5e2b28cc32aa8aa6dec9becd0c1eb3c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 04 一月 2023 10:19:57 +0800
Subject: [PATCH] 业务经理意向和合作客户只能1000,90天意向不转合作就制空业务经理,查询没有业务经理的档案客户和合作客户

---
 zhengcaioa/Services/IntentionCustomerService.cs |  110 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 98 insertions(+), 12 deletions(-)

diff --git a/zhengcaioa/Services/IntentionCustomerService.cs b/zhengcaioa/Services/IntentionCustomerService.cs
index 540eeb7..8371d13 100644
--- a/zhengcaioa/Services/IntentionCustomerService.cs
+++ b/zhengcaioa/Services/IntentionCustomerService.cs
@@ -49,12 +49,43 @@
 
             if (String.IsNullOrEmpty(intentionCustomer.Id))
             {
+                    if (!string.IsNullOrEmpty(intentionCustomer.Ywjl))
+                    {
+                        intentionCustomer.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+                        if(Cooper+ Inten >= 1000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�";
+                            return resultEntity;
+                        }
+                    }
+
                     intentionCustomer.Id = Guid.NewGuid().ToString();
                 _context.IntentionCustomers.Add(intentionCustomer);
             }
             else
             {
-                var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id);
+                    var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id);
+                    if (!string.IsNullOrEmpty(intentionCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && intentionCustomer.Ywjl!= updateproject.Ywjl ))
+                    {
+                        updateproject.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+                        if (Cooper + Inten >= 1000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�";
+                            return resultEntity;
+                        }
+                    }
+
+                    if (string.IsNullOrEmpty(intentionCustomer.Ywjl)){
+                        updateproject.Ywjltime = null;
+                    }
+
+
 
                 updateproject.Sheng = intentionCustomer.Sheng;
                 updateproject.City = intentionCustomer.City;
@@ -206,6 +237,13 @@
                // Yixiangtimeend = Yixiangtimeend.AddDays(1);
             }
 
+            int aaaa = 0;
+            if (!string.IsNullOrWhiteSpace(searchEntity.Visittimes))
+            {
+                int.TryParse(searchEntity.Visittimes, out aaaa);    
+            }
+
+
             var query = (from a in _context.IntentionCustomers
                      join b in listCode.Where(x => x.CodeTable == "IntentionCustomer" && x.CodeField == "khly")
                      on a.Khly equals b.CodeSn
@@ -227,13 +265,23 @@
                      join g in _context.Areas on a.City equals g.CodeId
                      join h in _context.Areas on a.AreaId equals h.CodeId
 
-                     where a.RecStatus == "A"
+
+                         join l in _context.IntentionVisits.Where(x => x.RecStatus == "A").GroupBy(q => new { q.Viscustomer }).Select(q => new
+                         {
+                             Viscustomer = q.Key.Viscustomer,
+                             Visittimes = q.Count(),
+                         })
+                           on a.Id equals l.Viscustomer
+                         into lsss
+                         from lll in lsss.DefaultIfEmpty()
+
+                         where a.RecStatus == "A"
                       && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend))
                      && (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim()))
                       && (string.IsNullOrWhiteSpace(searchEntity.Khly) || a.Khly == searchEntity.Khly.Trim())
                        && (string.IsNullOrWhiteSpace(searchEntity.Hyfl) || a.Hyfl == searchEntity.Hyfl.Trim())
                         && (string.IsNullOrWhiteSpace(searchEntity.Khlx) || a.Khlx == searchEntity.Khlx.Trim())
-                         && (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
+                         //&& (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
                           && (string.IsNullOrWhiteSpace(searchEntity.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
                            && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
                             && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim())
@@ -243,6 +291,9 @@
                                 
                                     && (string.IsNullOrWhiteSpace(searchEntity.Yixiangtime) || (a.Yixiangtime >= Yixiangtimestart && a.Yixiangtime <= Yixiangtimeend))
                                       && (string.IsNullOrWhiteSpace(searchEntity.Yixiang) || ( a.Yixiang == searchEntity.Yixiang.Trim() && (a.Ywjl == null || a.Ywjl == searchEntity.YwjlYx) ))
+                                       && (aaaa <= 0 || lll.Visittimes >= aaaa)
+
+                                      
                                       //&& (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
                          select new IntentionCustomerDTO
                      {
@@ -300,31 +351,66 @@
                                  DianxiaozhuanyuanName = fff.UserName,
                                  Zuijinzhuizongtime = a.Zuijinzhuizongtime,
                                  ZuijinzhuizongtimeName = a.Zuijinzhuizongtime.HasValue ? a.Zuijinzhuizongtime.Value.ToString("yyyy-MM-dd") : "",
-                             }
-                    ).OrderByDescending(x => x.Modifytime).ToList();
+                             Visittimes = lll.Visittimes,
+                         }
+                    );
 
             if (!string.IsNullOrWhiteSpace(searchEntity.Shifouweixin))
             {
-                query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim()).ToList();
+                query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim());
             }
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.Ywjl))
+            {
+                if(searchEntity.Ywjl != "11111")
+                {
+                    query = query.Where(a => a.Ywjl == searchEntity.Ywjl.Trim());
+                }else
+                {
+                    query = query.Where(a => a.Ywjl == null   );
+                }
+
+              
+            }
+
             if (!string.IsNullOrWhiteSpace(searchEntity.ShifouDianhua))
             {
                 if (searchEntity.ShifouDianhua != "A")
                 {
-                    query = query.Where(a => a.Tel == null ||  a.Tel == "").ToList();
+                    query = query.Where(a => a.Tel == null ||  a.Tel == "");
                 }
                 else
                 {
-                    query = query.Where(a => a.Tel != null && a.Tel != "").ToList();
+                    query = query.Where(a => a.Tel != null && a.Tel != "");
                 }
                 
             }
-            
+            if (!string.IsNullOrWhiteSpace(searchEntity.Visittimes))
+            {
+                if (searchEntity.ShifouDianhua != "A")
+                {
+                    query = query.Where(a => a.Tel == null || a.Tel == "");
+                }
+                else
+                {
+                    query = query.Where(a => a.Tel != null && a.Tel != "");
+                }
 
-        //if (searchEntity.totalrows == 0)
+            }
+             
+
+            //if (searchEntity.totalrows == 0)
             searchEntity.totalrows = query.Count();
-        var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
-        data.LoadData(searchEntity, lianlist);
+        var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+
+
+            //foreach (var intentionCustomerDTO in lianlist)
+            //{
+            //    intentionCustomerDTO.Visittimes = _context.IntentionVisits.Count(x => x.RecStatus == "A" && x.Viscustomer == intentionCustomerDTO.Id);
+            //}
+
+
+            data.LoadData(searchEntity, lianlist);
         return data;
     }
 

--
Gitblit v1.9.1