From 695571c6009ecbc12e7d4a4fb147df7967a1260e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:21:19 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs | 68 +++++++++++++++++++++++++++++----
1 files changed, 59 insertions(+), 9 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs"
index d7e8f20..0338b2f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicRepository/LocationInfoRepository.cs"
@@ -14,6 +14,9 @@
namespace WIDESEA_BasicRepository
{
+ /// <summary>
+ /// 璐т綅浠撳偍瀹炵幇灞�
+ /// </summary>
public class LocationInfoRepository : RepositoryBase<Dt_LocationInfo>, ILocationInfoRepository
{
public LocationInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
@@ -21,31 +24,48 @@
}
+ /// <summary>
+ /// 鑾峰彇鍒嗙粍鎵�鏈夎揣浣�
+ /// </summary>
+ /// <param name="roadway"></param>
+ /// <returns></returns>
public List<LocationGroupDTO> GetAllLocationGroups(string roadway)
{
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, b => b.Depth == 2 && b.RoadwayNo == roadway, x => true);
}
+ /// <summary>
+ /// 鏍规嵁鐘舵�佽幏鍙栧垎缁勮揣浣�
+ /// </summary>
+ /// <param name="roadway"></param>
+ /// <param name="locationAStatus"></param>
+ /// <param name="locationBStatus"></param>
+ /// <returns></returns>
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);
}
- public override bool UpdateData(Dt_LocationInfo entity)
- {
- return base.UpdateData(entity);
- }
-
+ /// <summary>
+ /// 鏍规嵁璐т綅缂栧彿闆嗗悎鑾峰彇璐т綅淇℃伅
+ /// </summary>
+ /// <param name="locationCodes"></param>
+ /// <returns></returns>
public List<Dt_LocationInfo> GetLocationInfos(List<string> locationCodes)
{
return QueryData(x => locationCodes.Contains(x.LocationCode));
}
+ /// <summary>
+ /// 鎵归噺淇敼璐т綅鐘舵��
+ /// </summary>
+ /// <param name="locationInfos"></param>
+ /// <param name="locationStatus"></param>
public void UpdateLocationStatus(List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus)
{
locationInfos.ForEach(x =>
@@ -54,5 +74,35 @@
});
UpdateData(locationInfos);
}
+
+ /// <summary>
+ /// 鑾峰彇鍙嚭搴撹揣浣嶇紪鍙�
+ /// </summary>
+ /// <param name="warehouseId"></param>
+ /// <returns></returns>
+ public List<string> GetCanOutLocationCodes(int warehouseId)
+ {
+ return QueryData(x => x.LocationCode, x => x.WarehouseId == warehouseId && 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> PPGetCanOutLocationCodes(int warehouseId)
+ {
+ return QueryData(x => x.LocationCode, x => x.WarehouseId == warehouseId && x.LocationType == LocationTypeEnum.Undefined.ObjToInt() && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt())).Distinct().ToList();
+ }
+
+ /// <summary>
+ /// 鑾峰彇MES鎸囧畾鍙嚭搴撹揣浣嶇紪鍙�
+ /// </summary>
+ /// <param name="warehouseId"></param>
+ /// <returns></returns>
+ public List<string> GetCanOutLocationCodes(string locationcode)
+ {
+ return QueryData(x => x.LocationCode, x => x.LocationCode == locationcode && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt())).Distinct().ToList();
+ }
}
}
--
Gitblit v1.9.3