diff --git a/visualdev/Tnb.VisualDev.Engine/Core/FormDataParsing.cs b/visualdev/Tnb.VisualDev.Engine/Core/FormDataParsing.cs
index 06bc0455..c6be03c3 100644
--- a/visualdev/Tnb.VisualDev.Engine/Core/FormDataParsing.cs
+++ b/visualdev/Tnb.VisualDev.Engine/Core/FormDataParsing.cs
@@ -63,7 +63,8 @@ public class FormDataParsing : ITransient
///
/// 服务基础仓储.
///
- private readonly ISqlSugarRepository _db;
+ //private readonly ISqlSugarRepository _db;
+ private readonly ISqlSugarClient _sugar;
///
/// 构造.
@@ -85,7 +86,8 @@ public class FormDataParsing : ITransient
_cacheManager = cacheManager;
_databaseService = databaseService;
_dataInterfaceService = dataInterfaceService;
- _db = context;
+ _sugar = context.AsSugarClient().CopyNew();
+ //_db = context;
_memCache = memCache;
}
#endregion
@@ -629,7 +631,7 @@ public class FormDataParsing : ITransient
case JnpfKeyConst.POSSELECT: // 岗位
if (!GetCacheValues(fieldCacheKey, templateData))
{
- List? positionEntityList = await _db.AsSugarClient().Queryable().Where(u => u.DeleteMark == null).ToListAsync();
+ List? positionEntityList = await _sugar.Queryable().Where(u => u.DeleteMark == null).ToListAsync();
List> positionList = new List>();
foreach (PositionEntity? item in positionEntityList)
{
@@ -646,7 +648,7 @@ public class FormDataParsing : ITransient
case JnpfKeyConst.GROUPSELECT: // 分组
if (!GetCacheValues(fieldCacheKey, templateData))
{
- List? positionEntityList = await _db.AsSugarClient().Queryable().Where(u => u.DeleteMark == null).ToListAsync();
+ List? positionEntityList = await _sugar.Queryable().Where(u => u.DeleteMark == null).ToListAsync();
List> positionList = new List>();
foreach (GroupEntity? item in positionEntityList)
{
@@ -663,7 +665,7 @@ public class FormDataParsing : ITransient
case JnpfKeyConst.ROLESELECT: // 角色
if (!GetCacheValues(fieldCacheKey, templateData))
{
- List? positionEntityList = await _db.AsSugarClient().Queryable().Where(u => u.DeleteMark == null).ToListAsync();
+ List? positionEntityList = await _sugar.Queryable().Where(u => u.DeleteMark == null).ToListAsync();
List> positionList = new List>();
foreach (RoleEntity? item in positionEntityList)
{
@@ -697,7 +699,7 @@ public class FormDataParsing : ITransient
}
else
{
- List? addressEntityList = await _db.AsSugarClient().Queryable().Select(x => new ProvinceEntity { Id = x.Id, ParentId = x.ParentId, Type = x.Type, FullName = x.FullName }).ToListAsync();
+ List? addressEntityList = await _sugar.Queryable().Select(x => new ProvinceEntity { Id = x.Id, ParentId = x.ParentId, Type = x.Type, FullName = x.FullName }).ToListAsync();
// 处理省市区树
addressEntityList.Where(x => x.Type == "1").ToList().ForEach(item => item.QuickQuery = item.FullName);
@@ -739,7 +741,7 @@ public class FormDataParsing : ITransient
}
else
{
- List? addressEntityList = await _db.AsSugarClient().Queryable().Select(x => new ProvinceEntity { Id = x.Id, ParentId = x.ParentId, Type = x.Type, FullName = x.FullName }).ToListAsync();
+ List? addressEntityList = await _sugar.Queryable().Select(x => new ProvinceEntity { Id = x.Id, ParentId = x.ParentId, Type = x.Type, FullName = x.FullName }).ToListAsync();
// 处理省市区树
addressEntityList.Where(x => x.Type == "1").ToList().ForEach(item => item.QuickQuery = item.FullName);
@@ -795,7 +797,7 @@ public class FormDataParsing : ITransient
}
else
{
- List? userEntityList = await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new UserEntity() { Id = x.Id, RealName = x.RealName, Account = x.Account }).ToListAsync();
+ List? userEntityList = await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new UserEntity() { Id = x.Id, RealName = x.RealName, Account = x.Account }).ToListAsync();
List> userList = new List>();
foreach (UserEntity? item in userEntityList)
@@ -821,32 +823,32 @@ public class FormDataParsing : ITransient
else
{
var addList = new List>();
- (await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.RealName, x.Account }).ToListAsync()).ForEach(item =>
+ (await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.RealName, x.Account }).ToListAsync()).ForEach(item =>
{
Dictionary user = new Dictionary();
user.Add(item.Id + "--user", item.RealName + "/" + item.Account);
addList.Add(user);
});
- (await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
+ (await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
{
Dictionary user = new Dictionary();
user.Add(item.Id + "--company", item.FullName);
user.Add(item.Id + "--department", item.FullName);
addList.Add(user);
});
- (await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
+ (await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
{
Dictionary user = new Dictionary();
user.Add(item.Id + "--role", item.FullName);
addList.Add(user);
});
- (await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
+ (await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
{
Dictionary user = new Dictionary();
user.Add(item.Id + "--position", item.FullName);
addList.Add(user);
});
- (await _db.AsSugarClient().Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
+ (await _sugar.Queryable().Where(x => x.DeleteMark == null).Select(x => new { x.Id, x.FullName }).ToListAsync()).ForEach(item =>
{
Dictionary user = new Dictionary();
user.Add(item.Id + "--group", item.FullName);
@@ -892,7 +894,7 @@ public class FormDataParsing : ITransient
{
if (!GetCacheValues(fieldCacheKey, templateData))
{
- List? dep_organizeEntityList = await _db.AsSugarClient().Queryable().Where(d => d.EnabledMark == 1 && d.DeleteMark == null)
+ List? dep_organizeEntityList = await _sugar.Queryable().Where(d => d.EnabledMark == 1 && d.DeleteMark == null)
.WhereIF(orgType.Equals(JnpfKeyConst.DEPSELECT), d => d.Category.Equals("department")).ToListAsync();
List> vlist = new List>();
@@ -962,7 +964,7 @@ public class FormDataParsing : ITransient
parameter.Add(new SugarParameter("@currentChargeorganizationAndSuborganization", subsidiary));
}
- DbLinkEntity? linkEntity = await _db.AsSugarClient().Queryable().Where(m => m.Id == dynamic.DBLinkId && m.DeleteMark == null).FirstAsync();
+ DbLinkEntity? linkEntity = await _sugar.Queryable().Where(m => m.Id == dynamic.DBLinkId && m.DeleteMark == null).FirstAsync();
if (linkEntity == null) linkEntity = _databaseService.GetTenantDbLink(_userManager.TenantId, _userManager.TenantDbName);
_dataInterfaceService.ReplaceParameterValue(dynamic, new Dictionary());
System.Data.DataTable? dt = _databaseService.GetInterFaceData(linkEntity, dynamic.Query, parameter.ToArray());
@@ -1072,7 +1074,7 @@ public class FormDataParsing : ITransient
/// List.
private async Task>> GetDictionaryList(string? dictionaryTypeId = null)
{
- List dictionaryDataEntityList = await _db.AsSugarClient().Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.Id == a.DictionaryTypeId))
+ List dictionaryDataEntityList = await _sugar.Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.Id == a.DictionaryTypeId))
.WhereIF(dictionaryTypeId.IsNotEmptyOrNull(), (a, b) => b.Id == dictionaryTypeId || b.EnCode == dictionaryTypeId).Where(a => a.DeleteMark == null).ToListAsync();
List> dictionaryDataList = new List>();
@@ -1193,10 +1195,10 @@ public class FormDataParsing : ITransient
break;
case JnpfKeyConst.CREATEUSER:
case JnpfKeyConst.MODIFYUSER:
- dataMap[key] = await _db.AsSugarClient().Queryable().Where(x => x.Id == dataValue).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
+ dataMap[key] = await _sugar.Queryable().Where(x => x.Id == dataValue).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
break;
case JnpfKeyConst.CURRPOSITION:
- dataMap[key] = (await _db.AsSugarClient().Queryable().FirstAsync(p => p.Id == dataMap[key].ToString()))?.FullName;
+ dataMap[key] = (await _sugar.Queryable().FirstAsync(p => p.Id == dataMap[key].ToString()))?.FullName;
if (dataMap[key].IsNullOrEmpty()) dataMap[key] = " ";
break;
case JnpfKeyConst.CURRORGANIZE:
@@ -1429,7 +1431,7 @@ public class FormDataParsing : ITransient
if (webType == 3)
{
var ids = list.Select(x => x[primaryKey]).ToList();
- var flowTaskList = await _db.AsSugarClient().Queryable().Where(x => ids.Contains(x.Id)).Select(x => new FlowTaskEntity() { Id = x.Id, Status = x.Status }).ToListAsync();
+ var flowTaskList = await _sugar.Queryable().Where(x => ids.Contains(x.Id)).Select(x => new FlowTaskEntity() { Id = x.Id, Status = x.Status }).ToListAsync();
list.ForEach(item =>
{
if (flowTaskList.Any(x => x.Id.Equals(item[primaryKey].ToString())))
@@ -1718,7 +1720,7 @@ public class FormDataParsing : ITransient
dataMap[key] = await _memCache.GetOrCreateAsync($"organizeId_{dataValue}", async entry =>
{
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
- return (await _db.AsSugarClient().Queryable().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
+ return (await _sugar.Queryable().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
});
break;
case JnpfKeyConst.MODIFYUSER:
@@ -1726,7 +1728,7 @@ public class FormDataParsing : ITransient
dataMap[key] = await _memCache.GetOrCreateAsync($"userId_{dataValue}", async entry =>
{
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
- return await _db.AsSugarClient().Queryable().Where(x => x.Id == dataValue.ToString()).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
+ return await _sugar.Queryable().Where(x => x.Id == dataValue.ToString()).Select(x => SqlFunc.MergeString(x.RealName, "/", x.Account)).FirstAsync();
});
break;
case JnpfKeyConst.MODIFYTIME:
@@ -1737,7 +1739,7 @@ public class FormDataParsing : ITransient
dataMap[key] = await _memCache.GetOrCreateAsync($"positionId_{dataValue}", async entry =>
{
entry.SlidingExpiration = TimeSpan.FromSeconds(60);
- return (await _db.AsSugarClient().Queryable().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
+ return (await _sugar.Queryable().FirstAsync(x => x.Id == dataValue.ToString()))?.FullName;
});
break;
case JnpfKeyConst.POPUPTABLESELECT:
@@ -1891,7 +1893,7 @@ public class FormDataParsing : ITransient
else
{
// 根据可视化功能ID获取该模板全部数据
- var relationFormModel = await _db.AsSugarClient().Queryable().FirstAsync(v => v.Id == model.modelId);
+ var relationFormModel = await _sugar.Queryable().FirstAsync(v => v.Id == model.modelId);
var newFieLdsModelList = relationFormModel.FormData.ToObject().fields.FindAll(x => model.relationField.Equals(x.__vModel__));
VisualDevModelListQueryInput listQueryInput = new VisualDevModelListQueryInput
{