😎更改方法查询方式为db

This commit is contained in:
bairubing 2025-01-15 14:38:44 +08:00
parent 116d7bc8b2
commit 6f33cb21e7

View File

@ -5,12 +5,14 @@
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core; using Admin.NET.Core;
using Admin.NET.Core.Service;
using DocumentFormat.OpenXml.Bibliography; using DocumentFormat.OpenXml.Bibliography;
using DocumentFormat.OpenXml.Drawing.Spreadsheet; using DocumentFormat.OpenXml.Drawing.Spreadsheet;
using Furion.DependencyInjection; using Furion.DependencyInjection;
using Furion.DynamicApiController; using Furion.DynamicApiController;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Server.IISIntegration; using Microsoft.AspNetCore.Server.IISIntegration;
using Microsoft.Extensions.DependencyInjection;
using NewLife; using NewLife;
using Qiniu.CDN; using Qiniu.CDN;
using RazorEngine; using RazorEngine;
@ -38,6 +40,7 @@ public class DataValidationService : IDynamicApiController, ITransient
public SqlSugarRepository<Obj137> _obj137Rep; public SqlSugarRepository<Obj137> _obj137Rep;
public SqlSugarRepository<ObjectTypeCheckList> _objectTypeCheckListRep; public SqlSugarRepository<ObjectTypeCheckList> _objectTypeCheckListRep;
public SqlSugarRepository<ConfigurationData> _configurationDataRep; public SqlSugarRepository<ConfigurationData> _configurationDataRep;
private readonly IServiceScopeFactory _scopeFactory;
public DataValidationService( public DataValidationService(
SqlSugarRepository<Obj110> obj110Rep, SqlSugarRepository<Obj110> obj110Rep,
SqlSugarRepository<Obj109> obj109Rep, SqlSugarRepository<Obj109> obj109Rep,
@ -46,7 +49,8 @@ public class DataValidationService : IDynamicApiController, ITransient
SqlSugarRepository<Obj122> obj122Rep, SqlSugarRepository<Obj122> obj122Rep,
SqlSugarRepository<Obj137> obj137Rep, SqlSugarRepository<Obj137> obj137Rep,
SqlSugarRepository<ObjectTypeCheckList> objectTypeCheckList, SqlSugarRepository<ObjectTypeCheckList> objectTypeCheckList,
SqlSugarRepository<ConfigurationData> configurationDataRep SqlSugarRepository<ConfigurationData> configurationDataRep,
IServiceScopeFactory scopeFactory
) )
{ {
@ -58,6 +62,7 @@ public class DataValidationService : IDynamicApiController, ITransient
_obj137Rep = obj137Rep; _obj137Rep = obj137Rep;
_objectTypeCheckListRep = objectTypeCheckList; _objectTypeCheckListRep = objectTypeCheckList;
_configurationDataRep = configurationDataRep; _configurationDataRep = configurationDataRep;
_scopeFactory = scopeFactory;
} }
/// <summary> /// <summary>
/// 验证物料是否存在 /// 验证物料是否存在
@ -68,35 +73,94 @@ public class DataValidationService : IDynamicApiController, ITransient
/// <returns></returns> /// <returns></returns>
public async Task<string> VerificationMaterial(long objId, string materialCode, string recordGuid) public async Task<string> VerificationMaterial(long objId, string materialCode, string recordGuid)
{ {
using var serviceScope = _scopeFactory.CreateScope();
//var sysEnumService = serviceScope.ServiceProvider.GetRequiredService<SysEnumService>();
var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew();
string verification = "不存在"; string verification = "不存在";
var tasks = new List<Task<int>>();
switch (objId) if (objId==110)
{ {
case 110: var data = db.CopyNew().Queryable<Obj110>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).Count();
tasks.Add(_obj110Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync()); if (data>0)
break; {
case 109: verification = "存在";
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;
case 137:
tasks.Add(_obj137Rep.AsQueryable().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).CountAsync());
break;
} }
if (tasks.Count > 0)
if (objId == 109)
{ {
var result = await Task.WhenAll(tasks); var data = db.CopyNew().Queryable<Obj109>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).Count();
verification = result.Any(count => count > 0) ? "存在" : "不存在"; if (data > 0)
{
verification = "存在";
}
} }
if (objId == 112)
{
var data = db.CopyNew().Queryable<Obj112>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).Count();
if (data > 0)
{
verification = "存在";
}
}
if (objId == 133)
{
var data = db.CopyNew().Queryable<Obj133>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).Count();
if (data > 0)
{
verification = "存在";
}
}
if (objId == 137)
{
var data = db.CopyNew().Queryable<Obj137>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid && x._system_objConfigurationName == "默认").Count();
if (data > 0)
{
verification = "存在";
}
}
if (objId == 122)
{
var data = db.CopyNew().Queryable<Obj122>().Where(x => x._System_objNBS == materialCode && x.deleted == false && x.RecordGuid == recordGuid).Count();
if (data > 0)
{
verification = "存在";
}
}
//var tasks = new List<Task<int>>();
//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;
// case 137:
// tasks.Add(_obj137Rep.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; return verification;
} }
@ -107,10 +171,13 @@ public class DataValidationService : IDynamicApiController, ITransient
/// <returns></returns> /// <returns></returns>
public async Task<List<EcnItemData>> ChangeModuleMaterial(long idRecord) public async Task<List<EcnItemData>> ChangeModuleMaterial(long idRecord)
{ {
using var serviceScope = _scopeFactory.CreateScope();
var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew();
var encodingList = new List<EcnItemData>(); var encodingList = new List<EcnItemData>();
// 获取符合条件的检查列表项 // 获取符合条件的检查列表项
var checkList = await _objectTypeCheckListRep.AsQueryable() var checkList = await db.CopyNew().Queryable<ObjectTypeCheckList>()
.Where(x => x.ParentIdRecord == idRecord && (x.ColumnId == 4638 || x.ColumnId == 6002)) .Where(x => x.ParentIdRecord == idRecord && (x.ColumnId == 4638 || x.ColumnId == 6002))
.ToListAsync(); .ToListAsync();
@ -125,33 +192,33 @@ public class DataValidationService : IDynamicApiController, ITransient
switch (objectId) switch (objectId)
{ {
case 110: case 110:
data = await _obj110Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj110>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x=>x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
case 109: case 109:
data = await _obj109Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj109>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
case 112: case 112:
data = await _obj112Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj112>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
case 133: case 133:
data = await _obj133Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj133>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
case 122: case 122:
data = await _obj122Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj122>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
case 137: case 137:
data = await _obj137Rep.AsQueryable() data = await db.CopyNew().Queryable<Obj137>()
.Where(x => x.RecordGuid == recordGuid && x.deleted == false) .Where(x => x.RecordGuid == recordGuid && x.deleted == false).OrderByDescending(x => x.idRecord)
.FirstAsync(); .FirstAsync();
break; break;
default: default:
@ -177,15 +244,17 @@ public class DataValidationService : IDynamicApiController, ITransient
/// <returns></returns> /// <returns></returns>
public async Task<string> GetUnit(long objid, string ChildGuid) public async Task<string> GetUnit(long objid, string ChildGuid)
{ {
using var serviceScope = _scopeFactory.CreateScope();
var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew();
var unit = ""; var unit = "";
if (objid == 137) if (objid == 137)
{ {
var data = await _obj137Rep.AsQueryable().Where(x => x.RecordGuid == ChildGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync(); var data = await db.CopyNew().Queryable<Obj137>().Where(x => x.RecordGuid == ChildGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync();
unit = data._SWPDM_126_SW___; unit = data._SWPDM_126_SW___;
} }
if (objid == 112) if (objid == 112)
{ {
var data = await _obj112Rep.AsQueryable().Where(x => x.RecordGuid == ChildGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync(); var data = await db.CopyNew().Queryable<Obj112>().Where(x => x.RecordGuid == ChildGuid && x.deleted == false).OrderByDescending(x => x.VersionIndex).FirstAsync();
unit = data.fld004594; unit = data.fld004594;
} }
return unit; return unit;
@ -245,11 +314,14 @@ public class DataValidationService : IDynamicApiController, ITransient
/// <returns></returns> /// <returns></returns>
public async Task<int> GetLineNumber(long objId, string recordGuid, int versionIndex, int configId) public async Task<int> GetLineNumber(long objId, string recordGuid, int versionIndex, int configId)
{ {
using var serviceScope = _scopeFactory.CreateScope();
var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew();
int lineNumber = 0; int lineNumber = 0;
if (objId == 118) 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(); lineNumber = await db.CopyNew().Queryable<ConfigurationData>().Where(x => x.ParentGuid == recordGuid && x.isDeleted == false && x.ParentVersion == versionIndex && x.ConfigId == configId && x.isSuppressed == false && x.inContext == false).CountAsync();
} }
return lineNumber; return lineNumber;
@ -281,12 +353,15 @@ public class DataValidationService : IDynamicApiController, ITransient
/// <returns></returns> /// <returns></returns>
public async Task<string> ComparativeVersion(long objId, string recordGuid, int newVersion, int olderVersion) public async Task<string> ComparativeVersion(long objId, string recordGuid, int newVersion, int olderVersion)
{ {
using var serviceScope = _scopeFactory.CreateScope();
var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew();
string contrastResult = ""; string contrastResult = "";
if (objId == 137) if (objId == 137)
{ {
var contrastNewData = await _obj137Rep.AsQueryable().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == newVersion).FirstAsync(); var contrastNewData = await db.CopyNew().Queryable<Obj137>().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(); var contrastOlderData = await db.CopyNew().Queryable<Obj137>().Where(x => x.RecordGuid == recordGuid && x.deleted == false && x.VersionIndex == olderVersion).FirstAsync();
if (contrastNewData.revision != contrastOlderData.revision) if (contrastNewData.revision != contrastOlderData.revision)
{ {
contrastResult = "是"; contrastResult = "是";
@ -399,19 +474,6 @@ public class DataValidationService : IDynamicApiController, ITransient
return "修改成功"; return "修改成功";
} }
[AllowAnonymous]
public async Task<string> cscscs1()
{
await Task.Delay(20000);
return "测试1执行时间" + DateTime.Now.ToString("HH:dd:ss");
}
[AllowAnonymous]
public async Task<string> cscscs2()
{
await Task.Delay(20000);
return "测试2执行时间" + DateTime.Now.ToString("HH:dd:ss");
}
/// <summary> /// <summary>
/// SAP wbs状态 /// SAP wbs状态