From 5701636d0554a89cdb6a06327658de75d74f67ed Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 16 一月 2023 13:42:09 +0800 Subject: [PATCH] 添加客户关联企业功能 --- zhengcaioa/Services/CooperatecustomCustomerService.cs | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 203 insertions(+), 5 deletions(-) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index 459f0b9..3e6ca7f 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -17,10 +17,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) @@ -53,12 +55,43 @@ 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(); _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; @@ -270,7 +303,7 @@ && (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()) @@ -338,21 +371,89 @@ Taocanjianshu = a.Taocanjianshu ?? 0, Customertype = "鍚堜綔瀹㈡埛", } - ).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(); + 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.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); + 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; } @@ -465,5 +566,102 @@ 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; + } } } -- Gitblit v1.9.1