Index: AAPClient/UI/DnaCodeScherm.pas =================================================================== diff -u -r186 -r188 --- AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 186) +++ AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 188) @@ -37,6 +37,8 @@ procedure ZetToeleveringStatus(Status: DnaCodeStatus); procedure ToeleveringDataOphalen(); procedure VerwerkMogelijkePopups(EersteDnaCode: DnaCode); + function BepaalAantalLadesOpHuidigePallet: integer; + function BepaalDirecteLevering: boolean; public end; @@ -57,11 +59,94 @@ end; procedure TfmDnaCodeScherm.actPalletExecute(Sender: TObject); +var + fWaarschuwingModalResult: TModalResult; + fAantalLadesOpHuidigePallet: integer; begin inherited; + fAantalLadesOpHuidigePallet := BepaalAantalLadesOpHuidigePallet; + if fAantalLadesOpHuidigePallet > 0 then begin + fWaarschuwingModalResult := ToonPopupScherm(lblHuidigePalletData.Caption+' volledig?'+#13#10+inttostr(fAantalLadesOpHuidigePallet)+' lades','Ja','Rework',14,-1,-1); + if fWaarschuwingModalResult = mrYes then begin + if BepaalDirecteLevering then begin + ToonPopupScherm('GLS Direct', 'OK','',15,-1,-1,clBlue); + fImagesScherm.ilAlgemeen32.GetIcon(3, imgGls.Picture.Icon); + imgGls.Visible := true; + end; + //pallet updaten met status InBuffer en directelevering info + end; + //pallet updaten met status rework en directelevering info + end; + Self.ModalResult := mrPallet; end; +function TfmDnaCodeScherm.BepaalAantalLadesOpHuidigePallet: integer; +var + Service: DnaCodeServiceSoap; + Header: RequestHeader; + fZoekViaPalletCodeRequest: ZoekViaPalletCodeRequest; + fZoekViaPalletCodeResponse: ZoekViaPalletCodeResponse; +begin + result := 0; + Service := DnaCodeService.GetDnaCodeServiceSoap(); + fZoekViaPalletCodeRequest := ZoekViaPalletCodeRequest.Create; + Header := RequestHeader.Create; + try + Header.Initialen := UiContext.Initialen; + Header.ComputerNaam := FullName(); + fZoekViaPalletCodeRequest.Header := Header; + fZoekViaPalletCodeRequest.PalletCode := UiContext.Pallet; + + fZoekViaPalletCodeResponse := Service.ZoekViaPalletCode(fZoekViaPalletCodeRequest); + try + if fZoekViaPalletCodeResponse.Header.Status = '200' then begin + result := length(fZoekViaPalletCodeResponse.DnaCodes); + end else begin + ToonPopupScherm(fZoekViaPalletCodeResponse.Header.Omschrijving, 'Probeer opnieuw'); + result := 0 + end; + finally + fZoekViaPalletCodeResponse.Free; + end; + finally + fZoekViaPalletCodeRequest.Free; + end; +end; + +function TfmDnaCodeScherm.BepaalDirecteLevering: boolean; +var + Service: DnaCodeServiceSoap; + Header: RequestHeader; + fDirecteLeveringRequest: DirecteLeveringRequest; + fDirecteLeveringResponse: DirecteLeveringResponse; +begin + result := false; + Service := DnaCodeService.GetDnaCodeServiceSoap(); + fDirecteLeveringRequest := DirecteLeveringRequest.Create; + Header := RequestHeader.Create; + try + Header.Initialen := UiContext.Initialen; + Header.ComputerNaam := FullName(); + fDirecteLeveringRequest.Header := Header; + fDirecteLeveringRequest.Toelevering := UiContext.Toelevering; + + fDirecteLeveringResponse := Service.IsDirecteLevering(fDirecteLeveringRequest); + try + if fDirecteLeveringResponse.Header.Status = '200' then begin + result := fDirecteLeveringResponse.IsDirecteLevering; + end else begin + ToonPopupScherm(fDirecteLeveringResponse.Header.Omschrijving, 'Probeer opnieuw'); + result := false + end; + finally + fDirecteLeveringResponse.Free; + end; + finally + fDirecteLeveringRequest.Free; + end; +end; + procedure TfmDnaCodeScherm.actAfrondenExecute(Sender: TObject); var fWaarschuwingModalResult: TModalResult; @@ -114,6 +199,8 @@ lblAantalGescand.Caption := ''; lblTotaalAantal.Caption := ''; imgInfo.Visible := false; + imgGls.Visible := false; + imgWegwerpPallet.Visible := false; fImagesScherm.ilAlgemeen64.GetIcon(1, imgInfo.Picture.Icon); if not (UiContext.Toelevering = '') then ToeleveringDataOphalen();