hutongqing
2025-01-02 b51a65433d6102f2f8f00226404d9ca3808404af
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService.cs
@@ -21,12 +21,26 @@
namespace WIDESEA_BasicService
{
    public partial class LocationInfoService : ServiceBase<Dt_LocationInfo, ILocationInfoRepository>, ILocationInfoService
    public class LocationInfoService_Old
    {
        private readonly ILocationInfoRepository Repository;
        public LocationInfoService_Old(ILocationInfoRepository repository)
        {
            Repository = repository;
        }
        double weightValue = 0.5;
        private readonly static object _locker = new object();
        static List<LocationCache> locationCaches = new List<LocationCache>();
        /// <summary>
        /// è´§ä½åˆ†é…é€»è¾‘
        /// </summary>
        /// <param name="roadwayNo">巷道号</param>
        /// <param name="palletType">托盘类型</param>
        /// <returns></returns>
        public Dt_LocationInfo? AssignLocation(string roadwayNo, PalletTypeEnum palletType)
        {
            lock (_locker)
@@ -141,9 +155,14 @@
            return null;
        }
        /// <summary>
        /// ä¿®æ”¹è´§ä½çŠ¶æ€åŠç±»åž‹
        /// </summary>
        /// <param name="locationCode">货位编号</param>
        /// <param name="palletType">托盘类型</param>
        /// <param name="locationStatus">货位状态</param>
        public void UpdateLocationStatus(string locationCode, PalletTypeEnum palletType, LocationStatusEnum locationStatus)
        {
            Dt_LocationInfo location = Repository.QueryFirst(x => x.LocationCode == locationCode);
            List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo);
@@ -182,10 +201,14 @@
            Repository.UpdateData(locations);
        }
        /// <summary>
        /// ä¿®æ”¹è´§ä½çŠ¶æ€åŠç±»åž‹
        /// </summary>
        /// <param name="location">货位对象</param>
        /// <param name="palletType">托盘类型</param>
        /// <param name="locationStatus">货位状态</param>
        public void UpdateLocationStatus(Dt_LocationInfo location, PalletTypeEnum palletType, LocationStatusEnum locationStatus)
        {
            List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo);
            List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, location);