/// <summary>
        /// 票据信息(自动完成)
        /// </summary>
        /// <param name="paySn">票据编号</param>
        /// <param name="barcode">商品条码</param>
        /// <returns>list</returns>
        public static object GetSaleDetailInput(string paySn, string barcode)
        {
            var express   = DynamicallyLinqHelper.Empty <SaleDetail>().And(o => o.Barcode == barcode, barcode.IsNullOrEmpty()).And(o => o.PaySN.StartsWith(paySn), paySn.IsNullOrEmpty());
            var querySale = SaleOrdersService.CurrentRepository.QueryEntity;

            var queryDetail = CurrentRepository.QueryEntity.Where(express);
            var query       = from x in querySale
                              from y in queryDetail
                              where x.PaySN == y.PaySN
                              select new
            {
                y.PaySN,
                y.PurchaseNumber,
                y.SysPrice,
                x.CreateDT,
                x.ApiCode
            };
            var apiList = DataCache.Get <List <ApiLibrary> >("apilib");

            if (apiList == null)
            {
                apiList = ApiLibraryService.FindList(null);
                DataCache.Set("apilib", apiList);
            }
            var list = query.Take(20).ToList();

            return(list.Select(o => new
            {
                ApiText = ApiText(o.ApiCode, apiList),
                o.CreateDT,
                o.PaySN,
                o.PurchaseNumber,
                o.SysPrice,
            }));
        }
        public ActionResult GetProductInputBySupplierId(string supplierID)
        {
            var express = DynamicallyLinqHelper.Empty <VwProduct>().And(o => o.SupplierId == supplierID, supplierID.IsNullOrEmpty());
            var list    = BaseService <VwProduct> .FindList(express);

            return(ToDataGrid(list, list.Count));
        }
示例#3
0
        //支付信息   订单  卡类型
        public List <MemberCardPayDetailsViewModel> GetMemberCardPayDetailsByPageList(string cardType, DateTime?beginDate, DateTime?endDate, int?storeIds, string cardNo, out int count, ref object footer)
        {
            if (endDate.HasValue)
            {
                endDate = (DateTime)endDate.Value.AddDays(1);
            }

            var where = DynamicallyLinqHelper.Empty <Vw_MembershipCardPayDetails>().And(o => o.CompanyId == CommonService.CompanyId)
                        .And(o => o.CreateDT >= beginDate, !beginDate.HasValue)
                        .And(o => o.CreateDT < endDate, !endDate.HasValue)
                        .And(o => o.CardTypeId == cardType, cardType.IsNullOrEmpty())
                        .And(o => o.StoreId == storeIds, !storeIds.HasValue)
                        .And(o => o.CardSN == cardNo, cardNo.IsNullOrEmpty());
            var result = CurrentRepository.Entities.Where(where).Select(o => new MemberCardPayDetailsViewModel()
            {
                Id         = o.Id,
                OrderSN    = o.OrderSN,
                CardSN     = o.CardSN,
                CardType   = o.CardType,
                CreateDT   = o.CreateDT,
                Price      = o.Price,
                StoreTitle = o.StoreTitle
            });
            var payTotal = 0m;

            if (result.Count() > 0)
            {
                payTotal = result.Sum(o => o.Price);
            }
            footer = new List <object> {
                new { CardSN = "累计消费:", Price = payTotal }
            };
            count = result.Count();
            return(result.ToPageList());
        }
示例#4
0
        public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var title       = nvl["title"];
            var classfyId   = nvl["classfyId"].ToType <int>();
            var BrandWhere  = DynamicallyLinqHelper.Empty <ProductBrand>().And(o => o.Title.Contains(title.Trim()), title.IsNullOrEmpty()).And(o => o.ClassifyId == classfyId, classfyId <= 0);
            var queryPro    = ProductRepository.GetQuery();
            var queryBus    = DataDictRepository.GetQuery(o => o.DicPSN == 5);
            var queryBrand  = BrandRepository.GetQuery(BrandWhere);
            var queryTrader = TraderRepository.GetQuery();
            var query       = from x in queryBrand
                              select new
            {
                x.Id,
                x.Source,
                x.State,
                x.Title,
                x.BrandSN,
                x.JianPin,
                StateTitle    = x.State == 1?"可用":"禁用",
                ClassifyTitle = queryBus.Where(i => i.DicSN == x.ClassifyId).Select(i => i.Title).FirstOrDefault(),
                ProductCount  = queryPro.Count(i => i.BrandSN == x.BrandSN),
                TraderTitle   = queryTrader.Where(i => i.CID == x.Source).Select(o => o.Title).FirstOrDefault()
            };

            recordCount = query.Count();
            return(query.ToPageList());
        }
示例#5
0
        /// <summary>
        /// 用于datagrid列表
        /// </summary>
        /// <param name="nvl">传递条件</param>
        /// <param name="recordCount">返回总行数</param>
        /// <returns>list</returns>
        public static object FindPageList(NameValueCollection nvl, out int recordCount)
        {
            var query = BaseService <VwSupplier> .CurrentRepository.Entities.Where(o => o.CompanyId == CommonService.CompanyId);

            var sn      = nvl["searchText"].Trim();
            var state   = nvl["state"].IsNullOrEmpty() ? -1 : short.Parse(nvl["state"]);
            var express = DynamicallyLinqHelper.True <VwSupplier>().And(o =>
                                                                        (o.Title != null && o.Title.Contains(sn)) ||
                                                                        (o.FullTitle != null && o.FullTitle.Contains(sn)) ||
                                                                        (o.MobilePhone != null && o.MobilePhone.Contains(sn)) ||
                                                                        (o.Linkman != null && o.Linkman.Contains(sn)), sn.IsNullOrEmpty())
                          .And(o => o.State == state, state == -1);
            var p = query.Where(express);
            var q = p.Where(o => o.BusinessType == 2);

            recordCount = q.Count();
            var pages = q.ToPageList(nvl);
            var list  = pages.Select(o => new
            {
                o.Id,
                o.Title,
                o.MasterAccount,
                o.Linkman,
                o.MobilePhone,
                o.Tel,
                o.ClassName,
                o.ApplyNum,
                o.Designeer,
                o.BusinessType
            }).ToList();

            return(list);
        }
示例#6
0
        public static IEnumerable <dynamic> DetailPageList(NameValueCollection dicts, out int recordCount)
        {
            var categorys = new List <int>();
            var suppliers = new List <string>();

            if (!dicts["parentType"].IsNullOrEmpty())
            {
                var categorysn = dicts["parentType"].Split(',').Select(o => int.Parse(o)).ToList();
                categorys = ProductCategoryService.GetChildSNs(categorysn, true);
            }
            if (!dicts["supplierId"].IsNullOrEmpty())
            {
                suppliers = dicts["supplierId"].Split(',').ToList();
            }
            var start        = dicts["StartDate"].ToType <DateTime?>();
            var end          = dicts["EndDate"].ToType <DateTime?>();
            var bar          = dicts["Barcode"];
            var store        = dicts["store"];
            var balanceWhere = DynamicallyLinqHelper.Empty <InventoryBalance>().And(o => o.StoreId == store, store.IsNullOrEmpty()).And(o => o.CompanyId == CommonService.CompanyId)
                               .And(o => o.BalanceDate >= start, !start.HasValue).And(o => o.BalanceDate <= end, !end.HasValue);
            var productWhere = DynamicallyLinqHelper.Empty <VwProduct>().And(o => categorys.Contains(o.CategorySN), !categorys.Any()).And(o => suppliers.Contains(o.SupplierId), !suppliers.Any())
                               .And(o => o.CompanyId == CommonService.CompanyId);
            var query1 = from x in BaseService <InventoryBalance> .CurrentRepository.QueryEntity.Where(balanceWhere)
                         from y in BaseService <VwProduct> .CurrentRepository.QueryEntity.Where(productWhere)
                             where (y.Barcode == x.Barcode || ("," + y.Barcodes + ",").Contains("," + x.Barcode + ",")) &&
                         x.Barcode == bar
                         select new {
                x.Id,
                StoreTitle = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(),
                x.Barcode,
                y.Title,
                y.CategoryTitle,
                y.SubUnit,
                x.BalanceDate,
                x.StockAmount,
                x.Number,
                x.SaleAmount
            };
            var query2 = from x in BaseService <InventoryBalance> .CurrentRepository.QueryEntity.Where(balanceWhere)
                         join y in BaseService <Bundling> .CurrentRepository.QueryEntity on new { x.Barcode, x.CompanyId } equals new { Barcode = y.NewBarcode, y.CompanyId }
            where x.Barcode == bar
            select new
            {
                x.Id,
                StoreTitle = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(),
                x.Barcode,
                y.Title,
                CategoryTitle = "",
                SubUnit       = "捆",
                x.BalanceDate,
                x.StockAmount,
                x.Number,
                x.SaleAmount
            };
            var query = query1.Union(query2);

            recordCount = query.Count();
            return(query.ToPageList());
        }
示例#7
0
        public object MyReplyIndexPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var type   = nvl["Type"].ToType <short>();
            var status = nvl["Status"].ToType <short>();
            var begin  = nvl["CreateDT_begin"].ToType <DateTime?>();
            var end    = nvl["CreateDT_end"].ToType <DateTime?>();

            if (end.HasValue)
            {
                end = end.Value.AddDays(1);
            }
            var search    = (nvl["SearchText"] ?? "").Trim();
            var detail    = nvl["detail"];//是否已批复
            var queryUser = UserRepository.GetQuery();
            var queryDict = DictRepository.GetQuery();

            var where = DynamicallyLinqHelper.Empty <Plans>().And(o => o.Type == type, type == 0).And(o => o.Status == status, status == 0)
                        .And(o => o.CreateDT >= begin, !begin.HasValue).And(o => o.CreateDT < end, !end.HasValue).And(o => o.Content.Contains(search), search.IsNullOrEmpty())
                        .And(o => o.LeaderUID.Contains(CurrentUser.UID)).And(o => !(o.Summary == null || o.Summary == ""));
            if (detail.IsNullOrEmpty())
            {
                where = where.And(o => !o.Replys.Any());
            }
            else
            {
                where = where.And(o => o.Replys.Any());
            }
            var query = PlanRepository.GetQuery(where).Include(o => o.Attachments).Include(o => o.Replys);
            var q     = from x in query
                        select new
            {
                x.Id,
                x.AssignerUID,
                Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(),
                Creater  = queryUser.Where(o => o.UserId == x.CreateUID).Select(o => o.FullName).FirstOrDefault(),
                x.Content,
                AttachCount = x.Attachments.Count,
                x.CreateDT,
                x.CreateUID,
                x.StartDate,
                x.EndDate,
                ReplyCount = x.Replys.Count,
                x.Status,
                x.Type,
                x.Summary,
                StatuTitle = queryDict.Where(o => o.DicSN == x.Status).Select(o => o.Title).FirstOrDefault(),
                TypeTitle  = queryDict.Where(o => o.DicSN == x.Type).Select(o => o.Title).FirstOrDefault(),
            };

            recordCount = q.Count();
            var list = q.ToPageList();

            return(list);
        }
        public ActionResult GetSaleOrderInput(string searchName, int?maxRows)
        {
            if (searchName.IsNullOrEmpty())
            {
                return(new EmptyResult());
            }
            var express = DynamicallyLinqHelper.True <SaleOrders>().And(o => o.PaySN != null && o.PaySN.Contains(searchName) && o.State == 0 && o.Type == 0 && o.CompanyId == CommonService.CompanyId);
            var list    = BaseService <SaleOrders> .FindList(express, takeNum : maxRows.HasValue?maxRows.Value : 20);

            return(ToDataGrid(list, 0));
        }
示例#9
0
        /// <summary>
        /// 输入自动完成商品
        /// </summary>
        /// <param name="searchName"></param>
        /// <param name="supplierID"></param>
        /// <returns></returns>
        public ActionResult GetStoreInput(string searchName, int?bigId)
        {
            var category = bigId.HasValue ? bigId.ToString() : "";
            var express  = DynamicallyLinqHelper.Empty <Warehouse>()
                           .And(o => (o.StoreId.StartsWith(searchName)) || o.Title.Contains(searchName), searchName.IsNullOrEmpty())
                           .And(o => ("," + o.CategorySN + ",").Contains("," + category + ","), !bigId.HasValue);

            var list = BaseService <Warehouse> .FindList(express);

            return(ToDataGrid(list, 0));
        }
示例#10
0
        public ActionResult GetBarcodeInput(string searchName, short?nature, short?valuationType, short?flag)
        {
            var express = DynamicallyLinqHelper.Empty <ProductRecord>()
                          .And(o => o.ValuationType == valuationType.Value, !valuationType.HasValue).And(o => o.Barcode.Contains(searchName) || o.Title.Contains(searchName), searchName.IsNullOrEmpty());

            if (flag == 1)
            {
                express = express.And(o => o.Nature != nature.Value, !nature.HasValue);
            }
            else
            {
                express = express.And(o => o.Nature == nature.Value, !nature.HasValue);
            }
            express = express.And(o => o.CompanyId == CommonService.CompanyId);
            var list = BaseService <ProductRecord> .FindList(express, takeNum : 20);

            return(ToDataGrid(list, list.Count));
        }
示例#11
0
        //发件列表
        public static object OutboxList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var query = CurrentRepository.QueryEntity.Include(o => o.Attachments).Where(o => o.SenderCode == Sys.CurrentUser.UserName && o.CompanyId == CommonService.CompanyId);
            var state = nvl["State"].IsNullOrEmpty()?-1:short.Parse(nvl["State"]);
            var title = nvl["searchText"].Trim();

            query       = query.Where(DynamicallyLinqHelper.Empty <SysMailSender>().And(o => o.State == state, state == -1).And(o => o.Title.StartsWith(title), title.IsNullOrEmpty()));
            recordCount = query.Count();
            var list = query.ToPageList();

            return(list.Select(o => new
            {
                o.Id,
                o.CreateDT,
                StateTitle = o.State == 0?"草稿":"已发送",
                o.Title,
                Receiver = o.ReceiverCodes,
                Attach = HasAttach(o.Attachments.Any())
            }));
        }
示例#12
0
        public ActionResult GetProductInput(string searchName, string supplierID, string zp, string storeId, string order, short?getStockNum)
        {
            if (searchName.IsNullOrEmpty())
            {
                return(new EmptyResult());
            }
            var express = DynamicallyLinqHelper.Empty <VwProduct>()
                          .And(o => (o.Barcode != null && o.Barcode.StartsWith(searchName)) || o.Title.Contains(searchName) || (o.Barcodes != null && o.Barcodes.Contains(searchName)))
                          .And(o => o.IsAcceptOrder == 1, order.IsNullOrEmpty()).And(o => o.CompanyId == CommonService.CompanyId);

            if (!supplierID.IsNullOrEmpty())
            {
                var sp   = supplierID.Split(',').ToList();
                var bars = BaseService <ProductMultSupplier> .FindList(o => sp.Contains(o.SupplierId)).Select(o => o.Barcode).Distinct().ToList();

                express = express.And(o => (sp.Contains(o.SupplierId) || bars.Contains(o.Barcode)), supplierID.IsNullOrEmpty());
            }
            if (!storeId.IsNullOrEmpty())
            {
                var ware = WarehouseService.Find(o => o.StoreId == storeId && o.CompanyId == CommonService.CompanyId);
                if (ware != null)
                {
                    var categorySNs = ware.CategorySN.Split(',').Select(o => int.Parse(o)).ToList();
                    var childs      = ProductCategoryService.GetChildSNs(categorySNs, true);
                    express = express.And(o => childs.Contains(o.CategorySN));
                }
            }
            var list = BaseService <VwProduct> .FindList(express, takeNum : 20);

            list = ProductService.SetAssistBarcode(list);
            ProductService.SetSysPrice <VwProduct>(storeId, list, supplierId: supplierID);
            if (getStockNum == 1)
            {
                ProductService.SetStockNum(storeId, list);
            }
            return(ToDataGrid(list, 20));
        }
示例#13
0
        public static object GetUsers(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var result         = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.CompanyId == CommonService.CompanyId);
            var organizationId = nvl["organizationId"].IsNullOrEmpty() ? -1 : int.Parse(nvl["organizationId"]);
            var departmentId   = nvl["departmentId"].IsNullOrEmpty() ? -1 : int.Parse(nvl["departmentId"]);
            var roleGroupsId   = nvl["roleGroupsId"];
            var searchText     = nvl["searchText"];
            var express        = DynamicallyLinqHelper.True <SysUserInfo>().And(o => o.BranchId == organizationId, organizationId == -1).And(o => o.BumenId == departmentId, departmentId == -1)
                                 .And(o => o.RoleIds != null && o.RoleIds.Contains(roleGroupsId), roleGroupsId.IsNullOrEmpty()).And(o => (o.FullName.Contains(searchText) || o.LoginName.Contains(searchText)), searchText.IsNullOrEmpty());

            result      = result.Where(express);
            recordCount = result.Count();
            var list    = result.ToPageList();
            var orgIds  = list.Select(o => o.BranchId).Distinct().ToList();
            var deptIds = list.Select(o => o.BumenId).Distinct().ToList();
            var roleIds = list.Where(o => o.RoleIds != null).SelectMany(o => o.RoleIds.Split(',')).Select(o => int.Parse(o)).Distinct().ToList();
            var orgs    = DepartmentInfoService.FindList(o => orgIds.Contains(o.Id));
            var depts   = DepartmentInfoService.FindList(o => deptIds.Contains(o.Id));
            var roles   = RoleInfoService.FindList(o => roleIds.Contains(o.Id));

            return(list.Select(o => new
            {
                o.Id,
                o.FullName,
                o.LoginName,
                o.BranchId,
                o.BumenId,
                o.RoleIds,
                o.PositionId,
                Sex = o.Sex ? "男" : "女",
                PositionName = o.PositionId,
                OrganizationName = OrganizationName(o.BranchId, orgs),
                DepartmentName = DepartmentName(o.BumenId, orgs),
                RolesName = RolesName(o.RoleIds, roles),
            }));
        }
示例#14
0
        //收件列表
        public static object InboxList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var query = BaseService <SysMailReceive> .CurrentRepository.QueryEntity.Include(o => o.Attachments).Where(o => o.ReceiveCode == Sys.CurrentUser.UserName && o.CompanyId == CommonService.CompanyId);

            var state = nvl["State"].IsNullOrEmpty() ? -1 : short.Parse(nvl["State"]);
            var title = nvl["searchText"].Trim();

            query       = query.Where(DynamicallyLinqHelper.Empty <SysMailReceive>().And(o => o.State == state, state == -1).And(o => o.Title.StartsWith(title), title.IsNullOrEmpty()));
            recordCount = query.Count();
            var list  = query.ToPageList();
            var uids  = list.Select(o => o.SenderCode).Distinct().ToList();
            var users = UserInfoService.FindList(o => uids.Contains(o.LoginName) && o.CompanyId == CommonService.CompanyId);

            return(list.Select(o => new
            {
                o.Id,
                o.CreateDT,
                StateTitle = o.State == 0 ? "未读" : "已读",
                Content = Title(o.Title, o.Body, o.State),
                Sender = Sender(users, o.SenderCode, o.State),
                Attach = HasAttach(o.Attachments.Any()),
                o.State
            }));
        }
        public ActionResult StoreSelect(string storeId, short?state, string date, string checkBatch)
        {
            var express = DynamicallyLinqHelper.True <TreasuryLocks>().And(o => o.LockStoreID == storeId, storeId.IsNullOrEmpty())
                          .And(o => o.State == state, !state.HasValue).And(o => o.CompanyId == CommonService.CompanyId);

            if (!date.IsNullOrEmpty())
            {
                var start = DateTime.Parse(date);
                var end   = start.AddMonths(1);
                express = express.And(o => o.LockDate >= start && o.LockDate < end);
            }
            var list = BaseService <TreasuryLocks> .FindList(express).OrderByDescending(o => o.LockDate).Select(o => new DropdownItem(o.CheckBatch)).ToList();

            if (!checkBatch.IsNullOrEmpty())
            {
                list.Where(o => o.Value == checkBatch).Each(o => o.IsSelected = true);
            }
            list.Insert(0, new DropdownItem("", "请选择", checkBatch.IsNullOrEmpty()));

            var users = _userBLL.GetStoreUser(storeId, null, 0).Select(o => new DropdownItem(o.UID, o.FullName)).ToList();

            users.Insert(0, new DropdownItem("", "请选择", true));
            return(new JsonNetResult(new { batchs = list, users = users }));
        }
示例#16
0
        public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var text        = nvl["searchText"];
            var category    = nvl["category"];
            var assigner    = nvl["assigner"];
            var searchField = nvl["searchField"];
            var state       = nvl["state"];
            var queryDev    = DevicesRepository.GetQuery();
            var queryDict   = DictRepository.GetQuery();
            var queryUser   = UserRepository.GetQuery();

            var where = DynamicallyLinqHelper.Empty <DeviceAuthorize>();
            if (!text.IsNullOrEmpty())
            {
                int cid = 0;
                text = text.Trim();
                int.TryParse(text, out cid);
                if (searchField == "Cid")
                {
                    where = where.And(o => o.CID == cid);
                }
                else if (searchField == "DeviceNo")
                {
                    where = where.And(o => o.DeviceNo != null && o.DeviceNo.StartsWith(text));
                }
                else if (searchField == "ContractNo")
                {
                    where = where.And(o => o.ContractNo != null && o.ContractNo.StartsWith(text));
                }
            }
            if (!state.IsNullOrEmpty())
            {
                var st = short.Parse(state);
                where = where.And(o => o.Status == st);
            }
            if (!assigner.IsNullOrEmpty())
            {
                where = where.And(o => o.AssignerUID == assigner);
            }
            var queryDevAuth = DeviceAuthorRepository.GetQuery(where);
            var query        = from x in queryDevAuth
                               join y in queryDev on x.DeviceId equals y.DeviceId
                               select new
            {
                x.Id,
                x.CID,
                x.Title,
                x.Source,
                Category = queryDict.Where(o => o.DicSN == y.CategoryId).Select(o => o.Title).FirstOrDefault(),
                y.Spec,
                y.Brand,
                x.DeviceNo,
                x.StoreName,
                x.EffectiveDT,
                x.ValidityNum,
                x.ExpirationDT,
                x.ContractNo,
                x.Status,
                y.CategoryId,
                x.CreateDT,
                x.MachineNo,
                Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault()
            };

            if (!category.IsNullOrEmpty())
            {
                var st = short.Parse(category);
                query = query.Where(o => o.CategoryId == st);
            }
            recordCount = query.Count();
            return(query.ToPageList());
        }
        /// <summary>
        /// 获取品类/具体商品/品牌列表
        /// </summary>
        /// <param name="recordCount">总数</param>
        /// <returns>品类/具体商品/品牌列表</returns>
        public object LoadTypeList(int Id, int type, out int recordCount)
        {
            recordCount = 0;
            if (Id == 0)
            {
                return(null);
            }
            var dal = new Pharos.Logic.DAL.MakingCouponCardDAL();
            var obj = BaseService <MakingCouponCard> .FindById(Id);

            int    proTypes = -1;
            string proCodes = "";

            if (obj != null)
            {
                proTypes = obj.ProductTypes;
                proCodes = obj.ProductCode;
            }
            if (proTypes == 2 && proTypes == type)//指定品类
            {
                var dt   = dal.GetCategoryList(proCodes);
                var list = dt.AsEnumerable().Select(dr => new
                {
                    BigCategoryTitle = dr["BigCategoryTitle"],
                    MidCategoryTitle = dr["MidCategoryTitle"],
                    SubCategoryTitle = dr["SubCategoryTitle"],
                    CategorySN       = dr["CategorySN"]
                }).ToList();
                recordCount = list.Count;
                return(list);
            }
            else if (proTypes == 3 && proTypes == type)//具体商品
            {
                var proList = proCodes.Split(',').ToList();
                //var query = queryProduct.Where(o => proList.Contains(o.Barcode));
                var list = new List <VwProduct>();
                for (int i = 0; i < proList.Count(); i++)
                {
                    var item = proList[i];
                    if (!string.IsNullOrEmpty(item))
                    {
                        var express = DynamicallyLinqHelper.Empty <VwProduct>()
                                      .And(o => ((o.CompanyId == CommonService.CompanyId) && ((o.Barcode == item) || ("," + o.Barcodes + ",").Contains("," + item + ","))));
                        var model = BaseService <VwProduct> .FindList(express);

                        list.AddRange(model);
                    }
                }
                recordCount = list.Count;
                return(list);
            }
            else if (proTypes == 4 && proTypes == type)//指定品牌
            {
                var dt   = dal.GetBrandList(proCodes);
                var list = dt.AsEnumerable().Select(dr => new
                {
                    Id            = dr["Id"],
                    BrandSN       = dr["BrandSN"],
                    Title         = dr["Title"],
                    JianPin       = dr["JianPin"],
                    Num           = dr["Num"],
                    ClassifyTitle = dr["ClassifyTitle"]
                }).ToList();
                recordCount = list.Count;
                return(list);
            }
            else
            {
                return(null);
            }
        }
示例#18
0
        public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int count)
        {
            var treeId      = nvl["treeId"].ToType <int?>();
            var ids         = nvl["ids"].ToIntArray();
            var role        = nvl["role"];
            var status      = nvl["status"].ToIntArray();
            var searchField = nvl["searchField"];
            var searchText  = nvl["searchText"];
            int userCode    = 0;

            int.TryParse(searchText, out userCode);
            var where = DynamicallyLinqHelper.Empty <SysUser>().And(o => status.Contains(o.Status), status == null || !status.Any())
                        .And(o => o.DeptId == treeId, treeId == 0 || !treeId.HasValue)
                        .And(o => ids.Contains(o.Id), ids == null || !ids.Any())
                        .And(o => ("," + o.RoleIds + ",").Contains("," + role + ","), role.IsNullOrEmpty())
                        .And(o => o.FullName != null && o.FullName.Contains(searchText), searchField != "1" || searchText.IsNullOrEmpty())
                        .And(o => o.UserCode >= userCode, searchField != "2" || userCode <= 0)
                        .And(o => o.LoginName != null && o.LoginName.Contains(searchText), searchField != "3" || searchText.IsNullOrEmpty());

            var queryUser     = UserRepository.GetQuery(where);
            var queryPosition = PositionRepository.GetQuery();
            var queryDept     = DepartRepository.GetQuery();
            var query         = from x in queryUser
                                select new {
                x.Id,
                x.UserCode,
                x.FullName,
                x.LoginName,
                x.DeptId,
                x.PositId,
                DeptTitle     = queryDept.Where(o => o.DeptId == x.DeptId).Select(o => o.Title).FirstOrDefault(),
                PositionTitle = queryPosition.Where(o => o.PositId == x.PositId).Select(o => o.Title).FirstOrDefault(),
                x.CreateDT,
                x.LoginDT,
                x.Status,
                x.IsSuper,
                x.RoleIds
            };

            count = query.Count();
            var list    = query.ToPageList();
            var roleIds = list.Where(o => !o.RoleIds.IsNullOrEmpty()).SelectMany(o => o.RoleIds.Split(',')).Where(o => !o.IsNullOrEmpty()).Select(o => int.Parse(o)).Distinct();
            var rolels  = RoleRepository.GetQuery(o => roleIds.Contains(o.RoleId)).ToList();

            return(list.Select(x => new
            {
                x.Id,
                x.UserCode,
                FullName = x.FullName + (x.IsSuper?" (超管)":""),
                x.LoginName,
                x.DeptId,
                x.PositId,
                x.CreateDT,
                x.LoginDT,
                x.Status,
                x.IsSuper,
                x.RoleIds,
                x.DeptTitle,
                x.PositionTitle,
                RoleTitles = GetRoleTitles(x.RoleIds, rolels)
            }));
        }
示例#19
0
        public object IndexPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var type   = nvl["Type"].ToType <short>();
            var status = nvl["Status"].ToType <short>();
            var begin  = nvl["CreateDT_begin"].ToType <DateTime?>();
            var end    = nvl["CreateDT_end"].ToType <DateTime?>();

            if (end.HasValue)
            {
                end = end.Value.AddDays(1);
            }
            var search      = (nvl["SearchText"] ?? "").Trim();
            var assignerUID = (nvl["AssignerUID"] ?? "").Trim();
            var all         = nvl["all"];//是否所有计划
            var assigers    = assignerUID.Split(',').ToList();
            var queryUser   = UserRepository.GetQuery();
            var queryDict   = DictRepository.GetQuery();

            var where = DynamicallyLinqHelper.Empty <Plans>().And(o => o.Type == type, type == 0).And(o => o.Status == status, status == 0)
                        .And(o => o.CreateDT >= begin, !begin.HasValue).And(o => o.CreateDT < end, !end.HasValue).And(o => o.Content.Contains(search), search.IsNullOrEmpty());


            if (all.IsNullOrEmpty())
            {
                where = where.And(o => (o.CreateUID == CurrentUser.UID || o.AssignerUID == CurrentUser.UID));
            }
            else
            {
                if (CurrentUser.HasPermiss(255))//查看所有人员
                {
                    where = where.And(o => (o.Summary == null || o.Summary == ""));
                }
                else if (CurrentUser.HasPermiss(99))//查看本部门及以下
                {
                    var users = CurrentUser.GetAllCreateUIDByDeptId(CurrentUser.DeptId);
                    where = where.And(o => (users.Contains(o.CreateUID) || o.LeaderUID.Contains(CurrentUser.UID)) && (o.Summary == null || o.Summary == ""));
                }
                else
                {
                    where = where.And(o => o.LeaderUID.Contains(CurrentUser.UID)).And(o => (o.Summary == null || o.Summary == ""));
                }
                where = where.And(o => assigers.Contains(o.AssignerUID), assignerUID.IsNullOrEmpty());
            }
            var query = PlanRepository.GetQuery(where).Include(o => o.Attachments).Include(o => o.Replys);
            var q     = from x in query
                        select new
            {
                x.Id,
                x.AssignerUID,
                Assigner = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(),
                Creater  = queryUser.Where(o => o.UserId == x.CreateUID).Select(o => o.FullName).FirstOrDefault(),
                x.Content,
                AttachCount = x.Attachments.Count,
                x.CreateDT,
                x.CreateUID,
                x.StartDate,
                x.EndDate,
                ReplyCount = x.Replys.Count,
                x.Status,
                x.Type,
                x.Summary,
                StatuTitle = queryDict.Where(o => o.DicSN == x.Status).Select(o => o.Title).FirstOrDefault(),
                TypeTitle  = queryDict.Where(o => o.DicSN == x.Type).Select(o => o.Title).FirstOrDefault(),
            };

            recordCount = q.Count();
            var list = q.ToPageList();

            return(list);
        }
示例#20
0
        public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            var text            = nvl["searchText"];
            var searchField     = nvl["searchField"];
            var state           = nvl["state"];
            var Assigner        = nvl["Assigner"];
            var Way             = nvl["Way"];
            var OpenVersionId   = nvl["OpenVersionId"];
            var ValidityNum     = nvl["ValidityNum"];
            var queryUser       = UserRepository.GetQuery();
            var queryDict       = DataDictRepository.GetQuery();
            var queryProductVer = ProductVerRepository.GetQuery();
            var bussinessList   = BusinessRepository.GetQuery().ToList();

            var where = DynamicallyLinqHelper.Empty <CompanyAuthorize>();
            if (!text.IsNullOrEmpty())
            {
                int cid = 0;
                text = text.Trim();
                int.TryParse(text, out cid);
                if (searchField == "Cid")
                {
                    where = where.And(o => o.CID == cid);
                }
                else if (searchField == "Title")
                {
                    where = where.And(o => o.Title.Contains(text));
                }
                else if (searchField == "ContractNo")
                {
                    where = where.And(o => o.ContractNo != null && o.ContractNo.StartsWith(text));
                }
            }
            short way = 0, st = 0, verid = 0, validnum = 0;

            short.TryParse(Way, out way);
            short.TryParse(state, out st);
            short.TryParse(OpenVersionId, out verid);
            short.TryParse(ValidityNum, out validnum);
            where = where.And(o => o.AssignerUID == Assigner, Assigner.IsNullOrEmpty()).And(o => o.Way == way, Way.IsNullOrEmpty()).And(o => o.Status == st, state.IsNullOrEmpty())
                    .And(o => o.OpenVersionId == verid, OpenVersionId.IsNullOrEmpty()).And(o => o.ValidityNum == validnum, ValidityNum.IsNullOrEmpty());
            var query = CompanyAuthorRepository.GetQuery(where);
            var q     = from x in query
                        join y in queryProductVer on x.OpenVersionId equals y.ProductId
                        select new
            {
                x.Id,
                x.CreateDT,
                x,
                BusinessModeTitle = queryDict.Where(o => o.DicSN == x.BusinessMode).Select(o => o.Title).FirstOrDefault(),
                Assigner          = queryUser.Where(o => o.UserId == x.AssignerUID).Select(o => o.FullName).FirstOrDefault(),
                y.ProductId,
                y.SysName
            };

            recordCount = q.Count();
            var list = q.ToPageList();

            return(list.Select(o => new{
                o.x.Id,
                o.x.CID,
                o.x.Source,
                o.x.Way,
                o.x.AppProper,
                o.x.StoreProper,
                o.x.Title,
                o.x.ContractNo,
                o.x.EffectiveDT,
                o.x.ExpirationDT,
                o.x.ValidityNum,
                o.x.UserNum,
                o.x.StoreNum,
                o.x.PosMinorDisp,
                o.x.MemberShared,
                o.x.OpenVersionId,
                o.x.Status,
                o.x.SupperAccount,
                o.x.CreateDT,
                o.x.OpenScopeId,
                o.BusinessModeTitle,
                o.Assigner,
                OpenVersionTitle = "(" + o.ProductId + ")" + o.SysName,
                StatusTitle = Enum.GetName(typeof(CompanyAuthorizeState), o.x.Status),
                OpenScopeTitle = o.x.OpenScopeId.IsNullOrEmpty() ? "" : string.Join(",", bussinessList.Where(i => o.x.OpenScopeId.Split(',').Contains(i.ById)).Select(i => i.Title))
            }));
        }
示例#21
0
        /// <summary>
        /// 用于datagrid列表
        /// </summary>
        /// <param name="searchText">传递条件</param>
        /// <param name="recordCount">返回总行数</param>
        /// <returns>list</returns>
        public static IEnumerable <dynamic> FindMemberPageList(NameValueCollection nvl, ref int rowCount, ref object footer)
        {
            var StoreId           = nvl["StoreId"];
            var MemberGroupId     = nvl["MemberGroupId"];
            var cityInfo          = nvl["CurrentCityId_0"];
            int?currentProvinceID = null;
            int?currentCityId     = null;
            int?currentcountyId   = null;

            if (cityInfo.Contains(","))
            {
                var cityInfoArry = cityInfo.Split(',');
                currentProvinceID = cityInfoArry[0].ToType <int?>();
                currentCityId     = cityInfoArry[1].ToType <int?>();
                if (cityInfoArry.Length == 3)
                {
                    currentcountyId = cityInfoArry[2].ToType <int?>();
                }
            }
            else
            {
                currentProvinceID = cityInfo.ToType <int?>();
            }
            //var CurrentCityId = nvl["CurrentCityId"].ToType<int?>();
            var MemberLevelId = nvl["MemberLevelId"];
            var date1         = nvl["date1"].ToType <DateTime?>();
            var date2         = nvl["date2"].ToType <DateTime?>();

            if (date2.HasValue)
            {
                date2 = date2.Value.AddDays(1);
            }
            var searchField = nvl["searchField"];
            var searchText  = nvl["searchText"].Replace(" ", "");

            var whereMember = DynamicallyLinqHelper.Empty <Members>().And(o => o.CompanyId == CommonService.CompanyId).And(o => o.StoreId == StoreId, StoreId.IsNullOrEmpty())
                              .And(o => o.MemberGroupId == MemberGroupId, MemberGroupId.IsNullOrEmpty())
                              .And(o => o.CurrentProvinceId == currentProvinceID, !currentProvinceID.HasValue)
                              .And(o => o.CurrentCityId == currentCityId, !currentCityId.HasValue)
                              .And(o => o.CurrentCountyId == currentcountyId, !currentcountyId.HasValue)
                              .And(o => o.MemberLevelId == MemberLevelId, MemberLevelId.IsNullOrEmpty())
                              .And(o => o.CreateDT >= date1, !date1.HasValue)
                              .And(o => o.CreateDT < date2, !date2.HasValue)
                              .And(o => o.MemberNo != null && o.MemberNo.Contains(searchText), searchField != "1" || searchText.IsNullOrEmpty())
                              .And(o => o.RealName != null && o.RealName.Contains(searchText), searchField != "2" || searchText.IsNullOrEmpty())
                              .And(o => o.MobilePhone != null && o.MobilePhone.Contains(searchText), searchField != "4" || searchText.IsNullOrEmpty())
                              .And(o => o.Weixin != null && o.Weixin.Contains(searchText), searchField != "5" || searchText.IsNullOrEmpty())
                              .And(o => o.Zhifubao != null && o.Zhifubao.Contains(searchText), searchField != "6" || searchText.IsNullOrEmpty())
                              .And(o => o.Email != null && o.Email.Contains(searchText), searchField != "7" || searchText.IsNullOrEmpty())
                              .And(o => o.QQ != null && o.QQ.Contains(searchText), searchField != "8" || searchText.IsNullOrEmpty())
                              .And(o => o.CompanyId == CommonService.CompanyId);
            var whereCard = DynamicallyLinqHelper.Empty <MembershipCard>().And(o => o.CardSN != null && o.CardSN.Contains(searchText), searchField != "3" || searchText.IsNullOrEmpty());
            var query     = from x in CurrentRepository.QueryEntity.Where(whereMember)
                            where searchField != "3" || (searchField == "3" && !(searchText == null || searchText == "") && BaseService <MembershipCard> .CurrentRepository.QueryEntity.Any(o => o.CardSN != null && o.CardSN.Contains(searchText) && o.MemberId == x.MemberId))
                            select new
            {
                x.Id,
                x.StoreId,
                x.MemberNo,
                x.RealName,
                x.Sex,
                x.UsableBalance,
                x.UsableIntegral,
                x.RechargeTotal,
                x.ConsumeTotal,
                x.MemberGroupId,
                x.MemberLevelId,
                x.DefaultPreferentialId,
                x.DefaultIntegrationId,
                x.IDNumber,
                x.Birthday,
                x.MobilePhone,
                x.Weixin,
                x.Zhifubao,
                x.Email,
                x.Status,
                x.CreateUID,
                x.CreateDT,
                StoreTitle  = WarehouseService.CurrentRepository.QueryEntity.Where(o => o.StoreId == x.StoreId && o.CompanyId == x.CompanyId).Select(o => o.Title).FirstOrDefault(),
                CurrentCity = BaseService <Area> .CurrentRepository.QueryEntity.Where(o => o.AreaID == x.CurrentCityId).Select(o => o.Title).FirstOrDefault(),
                FullName    = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.UID == x.CreateUID).Select(o => o.FullName).FirstOrDefault(),
                Referrer    = UserInfoService.CurrentRepository.QueryEntity.Where(o => o.UID == x.ReferrerUID).Select(o => o.FullName).FirstOrDefault(),
                MemberLevel = BaseService <MemberLevel> .CurrentRepository.QueryEntity.Where(o => o.MemberLevelId == x.MemberLevelId).Select(o => o.LevelTitle).FirstOrDefault(),
                MemberGroup = BaseService <Grouping> .CurrentRepository.QueryEntity.Where(o => o.GroupId == x.MemberGroupId).Select(o => o.Title).FirstOrDefault(),
                MemberCards = BaseService <MembershipCard> .CurrentRepository.QueryEntity.Where(o => o.CompanyId == x.CompanyId && o.MemberId == x.MemberId).Select(o => o.CardSN).FirstOrDefault(),
                Coupons     = BaseService <CouponCardDetail> .CurrentRepository.QueryEntity.Count(o => o.UsePerson == x.MemberId)
            };

            rowCount = query.Count();
            return(query.ToPageList());
        }