From 202cdf4c400f7b8507f129fab5766baac6bc7e45 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 11 三月 2025 17:40:20 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs | 59 +++++++++++++++++------------------------------------------
1 files changed, 17 insertions(+), 42 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs"
index ee6f4d9..21986c9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs"
@@ -1,5 +1,6 @@
锘縰sing Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -8,6 +9,7 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Caches;
@@ -18,6 +20,7 @@
using WIDESEAWCS_ISystemRepository;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_Model.Models.System;
namespace WIDESEAWCS_SystemServices
{
@@ -25,11 +28,13 @@
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
private readonly ICacheService _cacheService;
+ private readonly ISys_RoleService _sys_RoleService;
- public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService) : base(BaseDal)
+ public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_RoleService sys_RoleService) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
_cacheService = cacheService;
+ _sys_RoleService = sys_RoleService;
}
public List<VueDictionaryDTO> GetVueDictionary(string[] dicNos)
@@ -38,59 +43,29 @@
List<VueDictionaryDTO> vueDictionaryDTOs = new List<VueDictionaryDTO>();
List<string> cacheDicNos = new List<string>();
- foreach (string n in dicNos)
- {
- string str = _cacheService.Get(n);
- if (!string.IsNullOrEmpty(str))
- {
- VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str);
-
- if (vueDictionary != null)
- {
- vueDictionaryDTOs.Add(vueDictionary);
- cacheDicNos.Add(n);
- }
- }
- }
if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0)
{
- List<VueDictionaryDTO> selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x))).Select(s => new VueDictionaryDTO
- {
- DicNo = s.DicNo,
- Config = s.Config,
- //dbSql = s.Sql,
- Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName })
- }).ToList();
+ var selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x)), _sys_RoleService.GetAllChildren(App.User.RoleId));
foreach (var item in selectDics)
{
if (!_cacheService.Exists(item.DicNo))
{
+ vueDictionaryDTOs.Add(item);
_cacheService.Add(item.DicNo, item.Serialize());
}
+ else
+ {
+ VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(_cacheService.Get(item.DicNo));
+ if (vueDictionary != null && vueDictionary.Data.ToJson() != item.Data.ToJson())
+ {
+ vueDictionaryDTOs.Add(item);
+ _cacheService.AddOrUpdate(item.DicNo, item.Serialize());
+ }
+ }
}
- 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