using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.CommonEnum; using WIDESEA_Common.LocationEnum; using WIDESEA_Common.MaterielEnum; using WIDESEA_Common.OrderEnum; using WIDESEA_Common.StockEnum; using WIDESEA_Common.TaskEnum; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Caches; using WIDESEA_Core.DB; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_Core.Utilities; using WIDESEA_DTO.System; using WIDESEA_IBasicRepository; using WIDESEA_ISystemRepository; using WIDESEA_ISystemService; using WIDESEA_Model.Models; namespace WIDESEA_SystemService { public class Sys_DictionaryService : ServiceBase, ISys_DictionaryService { private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly ICacheService _cacheService; private readonly IBasicRepository _basicRepository; private readonly ISupplierInfoRepository _supplierInfoRepository; private readonly ISys_RoleDataPermissionRepository _roleDataPermissionRepository; public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, IBasicRepository basicRepository, ISys_RoleDataPermissionRepository roleDataPermissionRepository, ISupplierInfoRepository supplierInfoRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _cacheService = cacheService; _basicRepository = basicRepository; _roleDataPermissionRepository = roleDataPermissionRepository; _supplierInfoRepository = supplierInfoRepository; } public ISys_DictionaryRepository Repository => BaseDal; public override WebResponseContent AddData(SaveModel saveModel) { string validResult = typeof(Sys_Dictionary).ValidateDicInEntity(saveModel.MainData, true, TProperties); if (!string.IsNullOrEmpty(validResult)) { return WebResponseContent.Instance.Error(validResult); } Sys_Dictionary dictionary = saveModel.MainData.DicToModel(); if (!string.IsNullOrEmpty(_cacheService.Get(dictionary.DicNo))) _cacheService.Remove(dictionary.DicNo); return base.AddData(saveModel); } public override WebResponseContent UpdateData(SaveModel saveModel) { Sys_Dictionary dictionary = saveModel.MainData.DicToModel(); _cacheService.Remove(dictionary.DicNo); return base.UpdateData(saveModel); } public List GetVueDictionary(string[] dicNos) { if (dicNos == null || dicNos.Count() == 0) return new List(); List vueDictionaryDTOs = new List(); List cacheDicNos = new List(); foreach (string n in dicNos) { string str = _cacheService.Get(n); if (!string.IsNullOrEmpty(str)) { VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject(str); if (vueDictionary != null) { vueDictionaryDTOs.Add(vueDictionary); cacheDicNos.Add(n); } } } if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0) { List 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 }), SaveCache = false }).ToList(); foreach (var item in selectDics) { if (!_cacheService.Exists(item.DicNo) && item.SaveCache) { _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 vueDictionaryDTOs = dicConfig.Select(item => new VueDictionaryDTO //{ // DicNo = item.dicNo, // Config = item.config, // Data = GetSourceData(item.dicNo, item.dbSql, item.list) //}).ToList(); try { List dicList = dicNos.ToList(); if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0) { string str = AppSettings.Configuration["dics"]; if (!string.IsNullOrEmpty(str)) { List cusDics = new List(); List dics = str.Split(",").ToList(); foreach (var item in dics) { if (dicNos.Contains(item) && !cacheDicNos.Contains(item)) { dicList.Remove(item); cusDics.Add(item); } } foreach (var item in cusDics) { VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim()); if (vueDictionaryDTO != null) { vueDictionaryDTOs.Add(vueDictionaryDTO); if (!_cacheService.Exists(item) && vueDictionaryDTO.SaveCache) { _cacheService.Add(item, vueDictionaryDTO.Serialize()); } } } } } } catch { } return vueDictionaryDTOs; } private VueDictionaryDTO GetVueDictionary(string key) { VueDictionaryDTO result = null; try { switch (key) { case "warehouses": { List data = new List(); { List warehouses = _basicRepository.WarehouseRepository.QueryData(); int index = 0; foreach (var item in warehouses) { data.Add(new { key = item.WarehouseId, value = item.WarehouseName }); index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "suppliers": { List data = new List(); { List supplierInfos = _supplierInfoRepository.QueryData(); int index = 0; foreach (var item in supplierInfos) { data.Add(new { key = item.SupplierCode, value = item.SupplierCode }); index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "materials": { { List data = new List(); { List materielInfos = _basicRepository.MaterielInfoRepository.QueryData(); int index = 0; foreach (var item in materielInfos) { data.Add(new { key = item.MaterielCode, value = item.MaterielCode }); index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } } break; case "returnStatus": { List data = new List(); Type type = typeof(ReturnOrderStatusEnum); List enums = Enum.GetValues(typeof(ReturnOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ReturnOrderStatusEnum).GetField(((ReturnOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "returnType": { List data = new List(); Type type = typeof(ReturnOrderTypeEnum); List enums = Enum.GetValues(typeof(ReturnOrderTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ReturnOrderTypeEnum).GetField(((ReturnOrderTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "taskType": { List data = new List(); #region TaskTypeEnum { Type type = typeof(TaskTypeEnum); List enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); 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 "inboundState": { List data = new List(); Type type = typeof(InOrderStatusEnum); List enums = Enum.GetValues(typeof(InOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(InOrderStatusEnum).GetField(((InOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "outboundStatusEnum": { List data = new List(); Type type = typeof(OutOrderStatusEnum); List enums = Enum.GetValues(typeof(OutOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OutOrderStatusEnum).GetField(((OutOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "outLockStockStatusEnum": { List data = new List(); Type type = typeof(OutLockStockStatusEnum); List enums = Enum.GetValues(typeof(OutLockStockStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OutLockStockStatusEnum).GetField(((OutLockStockStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "inOrderType": { List data = new List(); { Type type = typeof(InOrderTypeEnum); List enums = Enum.GetValues(typeof(InOrderTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(InOrderTypeEnum).GetField(((InOrderTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "outOrderType": { List data = new List(); { Type type = typeof(OutOrderTypeEnum); List enums = Enum.GetValues(typeof(OutOrderTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OutOrderTypeEnum).GetField(((OutOrderTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "orderDetailStatusEnum": { List data = new List(); { Type type = typeof(OrderDetailStatusEnum); List enums = Enum.GetValues(typeof(OrderDetailStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OrderDetailStatusEnum).GetField(((OrderDetailStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "createType": { List data = new List(); { Type type = typeof(OrderCreateTypeEnum); List enums = Enum.GetValues(typeof(OrderCreateTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OrderCreateTypeEnum).GetField(((OrderCreateTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "enableEnum": { List data = new List(); { Type type = typeof(EnableEnum); List enums = Enum.GetValues(typeof(EnableEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(EnableEnum).GetField(((EnableEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "enableStatusEnum": { List data = new List(); { Type type = typeof(EnableStatusEnum); List enums = Enum.GetValues(typeof(EnableStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(EnableStatusEnum).GetField(((EnableStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "locationStatusEnum": { List data = new List(); { Type type = typeof(LocationStatusEnum); List enums = Enum.GetValues(typeof(LocationStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(LocationStatusEnum).GetField(((LocationStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "locationTypeEnum": { List data = new List(); { Type type = typeof(LocationTypeEnum); List enums = Enum.GetValues(typeof(LocationTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(LocationTypeEnum).GetField(((LocationTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "taskTypeEnum": { List data = new List(); //{ // Type type = typeof(TaskTypeEnum); // List enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast().ToList(); // int index = 0; // foreach (var item in enums) // { // FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString()); // DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); // if (description != null) // { // data.Add(new { key = item.ToString(), value = description.Description }); // } // else // { // data.Add(new { key = item.ToString(), value = item.ToString() }); // } // index++; // } //} result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "taskStatusEnum": { List data = new List(); { Type type = typeof(TaskStatusEnum); List enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } //{ // Type type = typeof(TaskStatusEnum); // List enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast().ToList(); // int index = 0; // foreach (var item in enums) // { // FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString()); // DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); // if (description != null) // { // data.Add(new { key = item.ToString(), value = description.Description }); // } // else // { // data.Add(new { key = item.ToString(), value = item.ToString() }); // } // index++; // } //} result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "stockStatusEmun": { List data = new List(); Type type = typeof(StockStatusEmun); List enums = Enum.GetValues(typeof(StockStatusEmun)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(StockStatusEmun).GetField(((StockStatusEmun)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "stockChangeType": { List data = new List(); Type type = typeof(StockChangeTypeEnum); List enums = Enum.GetValues(typeof(StockChangeTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(StockChangeTypeEnum).GetField(((StockChangeTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "outStockStatus": { List data = new List(); Type type = typeof(OutLockStockStatusEnum); List enums = Enum.GetValues(typeof(OutLockStockStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(OutLockStockStatusEnum).GetField(((OutLockStockStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "receiveOrderTypeEnum": { List data = new List(); { Type type = typeof(ReceiveOrderTypeEnum); List enums = Enum.GetValues(typeof(ReceiveOrderTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ReceiveOrderTypeEnum).GetField(((ReceiveOrderTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "authorityScope": { if (App.User.IsSuperAdmin) { List warehouses = _basicRepository.WarehouseRepository.QueryData(x => true); var data = warehouses.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } else { List roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == App.User.RoleId); var data = roleDataPermissions.Select(x => new { key = x.WarehouseId, value = x.WarehouseName }); result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } } break; case "authorityScopes": { List roles = Repository.Db.Queryable().ToList(); List data = new List(); foreach (var item in roles) { List roleDataPermissions = _roleDataPermissionRepository.QueryData(x => x.RoleId == item.RoleId); string value = ""; foreach (var roleDataPermission in roleDataPermissions) { value += (roleDataPermission.WarehouseName + ","); } if (roleDataPermissions.Count > 0) data.Add(new { key = item.RoleId, value = value.Substring(0, value.Length - 1) }); else data.Add(new { key = item.RoleId, value = "无权限" }); } data.Add(new { key = -1, value = "无权限" }); result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data, SaveCache = false }; } break; case "locationChangeType": { List data = new List(); { Type type = typeof(LocationChangeType); List enums = Enum.GetValues(typeof(LocationChangeType)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(LocationChangeType).GetField(((LocationChangeType)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "receiveStatus": { List data = new List(); { Type type = typeof(ReceiveOrderStatusEnum); List enums = Enum.GetValues(typeof(ReceiveOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ReceiveOrderStatusEnum).GetField(((ReceiveOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "purchaseType": { List data = new List(); { Type type = typeof(PurchaseOrderTypeEnum); List enums = Enum.GetValues(typeof(PurchaseOrderTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { //FieldInfo? fieldInfo = typeof(PurchaseOrderTypeEnum).GetField(((PurchaseOrderTypeEnum)item).ToString()); //DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); //if (description != null) //{ // data.Add(new { key = item.ToString(), value = description.Description }); //} //else //{ // data.Add(new { key = item.ToString(), value = item.ToString() }); //} //index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "purchaseOrderStatus": { List data = new List(); { Type type = typeof(PurchaseOrderStatusEnum); List enums = Enum.GetValues(typeof(PurchaseOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(PurchaseOrderStatusEnum).GetField(((PurchaseOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "printStatus": { List data = new List(); { Type type = typeof(PrintStatusEnum); List enums = Enum.GetValues(typeof(PrintStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(PrintStatusEnum).GetField(((PrintStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "checkOrderStatusEnum": { List data = new List(); { Type type = typeof(CheckOrderStatusEnum); List enums = Enum.GetValues(typeof(CheckOrderStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(CheckOrderStatusEnum).GetField(((CheckOrderStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "checkAcceptEnum": { List data = new List(); { Type type = typeof(CheckAcceptEnum); List enumNames = Enum.GetNames(typeof(CheckAcceptEnum)).ToList(); int index = 0; foreach (var item in enumNames) { FieldInfo? fieldInfo = typeof(CheckAcceptEnum).GetField((item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "checkUploadEnum": { List data = new List(); { Type type = typeof(CheckUploadEnum); List enums = Enum.GetValues(typeof(CheckUploadEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(CheckUploadEnum).GetField(((CheckUploadEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "proStockAttributeEnum": { List data = new List(); { Type type = typeof(ProStockAttributeEnum); List enums = Enum.GetValues(typeof(ProStockAttributeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ProStockAttributeEnum).GetField(((ProStockAttributeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "materielSourceTypeEnum": { List data = new List(); { Type type = typeof(MaterielSourceTypeEnum); List enums = Enum.GetValues(typeof(MaterielSourceTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(MaterielSourceTypeEnum).GetField(((MaterielSourceTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "materielTypeEnum": { List data = new List(); { Type type = typeof(MaterielTypeEnum); List enums = Enum.GetValues(typeof(MaterielTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(MaterielTypeEnum).GetField(((MaterielTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "customerOutRuleEnum": { List data = new List(); { Type type = typeof(CustomerOutRuleEnum); List enums = Enum.GetValues(typeof(CustomerOutRuleEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(CustomerOutRuleEnum).GetField(((CustomerOutRuleEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "proScrapStatusEnum": { List data = new List(); { Type type = typeof(ProScrapSheetStatusEnum); List enums = Enum.GetValues(typeof(ProScrapSheetStatusEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(ProScrapSheetStatusEnum).GetField(((ProScrapSheetStatusEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "checkTypeEnum": { List data = new List(); { Type type = typeof(CheckTypeEnum); List enums = Enum.GetValues(typeof(CheckTypeEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(CheckTypeEnum).GetField(((CheckTypeEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "inspectAcceptEnum": { List data = new List(); { Type type = typeof(InspectAcceptEnum); List enums = Enum.GetValues(typeof(InspectAcceptEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(InspectAcceptEnum).GetField(((InspectAcceptEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; case "inspectResultEnum": { List data = new List(); { Type type = typeof(InspectResultEnum); List enums = Enum.GetValues(typeof(InspectResultEnum)).Cast().ToList(); int index = 0; foreach (var item in enums) { FieldInfo? fieldInfo = typeof(InspectResultEnum).GetField(((InspectResultEnum)item).ToString()); DescriptionAttribute? description = fieldInfo.GetCustomAttribute(); if (description != null) { data.Add(new { key = item.ToString(), value = description.Description }); } else { data.Add(new { key = item.ToString(), value = item.ToString() }); } index++; } } result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; } break; } return result; } catch (Exception ex) { return null; } } } }