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/IntentionCustomerService.cs | 332 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 287 insertions(+), 45 deletions(-) diff --git a/zhengcaioa/Services/IntentionCustomerService.cs b/zhengcaioa/Services/IntentionCustomerService.cs index 540eeb7..41c2739 100644 --- a/zhengcaioa/Services/IntentionCustomerService.cs +++ b/zhengcaioa/Services/IntentionCustomerService.cs @@ -49,12 +49,43 @@ if (String.IsNullOrEmpty(intentionCustomer.Id)) { + if (!string.IsNullOrEmpty(intentionCustomer.Ywjl)) + { + intentionCustomer.Ywjltime = DateTime.Now; + var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl); + var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl); + if(Cooper+ Inten > 2000) + { + resultEntity.Result = false; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�"; + return resultEntity; + } + } + intentionCustomer.Id = Guid.NewGuid().ToString(); _context.IntentionCustomers.Add(intentionCustomer); } else { - var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id); + var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id); + if (!string.IsNullOrEmpty(intentionCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && intentionCustomer.Ywjl!= updateproject.Ywjl )) + { + updateproject.Ywjltime = DateTime.Now; + var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl); + var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl); + if (Cooper + Inten >= 2000) + { + resultEntity.Result = false; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�"; + return resultEntity; + } + } + + if (string.IsNullOrEmpty(intentionCustomer.Ywjl)){ + updateproject.Ywjltime = null; + } + + updateproject.Sheng = intentionCustomer.Sheng; updateproject.City = intentionCustomer.City; @@ -111,9 +142,9 @@ var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A").ToList(); - var intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition); - CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs); - + // var intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition); + //CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs); + CacheHelperNetCore.CacheNull("intentionCustomerDTOs"); resultEntity.ReturnID = intentionCustomer.Id; resultEntity.Result = true; } @@ -131,7 +162,7 @@ var entity = _context.IntentionCustomers.Find(id); - if (entity.RecStatus != "A") + if (entity ==null || entity.RecStatus != "A") { entity = new IntentionCustomer(); } @@ -206,34 +237,51 @@ // 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 - join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") - on a.Hyfl equals c.CodeSn - join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") - on a.Khlx equals d.CodeSn - 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 b in listCode.Where(x => x.CodeTable == "IntentionCustomer" && x.CodeField == "khly") + // on a.Khly equals b.CodeSn + // join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl") + // on a.Hyfl equals c.CodeSn + // join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx") + //on a.Khlx equals d.CodeSn + // 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.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" ) - on a.Dianxiaozhuanyuan equals f.Id - into fsss - from fff in fsss.DefaultIfEmpty() + // join f in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" ) + // on a.Dianxiaozhuanyuan equals f.Id + // into fsss + // from fff in fsss.DefaultIfEmpty() - join f in _context.Areas on a.Sheng equals f.CodeId - join g in _context.Areas on a.City equals g.CodeId - join h in _context.Areas on a.AreaId equals h.CodeId + // join f in _context.Areas on a.Sheng equals f.CodeId + // join g in _context.Areas on a.City equals g.CodeId + // join h in _context.Areas on a.AreaId equals h.CodeId - where a.RecStatus == "A" + + join l in _context.IntentionVisits.Where(x => x.RecStatus == "A").GroupBy(q => new { q.Viscustomer }).Select(q => new + { + Viscustomer = q.Key.Viscustomer, + Visittimes = q.Count(), + }) + on a.Id equals l.Viscustomer + into lsss + from lll in lsss.DefaultIfEmpty() + + where a.RecStatus == "A" && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend)) && (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim())) && (string.IsNullOrWhiteSpace(searchEntity.Khly) || a.Khly == searchEntity.Khly.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.Hyfl) || a.Hyfl == searchEntity.Hyfl.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.Khlx) || a.Khlx == searchEntity.Khlx.Trim()) - && (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim()) + //&& (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.Sheng) || a.Sheng == searchEntity.Sheng.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim()) && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim()) @@ -243,6 +291,9 @@ && (string.IsNullOrWhiteSpace(searchEntity.Yixiangtime) || (a.Yixiangtime >= Yixiangtimestart && a.Yixiangtime <= Yixiangtimeend)) && (string.IsNullOrWhiteSpace(searchEntity.Yixiang) || ( a.Yixiang == searchEntity.Yixiang.Trim() && (a.Ywjl == null || a.Ywjl == searchEntity.YwjlYx) )) + && (aaaa <= 0 || lll.Visittimes >= aaaa) + + //&& (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim()) select new IntentionCustomerDTO { @@ -254,13 +305,13 @@ 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, - YwjlName = abi.UserName, + //ShengName = f.Name + "-" + g.Name + "-" + h.Name, + //CityName = g.Name, + //AreaIdName = h.Name, + //KhlyName = b.Comments, + //HyflName = c.Comments, + //KhlxName = d.Comments, + //YwjlName = abi.UserName, Name = a.Name, Postal = a.Postal, Address = a.Address, @@ -297,34 +348,149 @@ YixiangtimeName = a.Yixiangtime.HasValue? a.Yixiangtime.Value.ToString("yyyy-MM-dd"):"", Yixiang = a.Yixiang, Dianxiaozhuanyuan = a.Dianxiaozhuanyuan, - DianxiaozhuanyuanName = fff.UserName, + //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, + Kuaidistatus = a.Kuaidistatus, + Kuaiditime = a.Kuaiditime, + } + ); if (!string.IsNullOrWhiteSpace(searchEntity.Shifouweixin)) { - query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim()).ToList(); + query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim()); } + + if (!string.IsNullOrWhiteSpace(searchEntity.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 (!string.IsNullOrWhiteSpace(searchEntity.Ywjl)) + { + if(searchEntity.Ywjl != "11111") + { + query = query.Where(a => a.Ywjl == searchEntity.Ywjl.Trim()); + }else + { + query = query.Where(a => a.Ywjl == null ); + } + + + } + if (!string.IsNullOrWhiteSpace(searchEntity.ShifouDianhua)) { if (searchEntity.ShifouDianhua != "A") { - query = query.Where(a => a.Tel == null || a.Tel == "").ToList(); + query = query.Where(a => a.Tel == null || a.Tel == ""); } else { - query = query.Where(a => a.Tel != null && a.Tel != "").ToList(); + query = query.Where(a => a.Tel != null && a.Tel != ""); } } - + if (!string.IsNullOrWhiteSpace(searchEntity.Visittimes)) + { + if (searchEntity.ShifouDianhua != "A") + { + query = query.Where(a => a.Tel == null || a.Tel == ""); + } + else + { + query = query.Where(a => a.Tel != null && a.Tel != ""); + } - //if (searchEntity.totalrows == 0) + } + + + //if (searchEntity.totalrows == 0) searchEntity.totalrows = query.Count(); - var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); - data.LoadData(searchEntity, lianlist); + var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); + + if(lianlist!=null && lianlist.Count > 0) + { + var areas = _context.Areas; + var pltUsers = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A"); + + var khly = listCode.Where(x => x.CodeTable == "IntentionCustomer" && x.CodeField == "khly"); + + + var hyfl = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl"); + + + var khlx = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx"); + + + foreach (var intentionCustomerDTO in lianlist) + { + var sheng = areas.Where(x => x.CodeId == intentionCustomerDTO.Sheng).FirstOrDefault(); + var city = areas.Where(x => x.CodeId == intentionCustomerDTO.City).FirstOrDefault(); + var Area = areas.Where(x => x.CodeId == intentionCustomerDTO.AreaId).FirstOrDefault(); + if (sheng != null) + { + intentionCustomerDTO.ShengName = sheng.Name; + } + if (city != null) + { + intentionCustomerDTO.CityName = city.Name; + intentionCustomerDTO.ShengName += "-" + city.Name; + } + if (Area != null) + { + intentionCustomerDTO.AreaIdName = Area.Name; + intentionCustomerDTO.ShengName += "-" + Area.Name; + } + var ywjl = pltUsers.Where(x => x.Id == intentionCustomerDTO.Ywjl).FirstOrDefault(); + if (ywjl != null) + { + intentionCustomerDTO.YwjlName = ywjl.UserName; + } + var Dianxiaozhuanyuan = pltUsers.Where(x => x.Id == intentionCustomerDTO.Dianxiaozhuanyuan).FirstOrDefault(); + if (Dianxiaozhuanyuan != null) + { + intentionCustomerDTO.DianxiaozhuanyuanName = Dianxiaozhuanyuan.UserName; + } + var KhlyName = khly.Where(x => x.CodeSn == intentionCustomerDTO.Khly).FirstOrDefault(); + if (KhlyName != null) + { + intentionCustomerDTO.KhlyName = KhlyName.Comments; + } + var HyflName = hyfl.Where(x => x.CodeSn == intentionCustomerDTO.Hyfl).FirstOrDefault(); + if (HyflName != null) + { + intentionCustomerDTO.HyflName = HyflName.Comments; + } + var KhlxName = khlx.Where(x => x.CodeSn == intentionCustomerDTO.Khlx).FirstOrDefault(); + if (KhlxName != null) + { + intentionCustomerDTO.KhlxName = KhlxName.Comments; + } + + + intentionCustomerDTO.Guanliankehushu = _context.CustomerGuanlians.Count(x => x.CustomerId == intentionCustomerDTO.Id); + } + } + + + + //foreach (var intentionCustomerDTO in lianlist) + //{ + // intentionCustomerDTO.Visittimes = _context.IntentionVisits.Count(x => x.RecStatus == "A" && x.Viscustomer == intentionCustomerDTO.Id); + //} + + + data.LoadData(searchEntity, lianlist); return data; } @@ -359,21 +525,32 @@ /// 鑾峰彇鎵�鏈夋湁鏁堟剰鍚戝鎴� /// </summary> /// <returns></returns> - public List<IntentionCustomerDTO> GetList() + public List<IntentionCustomerDTO> GetList(string huiyuanId = null) { + + List<IntentionCustomerDTO> intentionCustomerDTOs = (List<IntentionCustomerDTO>)CacheHelperNetCore.CacheValue("intentionCustomerDTOs"); + if (intentionCustomerDTOs != null && intentionCustomerDTOs.Count > 0) { + if (!string.IsNullOrEmpty(huiyuanId)) + { + intentionCustomerDTOs = intentionCustomerDTOs.Where(x => x.HuiyuanId == huiyuanId).ToList(); + } + 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; + if (!string.IsNullOrEmpty(huiyuanId)) + { + listPosition = listPosition.Where(x => x.HuiyuanId == huiyuanId).ToList(); + } + intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition); + return intentionCustomerDTOs; } /// <summary> @@ -427,5 +604,70 @@ return list; } + public ResultEntity saveKhlx(CooperatecustomCustomerDTO cooperatecustomCustomerDTO) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + + + + + + + var updateproject = _context.IntentionCustomers.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 ResultEntity GetZhengfuProjectDTOByTitle(string Name, string Id) + { + ResultEntity resultEntity = new ResultEntity(); + resultEntity.Result = true; + if (!string.IsNullOrWhiteSpace(Name)) + { + var checkUserSn = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Name == Name).FirstOrDefault(); + if (checkUserSn != null && (string.IsNullOrWhiteSpace(Id) || (!string.IsNullOrWhiteSpace(Id) && checkUserSn.Id != Id))) + { + resultEntity.Result = false; + resultEntity.Message = "璇ユ。妗堝鎴峰凡缁忓瓨鍦�"; + + } + var checkUserSncooper = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Name == Name).FirstOrDefault(); + if (checkUserSncooper != null && (string.IsNullOrWhiteSpace(Id) || (!string.IsNullOrWhiteSpace(Id) && checkUserSncooper.Id != Id))) + { + resultEntity.Result = false; + resultEntity.Message = "璇ュ悎浣滃鎴峰凡缁忓瓨鍦�"; + + } + + } + + + + return resultEntity; + } + } } -- Gitblit v1.9.1