Index: ProScan/UI/HernoemPalletScherm.pas =================================================================== diff -u -r396 -r526 --- ProScan/UI/HernoemPalletScherm.pas (.../HernoemPalletScherm.pas) (revision 396) +++ ProScan/UI/HernoemPalletScherm.pas (.../HernoemPalletScherm.pas) (revision 526) @@ -45,6 +45,7 @@ procedure GridLeegmaken; function HernoemPallet(OudeCode, NieuweCode: string): HernoemPalletResponse; function CheckBestaandeDnaCode(Code: string): boolean; + function GeefPalletCodeVanDnaCode(Code: string): string; public { Public declarations } end; @@ -69,7 +70,7 @@ procedure TfmHernoemPalletScherm.actVolgendeExecute(Sender: TObject); begin inherited; - if pcHernoemPallet.ActivePageIndex = 0 then begin + if pcHernoemPallet.ActivePage = tsOudeCode then begin fEnkelDezeDnaCode := ''; if TCommonFunctions.IsKaderdeurLocatie(edtOudeCode.Text) then begin ToonPopupScherm('Kaderdeurlocaties kunnen niet ingescand worden.','Probeer opnieuw',''); @@ -80,21 +81,25 @@ fEnkelDezeDnaCode := edtOudeCode.Text end; end; - if StartsText('K',edtOudeCode.Text) then + if StartsText('K',edtOudeCode.Text) then begin fEnkelDezeDnaCode := edtOudeCode.Text; lblNieuweCode.Caption := 'Scan nieuwe kaderdeurlocatie'; + edtNieuweCode.CharCase := TEditCharCase(ecLowerCase); + end; if fEnkelDezeDnaCode = '' then begin HernoemPallet(edtOudeCode.Text,''); - pcHernoemPallet.ActivePageIndex := 1; end else - pcHernoemPallet.ActivePageIndex := 2; + pcHernoemPallet.ActivePage := tsNieuweCode; end; - end else if pcHernoemPallet.ActivePageIndex = 1 then begin - pcHernoemPallet.ActivePageIndex := 2; - end else if pcHernoemPallet.ActivePageIndex = 2 then begin + end else if pcHernoemPallet.ActivePage = tsResultaat then begin + pcHernoemPallet.ActivePage := tsNieuweCode; + end else if pcHernoemPallet.ActivePage = tsNieuweCode then begin if StartsText('K',edtOudeCode.Text) and not (TCommonFunctions.IsKaderdeurLocatie(edtNieuweCode.Text)) then begin ToonPopupScherm('Hier moet een kaderdeurlocatie ingescand worden.','Probeer opnieuw',''); edtNieuweCode.Text := ''; + end else if not (TCommonFunctions.IsFrameId(edtNieuweCode.Text)) and ((StartsText('O1',edtOudeCode.Text) or TCommonFunctions.IsFrameId(GeefPalletCodeVanDnaCode(edtOudeCode.Text)))) then begin + ToonPopupScherm('Hier moet een Vhosskast ingescand worden.','Probeer opnieuw',''); + edtNieuweCode.Text := ''; end else begin HernoemPallet(edtOudeCode.Text, edtNieuweCode.Text); edtOudeCode.Text := ''; @@ -132,8 +137,11 @@ function TfmHernoemPalletScherm.CheckBestaandeDnaCode(Code: string): boolean; var Response: ZoekViaDnaCodeResponse; + fAgent: TAgent; begin - Response := TAgent.Create(UiContext).ZoekViaDnaCode(Code); + fAgent := TAgent.Create(UiContext); + Response := fAgent.ZoekViaDnaCode(Code); + fAgent.Free; try if Response.Header.Status <> '200' then begin result := false @@ -149,6 +157,29 @@ end; end; +function TfmHernoemPalletScherm.GeefPalletCodeVanDnaCode(Code: string): string; +var + Response: ZoekViaDnaCodeResponse; + fAgent: TAgent; +begin + fAgent := TAgent.Create(UiContext); + Response := fAgent.ZoekViaDnaCode(Code); + fAgent.Free; + try + if Response.Header.Status <> '200' then begin + result := '' + end else begin + if Assigned(Response.DnaCodes) then begin + result := Response.DnaCodes.PalletCode + end else begin + result := '' + end; + end; + finally + Response.Free; + end; +end; + procedure TfmHernoemPalletScherm.edtNieuweCodeKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin @@ -172,19 +203,23 @@ function TfmHernoemPalletScherm.HernoemPallet(OudeCode, NieuweCode: string): HernoemPalletResponse; var Response: HernoemPalletResponse; + fAgent: TAgent; begin if not TCommonFunctions.IsKaderdeurLocatie(NieuweCode) then NieuweCode := upperCase(NieuweCode); - Response := TAgent.Create(UiContext).HernoemPallet(OudeCode, NieuweCode, fEnkelDezeDnaCode); + fAgent := TAgent.Create(UiContext); + Response := fAgent.HernoemPallet(OudeCode, NieuweCode, fEnkelDezeDnaCode, true); + fAgent.Free; try if Response.Header.Status <> '200' then begin ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw','') ; - pcHernoemPallet.ActivePageIndex := 0; + edtOudeCode.Text := ''; + pcHernoemPallet.ActivePage := tsOudeCode; end else begin if NieuweCode = '' then begin VulGridMetToeleveringData(Response.DnaCodes); - pcHernoemPallet.ActivePageIndex := 1; + pcHernoemPallet.ActivePage := tsResultaat; end else begin ToonPopupScherm(Response.Header.Omschrijving, 'OK','',19,-1,-1,clGreen); Self.ModalResult := mrHome; @@ -204,7 +239,7 @@ begin btnCentraalOnder.Action := actHome; btnRechtsOnder.Action := actVolgende; - pcHernoemPallet.ActivePageIndex := 0; + pcHernoemPallet.ActivePage := tsOudeCode; edtOudeCode.Text := ''; edtNieuweCode.Text := ''; lblNieuweCode.Caption := 'Scan nieuwe pallet- of DNA-Code';