From 81ac184ee7fcf0a93eee4d2026edc91f3f3c0070 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 28 十二月 2022 10:07:57 +0800
Subject: [PATCH] 意向客户的电话次数,展示

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

diff --git a/zhengcaioa/Services/IntentionCustomerService.cs b/zhengcaioa/Services/IntentionCustomerService.cs
index 22e37f2..8a8d309 100644
--- a/zhengcaioa/Services/IntentionCustomerService.cs
+++ b/zhengcaioa/Services/IntentionCustomerService.cs
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Text;
 using AutoMapper;
+using CommonToolsCore;
 using DTO;
 using IServices;
 using Microsoft.AspNetCore.Mvc.Rendering;
@@ -97,11 +98,23 @@
 
                     updateproject.Weixin = intentionCustomer.Weixin;
                     updateproject.Shifoutianjiaweixin = intentionCustomer.Shifoutianjiaweixin;
+                    updateproject.Weixiner = intentionCustomer.Weixiner;
+                    updateproject.Weixintime = intentionCustomer.Weixintime;
 
+                    if (!string.IsNullOrEmpty(intentionCustomer.HuiyuanId))
+                    {
+                        updateproject.HuiyuanId = intentionCustomer.HuiyuanId;
+                    }
                 }
 
             _context.SaveChanges();
-            resultEntity.ReturnID = intentionCustomer.Id;
+
+                var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A").ToList();
+
+              var  intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+                CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs);
+
+                resultEntity.ReturnID = intentionCustomer.Id;
             resultEntity.Result = true;
         }
         catch (Exception ex)
@@ -193,6 +206,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
@@ -214,7 +234,17 @@
                      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())
@@ -230,7 +260,10 @@
                                 
                                     && (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) ))
-                                       && (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || (searchEntity.Shifouweixin == "A" && a.Weixin != null) || (searchEntity.Shifouweixin != "A" && a.Weixin == null))
+                                       && (aaaa <= 0 || lll.Visittimes >= aaaa)
+
+                                      
+                                      //&& (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
                          select new IntentionCustomerDTO
                      {
                          Id = a.Id,
@@ -273,10 +306,13 @@
                          Remark = a.Remark,
                          Weixin = a.Weixin,
                          Shifoutianjiaweixin = a.Shifoutianjiaweixin,
+                         Weixiner = a.Weixiner,
+                         Weixintime = a.Weixintime,
                          RecStatus = a.RecStatus,
                          Modifier = a.Modifier,
                          Modifytime = a.Modifytime,
                          CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
+                         Customertype = "妗f瀹㈡埛",
                                  Yixiangtime = a.Yixiangtime,
                                  YixiangtimeName = a.Yixiangtime.HasValue? a.Yixiangtime.Value.ToString("yyyy-MM-dd"):"",
                                  Yixiang = a.Yixiang,
@@ -284,15 +320,52 @@
                                  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());
+            }
+            if (!string.IsNullOrWhiteSpace(searchEntity.ShifouDianhua))
+            {
+                if (searchEntity.ShifouDianhua != "A")
+                {
+                    query = query.Where(a => a.Tel == null ||  a.Tel == "");
+                }
+                else
+                {
+                    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;
     }
 
@@ -329,9 +402,16 @@
         /// <returns></returns>
         public List<IntentionCustomerDTO> GetList()
         {
-
+            List<IntentionCustomerDTO> intentionCustomerDTOs = (List<IntentionCustomerDTO>)CacheHelperNetCore.CacheValue("intentionCustomerDTOs");
+            if (intentionCustomerDTOs != null && intentionCustomerDTOs.Count > 0)
+            {
+                return intentionCustomerDTOs;
+            }
 
             var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A").ToList();
+
+            intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+            CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs);
 
             var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
             return list;
@@ -367,5 +447,26 @@
             var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
             return list;
         }
+
+        public List<IntentionCustomerDTO> GetListsalaryweixin(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Weixiner == userid && r.Weixintime >= datemin && r.Weixintime < datemax).ToList();
+
+            var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+            return list;
+        }
+
+        public List<IntentionCustomerDTO> GetListsalaryyixiang(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Dianxiaozhuanyuan == userid && r.Yixiangtime >= datemin && r.Yixiangtime < datemax).ToList();
+
+            var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+            return list;
+        }
+
     }
 }

--
Gitblit v1.9.1