Index: AAPClient/UI/DnaCodeScherm.pas =================================================================== diff -u -r190 -r197 --- AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 190) +++ AAPClient/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 197) @@ -49,7 +49,7 @@ implementation uses - UiContext; + UiContext, Agent; {$R *.dfm} @@ -84,67 +84,38 @@ 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; + fZoekViaPalletCodeResponse := TAgent.Create(UiContext).ZoekViaPalletCode(UiContext.Pallet); + 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 - fZoekViaPalletCodeRequest.Free; + fZoekViaPalletCodeResponse.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; + fDirecteLeveringResponse := TAgent.Create(UiContext).IsDirecteLevering(UiContext.Toelevering); 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; + if fDirecteLeveringResponse.Header.Status = '200' then begin + result := fDirecteLeveringResponse.IsDirecteLevering; + end else begin + ToonPopupScherm(fDirecteLeveringResponse.Header.Omschrijving, 'Probeer opnieuw'); + result := false; end; finally - fDirecteLeveringRequest.Free; + fDirecteLeveringResponse.Free; end; end; @@ -222,129 +193,77 @@ procedure TfmDnaCodeScherm.MeldDnaCodeAf; var - Service: DnaCodeServiceSoap; - Request: DnaCodeAfmeldenRequest; Response: DnaCodeAfmeldenResponse; - Header: RequestHeader; List: TStrings; begin - Service := DnaCodeService.GetDnaCodeServiceSoap(); - // request opbouwen - Request := DnaCodeAfmeldenRequest.Create; - Header := RequestHeader.Create; - try - Header.Initialen := UiContext.Initialen; - Header.ComputerNaam := FullName(); - Request.Header := Header; - Request.DnaCode := edtDnaCode.Text; - UiContext.LaatsteDnaCode := edtDnaCode.Text; - lblLaatstGescandData.Caption := Request.DnaCode; - Request.Aantal := 1; - Request.Toelevering := UiContext.Toelevering; - Request.PalletCode := UiContext.Pallet; + UiContext.LaatsteDnaCode := edtDnaCode.Text; + lblLaatstGescandData.Caption := edtDnaCode.Text; - Response := Service.DnaCodeAfmelden(Request); - try - List := TStringList.Create; - ExtractStrings([':'], [], PChar(Response.Header.Status), List); - case strtoint(List[0]) of - 200: begin - UiContext.Toelevering := Response.DnaCodes[0].Toelevering; - lblToeleveringData.Caption := UiContext.Toelevering; - lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); - lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); - imgInfo.Visible := true; - VerwerkMogelijkePopups(Response.DnaCodes[0]); - Self.ModalResult := mrDnaCode; - end; - 1005: begin //reeds gescand - Self.ModalResult := mrDnaCodeReedsGescand; - end; - else begin - Self.ModalResult := mrDnaCode; - ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') - end; - end; - finally - Response.Free; + Response := TAgent.Create(UiContext).DnaCodeAfmelden(edtDnaCode.Text,UiContext.Toelevering,UiContext.Pallet,1); + try + List := TStringList.Create; + ExtractStrings([':'], [], PChar(Response.Header.Status), List); + case strtoint(List[0]) of + 200: begin + UiContext.Toelevering := Response.DnaCodes[0].Toelevering; + lblToeleveringData.Caption := UiContext.Toelevering; + lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); + lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); + imgInfo.Visible := true; + VerwerkMogelijkePopups(Response.DnaCodes[0]); + Self.ModalResult := mrDnaCode; + end; + 1005: begin //reeds gescand + Self.ModalResult := mrDnaCodeReedsGescand; + end; + else begin + Self.ModalResult := mrDnaCode; + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') + end; end; finally - Request.Free; + Response.Free; end; end; procedure TfmDnaCodeScherm.PalletBijwerken(Status: DnaCodeStatus; IsDirecteLevering: boolean); var - Service: DnaCodeServiceSoap; - Request: PalletBijwerkenRequest; Response: PalletBijwerkenResponse; - Header: RequestHeader; begin - Service := DnaCodeService.GetDnaCodeServiceSoap(); - // request opbouwen - Request := PalletBijwerkenRequest.Create; - Header := RequestHeader.Create; + Response := TAgent.Create(UiContext).PalletBijwerken(UiContext.Pallet,Status,IsDirecteLevering); try - Header.Initialen := UiContext.Initialen; - Header.ComputerNaam := FullName(); - Request.Header := Header; - Request.Pallet := UiContext.Pallet; - Request.Status := Status; - Request.IsGlsDirect := IsDirecteLevering; - - Response := Service.PalletBijwerken(Request); - try - if Response.Header.Status <> '200' then begin - ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw'); - Self.ModalResult := mrPallet; - end else begin - ToonPopupScherm('Pallet '+UiContext.Pallet+' volledig verwerkt', 'Probeer opnieuw'); - Self.ModalResult := mrPallet; - end; - finally - Response.Free; + if Response.Header.Status <> '200' then begin + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw'); + Self.ModalResult := mrPallet; + end else begin + ToonPopupScherm('Pallet '+UiContext.Pallet+' volledig verwerkt', 'Probeer opnieuw'); + Self.ModalResult := mrPallet; end; finally - Request.Free; + Response.Free; end; end; procedure TfmDnaCodeScherm.ToeleveringDataOphalen; var - Service: DnaCodeServiceSoap; - Request: ZoekViaToeleveringRequest; Response: ZoekViaToeleveringResponse; - Header: RequestHeader; begin - Service := DnaCodeService.GetDnaCodeServiceSoap(); - // request opbouwen - Request := ZoekViaToeleveringRequest.Create; - Header := RequestHeader.Create; + Response := TAgent.Create(UiContext).ZoekViaToelevering(UiContext.Toelevering); try - Header.Initialen := UiContext.Initialen; - Header.ComputerNaam := FullName(); - Request.Header := Header; - Request.Toelevering := UiContext.Toelevering; - - Response := Service.ZoekViaToelevering(Request); - try - if Response.Header.Status <> '200' then begin - ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') - end else begin - UiContext.Toelevering := Response.DnaCodes[0].Toelevering; - lblToeleveringData.Caption := UiContext.Toelevering; - lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); - lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); - imgInfo.Visible := true; - VerwerkMogelijkePopups(Response.DnaCodes[0]); - Self.ModalResult := mrDnaCode; - end; - finally - Response.Free; + if Response.Header.Status <> '200' then begin + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') + end else begin + UiContext.Toelevering := Response.DnaCodes[0].Toelevering; + lblToeleveringData.Caption := UiContext.Toelevering; + lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); + lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); + imgInfo.Visible := true; + VerwerkMogelijkePopups(Response.DnaCodes[0]); + Self.ModalResult := mrDnaCode; end; finally - Request.Free; + Response.Free; end; end; @@ -371,35 +290,18 @@ procedure TfmDnaCodeScherm.ZetToeleveringStatus(Status: DnaCodeStatus); var - Service: DnaCodeServiceSoap; - Request: ToeleveringBijwerkenRequest; Response: ToeleveringBijwerkenResponse; - Header: RequestHeader; begin - Service := DnaCodeService.GetDnaCodeServiceSoap(); - // request opbouwen - Request := ToeleveringBijwerkenRequest.Create; - Header := RequestHeader.Create; + Response := TAgent.Create(UiContext).ToeleveringBijwerken(UiContext.Toelevering,Status,false); try - Header.Initialen := UiContext.Initialen; - Header.ComputerNaam := FullName(); - Request.Header := Header; - Request.Toelevering := UiContext.Toelevering; - Request.Status := Status; - - Response := Service.ToeleveringBijwerken(Request); - try - if Response.Header.Status <> '200' then begin - Self.ModalResult := mrDnaCode; - ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') - end else begin - Self.ModalResult := mrPallet; - end; - finally - Response.Free; + if Response.Header.Status <> '200' then begin + Self.ModalResult := mrDnaCode; + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') + end else begin + Self.ModalResult := mrPallet; end; finally - Request.Free; + Response.Free; end; end; Index: AAPClient/WS/Agent.pas =================================================================== diff -u -r196 -r197 --- AAPClient/WS/Agent.pas (.../Agent.pas) (revision 196) +++ AAPClient/WS/Agent.pas (.../Agent.pas) (revision 197) @@ -21,6 +21,9 @@ function DnaCodeAfmelden(DnaCode, Toelevering, PalletCode: string; Aantal: integer): DnaCodeAfmeldenResponse; function ZoekViaToelevering(Toelevering: string): ZoekViaToeleveringResponse; function HernoemPallet(OudeCode, NieuweCode, EnkelDezeDnaCode: string): HernoemPalletResponse; + function IsDirecteLevering(Toelevering: string): DirecteLeveringResponse; + function PalletBijwerken(Pallet: string; Status: DnaCodeStatus; IsDirecteLevering: boolean): PalletBijwerkenResponse; + function ToeleveringBijwerken(Toelevering: string; Status: DnaCodeStatus; IsDirecteLevering: boolean): ToeleveringBijwerkenResponse; end; implementation @@ -134,6 +137,78 @@ end; end; +function TAgent.IsDirecteLevering(Toelevering: string): DirecteLeveringResponse; +var + Service: DnaCodeServiceSoap; + Request: DirecteLeveringRequest; + Header: DnaCodeService.RequestHeader; +begin + Service := DnaCodeService.GetDnaCodeServiceSoap(); + + Request := DirecteLeveringRequest.Create; + Header := DnaCodeService.RequestHeader.Create; + try + Header.Initialen := fUiContext.Initialen; + Header.ComputerNaam := FullName(); + Request.Header := Header; + Request.Toelevering := Toelevering; + + result := Service.IsDirecteLevering(Request); + finally + Request.Free; + end; +end; + +function TAgent.PalletBijwerken(Pallet: string; Status: DnaCodeStatus; + IsDirecteLevering: boolean): PalletBijwerkenResponse; +var + Service: DnaCodeServiceSoap; + Request: PalletBijwerkenRequest; + Header: DnaCodeService.RequestHeader; +begin + Service := DnaCodeService.GetDnaCodeServiceSoap(); + + Request := PalletBijwerkenRequest.Create; + Header := DnaCodeService.RequestHeader.Create; + try + Header.Initialen := fUiContext.Initialen; + Header.ComputerNaam := FullName(); + Request.Header := Header; + Request.Pallet := Pallet; + Request.Status := Status; + Request.IsGlsDirect := IsDirecteLevering; + + result := Service.PalletBijwerken(Request); + finally + Request.Free; + end; +end; + +function TAgent.ToeleveringBijwerken(Toelevering: string; Status: DnaCodeStatus; + IsDirecteLevering: boolean): ToeleveringBijwerkenResponse; +var + Service: DnaCodeServiceSoap; + Request: ToeleveringBijwerkenRequest; + Header: DnaCodeService.RequestHeader; +begin + Service := DnaCodeService.GetDnaCodeServiceSoap(); + + Request := ToeleveringBijwerkenRequest.Create; + Header := DnaCodeService.RequestHeader.Create; + try + Header.Initialen := fUiContext.Initialen; + Header.ComputerNaam := FullName(); + Request.Header := Header; + Request.Toelevering := Toelevering; + Request.Status := Status; + Request.IsGlsDirect := IsDirecteLevering; + + result := Service.ToeleveringBijwerken(Request); + finally + Request.Free; + end; +end; + function TAgent.ValideerPalletCode(PalletCode: string): ValideerPalletCodeResponse; var Service: DnaCodeServiceSoap;