|  |  | 
 |  |  |         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) : base(BaseDal) | 
 |  |  |         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; | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 switch (key) | 
 |  |  |                 { | 
 |  |  |                     case "warehouses": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 List<Dt_Warehouse> 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<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 List<Dt_SupplierInfo> 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<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                                 { | 
 |  |  |                                     List<Dt_MaterielInfo> 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 "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 | 
 |  |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                     case "inboundState": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 Type type = typeof(TaskInStatusEnum); | 
 |  |  |                                 List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                                 Type type = typeof(TaskStatusEnum); | 
 |  |  |                                 List<int> enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                                 int index = 0; | 
 |  |  |                                 foreach (var item in enums) | 
 |  |  |                                 { | 
 |  |  |                                     FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); | 
 |  |  |                                     FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString()); | 
 |  |  |                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
 |  |  |                                     if (description != null) | 
 |  |  |                                     { | 
 |  |  | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 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++; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             //{ | 
 |  |  |                             //    Type type = typeof(TaskStatusEnum); | 
 |  |  |                             //    List<int> enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                             //    int index = 0; | 
 |  |  |                             //    foreach (var item in enums) | 
 |  |  |                             //    { | 
 |  |  |                             //        FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)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++; | 
 |  |  |                             //    } | 
 |  |  |                             //} | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                     case "receiveStatus": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 Type type = typeof(ReceiveOrderStatusEnum); | 
 |  |  |                                 List<int> enums = Enum.GetValues(typeof(ReceiveOrderStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                                 int index = 0; | 
 |  |  |                                 foreach (var item in enums) | 
 |  |  |                                 { | 
 |  |  |                                     FieldInfo? fieldInfo = typeof(ReceiveOrderStatusEnum).GetField(((ReceiveOrderStatusEnum)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++; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break;  | 
 |  |  |                     case "purchaseType": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 Type type = typeof(PurchaseOrderTypeEnum); | 
 |  |  |                                 List<string> enums = Enum.GetValues(typeof(PurchaseOrderTypeEnum)).Cast<string>().ToList(); | 
 |  |  |                                 int index = 0; | 
 |  |  |                                 foreach (var item in enums) | 
 |  |  |                                 { | 
 |  |  |                                     //FieldInfo? fieldInfo = typeof(PurchaseOrderTypeEnum).GetField(((PurchaseOrderTypeEnum)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++; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break;  | 
 |  |  |                     case "purchaseOrderStatus": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 Type type = typeof(PurchaseOrderStatusEnum); | 
 |  |  |                                 List<int> enums = Enum.GetValues(typeof(PurchaseOrderStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                                 int index = 0; | 
 |  |  |                                 foreach (var item in enums) | 
 |  |  |                                 { | 
 |  |  |                                     FieldInfo? fieldInfo = typeof(PurchaseOrderStatusEnum).GetField(((PurchaseOrderStatusEnum)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++; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                     case "printStatus": | 
 |  |  |                         { | 
 |  |  |                             List<object> data = new List<object>(); | 
 |  |  |  | 
 |  |  |                             { | 
 |  |  |                                 Type type = typeof(PrintStatusEnum); | 
 |  |  |                                 List<int> enums = Enum.GetValues(typeof(PrintStatusEnum)).Cast<int>().ToList(); | 
 |  |  |                                 int index = 0; | 
 |  |  |                                 foreach (var item in enums) | 
 |  |  |                                 { | 
 |  |  |                                     FieldInfo? fieldInfo = typeof(PrintStatusEnum).GetField(((PrintStatusEnum)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++; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; | 
 |  |  |                         } | 
 |  |  |                         break; | 
 |  |  |                 } | 
 |  |  |                 return result; | 
 |  |  |             } |