From c020f31a67fc5aa5644511bddff075f7ecc85234 Mon Sep 17 00:00:00 2001 From: qinchulong <qinchulong@hnkhzn.com> Date: 星期二, 27 五月 2025 15:35:27 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/ZhongHeLiTiKu --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs | 140 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 140 insertions(+), 0 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs" new file mode 100644 index 0000000..f071b2d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs" @@ -0,0 +1,140 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core; +using WIDESEA_Core.BaseServices; +using WIDESEA_Core.Enums; +using WIDESEA_Core.Helper; +using WIDESEA_Core.Utilities; +using WIDESEA_DTO.Basic; +using WIDESEA_IBasicRepository; +using WIDESEA_IBasicService; +using WIDESEA_Model.Models; + +namespace WIDESEA_BasicService +{ + public partial class LocationInfoService : ServiceBase<Dt_LocationInfo, ILocationInfoRepository>, ILocationInfoService + { + private readonly IBasicRepository _basicRepository; + public ILocationInfoRepository Repository => BaseDal; + + public LocationInfoService(ILocationInfoRepository BaseDal, IBasicRepository basicRepository) : base(BaseDal) + { + _basicRepository = basicRepository; + } + + public override WebResponseContent AddData(SaveModel saveModel) + { + Dt_LocationInfo locationInfo = saveModel.MainData.DicToModel<Dt_LocationInfo>(); + return base.AddData(locationInfo); + } + + public override WebResponseContent UpdateData(SaveModel saveModel) + { + return base.UpdateData(saveModel); + } + + public override WebResponseContent DeleteData(object[] keys) + { + return base.DeleteData(keys); + } + + public WebResponseContent LocationEnableStatus(int[] keys) + { + List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => keys.Contains(x.Id)); + locationInfos.ForEach(x => + { + x.EnableStatus = EnableStatusEnum.Normal.ObjToInt(); + }); + Repository.UpdateData(locationInfos); + + return WebResponseContent.Instance.OK(); + } + + public WebResponseContent LocationDisableStatus(int[] keys) + { + List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => keys.Contains(x.Id)); + locationInfos.ForEach(x => + { + x.EnableStatus = EnableStatusEnum.Disable.ObjToInt(); + }); + Repository.UpdateData(locationInfos); + + return WebResponseContent.Instance.OK(); + } + + public WebResponseContent LocationEnableStatus(int key) + { + return LocationEnableStatus(new int[] { key }); + } + + public WebResponseContent LocationDisableStatus(int key) + { + return LocationDisableStatus(new int[] { key }); + } + + public WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO) + { + try + { + (bool, string, object?) result = ModelValidate.ValidateModelData(initializationLocationDTO); + if (!result.Item1) return WebResponseContent.Instance.Error(result.Item2); + + int side = 1; + List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); + for (int i = 0; i < initializationLocationDTO.MaxRow; i++) + { + for (int j = 0; j < initializationLocationDTO.MaxColumn; j++) + { + for (int k = 0; k < initializationLocationDTO.MaxLayer; k++) + { + Dt_LocationInfo locationInfo = new Dt_LocationInfo() + { + AreaId = 0, + Column = j + 1, + EnableStatus = EnableStatusEnum.Normal.ObjToInt(), + Layer = k + 1, + LocationStatus = LocationStatusEnum.Free.ObjToInt(), + LocationType = LocationTypeEnum.Cube.ObjToInt(), + RoadwayNo = initializationLocationDTO.Roadway, + Row = i + 1, + }; + + if (initializationLocationDTO.IsSingleDepth) + { + locationInfo.Depth = 1; + locationInfo.LocationCode = $"R{initializationLocationDTO.Roadway.ToString().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{initializationLocationDTO.Roadway.ToString().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')}娣�"; + } + else + { + if (initializationLocationDTO.FirstDepthRows.Contains(i + 1)) + { + locationInfo.Depth = 1; + } + else + { + locationInfo.Depth = 2; + } + locationInfo.LocationCode = $"R{initializationLocationDTO.Roadway.ToString().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{initializationLocationDTO.Roadway.ToString().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')}娣�"; + } + + locationInfos.Add(locationInfo); + } + } + } + + BaseDal.AddData(locationInfos); + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + } +} -- Gitblit v1.9.3