From 97073e9e6d03114221436ee0aa1e143d6e2c4a09 Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期一, 04 八月 2025 13:07:39 +0800 Subject: [PATCH] 出入库代码逻辑优化 --- WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs b/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs index 02e31a6..bf88469 100644 --- a/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs +++ b/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs @@ -28,10 +28,10 @@ public List<LocationGroupDTO> GetLocationGroups(string roadway, LocationStatusEnum locationAStatus, LocationStatusEnum locationBStatus) { return QueryTabs<Dt_LocationInfo, Dt_LocationInfo, LocationGroupDTO>( - (a, b) => a.Column == b.Column && a.Layer == b.Layer && a.Row != b.Row && SqlFunc.Abs(a.Row - b.Row) == 1, - (a, b) => new LocationGroupDTO { DepthA = a.Depth, DepthB = b.Depth, EnableStatusA = a.EnableStatus, EnableStatusB = b.EnableStatus, IdA = a.Id, IdB = b.Id, LocationCodeA = a.LocationCode, LocationCodeB = b.LocationCode, LocationStatusA = a.LocationStatus, LocationStatusB = b.LocationStatus, LocationTypeA = a.LocationType, LocationTypeB = b.LocationType }, - a => a.Depth == 1 && a.RoadwayNo == roadway && a.LocationStatus == locationAStatus.ObjToInt(), - b => b.Depth == 2 && b.RoadwayNo == roadway && b.LocationStatus == locationBStatus.ObjToInt(), + (a, b) => a.Column == b.Column && a.Layer == b.Layer && a.Row != b.Row && SqlFunc.Abs(a.Row - b.Row) == 1, + (a, b) => new LocationGroupDTO { DepthA = a.Depth, DepthB = b.Depth, EnableStatusA = a.EnableStatus, EnableStatusB = b.EnableStatus, IdA = a.Id, IdB = b.Id, LocationCodeA = a.LocationCode, LocationCodeB = b.LocationCode, LocationStatusA = a.LocationStatus, LocationStatusB = b.LocationStatus, LocationTypeA = a.LocationType, LocationTypeB = b.LocationType }, + a => a.Depth == 1 && a.RoadwayNo == roadway && a.LocationStatus == locationAStatus.ObjToInt(), + b => b.Depth == 2 && b.RoadwayNo == roadway && b.LocationStatus == locationBStatus.ObjToInt(), x => true); } @@ -40,11 +40,35 @@ return base.UpdateData(entity); } + /// <summary> + /// 鑾峰彇鍙嚭搴撹揣浣嶇紪鍙� + /// </summary> + /// <param name="warehouseId"></param> + /// <returns></returns> public List<string> GetCanOutLocationCodes(List<string> roadways, List<int> areaIds) { - return QueryData(x => x.LocationCode, x => roadways.Contains(x.RoadwayNo) && (areaIds.Contains(x.AreaId) || x.AreaId == 0) && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt())).Distinct().ToList(); + return QueryData(x => x.LocationCode, x => roadways.Contains(x.RoadwayNo) && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt())).Distinct().ToList(); } + /// <summary> + /// 鑾峰彇鍙嚭搴撹揣浣嶇紪鍙� + /// </summary> + /// <param name="warehouseId"></param> + /// <returns></returns> + public List<string> GetCanOutLocationCodes(List<Dt_Warehouse> warehouse) + { + var warehouseIds = warehouse.Select(x => x.WarehouseId).ToList(); + return QueryData(x => x.LocationCode, + x => warehouseIds.Contains(x.WarehouseId) && + x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && + (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || + x.EnableStatus == EnableStatusEnum.Normal.ObjToInt())) + .Distinct() + .ToList(); + } + + + public List<Dt_LocationInfo> GetLocationInfos(List<string> locationCodes) { return QueryData(x => locationCodes.Contains(x.LocationCode)); -- Gitblit v1.9.3