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 | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 370 insertions(+), 1 deletions(-) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index aaef706..c4bee87 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -195,7 +195,7 @@ { var entity = _context.CooperatecustomCustomers.Find(id); - if(entity.RecStatus != "A") + if(entity == null || entity.RecStatus != "A") { entity = new CooperatecustomCustomer(); } @@ -666,5 +666,374 @@ } 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