Example #1
0
        public object Many(decimal Id, int Num, DateTime StartTime)
        {
            var data = new List <byte?>();

            //var dbdata = dbContext.v_Jusoft_CustomerList.Where(k => k.IdPersonSupervision == Person.Id);
            //Expression<Func<v_Ks_DataList, bool>> where = p => string.IsNullOrEmpty(condition.SearchKey);
            if (Num == 0)
            {
                //where = where.And(p => p.IdPerson == null);//督导Id 为当前用户
                data.Add(0);
            }
            if (Num == 1)
            {
                data = dbContext.v_Kf_DataList.Where(p => p.IdPerson == Id).Select(p => p.State).ToList();//督导Id 为当前用户
            }
            if (Num == 2)
            {
                //where = where.And(p => p.IdPersonSupervision == Person.Id);//督导Id 为当前用户
                data = dbContext.v_Kf_DataList.Where(p => p.ManagerId == Id).ToList().Where(p => p.CreateTime.ToString("yyyy-MM") == StartTime.ToString("yyyy-MM")).Select(p => p.State).ToList();
            }
            //var data = dbContext.v_Ks_DataList.Where(where).ToList();
            ////where = where.And(p => p.CreateTime.ToString("yyyy-MM").Contains(xx));
            //data.Select(p => new
            //{
            //    p.State,
            //    CreateTime = p.CreateTime.ToString("yyyy-MM")

            //}).Where(p => p.CreateTime.Contains(condition.StartTime.ToString("yyyy-MM")));

            //var list2= dbContext.v_Jusoft_CustomerList.Where(p => p.IdPersonSupervision == Person.Id).ToList();
            var Untreated  = data.Where(k => k == 0).Count(); //待处理的数量
            var Processing = data.Where(k => k == 1).Count(); //处理中的数量
            var Endover    = data.Where(k => k == 2).Count(); //结束的数量
            var AllCount   = data.Where(k => true).Count();   //所有的数量
            //返回类型
            DdTypeCount Pdrs = new DdTypeCount();

            Pdrs.Untreated  = Untreated;  //未处理的数量
            Pdrs.Processing = Processing; //同意的数量
            Pdrs.Endover    = Endover;    //驳回的数量
            var result = new
            {
                Untreated  = Untreated,
                Processing = Processing,
                Endover    = Endover
            };

            return(result);
        }
        public object RegionList(string name, int pagesize = 10, int pageindex = 1)
        {
            Expression <Func <OR_Person, bool> > where = p => (string.IsNullOrEmpty(name) || p.Name.Contains(name));
            var list = dbContext.OR_Person.Where(where).Select(p => new
            {
                p.Id,
                p.Name
            }).OrderByDescending(p => p.Id).ToPagedList(pageindex, pagesize);
            DdTypeCount Pdrs = new DdTypeCount();

            Pdrs.ListData       = list;                //返回数据体
            Pdrs.PageCount      = list.PageCount;      //数据总数
            Pdrs.PageIndex      = pageindex;           //数据页数
            Pdrs.HasNextPage    = list.HasNextPage;    //是否有下一页
            Pdrs.TotalItemCount = list.TotalItemCount; //数据总数
            return(this.JsonRespData(Pdrs));
        }
        public object StoreList(string name, int pagesize, int pageindex)
        {
            var person = dbContext.OR_Person.FirstOrDefault(p => p.LoginName == User.Identity.Name);

            if (person == null)
            {
                return(this.JsonRespData(1000, "当前登录者不存在"));
            }
            var list = dbContext.ST_Store.Where(p => p.IdSupervisor == person.Id || p.Name.Contains(name)).Select(s => new {
                s.Name,
                s.Id
            }).ToPagedList(pageindex, pagesize);
            DdTypeCount Pdrs = new DdTypeCount();

            Pdrs.ListData       = list;                //返回数据体
            Pdrs.PageCount      = list.PageCount;      //数据总数
            Pdrs.PageIndex      = pageindex;           //数据页数
            Pdrs.HasNextPage    = list.HasNextPage;    //是否有下一页
            Pdrs.TotalItemCount = list.TotalItemCount; //数据总数
            return(this.JsonRespData(Pdrs));
        }
        public object SuperList(string name, int pagesize, int pageindex)
        {
            var id   = dbContext.OR_Person.Where(p => p.Name.Contains(name)).Select(p => p.Id).ToList();
            var data = dbContext.CS_CustomerService.AsQueryable();

            if (id.Count() != 0)
            {
                data = dbContext.CS_CustomerService.Where(p => id.Contains(p.PersonId));
            }
            var list = data.Select(p => new
            {
                p.PersonId,
                Name = p.OR_Person.Name
            }).ToPagedList(pageindex, pagesize);
            DdTypeCount Pdrs = new DdTypeCount();

            Pdrs.ListData       = list;                //返回数据体
            Pdrs.PageCount      = list.PageCount;      //数据总数
            Pdrs.PageIndex      = pageindex;           //数据页数
            Pdrs.HasNextPage    = list.HasNextPage;    //是否有下一页
            Pdrs.TotalItemCount = list.TotalItemCount; //数据总数
            return(this.JsonRespData(Pdrs));
        }
Example #5
0
        public object CustomerComplaintList(DdCustomerListModel model)
        {
            try
            {
                //获取当前登录者信息
                var Person = dbContext.OR_Person.FirstOrDefault(p => p.LoginName == User.Identity.Name);
                if (Person == null)
                {
                    return(this.JsonRespData(1000, "登录者不存在,请重新登录"));
                }
                //校验审批人可查看单据(下一个审批人员-审批记录人员)
                var dbdata = dbContext.v_Jusoft_CustomerList.Where(k => k.IdPersonApproval == Person.Id || k.ApprovalIdPerson == Person.Id || k.ConfirmIdPerson == Person.Id);

                var Customerslist = dbdata.Select(s => new
                {
                    s.Id,
                    s.StateId,
                    s.CreateTime,
                    s.State,
                    s.Remark,
                    s.SubclassId,
                    s.AbnormalId,
                    s.IdPersonApproval,
                    s.IdPerson,
                    s.RepairTypeId,
                    s.seachkey
                }).Distinct();//.Where(k => k.IdPerson == Person || k.IdPersonSupervision == Person);
                #region 判断条件
                #region 判断关键字搜索是否为null
                if (!string.IsNullOrEmpty(model.Seachkey))
                {
                    if (model.Seachkey.IndexOf('|') > 0)
                    {
                        return(this.JsonRespData(1001, "搜索不能存在特殊字符"));
                    }
                    Customerslist = Customerslist.Where(k => k.seachkey.Contains(model.Seachkey));
                }
                #endregion
                #region 判断筛选的开始时间是否为null
                if (model.StartTime != null)
                {
                    Customerslist = Customerslist.Where(k => k.CreateTime >= model.StartTime);
                }
                #endregion
                #region 判断筛选的结束时间是否为null
                if (model.EndTime != null)
                {
                    Customerslist = Customerslist.Where(k => k.CreateTime <= model.EndTime);
                }
                #endregion
                #region 判断筛选的客诉类型是否为null
                if (model.CustomerType != null)
                {
                    Customerslist = Customerslist.Where(k => k.StateId == model.CustomerType);
                }
                #endregion
                #region 判断筛选的所属门店是否为null
                if (model.OwnedStores != null)
                {
                    Customerslist = Customerslist.Where(k => k.IdPerson <= model.OwnedStores);
                }
                #endregion
                #region 判断筛选的异常类型是否为null
                if (model.AbnormalType != null)
                {
                    Customerslist = Customerslist.Where(k => k.RepairTypeId <= model.AbnormalType);
                }
                #endregion
                #endregion
                var Untreated  = Customerslist.Where(k => k.State == 0).Count();
                var Processing = Customerslist.Where(k => k.State == 1).Count();
                var Endover    = Customerslist.Where(k => k.State == 2 || k.State == 3 || k.State == 4).Count();
                var AllCount   = Customerslist.Where(k => true).Count();
                if ((model.Type ?? new List <int?>()).Count() > 0)
                {
                    Customerslist = Customerslist.Where(k => model.Type.Contains(k.State));
                }
                var    list     = Customerslist.ToList();
                string url      = HttpContext.Request.Url.ToString().Replace(HttpContext.Request.Url.PathAndQuery, ""); //服务器协议+域名+端口
                var    CusDatas = list.Select(s => new {
                    s.Id,
                    s.StateId,
                    s.CreateTime,
                    s.State,
                    s.Remark,
                    s.SubclassId,
                    SubclassName = dbContext.BA_SysEnType.FirstOrDefault(p => p.Id == s.SubclassId).Name,
                    Abnormal     = dbContext.BA_SysEnType.FirstOrDefault(p => p.Id == s.AbnormalId)?.Name,
                    PersonName   = dbContext.OR_Person.FirstOrDefault(p => p.Id == s.IdPersonApproval)?.Name,
                    HeadUrl      = dbContext.OR_Person.FirstOrDefault(p => p.Id == s.IdPersonApproval)?.HeadUrl,
                    Attachment   = dbContext.BA_Attachment.Where(p => p.SourceId == s.Id && p.CodeBusinessType == "KS01")
                                   .Select(w => new
                    {
                        w.CodeBusinessType,
                        w.Id,
                        w.FileName,
                        FileAccess = url + w.FileAccess
                    }).ToList(),
                }).Distinct().OrderByDescending(p => p.Id).ToPagedList(model.PageIndex, model.PageSize);
                DdTypeCount Pdrs = new DdTypeCount();
                Pdrs.ListData       = CusDatas;
                Pdrs.PageCount      = CusDatas.PageCount;
                Pdrs.PageIndex      = model.PageIndex;
                Pdrs.HasNextPage    = CusDatas.HasNextPage;
                Pdrs.TotalItemCount = CusDatas.TotalItemCount;
                Pdrs.Untreated      = Untreated;
                Pdrs.Processing     = Processing;
                Pdrs.Endover        = Endover;
                Pdrs.AllCount       = AllCount;
                return(this.JsonRespData(Pdrs));
            }
            catch (Exception ex)
            {
                return(this.JsonRespData(1000, ex.Message));
            }
        }