123
duyongjia
2024-11-19 e9731a410b17ced27f18f10e488072cb2803fa18
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicService/Base/LocationInfoService.cs
@@ -1,7 +1,9 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.CommonEnum;
@@ -30,7 +32,12 @@
        public override WebResponseContent AddData(SaveModel saveModel)
        {
            saveModel.MainData.Add(nameof(Dt_LocationInfo.EnableStatus), EnableStatusEnum.Normal.ObjToInt());
            saveModel.MainData.Add(nameof(Dt_LocationInfo.LocationStatus), LocationStatusEnum.Free.ObjToInt());
            Dt_LocationInfo locationInfo = saveModel.MainData.DicToModel<Dt_LocationInfo>();
            locationInfo.LocationCode = $"R{locationInfo.RoadwayNo.PadLeft(2, '0')}-{locationInfo.Row.ToString().PadLeft(3, '0')}-{locationInfo.Column.ToString().PadLeft(3, '0')}-{locationInfo.Layer.ToString().PadLeft(3, '0')}-{locationInfo.Depth.ToString().PadLeft(2, '0')}";
            locationInfo.LocationName = $"R{locationInfo.RoadwayNo.PadLeft(2, '0')}巷道{locationInfo.Row.ToString().PadLeft(3, '0')}行{locationInfo.Column.ToString().PadLeft(3, '0')}列{locationInfo.Layer.ToString().PadLeft(3, '0')}层{locationInfo.Depth.ToString().PadLeft(2, '0')}æ·±";
            return base.AddData(locationInfo);
        }
@@ -78,6 +85,58 @@
            return LocationDisableStatus(new int[] { key });
        }
        public WebResponseContent GetLocationStatusDic()
        {
            try
            {
                List<object> data = new List<object>();
                Type type = typeof(LocationStatusEnum);
                List<int> enums = Enum.GetValues(typeof(LocationStatusEnum)).Cast<int>().ToList();
                foreach (var item in enums)
                {
                    FieldInfo? fieldInfo = typeof(LocationStatusEnum).GetField(((LocationStatusEnum)item).ToString());
                    if (fieldInfo != null)
                    {
                        DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                        if (description != null)
                        {
                            data.Add(new { value = item.ToString(), label = description.Description });
                        }
                        else
                        {
                            data.Add(new { value = item.ToString(), label = item.ToString() });
                        }
                    }
                }
                return WebResponseContent.Instance.OK(data: data);
            }
            catch (Exception e)
            {
                return WebResponseContent.Instance.Error(e.Message);
            }
        }
        public WebResponseContent UpdateLocationStatus(int key, int locationStatus)
        {
            try
            {
                Dt_LocationInfo locationInfo = Repository.QueryFirst(x => x.Id == key);
                if (locationInfo == null)
                {
                    return WebResponseContent.Instance.Error($"未找到货位信息");
                }
                locationInfo.LocationStatus = locationStatus;
                Repository.UpdateData(locationInfo);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO)
        {
            try