public void FillResolverByBin(Resolver resolver) { User user = userMgr.CheckAndLoadUser(resolver.UserCode); StorageBin storageBin = storageBinMgr.CheckAndLoadStorageBin(resolver.Input); #region 校验 if (!storageBin.IsActive) { throw new BusinessErrorException("Common.Business.Error.EntityInActive", storageBin.Code); } //if (!user.HasPermission(storageBin.Area.Location.Region.Code)) //{ // throw new BusinessErrorException("Common.Business.Error.NoPermission"); //} #endregion resolver.Description = storageBin.Description; resolver.BinCode = storageBin.Code; //库格一定为目的(操作) resolver.LocationCode = storageBin.Area.Location.Code; resolver.LocationToCode = storageBin.Area.Location.Code; resolver.Result = languageMgr.TranslateMessage("Warehouse.CurrentBinCode", resolver.UserCode, storageBin.Code); }
protected override void SetDetail(Resolver resolver) { Hu hu = huMgr.CheckAndLoadHu(resolver.Input); if (this.locationMgr.IsHuOcuppyByPickList(resolver.Input)) { throw new BusinessErrorException("Order.Error.PickUp.HuOcuppied", resolver.Input); } if (resolver.BinCode == string.Empty || resolver.BinCode == null) { throw new BusinessErrorException("Warehouse.PutAway.PlzScanBin"); } if (hu.StorageBin != null && hu.StorageBin.Trim() != string.Empty && hu.StorageBin == resolver.BinCode) { throw new BusinessErrorException("Warehouse.PutAway.AlreadyInThisBin"); } //校验Bin StorageBin bin = storageBinMgr.CheckAndLoadStorageBin(resolver.BinCode); LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, string.Empty, bin.Area.Location.Code); locationLotDetail.NewStorageBin = bin; TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, true); resolver.AddTransformerDetail(transformerDetail); }
public LocationLotDetail ConvertTransformerDetailToLocationLotDetail(TransformerDetail transformerDetail, bool isPutAway) { LocationLotDetail locationLotDetail = locationLotDetailMgr.LoadLocationLotDetail(transformerDetail.Id); locationLotDetail.CurrentInspectQty = locationLotDetail.Qty; if (isPutAway && transformerDetail.StorageBinCode != null && transformerDetail.StorageBinCode.Trim() != string.Empty) { locationLotDetail.NewStorageBin = storageBinMgr.CheckAndLoadStorageBin(transformerDetail.StorageBinCode); } return(locationLotDetail); }