public PagedResult <Equipment> List([FromBody] EquipmentQueryModel model, [FromQuery] int page, [FromQuery] int count)
        {
            var set = _db.Set <Equipment>().AsQueryable();

            if (model.TypeId.HasValue)
            {
                set = set.Where(e => e.TypeId == model.TypeId);
            }
            if (!string.IsNullOrEmpty(model.Search))
            {
                set = set.Where(e => e.Code.Contains(model.Search) || e.Name.Contains(model.Search));
            }

            var result = set.OrderBy(e => e.Id).Select(e => new Equipment()
            {
                Id        = e.Id,
                CabinCode = e.CabinCode,
                CabinName = e.CabinName,
                TypeId    = e.TypeId,
                Type      = new EquipmentType()
                {
                    Name = e.Type.Name
                },
                Code = e.Code,
                Name = e.Name
            });

            return(new PagedResult <Equipment>(result, page, count));
        }
Пример #2
0
        public EquipmentListModel GetEquipmentByPagination(EquipmentQueryModel queryModel)
        {
            StringBuilder where = new StringBuilder();
            if (!string.IsNullOrEmpty(queryModel.QueryArgs))
            {
                where.Append($" and (`EquipmentName` like '%{queryModel.QueryArgs}%'");
                where.Append($" or `LastMaintenanceNames` like '%{queryModel.QueryArgs}%'");
                where.Append($" or `FixedAssetId` like '%{queryModel.QueryArgs}%' ) ");
            }


            StringBuilder sqlBuilder1 = new StringBuilder();

            sqlBuilder1.Append($"SELECT * FROM `ttl`.`ttl_engineering_equipment` WHERE isdelete=0 {where.ToString()} LIMIT {queryModel.StartIndex},{queryModel.PageSize}; ");

            StringBuilder sqlBuilder2 = new StringBuilder();

            sqlBuilder2.Append($"SELECT COUNT(1) FROM `ttl`.`ttl_engineering_equipment` WHERE isdelete=0 {where.ToString()};");

            EquipmentListModel resultModel = new EquipmentListModel();

            using (var gridReader = _dbContext.QueryMultiple($"{sqlBuilder1.ToString()}{sqlBuilder2.ToString()}"))
            {
                resultModel.EquipmentList = gridReader.Read <EquipmentModel>().ToList();
                resultModel.TotalCount    = gridReader.Read <int>().Single();
            }
            resultModel.PageIndex = queryModel.PageIndex;
            resultModel.PageSize  = queryModel.PageSize;
            resultModel.QueryArgs = queryModel.QueryArgs;
            return(resultModel);
        }
        public ActionResult EquList(EquipmentQueryModel query, string keywords)
        {
            var eId = 0L;

            if (long.TryParse(keywords, out eId))
            {
                query.DeviceIdLike = eId;
            }
            else
            {
                query.NameLike = keywords;
            }

            using (var db = new MbContext())
            {
                //DOTO 获取当前单位下拥有的设备
                if (CurrentUser.User.RoleKey.HasFlag(LZY.BX.Model.Enum.UserType.UseCompanyUserAdmin))
                {
                    var equipmentModel = db.Device
                                         .Where(query)
                                         .Where(x => x.UseCompanyId == CurrentUser.User.UseCompanyId);

                    //设备列表主数据
                    query.Data = equipmentModel
                                 .OrderByDescending(x => x.CreateTime)
                                 .Skip(query.PageInfo.RecIndex)
                                 .Take(query.PageInfo.PageSize)
                                 .ToList();

                    ////制造商字典
                    //var manufactorerIds = query.Data.Select(x => x.ManufacturerId).ToList();

                    //query.ManufactorerDic = db.Manufacturer
                    //    .Where(x => manufactorerIds.Contains(x.ManufacturerId))
                    //     .ToLookup(x => x.ManufacturerId)
                    //    .ToDictionary(x => x.Key, x => x.First());

                    //品牌字典
                    var brandsIds = query.Data.Select(x => x.BrandId).ToList();

                    query.BrandDic = db.Brand
                                     .Where(x => brandsIds.Contains(x.BrandId))
                                     .ToLookup(x => x.BrandId)
                                     .ToDictionary(x => x.Key, x => x.First());

                    ////设备信息
                    var equipmentIds = query.Data.Select(x => x.CategoryId).ToList();

                    query.CategoryDic = db.Category
                                        .Where(t => equipmentIds.Contains(t.CategoryId))
                                        .ToLookup(x => x.CategoryId)
                                        .ToDictionary(x => x.Key, x => x.First());

                    //设备数量
                    query.PageInfo.TotalCount = equipmentModel.Count();
                }
            }
            return(View(query));
        }
Пример #4
0
        public IActionResult List()
        {
            EquipmentQueryModel queryModel = new EquipmentQueryModel();

            if (!string.IsNullOrEmpty(Request.Query["page"]))
            {
                queryModel.PageIndex = Convert.ToInt32(Request.Query["page"]);
            }
            if (!string.IsNullOrEmpty(Request.Query["args"]))
            {
                queryModel.QueryArgs = Request.Query["args"];
            }
            EquipmentListModel equipmentResult = _equipmentService.GetEquipmentByPagination(queryModel);

            equipmentResult.MatchQueryArgs();
            ViewBag.Equipment = equipmentResult;
            return(View());
        }
 public ActionResult Mng(EquipmentQueryModel query, string keywords)
 {
     return(View());
 }
Пример #6
0
        public IActionResult RunList([FromBody] EquipmentQueryModel queryMode)
        {
            EquipmentListModel equipmentResult = _equipmentService.GetEquipmentByPagination(queryMode);

            return(new JsonResult(equipmentResult));
        }