647556386
4 天以前 696edbff3c8812e4b820f624d66a02ae6ddb1a06
项目代码/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 },
@@ -156,7 +156,6 @@
                    { nameof(Dt_LocationInfo.Row),OrderByType.Asc },
                    { nameof(Dt_LocationInfo.Column),OrderByType.Asc },
                    { nameof(Dt_LocationInfo.Depth),OrderByType.Desc },
                };
@@ -164,15 +163,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)