From 69e9ce6ae24fce670fb8d7af0e1f132e2e009dbc Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 12 七月 2023 13:44:21 +0800
Subject: [PATCH] 提交

---
 zhengcaioa/Services/CooperatecustomCustomerService.cs | 1078 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 1,055 insertions(+), 23 deletions(-)

diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs
index fa900d8..4096d52 100644
--- a/zhengcaioa/Services/CooperatecustomCustomerService.cs
+++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs
@@ -3,7 +3,9 @@
 using System.Linq;
 using System.Text;
 using AutoMapper;
+using CommonToolsCore;
 using DTO;
+using DTO.zcUserInfoN_db;
 using IServices;
 using Microsoft.AspNetCore.Mvc.Rendering;
 using Microsoft.EntityFrameworkCore;
@@ -16,10 +18,12 @@
     {
         private readonly zhengcaioaContext _context;
         private readonly IMapper _mapper;
-        public CooperatecustomCustomerService(zhengcaioaContext context, IMapper mapper)
+        private readonly zcUserInfoN_dbContext _zcUserInfoNcontext;
+        public CooperatecustomCustomerService(zhengcaioaContext context, IMapper mapper, zcUserInfoN_dbContext zcUserInfoNcontext)
         {
             _context = context;
             _mapper = mapper;
+            _zcUserInfoNcontext = zcUserInfoNcontext;
         }
 
         public ResultEntity save(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
@@ -52,12 +56,44 @@
 
                 if (String.IsNullOrEmpty(cooperatecustomCustomer.Id))
                 {
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+                    {
+                        cooperatecustomCustomer.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        if (Cooper + Inten > 2000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+                            return resultEntity;
+                        }
+                    }
+
                     cooperatecustomCustomer.Id = Guid.NewGuid().ToString();
+                    cooperatecustomCustomerDTO.Id = cooperatecustomCustomer.Id;
                     _context.CooperatecustomCustomers.Add(cooperatecustomCustomer);
                 }
                 else
                 {
                     var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
+
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && cooperatecustomCustomer.Ywjl != updateproject.Ywjl))
+                    {
+                        updateproject.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        if (Cooper + Inten >= 2000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+                            return resultEntity;
+                        }
+                    }
+                    if (string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+                    {
+                        updateproject.Ywjltime = DateTime.Now;
+                    }
+
 
                     updateproject.Sheng = cooperatecustomCustomer.Sheng;
                     updateproject.City = cooperatecustomCustomer.City;
@@ -93,8 +129,54 @@
                     updateproject.RecStatus = cooperatecustomCustomer.RecStatus;
                     updateproject.Modifier = cooperatecustomCustomer.Modifier;
                     updateproject.Modifytime = cooperatecustomCustomer.Modifytime;
-
+                    updateproject.Weixin = cooperatecustomCustomer.Weixin;
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomer.HuiyuanId))
+                    {
+                        updateproject.HuiyuanId = cooperatecustomCustomer.HuiyuanId;
+                    }  
+                    updateproject.Shifoutianjiaweixin = cooperatecustomCustomer.Shifoutianjiaweixin;
+                    updateproject.Weixintime = cooperatecustomCustomer.Weixintime;
+                    updateproject.Weixiner = cooperatecustomCustomer.Weixiner;
+                    updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
+                    updateproject.Taocanjianshu = cooperatecustomCustomer.Taocanjianshu;
                 }
+
+                _context.SaveChanges();
+
+                var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A").ToList();
+
+                CacheHelperNetCore.CacheNull("CooperatecustomCustomerDTOs");
+                resultEntity.ReturnID = cooperatecustomCustomer.Id;
+                resultEntity.Result = true;
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+
+            }
+            return resultEntity;
+        }
+
+
+        public ResultEntity saveyufukuan(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                
+
+                var cooperatecustomCustomer = _mapper.Map<CooperatecustomCustomer>(cooperatecustomCustomerDTO);
+
+
+                
+                    var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
+
+                     
+                    updateproject.Yufukuan = cooperatecustomCustomer.Yufukuan;
+                    updateproject.Shenyushouxin = cooperatecustomCustomer.Shenyushouxin;
+                    updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
+                 
 
                 _context.SaveChanges();
                 resultEntity.ReturnID = cooperatecustomCustomer.Id;
@@ -113,7 +195,7 @@
         {
 
             var entity = _context.CooperatecustomCustomers.Find(id);
-            if(entity.RecStatus != "A")
+            if(entity == null || entity.RecStatus != "A")
             {
                 entity = new CooperatecustomCustomer();
             }
@@ -164,32 +246,59 @@
                 DateTime.TryParse(Createtimes[1], out Createtimeend);
                 Createtimeend = Createtimeend.AddDays(1);
             }
-           
+
 
             var query = (from a in _context.CooperatecustomCustomers
                          join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly")
                          on a.Khly equals b.CodeSn
+                         into bsss
+                         from bbb in bsss.DefaultIfEmpty()
+
                          join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl")
                          on a.Hyfl equals c.CodeSn
+                          into csss
+                         from ccc in csss.DefaultIfEmpty()
+
                          join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx")
                         on a.Khlx equals d.CodeSn
+                         into dsss
+                         from ddd in dsss.DefaultIfEmpty()
+
+
                          join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A")
                          on a.Ywjl equals e.Id
                          into esss
                          from abi in esss.DefaultIfEmpty()
-                         join i in _context.CooperOrders.Where(x => x.RecStatus == "A" &&  x.ChedanStatus !="A" ).GroupBy(q => new { q.Khdw }).Select(q => new
+
+
+                         join i in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ChedanStatus != "A").GroupBy(q => new { q.Khdw }).Select(q => new
                          {
                              Khdw = q.Key.Khdw,
                              Moneycount = q.Sum(i => i.Money),
                              Ordercount = q.Count(),
-                         }   
+                         }
                          )
                          on a.Id equals i.Khdw
                          into isss
                          from iii in isss.DefaultIfEmpty()
+
+
+
                          join f in _context.Areas on a.Sheng equals f.CodeId
+                            into fsss
+                         from fff in fsss.DefaultIfEmpty()
+
+
                          join g in _context.Areas on a.City equals g.CodeId
+                            into gsss
+                         from ggg in gsss.DefaultIfEmpty()
+
+
                          join h in _context.Areas on a.AreaId equals h.CodeId
+                            into hsss
+                         from hhh in hsss.DefaultIfEmpty()
+
+
 
                          where a.RecStatus == "A"
                           && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend))
@@ -197,10 +306,12 @@
                           && (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())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
 
                          select new CooperatecustomCustomerDTO
                          {
@@ -212,12 +323,12 @@
                              Hyfl = a.Hyfl,
                              Khlx = a.Khlx,
                              Ywjl = a.Ywjl,
-                             ShengName = f.Name + "-" + g.Name+ "-" + h.Name,
-                             CityName = g.Name,
-                             AreaIdName = h.Name,
-                             KhlyName = b.Comments,
-                             HyflName = c.Comments,
-                             KhlxName = d.Comments,
+                             ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name,
+                             CityName = ggg.Name,
+                             AreaIdName = hhh.Name,
+                             KhlyName = bbb.Comments,
+                             HyflName = ccc.Comments,
+                             KhlxName = ddd.Comments,
                              YwjlName = abi.UserName,
                              Name = a.Name,
                              Postal = a.Postal,
@@ -226,6 +337,7 @@
                              Tel = a.Tel,
                              Ordercount = iii.Ordercount.ToString(),
                              Moneycount = iii.Moneycount.ToString(),
+                             Moneycountde = iii.Moneycount,
                              Phone = a.Phone,
                              Qq = a.Qq,
                              Email = a.Email,
@@ -248,14 +360,118 @@
                              Modifier = a.Modifier,
                              Modifytime = a.Modifytime,
                              CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
+                             Weixin = a.Weixin,
+                             Shifoutianjiaweixin = a.Shifoutianjiaweixin,
+                             HuiyuanId = a.HuiyuanId,
+                             Weixiner = a.Weixiner,
+                             Weixintime = a.Weixintime,
+                             Yufukuan = a.Yufukuan ?? 0,
+                             Shouxinedu = a.Shouxinedu ?? 0,
+                             Shenyushouxin = a.Shenyushouxin ?? 0,
+                             YufukuanName = a.Yufukuan.HasValue ? a.Yufukuan.Value.ToString("f2") : "",
+                             ShouxineduName = a.Shouxinedu.HasValue ? a.Shouxinedu.Value.ToString("f2") : "",
+                             ShenyushouxinName = a.Shenyushouxin.HasValue ? a.Shenyushouxin.Value.ToString("f2") : "",
+                             Taocanjianshu = a.Taocanjianshu ?? 0,
+                             Customertype = "鍚堜綔瀹㈡埛",
+                             Kuaidistatus = a.Kuaidistatus,
+                             Kuaiditime = a.Kuaiditime,
                          }
-                        ).OrderByDescending(x => x.Modifytime).ToList();
+                        );
+
+            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 (searchEntity.totalrows == 0)
-                searchEntity.totalrows = query.Count();
-            var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+            if (!string.IsNullOrWhiteSpace(searchEntity.Kuaidistatus))
+            {
+                if (searchEntity.Kuaidistatus == "A")
+                {
+                    query = query.Where(a => a.Kuaidistatus == searchEntity.Kuaidistatus.Trim());
+                }
+                else
+                {
+                    query = query.Where(a => a.Kuaidistatus == searchEntity.Kuaidistatus.Trim() || a.Kuaidistatus == null);
+                }
+
+            }
+
+            //if (searchEntity.totalrows == 0)
+            searchEntity.totalrows = query.Count();
+            data.Heji1 = Math.Round(query.Sum(x => x.Yufukuan) ?? 0, 2);
+            data.Heji2 = Math.Round(query.Sum(x => x.Shouxinedu) ?? 0, 2);
+            data.Heji3 = Math.Round(query.Sum(x => x.Shenyushouxin) ?? 0, 2);
+            data.Heji4 = Math.Round(query.Sum(x => x.Moneycountde) ?? 0, 2);
+            var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+            data.DangyeHeji1 = Math.Round(lianlist.Sum(x => x.Yufukuan) ?? 0, 2);
+            data.DangyeHeji2 = Math.Round(lianlist.Sum(x => x.Shouxinedu) ?? 0, 2);
+            data.DangyeHeji3 = Math.Round(lianlist.Sum(x => x.Shenyushouxin) ?? 0, 2);
+            data.DangyeHeji4 = Math.Round(lianlist.Sum(x => x.Moneycountde) ?? 0, 2);
+
+            if(lianlist!=null&& lianlist.Count > 0)
+            {
+                var members = _context.FiMembers.ToList();
+                foreach (var cooperatecustomCustomerDTO in lianlist)
+                {
+                    cooperatecustomCustomerDTO.Hezuoyewu = "";
+
+                    var cooperOrders = _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ShouliStatus != "0" && x.OrderType == "05" && x.Khdw == cooperatecustomCustomerDTO.Id).ToList();
+
+                    foreach (var cooperOrder  in cooperOrders)
+                    {
+                      var member =  members.Where(x => x.Id == cooperOrder.OrderType1).FirstOrDefault();
+                        if (member != null)
+                        {
+                            if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf(member.MemberType) < 0)
+                            {
+                                cooperatecustomCustomerDTO.Hezuoyewu += member.MemberType + " | ";
+                            }
+                        }
+                    }
+
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId))
+                    {
+                       var  huiyuanid = new Guid(cooperatecustomCustomerDTO.HuiyuanId);
+
+                        var frameworkRoles = (from a in _zcUserInfoNcontext.OderOfVips
+                                   join b in _zcUserInfoNcontext.FrameworkRoles on a.RoleId equals b.Id
+                                   where a.IsPayEnd == true && a.IsUserDell == false &&  a.UserId == huiyuanid
+                                   select b
+                                 ).ToList();
+
+                        foreach (var frameworkRole in frameworkRoles)
+                        {                          
+                                if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf(frameworkRole.RoleName) < 0)
+                                {
+                                    cooperatecustomCustomerDTO.Hezuoyewu += frameworkRole.RoleName + " | ";
+                                }    
+                        }
+                    }
+
+                   
+
+                    if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf("甯稿勾鏀块噰&娉曞緥椤鹃棶") >=0)
+                    {
+                        cooperatecustomCustomerDTO.Hezuoyewu += "閲囪喘鍏憡鏉冮檺 | ";
+                    }
+
+                    cooperatecustomCustomerDTO.Guanliankehushu = _context.CustomerGuanlians.Count(x => x.CustomerId == cooperatecustomCustomerDTO.Id);
+
+                }
+            }
+
+           
+
+
             data.LoadData(searchEntity, lianlist);
             return data;
         }
@@ -292,14 +508,40 @@
         /// 鑾峰彇鎵�鏈夋湁鏁堝悎浣滃鎴�
         /// </summary>
         /// <returns></returns>
-        public List<CooperatecustomCustomerDTO> GetList()
+        public List<CooperatecustomCustomerDTO> GetList(string HuiyuanId = "", string Name = "")
         {
-
-
+            List<CooperatecustomCustomerDTO> CooperatecustomCustomerDTOs = (List<CooperatecustomCustomerDTO>)CacheHelperNetCore.CacheValue("CooperatecustomCustomerDTOs");
+            if (CooperatecustomCustomerDTOs != null && CooperatecustomCustomerDTOs.Count > 0)
+            {
+                if (!string.IsNullOrEmpty(HuiyuanId))
+                {
+                    CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.HuiyuanId == HuiyuanId).ToList();
+                }
+                if (!string.IsNullOrEmpty(Name))
+                {
+                    CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.Name == Name).ToList();
+                }
+                return CooperatecustomCustomerDTOs;
+            }
             var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A").ToList();
+            CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+            CacheHelperNetCore.CacheInsert("CooperatecustomCustomerDTOs", CooperatecustomCustomerDTOs);
 
-            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
-            return list;
+            if (!string.IsNullOrEmpty(HuiyuanId))
+            {
+                listPosition = listPosition.Where(x => x.HuiyuanId == HuiyuanId).ToList();
+            }
+            if (!string.IsNullOrEmpty(Name))
+            {
+                listPosition = listPosition.Where(x => x.Name == Name).ToList();
+            }
+            CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+            return CooperatecustomCustomerDTOs;
+
+
+
+
+
         }
 
         public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
@@ -317,7 +559,7 @@
 
 
             var listPosition =( from a in _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid)
-                                join b in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Shoulitime >= datemin && x.Shoulitime < datemax)
+                                join b in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Createtime >= datemin && x.Createtime < datemax)
                                 on a.Id equals b.Khdw 
 
                                 select a
@@ -326,5 +568,795 @@
             var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
             return list;
         }
+
+        public List<CooperatecustomCustomerDTO> GetListsalaryweixin(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Weixiner == userid && r.Weixintime >= datemin && r.Weixintime < datemax).ToList();
+
+            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+            return list;
+        }
+
+
+        public ResultEntity saveCustomerGuanlian(CustomerGuanlianDTO DTO)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = false;
+            var customerGuanlian = _mapper.Map<CustomerGuanlian>(DTO);
+
+
+            if (String.IsNullOrEmpty(customerGuanlian.Id))
+            {
+                customerGuanlian.Id = Guid.NewGuid().ToString();
+                DTO.Id = customerGuanlian.Id;
+                _context.CustomerGuanlians.Add(customerGuanlian);
+
+                CustomerGuanlian customerGuanlian1 = new CustomerGuanlian();
+                customerGuanlian1.Id = Guid.NewGuid().ToString();
+                customerGuanlian1.CustomerId = customerGuanlian.SecCustomerId;
+                customerGuanlian1.Customertype = customerGuanlian.SecCustomertype;
+                customerGuanlian1.SecCustomerId = customerGuanlian.CustomerId;
+                customerGuanlian1.SecCustomertype = customerGuanlian.Customertype;
+                _context.CustomerGuanlians.Add(customerGuanlian1);
+            }
+           
+            _context.SaveChanges();
+            resultEntity.ReturnID = customerGuanlian.Id;
+            resultEntity.Result = true;
+
+            return resultEntity;
+        }
+
+        public CustomerGuanlianDTO GetCustomerGuanlian(string CustomerId, string SecCustomerId)
+        {
+            var entity = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+            if (entity == null)
+            {
+                entity = new CustomerGuanlian();
+            }
+            var customerGuanlianDTO = _mapper.Map<CustomerGuanlianDTO>(entity);
+            return customerGuanlianDTO;
+        }
+
+        public ResultEntity DeleteCustomerGuanlian(string CustomerId, string SecCustomerId)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = false;
+
+
+            var entity = _context.CustomerGuanlians.Where(x => x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+
+            if (entity != null)
+            {
+                var entity1 = _context.CustomerGuanlians.Where(x => x.CustomerId == entity.SecCustomerId && x.SecCustomerId == entity.CustomerId).FirstOrDefault();
+                _context.CustomerGuanlians.Remove(entity);
+                if (entity1 != null)
+                {
+                    _context.CustomerGuanlians.Remove(entity1);
+                }
+            }
+            _context.SaveChanges();
+            resultEntity.ReturnID = CustomerId;
+            resultEntity.Result = true;
+            return resultEntity;
+        }
+        public List<CooperatecustomCustomerDTO> GetListCustomerGuanlian(string CustomerId)
+        {
+            var customerGuanlians = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId).ToList();
+            List <CooperatecustomCustomerDTO> cooperatecustomCustomerDTOs = new List<CooperatecustomCustomerDTO>();
+            if (customerGuanlians!=null && customerGuanlians.Count > 0)
+            {
+              var hezuokehu  =  customerGuanlians/*.Where(x => x.SecCustomertype == "鍚堜綔瀹㈡埛")*/.Select(x => x.SecCustomerId).ToArray();
+                if(hezuokehu!=null&& hezuokehu.Length > 0)
+                {
+                    var cooperatecustomCustomers = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+                    var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(cooperatecustomCustomers);
+                    foreach(var cooperatecustomCustomerDTO  in cooperatecustomCustomerDTOssss)
+                    {
+                        cooperatecustomCustomerDTO.Customertype = "鍚堜綔瀹㈡埛";
+                        cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+
+                    }
+
+                }
+                //var dangankehu = customerGuanlians.Where(x => x.SecCustomertype == "妗f瀹㈡埛").Select(x => x.SecCustomerId).ToArray();
+                if (hezuokehu != null && hezuokehu.Length > 0)
+                {
+                    var intentionCustomers = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+                    var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(intentionCustomers);
+                    foreach (var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOssss)
+                    {
+                        cooperatecustomCustomerDTO.Customertype = "妗f瀹㈡埛";
+                        cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+                    }
+                }
+            }
+            return cooperatecustomCustomerDTOs;
+        }
+
+
+        public ResultDataEntity<CooperatecustomCustomerDTO> SearchByPagingAll(CooperatecustomCustomerDTOSearch searchEntity)
+        {
+
+
+
+            ResultDataEntity<CooperatecustomCustomerDTO> data = new ResultDataEntity<CooperatecustomCustomerDTO>();
+            List<CooperatecustomCustomerDTO> list = new List<CooperatecustomCustomerDTO>();
+
+
+
+
+            var listCode = (from a in _context.SysCodeDtls
+                            join b in _context.SysCodes
+                            on a.CodeId equals b.Id
+                            where a.RecStatus == "A"
+                                          && b.RecStatus == "A"
+                            select new CodeDataEntity()
+                            {
+                                CodeId = b.Id,
+                                CodeTable = b.CodeTable,
+                                CodeField = b.CodeField,
+                                CodeSn = a.CodeSn,
+                                Comments = a.Comments,
+                                Contents = a.Contents,
+                                RecStatus = a.RecStatus,
+                                Sort = a.Sort
+                            }
+                      );
+
+
+            DateTime Createtimestart = DateTime.Now;
+            DateTime Createtimeend = DateTime.Now;
+            if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
+            {
+                string[] Createtimes = searchEntity.Createtime.Split("|");
+                DateTime.TryParse(Createtimes[0], out Createtimestart);
+                DateTime.TryParse(Createtimes[1], out Createtimeend);
+                Createtimeend = Createtimeend.AddDays(1);
+            }
+
+
+            var query = (from a in _context.CooperatecustomCustomers
+                        // join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly")
+                        // on a.Khly equals b.CodeSn
+                        // into bsss
+                        // from bbb in bsss.DefaultIfEmpty()
+
+                        // join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl")
+                        // on a.Hyfl equals c.CodeSn
+                        //  into csss
+                        // from ccc in csss.DefaultIfEmpty()
+
+                        // join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx")
+                        //on a.Khlx equals d.CodeSn
+                        // into dsss
+                        // from ddd in dsss.DefaultIfEmpty()
+
+
+                        // join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A")
+                        // on a.Ywjl equals e.Id
+                        // into esss
+                        // from abi in esss.DefaultIfEmpty()
+
+
+                        
+
+
+
+                        // join f in _context.Areas on a.Sheng equals f.CodeId
+                        //    into fsss
+                        // from fff in fsss.DefaultIfEmpty()
+
+
+                        // join g in _context.Areas on a.City equals g.CodeId
+                        //    into gsss
+                        // from ggg in gsss.DefaultIfEmpty()
+
+
+                        // join h in _context.Areas on a.AreaId equals h.CodeId
+                        //    into hsss
+                        // from hhh in hsss.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.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
+                               && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
+                                && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
+
+                         select new CooperatecustomCustomerDTO
+                         {
+                             Id = a.Id,
+                             Sheng = a.Sheng,
+                             City = a.City,
+                             AreaId = a.AreaId,
+                             Khly = a.Khly,
+                             Hyfl = a.Hyfl,
+                             Khlx = a.Khlx,
+                             Ywjl = a.Ywjl,
+                             //ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name,
+                             //CityName = ggg.Name,
+                             //AreaIdName = hhh.Name,
+                             //KhlyName = bbb.Comments,
+                             //HyflName = ccc.Comments,
+                             //KhlxName = ddd.Comments,
+                             //YwjlName = abi.UserName,
+                             Name = a.Name,
+                             Postal = a.Postal,
+                             Address = a.Address,
+                             Url = a.Url,
+                             Tel = a.Tel,
+                            
+                             Phone = a.Phone,
+                             Qq = a.Qq,
+                             Email = a.Email,
+                             FName = a.FName,
+                             FTel = a.FTel,
+
+                             FQq = a.FQq,
+                             YwName = a.YwName,
+                             YwTel = a.YwTel,
+                             YwQq = a.YwQq,
+                             JgCode = a.JgCode,
+                             Khh = a.Khh,
+                             Count = a.Count,
+                             ShrName = a.ShrName,
+                             ShrTel = a.ShrTel,
+                             ShrAddress = a.ShrAddress,
+                             Remark = a.Remark,
+
+                             RecStatus = a.RecStatus,
+                             Modifier = a.Modifier,
+                             Modifytime = a.Modifytime,
+                             CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
+                             Weixin = a.Weixin,
+                             Shifoutianjiaweixin = a.Shifoutianjiaweixin,
+                             HuiyuanId = a.HuiyuanId,
+                             Weixiner = a.Weixiner,
+                             Weixintime = a.Weixintime,
+                             Yufukuan = a.Yufukuan ?? 0,
+                             Shouxinedu = a.Shouxinedu ?? 0,
+                             Shenyushouxin = a.Shenyushouxin ?? 0,
+                             YufukuanName = a.Yufukuan.HasValue ? a.Yufukuan.Value.ToString("f2") : "",
+                             ShouxineduName = a.Shouxinedu.HasValue ? a.Shouxinedu.Value.ToString("f2") : "",
+                             ShenyushouxinName = a.Shenyushouxin.HasValue ? a.Shenyushouxin.Value.ToString("f2") : "",
+                             Taocanjianshu = a.Taocanjianshu ?? 0,
+                             Customertype = "鍚堜綔瀹㈡埛",
+                         }
+                        );
+
+            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);
+                }
+            }
+
+
+
+            var queryinter = (from a in _context.IntentionCustomers
+
+
+
+
+                        // join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly")
+                        // on a.Khly equals b.CodeSn
+                        // into bsss
+                        // from bbb in bsss.DefaultIfEmpty()
+
+                        // join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl")
+                        // on a.Hyfl equals c.CodeSn
+                        //  into csss
+                        // from ccc in csss.DefaultIfEmpty()
+
+                        // join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx")
+                        //on a.Khlx equals d.CodeSn
+                        // into dsss
+                        // from ddd in dsss.DefaultIfEmpty()
+
+
+                         //join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A")
+                         //on a.Ywjl equals e.Id
+                         //into esss
+                         //from abi in esss.DefaultIfEmpty()
+
+
+                         
+
+
+
+                         //join f in _context.Areas on a.Sheng equals f.CodeId
+                         //   into fsss
+                         //from fff in fsss.DefaultIfEmpty()
+
+
+                         //join g in _context.Areas on a.City equals g.CodeId
+                         //   into gsss
+                         //from ggg in gsss.DefaultIfEmpty()
+
+
+                         //join h in _context.Areas on a.AreaId equals h.CodeId
+                         //   into hsss
+                         //from hhh in hsss.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.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
+                               && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
+                                && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
+                                 && (string.IsNullOrWhiteSpace(searchEntity.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
+
+                         select new CooperatecustomCustomerDTO
+                         {
+                             Id = a.Id,
+                             Sheng = a.Sheng,
+                             City = a.City,
+                             AreaId = a.AreaId,
+                             Khly = a.Khly,
+                             Hyfl = a.Hyfl,
+                             Khlx = a.Khlx,
+                             Ywjl = a.Ywjl,
+                             //ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name,
+                             //CityName = ggg.Name,
+                             //AreaIdName = hhh.Name,
+                             //KhlyName = bbb.Comments,
+                             //HyflName = ccc.Comments,
+                             //KhlxName = ddd.Comments,
+                             //YwjlName = abi.UserName,
+                             Name = a.Name,
+                             Postal = a.Postal,
+                             Address = a.Address,
+                             Url = a.Url,
+                             Tel = a.Tel,
+                            
+                             Phone = a.Phone,
+                             Qq = a.Qq,
+                             Email = a.Email,
+                             FName = a.FName,
+                             FTel = a.FTel,
+
+                             FQq = a.FQq,
+                             YwName = a.YwName,
+                             YwTel = a.YwTel,
+                             YwQq = a.YwQq,
+                             JgCode = a.JgCode,
+                             Khh = a.Khh,
+                             Count = a.Count,
+                             ShrName = a.ShrName,
+                             ShrTel = a.ShrTel,
+                             ShrAddress = a.ShrAddress,
+                             Remark = a.Remark,
+
+                             RecStatus = a.RecStatus,
+                             Modifier = a.Modifier,
+                             Modifytime = a.Modifytime,
+                             CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
+                             Weixin = a.Weixin,
+                             Shifoutianjiaweixin = a.Shifoutianjiaweixin,
+                             HuiyuanId = a.HuiyuanId,
+                             Weixiner = a.Weixiner,
+                             Weixintime = a.Weixintime,
+                             Customertype = "妗f瀹㈡埛",
+                         }
+                      );
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.Ywjl))
+            {
+                if (searchEntity.Ywjl != "11111")
+                {
+                    queryinter = queryinter.Where(a => a.Ywjl == searchEntity.Ywjl.Trim());
+                }
+                else
+                {
+                    queryinter = queryinter.Where(a => a.Ywjl == null);
+                }
+            }
+            var chaxun    = query.ToList().Union(queryinter.ToList());
+
+
+
+            searchEntity.totalrows = chaxun.Count();
+             
+            var lianlist = chaxun.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+
+
+            if(lianlist!=null&& lianlist.Count > 0)
+            {
+                var khlys= listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly").ToList();
+
+
+                var hyfls = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl").ToList();
+
+                var khlxs = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx").ToList();
+
+                var pltUsers = _context.PltUsers.ToList();
+                var areas  = _context.Areas.ToList();
+                var yx = listCode.Where(x => x.CodeTable == "CooperVisit" && x.CodeField == "yx").ToList();
+                foreach (var cooperatecustomCustomerDTO  in lianlist)
+                {
+                   var khly = khlys.Where(x=>x.CodeSn == cooperatecustomCustomerDTO.Khly).FirstOrDefault();
+                    if (khly != null)
+                    {
+                        cooperatecustomCustomerDTO.KhlyName = khly.Comments;
+                    }
+                    var hyfl = hyfls.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Hyfl).FirstOrDefault();
+                    if (hyfl != null)
+                    {
+                        cooperatecustomCustomerDTO.HyflName = hyfl.Comments;
+                    }
+                    var khlx = khlxs.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Khlx).FirstOrDefault();
+                    if (khlx != null)
+                    {
+                        cooperatecustomCustomerDTO.KhlxName = khlx.Comments;
+                    }
+                    var ywjl = pltUsers.Where(x => x.Id == cooperatecustomCustomerDTO.Ywjl).FirstOrDefault();
+                    if (ywjl != null)
+                    {
+                        cooperatecustomCustomerDTO.YwjlName = ywjl.UserName;
+                    }
+
+
+                    var city = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.City).FirstOrDefault();
+                    if (city != null)
+                    {
+                        cooperatecustomCustomerDTO.CityName = city.Name;
+                    }
+
+                    var areaId = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.AreaId).FirstOrDefault();
+                    if (areaId != null)
+                    {
+                        cooperatecustomCustomerDTO.AreaIdName = areaId.Name;
+                    }
+
+
+                    var sheng = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.Sheng).FirstOrDefault();
+                    if (sheng != null)
+                    {
+                        cooperatecustomCustomerDTO.ShengName = sheng.Name + "-" + cooperatecustomCustomerDTO.CityName + "-" + cooperatecustomCustomerDTO.AreaIdName;
+                    }
+
+
+                    if (cooperatecustomCustomerDTO.Customertype == "鍚堜綔瀹㈡埛")
+                    {
+                        var kehuyx = _context.CooperVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault();
+                        if (kehuyx != null)
+                        {
+                            cooperatecustomCustomerDTO.Yx = kehuyx.Yx;
+                            var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault();
+                            if (yxname != null)
+                            {
+                                cooperatecustomCustomerDTO.YxName = yxname.Comments;
+                            }
+                        }
+
+                    }
+                    else
+                    {
+                        var kehuyx = _context.IntentionVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault();
+                        if (kehuyx != null)
+                        {
+                            cooperatecustomCustomerDTO.Yx = kehuyx.Yx;
+                            var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault();
+                            if (yxname != null)
+                            {
+                                cooperatecustomCustomerDTO.YxName = yxname.Comments;
+                            }
+                        }
+                    }
+
+                   
+
+                }
+            }
+            data.LoadData(searchEntity, lianlist);
+            return data;
+        }
+
+
+        public ResultEntity saveKhlx(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                
+
+
+             
+
+ 
+                    var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomerDTO.Id);
+
+                   
+                    updateproject.Khlx = cooperatecustomCustomerDTO.Khlx;
+                  
+                    updateproject.Modifier = cooperatecustomCustomerDTO.Modifier;
+                    updateproject.Modifytime = cooperatecustomCustomerDTO.Modifytime;
+                   
+                
+                _context.SaveChanges();
+ 
+
+                resultEntity.ReturnID = cooperatecustomCustomerDTO.Id;
+                resultEntity.Result = true;
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+
+            }
+            return resultEntity;
+        }
+
+
+
+
+        public ResultDataEntity<FrameworkUserDTO> SearchByPagingGuanlianHuiyuan(FrameworkUserSearch searchEntity)
+        {
+
+
+
+            ResultDataEntity<FrameworkUserDTO> data = new ResultDataEntity<FrameworkUserDTO>();
+ 
+
+
+
+
+            var listCode = (from a in _context.SysCodeDtls
+                            join b in _context.SysCodes
+                            on a.CodeId equals b.Id
+                            where a.RecStatus == "A"
+                                          && b.RecStatus == "A"
+                            select new CodeDataEntity()
+                            {
+                                CodeId = b.Id,
+                                CodeTable = b.CodeTable,
+                                CodeField = b.CodeField,
+                                CodeSn = a.CodeSn,
+                                Comments = a.Comments,
+                                Contents = a.Contents,
+                                RecStatus = a.RecStatus,
+                                Sort = a.Sort
+                            }
+                      );
+
+
+          
+                           
+                  
+
+
+            DateTime Createtimestart = DateTime.Now;
+            DateTime Createtimeend = DateTime.Now;
+            if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
+            {
+                string[] Createtimes = searchEntity.Createtime.Split("|");
+                DateTime.TryParse(Createtimes[0], out Createtimestart);
+                DateTime.TryParse(Createtimes[1], out Createtimeend);
+                Createtimeend = Createtimeend.AddDays(1);
+            }
+
+
+            var query = (from a in _zcUserInfoNcontext.FrameworkUsers
+                         
+
+
+
+                         where a.IsValid == true && a.Itcode.Length<=20 && a.Itcode.Length > 8
+                          && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.CreateTime >= Createtimestart && a.CreateTime <= Createtimeend))
+                         && (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim()))
+                           && (string.IsNullOrWhiteSpace(searchEntity.Itcode) || a.Itcode.Contains(searchEntity.Itcode.Trim()))
+
+                         select new FrameworkUserDTO
+                         {
+                             Id = a.Id,
+                             Email = a.Email,
+                             Gender = a.Gender,
+                             CellPhone = a.CellPhone,
+                             HomePhone = a.HomePhone,
+                             Address = a.Address,
+                             ZipCode = a.ZipCode,
+                             IsIndividual = a.IsIndividual,
+                             CreateTime = a.CreateTime,
+                             CreateTimeName = a.CreateTime.HasValue? a.CreateTime.Value.ToString("yyyy-MM-dd"):"",
+                             CreateBy = a.CreateBy,
+                             UpdateTime = a.UpdateTime,
+                             UpdateBy = a.UpdateBy,
+                             Itcode = a.Itcode,
+                             Password = a.Password,
+                             Name = a.Name,
+                             IsValid = a.IsValid,
+                             PhotoId = a.PhotoId,
+                             TenantCode = a.TenantCode,
+                             WxOpenid = a.WxOpenid,
+                             Agent = a.Agent,
+
+                         }
+                        );
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.ShifouGuanluan))
+            {
+                var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList();
+                var id = new List<Guid>();
+                foreach(var  customerGuanlianhuiyuan in customerGuanlianhuiyuans)
+                {
+                    id.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid));
+                }
+                if (searchEntity.ShifouGuanluan == "A")
+                {
+                    query = query.Where(a => id.Contains(a.Id));
+                }
+                else
+                {
+                    query = query.Where(a => !id.Contains(a.Id));
+                }
+            }
+
+            //if (searchEntity.totalrows == 0)
+            searchEntity.totalrows = query.Count();
+           
+            var lianlist = query.OrderByDescending(x => x.CreateTime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+
+            if (lianlist.Count > 0)
+            {
+                var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList();
+                foreach (var lian in lianlist)
+                {
+                   var customerGuanlianhuiyuan  = customerGuanlianhuiyuans.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault();
+                    if (customerGuanlianhuiyuan != null)
+                    {
+                        var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
+                        if (cooperatecustomCustomer != null)
+                        {
+                            lian.CustomerId = cooperatecustomCustomer.Id;
+                            lian.CustomerName = cooperatecustomCustomer.Name;
+                        }
+                        else
+                        {
+                            var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
+                            if (intentionCustomer != null)
+                            {
+                                lian.CustomerId = intentionCustomer.Id;
+                                lian.CustomerName = intentionCustomer.Name;
+                            }
+                        }
+                    }
+                }
+            }
+
+           
+
+            data.LoadData(searchEntity, lianlist);
+            return data;
+        }
+
+        public ResultEntity saveCustomerGuanlian(CustomerGuanlianhuiyuan DTO,string CustomerIddel)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                if (!string.IsNullOrEmpty(CustomerIddel))
+                {
+                    var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault();
+                    if (cooperatecustomCustomer != null)
+                    {
+                        cooperatecustomCustomer.HuiyuanId = null;
+                    }
+                    var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault();
+                    if (intentionCustomer != null)
+                    {
+                        intentionCustomer.HuiyuanId = null;
+                    }
+
+
+                    var customerGuanlianhuiyuan = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A" && x.Huiyuanid == DTO.Huiyuanid && x.Customerid == CustomerIddel).FirstOrDefault();
+                    if (customerGuanlianhuiyuan != null)
+                    {
+                        _context.CustomerGuanlianhuiyuans.Remove(customerGuanlianhuiyuan);
+                    }
+                }
+                if (String.IsNullOrEmpty(DTO.Id))
+                {
+                    DTO.Id = Guid.NewGuid().ToString();
+                    _context.CustomerGuanlianhuiyuans.Add(DTO);
+                }
+                else
+                {
+                    var updateproject = _context.CustomerGuanlianhuiyuans.Find(DTO.Id);
+                    updateproject.Huiyuanid = DTO.Huiyuanid;
+                    updateproject.Customerid = DTO.Customerid;
+                    updateproject.Customertype = DTO.Customertype;
+                    
+
+                    updateproject.RecStatus = DTO.RecStatus;
+                    updateproject.Modifier = DTO.Modifier;
+                    updateproject.Modifytime = DTO.Modifytime;
+                    
+                }
+
+                _context.SaveChanges();
+
+              
+
+                resultEntity.ReturnID = DTO.Id;
+                resultEntity.Result = true;
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+
+            }
+            return resultEntity;
+        }
+        public List<FrameworkUserDTO> GetListFrameworkUser(string CustomerId)
+        {
+            var frameworkUsers = new List<FrameworkUser>();
+            var listPositiontongshi = _context.CustomerGuanlianhuiyuans.Where(r => r.RecStatus == "A" && r.Customerid == CustomerId).ToList();
+            var huiyuanids = new List<Guid>();
+            foreach (var customerGuanlianhuiyuan in listPositiontongshi)
+            {
+                huiyuanids.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid));
+            }
+            frameworkUsers = _zcUserInfoNcontext.FrameworkUsers.Where(x => x.IsValid == true && huiyuanids.Contains(x.Id)).ToList();
+
+
+            var res = _mapper.Map<List<FrameworkUserDTO>>(frameworkUsers);
+            if (res.Count > 0)
+            {
+
+                foreach (var lian in res)
+                {
+                    lian.CreateTimeName = lian.CreateTime.HasValue ? lian.CreateTime.Value.ToString("yyyy-MM-dd") : "";
+
+                    var customerGuanlianhuiyuan = listPositiontongshi.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault();
+                    if (customerGuanlianhuiyuan != null)
+                    {
+                        var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
+                        if (cooperatecustomCustomer != null)
+                        {
+                            lian.CustomerId = cooperatecustomCustomer.Id;
+                            lian.CustomerName = cooperatecustomCustomer.Name;
+                        }
+                        else
+                        {
+                            var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
+                            if (intentionCustomer != null)
+                            {
+                                lian.CustomerId = intentionCustomer.Id;
+                                lian.CustomerName = intentionCustomer.Name;
+                            }
+                        }
+                    }
+                }
+            }
+
+
+
+            return res;
+        }
     }
 }

--
Gitblit v1.9.1