using JNPF.Common.Core.Manager; using JNPF.Common.Filter; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using SqlSugar; using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Interfaces; namespace Tnb.EquipMgr { /// /// 设备技术参数 /// [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)] [Route("api/[area]/[controller]/[action]")] public class EqpTechnologyParameterService : IEqpTechnologyParameterService, IDynamicApiController, ITransient { private readonly ISqlSugarRepository _repository; private readonly IUserManager _userManager; public EqpTechnologyParameterService(ISqlSugarRepository repository, IUserManager userManager) { _userManager = userManager; _repository = repository; } [HttpPost] public async Task GetEquipTechnologyParameterList(EquipQueryInput input) { ISqlSugarClient db = _repository.AsSugarClient(); Dictionary? queryJson = new(); if (input != null && !string.IsNullOrEmpty(input.queryJson)) { queryJson = JsonConvert.DeserializeObject>(input?.queryJson ?? ""); } SqlSugarPagedList result = await db.Queryable() .WhereIF(input != null, a => a.equip_id == input!.equip_id) .WhereIF(queryJson != null && queryJson.ContainsKey("name"), a => a.name.Contains(queryJson!["name"])) .Select(a => new EquipTechnologyParameterQueryOutput { id = a.id, name = a.name, definition = a.definition, remark = a.remark }).ToPagedListAsync(input?.currentPage ?? 1, input?.pageSize ?? 50); return PageResult.SqlSugarPageResult(result); } } }