wangxinhui
2025-01-10 4bc0e18b94a2bf17c1b7277910d63ef82fbe616a
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -34,14 +34,16 @@
        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;
@@ -174,6 +176,88 @@
            {
                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>();
@@ -675,6 +759,114 @@
                            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;
            }