| | |
| | | /// <param name="location">è´§ä½å¯¹è±¡</param> |
| | | /// <param name="palletType">æçç±»å</param> |
| | | /// <param name="locationStatus">è´§ä½ç¶æ</param> |
| | | public void UpdateLocationStatus2(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId) |
| | | { |
| | | List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo); |
| | | //public void UpdateLocationStatus2(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId) |
| | | //{ |
| | | // List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo); |
| | | |
| | | List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, location); |
| | | if (locationInfos.Max(x => x.Depth) < 3) |
| | | { |
| | | for (int i = 0; i < locations.Count; i++) |
| | | { |
| | | if (locations[i].LocationType != palletType.ObjToInt()) |
| | | { |
| | | locations[i].LocationType = palletType.ObjToInt(); |
| | | } |
| | | // List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, location); |
| | | // if (locationInfos.Max(x => x.Depth) < 3) |
| | | // { |
| | | // for (int i = 0; i < locations.Count; i++) |
| | | // { |
| | | // if (locations[i].LocationType != palletType.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationType = palletType.ObjToInt(); |
| | | // } |
| | | |
| | | if (locations[i].LocationCode == location.LocationCode) |
| | | { |
| | | locations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | } |
| | | else |
| | | { |
| | | if (locationStatus == LocationStatusEnum.Lock) |
| | | { |
| | | if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | } |
| | | else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | } |
| | | } |
| | | else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock) |
| | | { |
| | | if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | } |
| | | else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // if (locations[i].LocationCode == location.LocationCode) |
| | | // { |
| | | // locations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | // } |
| | | // else |
| | | // { |
| | | // if (locationStatus == LocationStatusEnum.Lock) |
| | | // { |
| | | // if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | // } |
| | | // else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | // } |
| | | // } |
| | | // else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock) |
| | | // { |
| | | // if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | // } |
| | | // else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | Dt_LocationInfo? nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | if(location.RoadwayNo == "SC01_BC") |
| | | { |
| | | nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | } |
| | | if (nearLocation != null) |
| | | { |
| | | List<Dt_LocationInfo> nearLocations = GetGroupLocations(locationInfos, nearLocation); |
| | | for (int i = 0; i < nearLocations.Count; i++) |
| | | { |
| | | if (nearLocations[i].LocationType != palletType.ObjToInt()) |
| | | { |
| | | nearLocations[i].LocationType = palletType.ObjToInt(); |
| | | } |
| | | // Dt_LocationInfo? nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | // if(location.RoadwayNo == "SC01_BC") |
| | | // { |
| | | // nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | // } |
| | | // if (nearLocation != null) |
| | | // { |
| | | // List<Dt_LocationInfo> nearLocations = GetGroupLocations(locationInfos, nearLocation); |
| | | // for (int i = 0; i < nearLocations.Count; i++) |
| | | // { |
| | | // if (nearLocations[i].LocationType != palletType.ObjToInt()) |
| | | // { |
| | | // nearLocations[i].LocationType = palletType.ObjToInt(); |
| | | // } |
| | | |
| | | if (palletType.ObjToInt() >= PalletTypeEnum.LargePallet.ObjToInt()) |
| | | { |
| | | if (nearLocations[i].LocationCode == nearLocation.LocationCode) |
| | | { |
| | | nearLocations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | } |
| | | else |
| | | { |
| | | if (locationStatus == LocationStatusEnum.Lock) |
| | | { |
| | | if (nearLocations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | { |
| | | nearLocations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | } |
| | | else if (nearLocations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | { |
| | | nearLocations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | } |
| | | } |
| | | else if (locationStatus == LocationStatusEnum.InStock) |
| | | { |
| | | if (nearLocations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | { |
| | | nearLocations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | } |
| | | else if (nearLocations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | { |
| | | nearLocations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // if (palletType.ObjToInt() >= PalletTypeEnum.LargePallet.ObjToInt()) |
| | | // { |
| | | // if (nearLocations[i].LocationCode == nearLocation.LocationCode) |
| | | // { |
| | | // nearLocations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | // } |
| | | // else |
| | | // { |
| | | // if (locationStatus == LocationStatusEnum.Lock) |
| | | // { |
| | | // if (nearLocations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | // { |
| | | // nearLocations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | // } |
| | | // else if (nearLocations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | // { |
| | | // nearLocations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | // } |
| | | // } |
| | | // else if (locationStatus == LocationStatusEnum.InStock) |
| | | // { |
| | | // if (nearLocations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | // { |
| | | // nearLocations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | // } |
| | | // else if (nearLocations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | // { |
| | | // nearLocations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | locations.AddRange(nearLocations); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | for (int i = 0; i < locations.Count; i++) |
| | | { |
| | | if (locations[i].LocationCode == location.LocationCode) |
| | | { |
| | | locations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | } |
| | | else |
| | | { |
| | | if (locationStatus == LocationStatusEnum.Lock) |
| | | { |
| | | if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | } |
| | | else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | } |
| | | } |
| | | else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock) |
| | | { |
| | | if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | } |
| | | else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | { |
| | | locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | } |
| | | } |
| | | if (locations[i].LocationType != palletType.ObjToInt()) |
| | | { |
| | | locations[i].LocationType = palletType.ObjToInt(); |
| | | } |
| | | } |
| | | } |
| | | // } |
| | | // locations.AddRange(nearLocations); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // for (int i = 0; i < locations.Count; i++) |
| | | // { |
| | | // if (locations[i].LocationCode == location.LocationCode) |
| | | // { |
| | | // locations[i].LocationStatus = locationStatus.ObjToInt(); |
| | | // } |
| | | // else |
| | | // { |
| | | // if (locationStatus == LocationStatusEnum.Lock) |
| | | // { |
| | | // if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt(); |
| | | // } |
| | | // else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt(); |
| | | // } |
| | | // } |
| | | // else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock) |
| | | // { |
| | | // if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt(); |
| | | // } |
| | | // else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt(); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (locations[i].LocationType != palletType.ObjToInt()) |
| | | // { |
| | | // locations[i].LocationType = palletType.ObjToInt(); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | if (locations.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()).Count() == locations.Count && locationStatus == LocationStatusEnum.Free) |
| | | { |
| | | locations.ForEach(x => |
| | | { |
| | | x.LocationType = 0; |
| | | }); |
| | | } |
| | | // if (locations.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()).Count() == locations.Count && locationStatus == LocationStatusEnum.Free) |
| | | // { |
| | | // locations.ForEach(x => |
| | | // { |
| | | // x.LocationType = 0; |
| | | // }); |
| | | // } |
| | | |
| | | Repository.UpdateData(locations); |
| | | } |
| | | // Repository.UpdateData(locations); |
| | | //} |
| | | |
| | | public void UpdateLocationStatus(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId) |
| | | { |
| | |
| | | Dt_LocationInfo? nearLocation; |
| | | if (palletTypeInfo.IsOdd) |
| | | { |
| | | nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | if (warehouse.WarehouseCode==WarehouseEnum.HA154.ToString()) |
| | | { |
| | | nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column - 1); |
| | | } |
| | | else |
| | | { |
| | | nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1); |
| | | } |
| | | } |
| | | else |
| | | { |