1
heshaofeng
2026-03-25 37454e625df68d40897112b2e8c2e3cf4d7163e3
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs
@@ -139,7 +139,7 @@
                }
                List<string> lockLocationCodes = locationCaches.Select(x => x.LocationCode).ToList();
                //Dictionary<string, SqlSugar.OrderByType> orderBy = new Dictionary<string, OrderByType>()
                //{
                //    { nameof(Dt_LocationInfo.RoadwayNo),OrderByType.Asc },
@@ -164,15 +164,39 @@
                if (first != null)
                {
                    locationCaches.Add(new LocationCache { LocationCode = first?.LocationCode, DateTime = DateTime.Now });
                    Db.Updateable<Dt_LocationInfo>().SetColumns(x => new Dt_LocationInfo
                    using (var sugarClient = new SqlSugarClient(new ConnectionConfig
                    {
                        LocationStatus = (int)LocationStatusEnum.InStockLock,
                    }).Where(x => x.Id == first.Id).ExecuteCommand();
                        ConnectionString = DBContext.ConnectionString,
                        DbType = DBContext.DbType,
                        IsAutoCloseConnection = true,
                        InitKeyType = InitKeyType.Attribute
                    }))
                    {
                        sugarClient.Updateable<Dt_LocationInfo>().SetColumns(x => new Dt_LocationInfo
                        {
                            LocationStatus = (int)LocationStatusEnum.InStockLock,
                        }).Where(x => x.Id == first.Id).ExecuteCommand();
                    }
                }
                return first;
            }
        }
        public bool QueryLocationCount(int locationType)
        {
            try
            {
                return BaseDal.QueryData(x => x.LocationType == locationType && x.LocationStatus == (int)LocationStatusEnum.Free && x.EnableStatus == (int)EnableStatusEnum.Normal).Any();
            }
            catch (Exception)
            {
                return false;
            }
        }
        public Dt_LocationInfo? AssignLocation()
        {
            lock (_locker)