From 5421f9a6e5e2b28cc32aa8aa6dec9becd0c1eb3c Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 04 一月 2023 10:19:57 +0800 Subject: [PATCH] 业务经理意向和合作客户只能1000,90天意向不转合作就制空业务经理,查询没有业务经理的档案客户和合作客户 --- zhengcaioa/Services/CooperatecustomCustomerService.cs | 147 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 138 insertions(+), 9 deletions(-) diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs index fe95ca7..36b9928 100644 --- a/zhengcaioa/Services/CooperatecustomCustomerService.cs +++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using AutoMapper; +using CommonToolsCore; using DTO; using IServices; using Microsoft.AspNetCore.Mvc.Rendering; @@ -16,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) @@ -52,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 >= 1000) + { + resultEntity.Result = false; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�"; + 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 >= 1000) + { + resultEntity.Result = false; + resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�"; + return resultEntity; + } + } + if (string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl)) + { + updateproject.Ywjltime = DateTime.Now; + } + updateproject.Sheng = cooperatecustomCustomer.Sheng; updateproject.City = cooperatecustomCustomer.City; @@ -103,6 +137,12 @@ } _context.SaveChanges(); + + var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A").ToList(); + + var CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition); + CacheHelperNetCore.CacheInsert("CooperatecustomCustomerDTOs", CooperatecustomCustomerDTOs); + resultEntity.ReturnID = cooperatecustomCustomer.Id; resultEntity.Result = true; } @@ -263,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()) @@ -329,22 +369,89 @@ ShouxineduName = a.Shouxinedu.HasValue ? a.Shouxinedu.Value.ToString("f2") : "", ShenyushouxinName = a.Shenyushouxin.HasValue ? a.Shenyushouxin.Value.ToString("f2") : "", 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 += "閲囪喘鍏憡鏉冮檺 | "; + } + + } + } + + + + data.LoadData(searchEntity, lianlist); return data; } @@ -383,22 +490,44 @@ /// <returns></returns> 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); + + if (!string.IsNullOrEmpty(HuiyuanId)) { - listPosition = listPosition.Where(x => x.HuiyuanId == HuiyuanId).ToList(); + CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.HuiyuanId == HuiyuanId).ToList(); } if (!string.IsNullOrEmpty(Name)) { - listPosition = listPosition.Where(x => x.Name == Name).ToList(); + CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.Name == Name).ToList(); } - var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition); - return list; + return CooperatecustomCustomerDTOs; + + + + + } public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax) -- Gitblit v1.9.1