Index: ProScan/UI/PalletScherm.pas =================================================================== diff -u -r668 -r669 --- ProScan/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 668) +++ ProScan/UI/PalletScherm.pas (.../PalletScherm.pas) (revision 669) @@ -24,8 +24,6 @@ procedure SetContext; procedure SetModus(GescandeInput: string); function ValideerPalletCode(GescandeInput: string): boolean; - function GeefLpnCode(): string; - function MoetNieuweLpnCodeAangemaaktWorden(): boolean; public { Public declarations } end; @@ -36,7 +34,7 @@ implementation uses - DnaCodeService, UiContext, Agent, ProScanMain, StrUtils, CommonFunctions; + DnaCodeService, QRcodeNaarKenmerkenService, UiContext, Agent, ProScanMain, StrUtils, CommonFunctions; {$R *.dfm} @@ -62,7 +60,6 @@ //checken of pallet in gebruik is indien het vorige geslaagd is if fPalletGevalideerd and not(UiContext.Modus = modusKAD) and not(UiContext.Modus = modusVHOSS ) then begin - UiContext.LpnCode := GeefLpnCode(); fAgent := TAgent.Create(UiContext); fZoekViaPalletCodeResponse := fAgent.ZoekViaPalletCode(edtPallet.Text); fAgent.Free; @@ -80,9 +77,9 @@ fZoekViaToeleveringResponse := fAgent.ZoekViaToelevering(UiContext.Toelevering); if fZoekViaToeleveringResponse.AantalInToelevering = fZoekViaToeleveringResponse.AantalReedsGescand then UiContext.Toelevering := ''; + fZoekViaToeleveringResponse.Free; finally fAgent.Free; - fZoekViaToeleveringResponse.Free; end; Self.ModalResult := mrDnaCode; end; @@ -114,97 +111,35 @@ begin // pallet code valideren result := false; - fAgent := TAgent.Create(UiContext); - fValideerPalletCodeResponse := fAgent.ValideerPalletCode(edtPallet.Text); - fAgent.Free; - 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; -function TfmPalletScherm.GeefLpnCode(): string; -var - fGeefVolgendeLpnCodeResponse: GeefVolgendeLpnCodeResponse; - fAgent: TAgent; -begin - try - if (Self.MoetNieuweLpnCodeAangemaaktWorden()) then begin - fAgent := TAgent.Create(UiContext); - fGeefVolgendeLpnCodeResponse := fAgent.GeefVolgendeLpnCode(); - fAgent.Free; - result := fGeefVolgendeLpnCodeResponse.VolgendeLpnCode; - fGeefVolgendeLpnCodeResponse.Free; - end else begin - result := UiContext.LpnCode; - end; - finally - end; -end; - - -function TfmPalletScherm.MoetNieuweLpnCodeAangemaaktWorden(): boolean; -var - fZoekViaLpnCodeResponse: ZoekViaLpnCodeResponse; - fUniekePalletCodes: THashedStringList; - fDnaCode: DnaCode; - fAgent: TAgent; -begin - fAgent := TAgent.Create(UiContext); - fZoekViaLpnCodeResponse := fAgent.ZoekViaLpnCode(UiContext.LpnCode); - result := false; - try - if (fZoekViaLpnCodeResponse.Header.Status <> '200') then begin - result := true; - end else begin - fUniekePalletCodes := THashedStringList.Create; - fUniekePalletCodes.Duplicates := dupIgnore; - - for fDnaCode in fZoekViaLpnCodeResponse.DnaCodes do - fUniekePalletCodes.Add(fDnaCode.PalletCode); - - if (fUniekePalletCodes.Count > 1) then + if (UiContext.MoetTbpCodeGenereren) then begin + result := true; + end else begin + fAgent := TAgent.Create(UiContext); + fValideerPalletCodeResponse := fAgent.ValideerPalletCode(edtPallet.Text); + fAgent.Free; + 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; - - fUniekePalletCodes.Free; + end; + finally + fValideerPalletCodeResponse.Free; end; - finally - fZoekViaLpnCodeResponse.Free; end; - fAgent.Free; end; procedure TfmPalletScherm.btnGenereerTbpClick(Sender: TObject); -var - fGeefVolgendeTbpCodeResponse: GeefVolgendeTbpCodeResponse; - fAgent: TAgent; begin inherited; - fAgent := TAgent.Create(UiContext); - fGeefVolgendeTbpCodeResponse := fAgent.GeefVolgendeTbpCode(); - fAgent.Free; - try - if fGeefVolgendeTbpCodeResponse.Header.Status <> '200' then begin - Self.ModalResult := mrPallet; - ToonPopupScherm(fGeefVolgendeTbpCodeResponse.Header.Omschrijving, 'Probeer opnieuw'); - edtPallet.Text := ''; - end else begin - edtPallet.Text := fGeefVolgendeTbpCodeResponse.VolgendeTbpCode; - UiContext.Toelevering := ''; - end; - SetContext; - finally - fGeefVolgendeTbpCodeResponse.Free; - end; + edtPallet.Text := ''; + UiContext.Toelevering := ''; + UiContext.MoetTbpCodeGenereren := true; actVolgendeExecute(Self); end;