using System.Dynamic; using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Enums; using JNPF.Common.Extension; using JNPF.Common.Filter; using JNPF.Common.Security; using JNPF.FriendlyException; using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using JNPF.VisualDev.Entitys; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Interfaces; using Mapster; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NPOI.SS.Formula.Functions; using Senparc.Weixin.MP.AdvancedAPIs.Card; using SqlSugar; using Tnb.EquipMgr; using Tnb.EquipMgr.Entities; using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities.Consts; using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto.Inputs; using Tnb.WarehouseMgr.Entities.Entity; using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Interfaces; using Top.Api; namespace Tnb.WarehouseMgr { /// /// 载具绑定 /// [OverideVisualDev(ModuleConsts.MODULE_WMSTRANSFERINSTOCKH_ID)] public class TransferInstockHService : BaseWareHouseService { private readonly ISqlSugarClient _db; private readonly IRunService _runService; private readonly IVisualDevService _visualDevService; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; public TransferInstockHService( ISqlSugarRepository repository, IRunService runService, IVisualDevService visualDevService, IUserManager userManager, IBillRullService billRullService) { _db = repository.AsSugarClient(); _runService = runService; _visualDevService = visualDevService; _userManager = userManager; _billRullService = billRullService; //OverideFuncs.GetListAsync = GetList; } [NonAction] private async Task GetList(VisualDevModelListQueryInput input) { try { SqlSugarPagedList result = await _db.Queryable() .ToPagedListAsync(input.currentPage, input.pageSize); var _data = PageResult.SqlSugarPageResult(result); var json = JsonConvert.SerializeObject(_data); var data = JsonConvert.DeserializeObject(json); JArray mainTable = data.list; ISugarQueryable wmsTransferInstockDs = _db.Queryable().Where(r => mainTable.Select(r => r["id"].ToString()).ToList().Contains(r.bill_id)); foreach (JObject wmsTransferInstockH in mainTable) { wmsTransferInstockH["tablefield105"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList())); } return data; } catch(Exception ex) { return Task.FromResult(ex); } } [HttpPost, NonUnify, AllowAnonymous] public async Task List(TransferInstockHListInput input) { try { JObject jobject = new JObject(); jobject["code"] = "200"; List wmsTransferInstockDs = _db.Queryable().Where(r => r.bill_id == input.id).ToList(); jobject["data"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs)); return await Task.FromResult(jobject); } catch (Exception ex) { return Task.FromResult(ex); } } } }