From d58196721475e968769d708d9c14f60dd8d5671f Mon Sep 17 00:00:00 2001
From: HuBingJie <3146306518@qq.com>
Date: 星期四, 13 十一月 2025 22:20:14 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_DictionaryController.cs |  497 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 493 insertions(+), 4 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_DictionaryController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_DictionaryController.cs"
index ac11540..53c1dea 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_DictionaryController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_DictionaryController.cs"
@@ -1,11 +1,21 @@
-锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json;
+using Quartz;
+using System.ComponentModel;
+using System.Reflection;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Common.MaterielEnum;
+using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.TaskEnum;
 using WIDESEA_Core.BaseController;
+using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Caches;
 using WIDESEA_Core.Helper;
+using WIDESEA_DTO.System;
 using WIDESEA_ISystemService;
 using WIDESEA_Model.Models;
-using WIDESEA_DTO.System;
 
 namespace WIDESEA_WMSServer.Controllers
 {
@@ -17,15 +27,494 @@
     public class Sys_DictionaryController : ApiBaseController<ISys_DictionaryService, Sys_Dictionary>
     {
         private readonly IHttpContextAccessor _httpContextAccessor;
-        public Sys_DictionaryController(ISys_DictionaryService service, IHttpContextAccessor httpContextAccessor) : base(service)
+        private readonly ICacheService _cacheService;
+
+        public Sys_DictionaryController(ISys_DictionaryService service, IHttpContextAccessor httpContextAccessor, ICacheService cacheService) : base(service)
         {
             _httpContextAccessor = httpContextAccessor;
+            _cacheService = cacheService;
         }
 
         [HttpPost, Route("GetVueDictionary"), AllowAnonymous]
         public IActionResult GetVueDictionary([FromBody] string[] dicNos)
         {
-            return Json(Service.GetVueDictionary(dicNos));
+            List<VueDictionaryDTO> vueDictionaryDTOs = Service.GetVueDictionary(dicNos);
+            try
+            {
+                List<string> selectDicNos = vueDictionaryDTOs.Select(x => x.DicNo).ToList();
+                List<string> cacheDicNos = new List<string>();
+                foreach (string n in dicNos.Where(x => !selectDicNos.Contains(x)))
+                {
+                    string? str = _cacheService.Get(n);
+                    if (!string.IsNullOrEmpty(str))
+                    {
+                        VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str);
+
+                        if (vueDictionary != null)
+                        {
+                            vueDictionaryDTOs.Add(vueDictionary);
+                            cacheDicNos.Add(n);
+                        }
+                    }
+                }
+                List<string> dicList = dicNos.ToList();
+                List<string> otherDicNos = dicNos.Where(x => !cacheDicNos.Contains(x) && !selectDicNos.Contains(x)).ToList();
+                if (otherDicNos.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 otherDicNos)
+                        {
+                            if (dics.Contains(item))
+                            {
+                                cusDics.Add(item);
+                            }
+                        }
+
+                        foreach (var item in cusDics)
+                        {
+                            VueDictionaryDTO? vueDictionaryDTO = GetVueDictionary(item.Trim());
+                            if (vueDictionaryDTO != null)
+                            {
+                                vueDictionaryDTOs.Add(vueDictionaryDTO);
+                                if (!_cacheService.Exists(item))
+                                {
+                                    _cacheService.Add(item, vueDictionaryDTO.Serialize());
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch
+            {
+
+            }
+            return Json(vueDictionaryDTOs);
+        }
+
+        private VueDictionaryDTO? GetVueDictionary(string key)
+        {
+            VueDictionaryDTO? result = null;
+            try
+            {
+                switch (key)
+                {
+                    case "jobAssembly":
+                        {
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = new List<object>() { new { key = "WIDESEAWCS_Tasks", value = "WIDESEAWCS_Tasks" } } };
+
+                        }
+                        break;
+                    case "jobClassName":
+                        {
+                            Type type = typeof(IJob);
+                            var basePath = AppContext.BaseDirectory;
+                            string path = Path.Combine(basePath, $"WIDESEAWCS_Tasks");
+                            Assembly assembly = Assembly.LoadFrom(path);
+                            List<Type> types = assembly.GetTypes().Where(x => type.IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface).ToList();
+
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = types.Select(x => new { key = x.Name, value = x.Name }) };
+                        }
+                        break;
+                    case "taskState":
+                        {
+                            List<object> data = new List<object>();
+
+                            #region TaskInStatusEnum
+                            {
+                                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(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
+                            #region TaskOutStatusEnum
+                            {
+                                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(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
+                            #region TaskRelocationStatusEnum
+                            {
+                                Type type = typeof(TaskRelocationStatusEnum);
+                                List<int> enums = Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+                            #endregion
+
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskInStatus":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskOutStatus":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskRelocationStatus":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskInboundType":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskInboundTypeEnum).GetField(((TaskInboundTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskOutboundType":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskOutboundTypeEnum).GetField(((TaskOutboundTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskRelocationType":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskRelocationTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskRelocationTypeEnum).GetField(((TaskRelocationTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskTypeGroup":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(TaskTypeGroup)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TaskTypeGroup).GetField(((TaskTypeGroup)item).ToString());
+                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : ((TaskTypeGroup)item).ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskTypeEnum":
+                        {
+                            // 鍚堝苟鍏ュ簱/鍑哄簱/绉诲簱浠诲姟绫诲瀷
+                            List<object> data = new List<object>();
+                            foreach (var item in Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskInboundTypeEnum).GetField(((TaskInboundTypeEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            foreach (var item in Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskOutboundTypeEnum).GetField(((TaskOutboundTypeEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            foreach (var item in Enum.GetValues(typeof(TaskRelocationTypeEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskRelocationTypeEnum).GetField(((TaskRelocationTypeEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "taskStatusEnum":
+                        {
+                            // 鍚堝苟鍏ュ簱/鍑哄簱/绉诲簱浠诲姟鐘舵��
+                            List<object> data = new List<object>();
+                            foreach (var item in Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            foreach (var item in Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            foreach (var item in Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>())
+                            {
+                                var field = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString());
+                                var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString();
+                                data.Add(new { key = item.ToString(), value = desc });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "stockChangeTypeEnum":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(StockChangeTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(StockChangeTypeEnum).GetField(((StockChangeTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "stockStatusEmun":
+                        {
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(StockStatusEmun)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(StockStatusEmun).GetField(((StockStatusEmun)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "yesno":
+                        {
+                            // 浣跨敤鐪熷疄鐨勬槸鍚︽灇涓�
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(WhetherEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(WhetherEnum).GetField(((WhetherEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                string displayName = description?.Description ?? ((WhetherEnum)item).ToString();
+                                // 鏍规嵁鏋氫妇鍊兼彁渚涗腑鏂囧悕绉�
+                                switch ((WhetherEnum)item)
+                                {
+                                    case WhetherEnum.True:
+                                        displayName = "鏄�";
+                                        break;
+                                    case WhetherEnum.False:
+                                        displayName = "鍚�";
+                                        break;
+                                }
+                                data.Add(new { key = item.ToString(), value = displayName });
+                            }
+                            // 涓哄吋瀹规�э紝鍚屾椂鏀寔 true/false 瀛楃涓�
+                            data.Add(new { key = "true", value = "鏄�" });
+                            data.Add(new { key = "false", value = "鍚�" });
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "InventoryMaterialType":
+                        {
+                            // 浣跨敤鐪熷疄鐨勭墿鏂欑被鍨嬫灇涓�
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(MaterielTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(MaterielTypeEnum).GetField(((MaterielTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                string displayName = description?.Description ?? ((MaterielTypeEnum)item).ToString();
+                                // 鏍规嵁鏋氫妇鍊兼彁渚涗腑鏂囧悕绉�
+                                switch ((MaterielTypeEnum)item)
+                                {
+                                    case MaterielTypeEnum.FinishProduct:
+                                        displayName = "鎴愬搧";
+                                        break;
+                                    case MaterielTypeEnum.HalfProduct:
+                                        displayName = "鍗婃垚鍝�";
+                                        break;
+                                    case MaterielTypeEnum.RawMateriel:
+                                        displayName = "鍘熸潗鏂�";
+                                        break;
+                                    case MaterielTypeEnum.SpareParts:
+                                        displayName = "澶囦欢";
+                                        break;
+                                }
+                                data.Add(new { key = item.ToString(), value = displayName });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "MaterielSourceType":
+                        {
+                            // 鐗╂枡鏉ユ簮绫诲瀷鏋氫妇
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(MaterielSourceTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(MaterielSourceTypeEnum).GetField(((MaterielSourceTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                string displayName = description?.Description ?? ((MaterielSourceTypeEnum)item).ToString();
+                                // 鏍规嵁鏋氫妇鍊兼彁渚涗腑鏂囧悕绉�
+                                switch ((MaterielSourceTypeEnum)item)
+                                {
+                                    case MaterielSourceTypeEnum.PurchasePart:
+                                        displayName = "閲囪喘浠�";
+                                        break;
+                                    case MaterielSourceTypeEnum.SelfMadePart:
+                                        displayName = "鑷埗浠�";
+                                        break;
+                                    case MaterielSourceTypeEnum.PurchaseAndSelf:
+                                        displayName = "閲囪喘&鑷埗浠�";
+                                        break;
+                                }
+                                data.Add(new { key = item.ToString(), value = displayName });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "InventoryMaterialStatus":
+                        {
+                            // 鐗╂枡鐘舵�佸瓧鍏� - 鏍规嵁涓氬姟闇�姹傚畾涔�
+                            List<object> data = new List<object>
+                            {
+                                new { key = "1", value = "姝e父" },
+                                new { key = "2", value = "寰呮" },
+                                new { key = "3", value = "鍚堟牸" },
+                                new { key = "4", value = "涓嶅悎鏍�" },
+                                new { key = "5", value = "鍐荤粨" },
+                                new { key = "6", value = "鎶ュ簾" },
+                                new { key = "7", value = "杩囨湡" },
+                                new { key = "8", value = "鎹熷潖" }
+                            };
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "locationStatusEnum":
+                        {
+                            // 璐т綅鐘舵�佹灇涓�
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(LocationStatusEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(LocationStatusEnum).GetField(((LocationStatusEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "locationTypeEnum":
+                        {
+                            // 璐т綅绫诲瀷鏋氫妇
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(LocationTypeEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(LocationTypeEnum).GetField(((LocationTypeEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "enableStatusEnum":
+                        {
+                            // 璐т綅绂佺敤鐘舵�佹灇涓�
+                            List<object> data = new List<object>();
+                            List<int> enums = Enum.GetValues(typeof(EnableStatusEnum)).Cast<int>().ToList();
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(EnableStatusEnum).GetField(((EnableStatusEnum)item).ToString());
+                                DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
+                                data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                }
+                return result;
+            }
+            catch (Exception ex)
+            {
+                return null;
+            }
         }
     }
 }

--
Gitblit v1.9.3