1
Huangxiaoqiang-03
2024-11-04 fe941b73b9496f6cfab1a8957f319f74ea09fe1d
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs
@@ -20,6 +20,8 @@
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Caches;
using WIDESEAWCS_QuartzJob.DeviceEnum;
using WIDESEA_Core.Enums;
namespace WIDESEAWCS_WCSServer.Controllers.System
{
@@ -106,8 +108,8 @@
                        {
                            Type type = typeof(IDevice);
                            var basePath = AppContext.BaseDirectory;
                            string path = Path.Combine(basePath, Assembly.GetExecutingAssembly().GetName().Name);
                            Assembly assembly = Assembly.LoadFrom(path);
                            //string path = Path.Combine("", Assembly.GetAssembly(type).GetName());
                            Assembly assembly = Assembly.GetAssembly(type);
                            List<Type> types = assembly.GetTypes().Where(x => type.IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface).ToList();
                            List<object> data = new List<object>();
                            foreach (var deviceType in types)
@@ -146,12 +148,12 @@
                    case "deviceStatus":
                        {
                            List<object> data = new List<object>();
                            Type type = Type.GetType("WIDESEAWCS_QuartzJob.DeviceEnum.DeviceStatusEnum");
                            Type type = typeof(DeviceStatusEnum);
                            List<int> enums = Enum.GetValues(type).Cast<int>().ToList();
                            int index = 0;
                            foreach (var item in enums)
                            {
                                FieldInfo? fieldInfo = type.GetField((item).ToString());
                                FieldInfo? fieldInfo = type.GetField(((DeviceStatusEnum)item).ToString());
                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                if (description != null)
                                {
@@ -170,6 +172,28 @@
                    case "taskType":
                        {
                            List<object> data = new List<object>();
                            #region TaskTypeEnum
                            {
                                Type type = typeof(TaskTypeEnum);
                                List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)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 TaskInboundTypeEnum
                            {
@@ -288,6 +312,28 @@
                            }
                            #endregion
                            #region InTaskStatusEnum
                            {
                                Type type = typeof(InTaskStatusEnum);
                                List<int> enums = Enum.GetValues(typeof(InTaskStatusEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(InTaskStatusEnum).GetField(((InTaskStatusEnum)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);
@@ -310,6 +356,28 @@
                            }
                            #endregion
                            #region OutTaskStatusEnum
                            {
                                Type type = typeof(OutTaskStatusEnum);
                                List<int> enums = Enum.GetValues(typeof(OutTaskStatusEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(OutTaskStatusEnum).GetField(((OutTaskStatusEnum)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;