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 >= 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;
@@ -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())
@@ -336,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;
        }