From f7a2d28869cc31c7dbe057a1d80dd40536d97fed Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 08 三月 2023 15:45:33 +0800 Subject: [PATCH] 业务经理查询客户接口 --- zhengcaioa/Services/CooperatecustomCustomerService.cs | 483 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 477 insertions(+), 6 deletions(-) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index 36b9928..c4bee87 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -60,10 +60,10 @@ 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 >= 1000) + if (Cooper + Inten > 2000) { resultEntity.Result = false; - resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�"; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�"; return resultEntity; } } @@ -80,10 +80,10 @@ 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 >= 1000) + if (Cooper + Inten >= 2000) { resultEntity.Result = false; - resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�"; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�"; return resultEntity; } } @@ -128,7 +128,10 @@ updateproject.Modifier = cooperatecustomCustomer.Modifier; updateproject.Modifytime = cooperatecustomCustomer.Modifytime; updateproject.Weixin = cooperatecustomCustomer.Weixin; - updateproject.HuiyuanId = cooperatecustomCustomer.HuiyuanId; + if (!string.IsNullOrEmpty(cooperatecustomCustomer.HuiyuanId)) + { + updateproject.HuiyuanId = cooperatecustomCustomer.HuiyuanId; + } updateproject.Shifoutianjiaweixin = cooperatecustomCustomer.Shifoutianjiaweixin; updateproject.Weixintime = cooperatecustomCustomer.Weixintime; updateproject.Weixiner = cooperatecustomCustomer.Weixiner; @@ -192,7 +195,7 @@ { var entity = _context.CooperatecustomCustomers.Find(id); - if(entity.RecStatus != "A") + if(entity == null || entity.RecStatus != "A") { entity = new CooperatecustomCustomer(); } @@ -446,6 +449,8 @@ cooperatecustomCustomerDTO.Hezuoyewu += "閲囪喘鍏憡鏉冮檺 | "; } + cooperatecustomCustomerDTO.Guanliankehushu = _context.CustomerGuanlians.Count(x => x.CustomerId == cooperatecustomCustomerDTO.Id); + } } @@ -564,5 +569,471 @@ 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 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)) + && (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, + Ordercount = iii.Ordercount.ToString(), + Moneycount = iii.Moneycount.ToString(), + Moneycountde = iii.Moneycount, + 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 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)) + && (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, + Ordercount = iii.Ordercount.ToString(), + Moneycount = iii.Moneycount.ToString(), + Moneycountde = iii.Moneycount, + 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(); + + + + + + + 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; + } } } -- Gitblit v1.9.1