From fd073a00f6813eada92b08f1884b115295ac1177 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 17 六月 2025 17:15:58 +0800
Subject: [PATCH] 添加版权注释

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs |  157 ++++++++++++++++++++++++++++------------------------
 1 files changed, 85 insertions(+), 72 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
index eabf102..38ac7a9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
@@ -7,6 +7,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.TaskEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
@@ -25,11 +26,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 ISys_DictionaryRepository Repository => BaseDal;
@@ -50,10 +53,37 @@
 
         public List<VueDictionaryDTO> GetVueDictionary(string[] dicNos)
         {
-            if (dicNos == null || dicNos.Count() == 0) return new List<VueDictionaryDTO>();
+            //if (dicNos == null || dicNos.Count() == 0) return new List<VueDictionaryDTO>();
             List<VueDictionaryDTO> vueDictionaryDTOs = new List<VueDictionaryDTO>();
 
             List<string> cacheDicNos = new List<string>();
+            #region 鏌ヨ鏁版嵁搴撲笅鎷夋鏁版嵁
+            if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0)
+            {
+                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());
+                        }
+                    }
+                }
+            }
+            #endregion
+
+
+
             foreach (string n in dicNos)
             {
                 string str = _cacheService.Get(n);
@@ -61,84 +91,43 @@
                 {
                     VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str);
 
-                    if (vueDictionary != null)
+                    if (vueDictionary != null && vueDictionaryDTOs.Where(x => x.DicNo == vueDictionary.DicNo).FirstOrDefault() == null)
                     {
                         vueDictionaryDTOs.Add(vueDictionary);
                         cacheDicNos.Add(n);
                     }
                 }
             }
+            List<string> dicList = dicNos.ToList();
             if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0)
             {
-                List<VueDictionaryDTO> selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x))).Select(s => new VueDictionaryDTO
+                string str = AppSettings.Configuration["dics"];
+                if (!string.IsNullOrEmpty(str))
                 {
-                    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();
+                    List<string> cusDics = new List<string>();
 
-                foreach (var item in selectDics)
-                {
-                    if (!_cacheService.Exists(item.DicNo))
+                    List<string> dics = str.Split(",").ToList();
+
+                    foreach (var item in dics)
                     {
-                        _cacheService.Add(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();
-
-            try
-            {
-                List<string> dicList = dicNos.ToList();
-                if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0)
-                {
-                    string str = AppSettings.Configuration["dics"];
-                    if (!string.IsNullOrEmpty(str))
-                    {
-                        List<string> cusDics = new List<string>();
-
-                        List<string> dics = str.Split(",").ToList();
-
-                        foreach (var item in dics)
-                        {
-                            dicList.Remove(item);
+                        if (dicList.Contains(item))
                             cusDics.Add(item);
-                        }
+                        dicList.Remove(item);
+                    }
 
-                        foreach (var item in cusDics)
+                    foreach (var item in cusDics)
+                    {
+                        VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim());
+                        if (vueDictionaryDTO != null)
                         {
-                            VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim());
-                            if (vueDictionaryDTO != null)
+                            vueDictionaryDTOs.Add(vueDictionaryDTO);
+                            if (!_cacheService.Exists(item))
                             {
-                                vueDictionaryDTOs.Add(vueDictionaryDTO);
-                                if (!_cacheService.Exists(item))
-                                {
-                                    _cacheService.Add(item, vueDictionaryDTO.Serialize());
-                                }
+                                _cacheService.Add(item, vueDictionaryDTO.Serialize());
                             }
                         }
                     }
                 }
-            }
-            catch
-            {
-
             }
             return vueDictionaryDTOs;
         }
@@ -446,12 +435,12 @@
                             List<object> data = new List<object>();
 
                             {
-                                Type type = typeof(InTaskStatusEnum);
-                                List<int> enums = Enum.GetValues(typeof(InTaskStatusEnum)).Cast<int>().ToList();
+                                Type type = typeof(TaskInStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList();
                                 int index = 0;
                                 foreach (var item in enums)
                                 {
-                                    FieldInfo? fieldInfo = typeof(InTaskStatusEnum).GetField(((InTaskStatusEnum)item).ToString());
+                                    FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                     if (description != null)
                                     {
@@ -466,12 +455,12 @@
                             }
 
                             {
-                                Type type = typeof(OutTaskStatusEnum);
-                                List<int> enums = Enum.GetValues(typeof(OutTaskStatusEnum)).Cast<int>().ToList();
+                                Type type = typeof(TaskOutStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
                                 int index = 0;
                                 foreach (var item in enums)
                                 {
-                                    FieldInfo? fieldInfo = typeof(OutTaskStatusEnum).GetField(((OutTaskStatusEnum)item).ToString());
+                                    FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                     if (description != null)
                                     {
@@ -486,12 +475,12 @@
                             }
 
                             {
-                                Type type = typeof(AGVTaskStatusEnum);
-                                List<int> enums = Enum.GetValues(typeof(AGVTaskStatusEnum)).Cast<int>().ToList();
+                                Type type = typeof(WIDESEA_Common.TaskEnum.TaskRelocationStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(WIDESEA_Common.TaskEnum.TaskRelocationStatusEnum)).Cast<int>().ToList();
                                 int index = 0;
                                 foreach (var item in enums)
                                 {
-                                    FieldInfo? fieldInfo = typeof(AGVTaskStatusEnum).GetField(((AGVTaskStatusEnum)item).ToString());
+                                    FieldInfo? fieldInfo = typeof(WIDESEA_Common.TaskEnum.TaskRelocationStatusEnum).GetField(((WIDESEA_Common.TaskEnum.TaskRelocationStatusEnum)item).ToString());
                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                     if (description != null)
                                     {
@@ -520,11 +509,35 @@
                                 DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                 if (description != null)
                                 {
-                                    data.Add(new { key = item.ToString(), value = description.Description });
+                                    data.Add(new { key = item, value = description.Description });
                                 }
                                 else
                                 {
-                                    data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    data.Add(new { key = item, value = item.ToString() });
+                                }
+                                index++;
+                            }
+
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "locationChangeType":
+                        {
+                            List<object> data = new List<object>();
+                            Type type = typeof(LocationChangeType);
+                            List<int> enums = Enum.GetValues(typeof(LocationChangeType)).Cast<int>().ToList();
+                            int index = 0;
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(LocationChangeType).GetField(((LocationChangeType)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                if (description != null)
+                                {
+                                    data.Add(new { key = item, value = description.Description });
+                                }
+                                else
+                                {
+                                    data.Add(new { key = item, value = item.ToString() });
                                 }
                                 index++;
                             }

--
Gitblit v1.9.3