// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 // // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 // // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! using Admin.NET.Core; using Furion.DependencyInjection; using Furion.DynamicApiController; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Vistar.Application.Entity; using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinAccountGetAccountBasicInfoResponse.Types; namespace Vistar.Application.Common; public class DataValidationService : IDynamicApiController, ITransient { private readonly SqlSugarRepository _obj110Rep; public SqlSugarRepository _obj118Rep; public SqlSugarRepository _obj109Rep; public SqlSugarRepository _obj112Rep; public SqlSugarRepository _obj133Rep; public SqlSugarRepository _obj122Rep; public DataValidationService( SqlSugarRepository obj110Rep, SqlSugarRepository obj109Rep, SqlSugarRepository obj112Rep, SqlSugarRepository obj133Rep, SqlSugarRepository obj122Rep ) { _obj110Rep = obj110Rep; _obj109Rep = obj109Rep; _obj112Rep = obj112Rep; _obj133Rep = obj133Rep; _obj122Rep = obj122Rep; } /// /// 验证物料是否存在 /// /// 对象id /// 物料编码 /// 物料guid /// public async Task VerificationMaterial(long objId, string materialCode,string recordGuid) { string verification = "不存在"; var tasks = new List>(); switch (objId) { case 110: tasks.Add(_obj110Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); break; case 109: tasks.Add(_obj109Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); break; case 112: tasks.Add(_obj112Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); break; case 133: tasks.Add(_obj133Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); break; case 122: tasks.Add(_obj122Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); break; } if (tasks.Count > 0) { var result = await Task.WhenAll(tasks); verification = result.Any(count => count > 0) ? "存在" : "不存在"; } return verification; } public async Task ChangeModuleMaterial(long objId, string recordGuid) { string encoding = ""; if (objId==110) { var data = await _obj110Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false).FirstAsync(); encoding = data._System_objNBS; } return encoding; } }