username@email.com
2022-12-30 13ca8b4cab099521fc95d551c4b21c1a7ae5984d
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)
@@ -99,7 +102,47 @@
                    updateproject.Weixintime = cooperatecustomCustomer.Weixintime;
                    updateproject.Weixiner = cooperatecustomCustomer.Weixiner;
                    updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
                    updateproject.Taocanjianshu = cooperatecustomCustomer.Taocanjianshu;
                }
                _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;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
            }
            return resultEntity;
        }
        public ResultEntity saveyufukuan(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                var cooperatecustomCustomer = _mapper.Map<CooperatecustomCustomer>(cooperatecustomCustomerDTO);
                    var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
                    updateproject.Yufukuan = cooperatecustomCustomer.Yufukuan;
                    updateproject.Shenyushouxin = cooperatecustomCustomer.Shenyushouxin;
                    updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
                _context.SaveChanges();
                resultEntity.ReturnID = cooperatecustomCustomer.Id;
@@ -294,6 +337,8 @@
                             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 = "合作客户",
                         }
                        ).OrderByDescending(x => x.Modifytime).ToList();
@@ -310,6 +355,60 @@
            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;
        }
@@ -348,22 +447,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)