Index: AAPClient/UI/PalletScherm.pas =================================================================== diff -u -r291 -r305 --- AAPClient/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 291) +++ AAPClient/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 305) @@ -22,6 +22,8 @@ procedure FormActivate(Sender: TObject); private procedure SetContext; + procedure SetModus(GescandeInput: string); + function ValideerPalletCode(GescandeInput: string): boolean; public { Public declarations } end; @@ -32,7 +34,7 @@ implementation uses - DnaCodeService, UiContext, Agent, ProScanMain; + DnaCodeService, UiContext, Agent, ProScanMain, StrUtils; {$R *.dfm} @@ -50,25 +52,14 @@ fZoekViaToeleveringResponse: ZoekViaToeleveringResponse; fPalletGevalideerd: boolean; begin + SetModus(edtPallet.Text); + fPalletGevalideerd := false; + if not UiContext.Modus = modusKAD then + fPalletGevalideerd := ValideerPalletCode(edtPallet.Text); - // pallet code valideren - fValideerPalletCodeResponse := TAgent.Create(UiContext).ValideerPalletCode(edtPallet.Text); - try - if fValideerPalletCodeResponse.Header.Status <> '200' then begin - Self.ModalResult := mrPallet; - ToonPopupScherm(fValideerPalletCodeResponse.Header.Omschrijving, 'Probeer opnieuw'); - edtPallet.Text := ''; - SetContext; - end else begin - fPalletGevalideerd := true; - end; - finally - fValideerPalletCodeResponse.Free; - end; - //checken of pallet in gebruik is indien het vorige geslaagd is - if fPalletGevalideerd then begin + if fPalletGevalideerd and not(UiContext.Modus = modusKAD )then begin fZoekViaPalletCodeResponse := TAgent.Create(UiContext).ZoekViaPalletCode(edtPallet.Text); try if fZoekViaPalletCodeResponse.Header.Status = '200' then begin @@ -83,19 +74,43 @@ end; finally fZoekViaPalletCodeResponse.Free; - end; + end + end else if UiContext.Modus = modusKAD then begin + Self.ModalResult := mrDnaCode; - //popups resetten - UiContext.IsDirecteLeveringPopupGetoond := false; - UiContext.IsWegwerpPalletPopupGetoond := false; + //popups resetten + UiContext.IsDirecteLeveringPopupGetoond := false; + UiContext.IsWegwerpPalletPopupGetoond := false; + end else begin Self.ModalResult := mrPallet; end; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(Self.ModalResult); end; +function TfmPalletScherm.ValideerPalletCode(GescandeInput: string): boolean; +var + fValideerPalletCodeResponse: ValideerPalletCodeResponse; +begin + // pallet code valideren + result := false; + fValideerPalletCodeResponse := TAgent.Create(UiContext).ValideerPalletCode(edtPallet.Text); + try + if fValideerPalletCodeResponse.Header.Status <> '200' then begin + Self.ModalResult := mrPallet; + ToonPopupScherm(fValideerPalletCodeResponse.Header.Omschrijving, 'Probeer opnieuw'); + edtPallet.Text := ''; + SetContext; + end else begin + result := true; + end; + finally + fValideerPalletCodeResponse.Free; + end; +end; + procedure TfmPalletScherm.btnGenereerTbpClick(Sender: TObject); var fGeefVolgendeTbpCodeResponse: GeefVolgendeTbpCodeResponse; @@ -151,4 +166,14 @@ UiContext.Pallet := edtPallet.Text; end; +procedure TfmPalletScherm.SetModus(GescandeInput: string); +begin + if GescandeInput = '10K12T01' then //andere locaties moeten er nog bij komen + UiContext.Modus := modusKAD + else if (Length(GescandeInput)=10) and StartsText('O1',GescandeInput) then + UiContext.Modus := modusVHOSS + else + Uicontext.Modus := modusDefault; +end; + end.