From d01658c63cd541fe4ea5cec5c4bd7f23b9408cdb Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期六, 18 十月 2025 15:04:56 +0800
Subject: [PATCH] 前端,pda,后端接口更改,新增,优化

---
 WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs |  138 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 130 insertions(+), 8 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
index 3503bbe..d52ec0f 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing Microsoft.AspNetCore.Mvc.ViewFeatures;
+using Newtonsoft.Json;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Information;
 using System;
 using System.Collections.Generic;
@@ -7,6 +8,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.OrderEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
@@ -14,7 +16,9 @@
 using WIDESEA_Core.DB;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
+using WIDESEA_Core.TaskEnum;
 using WIDESEA_DTO.System;
+using WIDESEA_IBasicRepository;
 using WIDESEA_ISystemRepository;
 using WIDESEA_ISystemService;
 using WIDESEA_Model.Models;
@@ -25,11 +29,13 @@
     {
         private readonly IUnitOfWorkManage _unitOfWorkManage;
         private readonly ICacheService _cacheService;
+        private readonly IBasicRepository _basicRepository;
 
-        public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService) : base(BaseDal)
+        public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, IBasicRepository basicRepository) : base(BaseDal)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _cacheService = cacheService;
+            _basicRepository = basicRepository;
         }
 
         public ISys_DictionaryRepository Repository => BaseDal;
@@ -150,6 +156,23 @@
             {
                 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 "inboundState":
                         {
                             List<object> data = new List<object>();
@@ -159,6 +182,30 @@
                             foreach (var item in enums)
                             {
                                 FieldInfo? fieldInfo = typeof(InboundStatusEnum).GetField(((InboundStatusEnum)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 "inoutType":
+                        {
+                            List<object> data = new List<object>();
+                            Type type = typeof(InoutTypeEnum);
+                            List<int> enums = Enum.GetValues(typeof(InoutTypeEnum)).Cast<int>().ToList();
+                            int index = 0;
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(InoutTypeEnum).GetField(((InoutTypeEnum)item).ToString());
                                 DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                 if (description != null)
                                 {
@@ -203,12 +250,12 @@
                             List<object> data = new List<object>();
 
                             {
-                                Type type = typeof(InOrderTypeEnum);
-                                List<int> enums = Enum.GetValues(typeof(InOrderTypeEnum)).Cast<int>().ToList();
+                                Type type = typeof(OrderTypeEnum);
+                                List<int> enums = Enum.GetValues(typeof(OrderTypeEnum)).Cast<int>().ToList();
                                 int index = 0;
                                 foreach (var item in enums)
                                 {
-                                    FieldInfo? fieldInfo = typeof(InOrderTypeEnum).GetField(((InOrderTypeEnum)item).ToString());
+                                    FieldInfo? fieldInfo = typeof(OrderTypeEnum).GetField(((OrderTypeEnum)item).ToString());
                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                     if (description != null)
                                     {
@@ -446,12 +493,12 @@
                             List<object> data = new List<object>();
 
                             {
-                                Type type = typeof(InTaskStatusEnum);
-                                List<int> enums = Enum.GetValues(typeof(InTaskStatusEnum)).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(InTaskStatusEnum).GetField(((InTaskStatusEnum)item).ToString());
+                                    FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString());
                                     DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                     if (description != null)
                                     {
@@ -629,6 +676,81 @@
                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                         }
                         break;
+                    case "inoutTypeEnum":
+                        {
+                            List<object> data = new List<object>();
+                            Type enumType = typeof(InoutTypeEnum);
+
+                            // 鑾峰彇鎵�鏈夋灇涓炬垚鍛樼殑瀛楁淇℃伅
+                            foreach (var field in enumType.GetFields(BindingFlags.Public | BindingFlags.Static))
+                            {
+                                // 瀛楁鍚嶇О灏辨槸鏋氫妇鎴愬憳鐨勫瓧绗︽爣璇嗭紙濡�"StandardCount"锛�
+                                string enumName = field.Name;
+
+                                // 鑾峰彇鎻忚堪灞炴��
+                                var descriptionAttr = field.GetCustomAttribute<DescriptionAttribute>();
+                                string description = descriptionAttr?.Description ?? enumName;
+                                int enumValue = (int)field.GetValue(null);
+
+                                data.Add(new
+                                {
+                                    key = enumName,  // 浣跨敤鏋氫妇鍚嶇О浣滀负key
+                                    value = description,
+                                    enumValue = enumValue  // 鍙�夛細淇濈暀鏁存暟value
+                                });
+                            }
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
+                    case "takeStockStatusEnum":
+                        {
+                            List<object> data = new List<object>();
+                            Type type = typeof(TakeStockStatusEnum);
+                            List<int> enums = Enum.GetValues(typeof(TakeStockStatusEnum)).Cast<int>().ToList();
+                            int index = 0;
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TakeStockStatusEnum).GetField(((TakeStockStatusEnum)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 "takeStockDetailStatusEnum":
+                        {
+                            List<object> data = new List<object>();
+                            Type type = typeof(TakeStockDetailStatusEnum);
+                            List<int> enums = Enum.GetValues(typeof(TakeStockDetailStatusEnum)).Cast<int>().ToList();
+                            int index = 0;
+                            foreach (var item in enums)
+                            {
+                                FieldInfo? fieldInfo = typeof(TakeStockDetailStatusEnum).GetField(((TakeStockDetailStatusEnum)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;
             }

--
Gitblit v1.9.3