diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Common/DataValidationService.cs b/admin.net.pro/Admin.NET/Vistar.Application/Common/DataValidationService.cs index 5912468..8aac6fa 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Common/DataValidationService.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Common/DataValidationService.cs @@ -8,8 +8,10 @@ using Admin.NET.Core; using DocumentFormat.OpenXml.Drawing.Spreadsheet; using Furion.DependencyInjection; using Furion.DynamicApiController; +using Microsoft.AspNetCore.Server.IISIntegration; using NewLife; using RazorEngine; +using RazorEngine.Compilation.ImpromptuInterface; using System; using System.Collections.Generic; using System.Linq; @@ -30,6 +32,7 @@ public class DataValidationService : IDynamicApiController, ITransient public SqlSugarRepository _obj122Rep; public SqlSugarRepository _obj137Rep; public SqlSugarRepository _objectTypeCheckListRep; + public SqlSugarRepository _configurationDataRep; public DataValidationService( SqlSugarRepository obj110Rep, SqlSugarRepository obj109Rep, @@ -37,7 +40,9 @@ public class DataValidationService : IDynamicApiController, ITransient SqlSugarRepository obj133Rep, SqlSugarRepository obj122Rep, SqlSugarRepository obj137Rep, - SqlSugarRepository objectTypeCheckList + SqlSugarRepository objectTypeCheckList, + SqlSugarRepository configurationDataRep + ) { _obj110Rep = obj110Rep; @@ -47,6 +52,7 @@ public class DataValidationService : IDynamicApiController, ITransient _obj122Rep = obj122Rep; _obj137Rep = obj137Rep; _objectTypeCheckListRep = objectTypeCheckList; + _configurationDataRep = configurationDataRep; } /// /// 验证物料是否存在 @@ -55,7 +61,7 @@ public class DataValidationService : IDynamicApiController, ITransient /// 物料编码 /// 物料guid /// - public async Task VerificationMaterial(long objId, string materialCode,string recordGuid) + public async Task VerificationMaterial(long objId, string materialCode, string recordGuid) { string verification = "不存在"; var tasks = new List>(); @@ -179,4 +185,120 @@ public class DataValidationService : IDynamicApiController, ITransient } return unit; } + + /// + /// 获取记录ID + /// + /// 对象id + /// 物料guid + /// + public async Task GetRecordId(long objId, string recordGuid) + { + long idRecord = 0; + if (objId == 137) + { + var data = await _obj137Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync(); + idRecord = data.idRecord; + } + if (objId == 112) + { + var data = await _obj112Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync(); + idRecord = data.idRecord; + } + return idRecord; + } + + /// + /// 通过id和对象id获取物料编码 + /// + /// 对象id + /// 物料guid + /// + public async Task GetCoding(long objId, long id) + { + string coding = "编码不存在"; + if (objId == 137) + { + var data = await _obj137Rep.AsQueryable().Where(x => x.idRecord == id).FirstAsync(); + coding = data._System_objNBS; + } + if (objId == 112) + { + var data = await _obj112Rep.AsQueryable().Where(x => x.idRecord == id).FirstAsync(); + coding = data._System_objNBS; + } + return coding; + } + + /// + /// 获取行号 + /// + /// 对象id + /// guid + /// 版本 + /// 配置id + /// + public async Task GetLineNumber(long objId, string recordGuid, int versionIndex, int configId) + { + int lineNumber = 0; + + if (objId==118) + { + lineNumber = await _configurationDataRep.AsQueryable().Where(x => x.ParentGuid == recordGuid && x.isDeleted == false && x.ParentVersion == versionIndex && x.ConfigId == configId && x.isSuppressed == false && x.inContext == false).CountAsync(); + } + + return lineNumber; + } + + /// + /// 生成guid + /// + /// + public async Task GetGuid() + { + await Task.Delay(0); + // 生成一个新的Guid实例 + Guid guid = Guid.NewGuid(); + + // 将Guid转换为字符串形式 + string uuidString = guid.ToString(); + + return uuidString; + } + + /// + /// 对比物料版本 + /// + /// + /// + /// + /// + /// + public async Task ComparativeVersion(long objId, string recordGuid, int newVersion, int olderVersion) + { + string contrastResult =""; + + if (objId == 137) + { + var contrastNewData = await _obj137Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == newVersion).FirstAsync(); + var contrastOlderData = await _obj137Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == olderVersion).FirstAsync(); + if (contrastNewData.revision == contrastOlderData.revision) + { + contrastResult = "是"; + } + } + if (objId == 112) + { + var contrastNewData = await _obj112Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == newVersion).FirstAsync(); + var contrastOlderData = await _obj112Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == olderVersion).FirstAsync(); + if (contrastNewData.revision == contrastOlderData.revision) + { + contrastResult = "是"; + } + } + + + return contrastResult; + } + }