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 {