From 7ff298c6834275b63b612af49651673689a39660 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 27 十一月 2024 11:33:18 +0800 Subject: [PATCH] 更新 --- WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs | 44 +++++++++++++++++++++++--------------------- 1 files changed, 23 insertions(+), 21 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs index ee6f4d9..8814ec7 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs @@ -40,7 +40,7 @@ List<string> cacheDicNos = new List<string>(); foreach (string n in dicNos) { - string str = _cacheService.Get(n); + string? str = _cacheService.Get(n); if (!string.IsNullOrEmpty(str)) { VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); @@ -54,7 +54,10 @@ } if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0) { - List<VueDictionaryDTO> selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x))).Select(s => new VueDictionaryDTO + List<string> list = dicNos.Where(x => !cacheDicNos.Contains(x)).ToList(); + List<Sys_Dictionary> dictionaries = BaseDal.GetDictionaries(list).ToList(); + + List<VueDictionaryDTO> selectDics = dictionaries.Select(s => new VueDictionaryDTO { DicNo = s.DicNo, Config = s.Config, @@ -62,9 +65,26 @@ Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }) }).ToList(); + foreach (var v in dictionaries) + { + if (!string.IsNullOrEmpty(v.DBSql)) + { + VueDictionaryDTO? temp = selectDics.FirstOrDefault(x => x.DicNo == v.DicNo); + if (temp != null) + selectDics.Remove(temp); + selectDics.Add(new VueDictionaryDTO + { + Config = v.Config, + DicNo = v.DicNo, + Data = BaseDal.QueryDynamicDataBySql(v.DBSql), + SaveCache = false, + }); + } + } + foreach (var item in selectDics) { - if (!_cacheService.Exists(item.DicNo)) + if (!_cacheService.Exists(item.DicNo) && item.SaveCache) { _cacheService.Add(item.DicNo, item.Serialize()); } @@ -72,25 +92,7 @@ vueDictionaryDTOs.AddRange(selectDics); } - //object GetSourceData(string dicNo, string dbSql, object data) - //{ - // if (string.IsNullOrEmpty(dbSql)) - // { - // return data; - // } - // return BaseDal.QueryObjectDataBySql(dbSql, null); - //} - //List<VueDictionaryDTO> vueDictionaryDTOs = dicConfig.Select(item => new VueDictionaryDTO - //{ - // DicNo = item.dicNo, - // Config = item.config, - // Data = GetSourceData(item.dicNo, item.dbSql, item.list) - //}).ToList(); - - return vueDictionaryDTOs; } - - } } -- Gitblit v1.9.3