From 547436626cfe9cb01ae95b0bde9886b9cf46a9f2 Mon Sep 17 00:00:00 2001 From: qinchulong <qinchulong@hnkhzn.com> Date: 星期日, 02 三月 2025 23:51:05 +0800 Subject: [PATCH] 第一版完成 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 46 insertions(+), 5 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs" index 9226319..6a6a56d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_WMSPart/LocationInfoService.cs" @@ -1,7 +1,6 @@ -锘� - -using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; +锘縰sing AutoMapper; using WIDESEAWCS_Common.LocationEnum; +using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; @@ -16,12 +15,17 @@ /// <summary> /// 璐т綅淇℃伅涓氬姟鎺ュ彛瀹炵幇灞� /// </summary> - public partial class LocationInfoService : ServiceBase<Dt_LocationInfo, IRepository<Dt_LocationInfo>>, ILocationInfoService + public class LocationInfoService : ServiceBase<Dt_LocationInfo, IRepository<Dt_LocationInfo>>, ILocationInfoService { public IRepository<Dt_LocationInfo> Repository => BaseDal; + private readonly IRepository<dt_storagemode> _dt_storagemode; + private readonly IMapper _mapper; + //private readonly Idt_ErrormsginfoService _ErrormsginfoService; - public LocationInfoService(IRepository<Dt_LocationInfo> BaseDal) : base(BaseDal) + public LocationInfoService(IRepository<Dt_LocationInfo> BaseDal, IRepository<dt_storagemode> storagemode, IMapper mapper) : base(BaseDal) { + _dt_storagemode = storagemode; + _mapper = mapper; } public override PageGridData<Dt_LocationInfo> GetPageData(PageDataOptions options) @@ -91,6 +95,43 @@ } } + /// <summary> + /// 鏍规嵁閫夋嫨鐨勫叆搴撹鍒欏垎閰嶈揣浣� + /// </summary> + /// <param name="InMode"></param> + /// <returns></returns> + public Dt_LocationInfo GetInLocation(int InMode) + { + Dt_LocationInfo location = new Dt_LocationInfo(); + try + { + var mode = _dt_storagemode.QueryFirst(v=>v.Id==1); + if (mode.storagemode==(int)StorageModeEnum.Out) + { + var locations = BaseDal.QueryData(v=>v.EnableStatus== (int)EnableStatusEnum.Normal && v.LocationStatus==(int)LocationStatusEnum.Free).OrderBy(v=>v.Row).ToList(); + if (locations.Count<=0) + { + throw new Exception($"鍑哄簱浼樺厛璐т綅鍒嗛厤澶辫触锛屽綋鍓嶆棤绌洪棽璐т綅"); + } + location = locations[0]; + } + else if(mode.storagemode == (int)StorageModeEnum.In) + { + var locations = BaseDal.QueryData(v => v.EnableStatus == (int)EnableStatusEnum.Normal && v.LocationStatus == (int)LocationStatusEnum.Free).OrderByDescending(v => v.Row).ToList(); + if (locations.Count <= 0) + { + throw new Exception($"鍏ュ簱浼樺厛璐т綅鍒嗛厤澶辫触锛屽綋鍓嶆棤绌洪棽璐т綅"); + } + location = locations[0]; + } + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + return location; + } + public WebResponseContent GetLocationConfigs(int layer) { try -- Gitblit v1.9.3