/[projects]/dao/DelphiScanner/Main.pas
ViewVC logotype

Diff of /dao/DelphiScanner/Main.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3090 by torben, Mon Aug 15 19:26:48 2016 UTC revision 3125 by torben, Wed Oct 19 08:39:31 2016 UTC
# Line 20  uses Line 20  uses
20    IdExplicitTLSClientServerBase, IdFTP, IdException,    IdExplicitTLSClientServerBase, IdFTP, IdException,
21    ShellApi, ClipBrd, Buttons, wininet,    ShellApi, ClipBrd, Buttons, wininet,
22    UITypes,    UITypes,
23    PakkeshopLabels,    LabelData,
24    Utils,    Utils,
25    ParentForm,    ParentForm,
26    LabelPrint,    LabelPrint,
# Line 202  type Line 202  type
202    procedure LogMessage( msg : string);    procedure LogMessage( msg : string);
203    procedure SetPrinterstatusText( txt: string; alert: boolean);    procedure SetPrinterstatusText( txt: string; alert: boolean);
204    function GetFormObject() : TForm;    function GetFormObject() : TForm;
205      function GetXMLDocument() : TXMLDocument;
206        procedure chkEmballageRepareretClick(Sender: TObject);
207        procedure chkUdenforSpecifikationClick(Sender: TObject);
208    
209    
210    
# Line 244  type Line 247  type
247    
248      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');      procedure HentPakkeInfoFraServer(const Sted, PakkeNr : String; var RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted : String; var PrintNyLabel: Boolean; BoghandlerNummer : String = '');
249      procedure CheckCode();      procedure CheckCode();
250      procedure IndlesManglendeScanninger();      procedure IndlesManglendeScanningerAntal();
251        procedure IndlesManglendeScanningerListe();
252      procedure IndlesRuteskiftFil(var filnavn : string);      procedure IndlesRuteskiftFil(var filnavn : string);
253      procedure IndlesKontrolFil(var filnavn : string);      procedure IndlesKontrolFil(var filnavn : string);
254      procedure IndlesScanningLogFil();      procedure IndlesScanningLogFil();
# Line 538  begin Line 542  begin
542    
543  // Sætter lige en default panel størrelse  // Sætter lige en default panel størrelse
544    MainForm.ClientWidth := 1000;    MainForm.ClientWidth := 1000;
545    MainForm.ClientHeight := 820;    MainForm.ClientHeight := 920;
546    
547    Config := TConfiguration.Create();    Config := TConfiguration.Create();
548    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref    Config.ReadFromInifile( TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) );    //ToDo: clean up duplicate ini ref
# Line 553  begin Line 557  begin
557      Sted := ReadString('Settings','Sted','');      Sted := ReadString('Settings','Sted','');
558      StedNavn := ReadString('Settings','Stednavn','');      StedNavn := ReadString('Settings','Stednavn','');
559    
560        Scanningtype := 'A'; //hardcoded
561        Pakketype := '0';
562    
563    
564    
565    
# Line 966  begin Line 973  begin
973      // Opbygger PanelManglendePakker information      // Opbygger PanelManglendePakker information
974      gemScanningtype := Scanningtype;      gemScanningtype := Scanningtype;
975    
976      if PanelValg6.Enabled then      IndlesManglendeScanningerAntal();
     begin  
        Scanningtype := '6';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg5.Enabled then  
     begin  
        Scanningtype := '5';  
        IndlesManglendeScanninger();  
     end;  
977    
978      if PanelValg4.Enabled then  //    if PanelValg6.Enabled then
979      begin  //    begin
980         Scanningtype := '4';  //       Scanningtype := '6';
981         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
982      end;  //    end;
983    //
984      if PanelValg3.Enabled then  //    if PanelValg5.Enabled then
985      begin  //    begin
986         Scanningtype := '3';  //       Scanningtype := '5';
987         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
988      end;  //    end;
989    //
990      if PanelValg2.Enabled then  //    if PanelValg4.Enabled then
991      begin  //    begin
992         Scanningtype := '2';  //       Scanningtype := '4';
993         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
994      end;  //    end;
995    //
996      if PanelValg1.Enabled then  //    if PanelValg3.Enabled then
997      begin  //    begin
998         Scanningtype := '1';  //       Scanningtype := '3';
999         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
1000      end;  //    end;
1001    //
1002    //    if PanelValg2.Enabled then
1003    //    begin
1004    //       Scanningtype := '2';
1005    //       IndlesManglendeScanningerAntal();
1006    //    end;
1007    //
1008    //    if PanelValg1.Enabled then
1009    //    begin
1010    //       Scanningtype := '1';
1011    //       IndlesManglendeScanningerAntal();
1012    //    end;
1013    
1014      Scanningtype := gemScanningtype;      Scanningtype := gemScanningtype;
1015    
# Line 1426  begin Line 1435  begin
1435        end;        end;
1436      end;      end;
1437    
1438        // EmballageRepareret skal bare sætte reklamationkoden,
1439        // og så ellers fortsætte med scanning som normalt
1440        if (chkEmballageRepareret.Checked = True) then
1441        begin
1442          URLStr := Format(Config.UrlEmballageRepareret,[Sted,Stregkode]);
1443          WebSvar := IdHTTP1.Get(URLStr);
1444    
1445          chkEmballageRepareret.Checked := False;
1446        end;
1447    
1448        if (chkUdenforSpecifikation.Checked = True) then
1449        begin
1450          URLStr := Format(Config.URLUdenforSpecifikation,[Sted,Stregkode]);
1451          //InputBox( '1', '1', URLStr);
1452    
1453          WebSvar := IdHTTP1.Get(URLStr);
1454          //InputBox( '2', '2', WebSvar );
1455    
1456          chkUdenforSpecifikation.Checked := False;
1457          LabelPrint.PrintLabel(Stregkode);
1458    
1459          StregkodeST.Caption := '';
1460          Stregkode := '';
1461    
1462          RuteNummerST.Caption := '';
1463          BoghandlerNavnST.Caption := '';
1464          KommentarST.Caption := 'Retur til leverandør';
1465    
1466    
1467    
1468    
1469          exit;   //leave procedure
1470        end;
1471    
1472    
1473    
1474    
1475      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then      if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then
# Line 1864  begin Line 1908  begin
1908              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';              BladhusKontrolfil_server := 'franordjyske/RuteKontrol.txt';
1909              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1910              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1911              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1912            end;            end;
1913      02 :      02 :
1914            begin;    // BK            begin;    // BK
# Line 1877  begin Line 1921  begin
1921              BtnOpdaterListen.Enabled := true;              BtnOpdaterListen.Enabled := true;
1922              IdFTP1.Passive := true;              IdFTP1.Passive := true;
1923              IdFTP1.PassiveUseControlHost := true;              IdFTP1.PassiveUseControlHost := true;
1924              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1925            end;            end;
1926      03 :      03 :
1927            begin;          // FD            begin;          // FD
# Line 1903  begin Line 1947  begin
1947              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';              BladhusKontrolfil_server := 'frafd/RuteKontrol.txt';
1948              BladhusKontrolfil_lokal := 'RuteKontrol.txt';              BladhusKontrolfil_lokal := 'RuteKontrol.txt';
1949              DownloadBladhusKontrolfil();              DownloadBladhusKontrolfil();
1950              IndlesManglendeScanninger();              IndlesManglendeScanningerAntal();
1951            end;            end;
1952      04 :  begin;           // DBK      04 :  begin;           // DBK
1953              Testprinter1.Visible := true;              Testprinter1.Visible := true;
# Line 1929  var Line 1973  var
1973    pakkestorrelse : String;    pakkestorrelse : String;
1974    PrintNyLabelInteger : Integer;    PrintNyLabelInteger : Integer;
1975    
1976    PakkeshopLabel: TPakkeshopLabel;    PakkeshopLabel: TLabelData;
1977  begin  begin
1978    if radioStorPakke.Checked then    if radioStorPakke.Checked then
1979    begin    begin
# Line 2038  begin Line 2082  begin
2082       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2083       begin       begin
2084         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2085         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2086         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2087         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2088    
2089         LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );         LabelPrint.PrintLabel(PakkeshopLabel.Stregkode);
2090         chkForstorTilDirekte.Checked := false;  
2091    //       LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2092    //       chkForstorTilDirekte.Checked := false;
2093    
2094       end;       end;
2095    
# Line 2087  begin Line 2133  begin
2133      begin      begin
2134        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then        if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then
2135        begin        begin
2136            Kommentar := Kommentar + 'Pakke burde være hos ' + Leveringssted;            Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2137            PrintNyLabel := False;            //PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
2138        end;        end;
2139      end      end
2140      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then      else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then
2141      begin      begin
2142         if (Leveringssted = 'E') and (Sted = 'DBK') then        Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted;
2143         begin        //PrintNyLabel := False;  //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel
           // Det er ok at DBK scanner pakker til E     (Schenker)  
        end  
        else  
        begin  
           Kommentar := Kommentar + 'Pakke burde være hos ' + Leveringssted;  
           PrintNyLabel := False;  
        end;  
2144      end;      end;
2145    except on e:exception do    except on e:exception do
2146      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);      raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
# Line 2202  pakkeForkertSted : Integer; Line 2241  pakkeForkertSted : Integer;
2241    kontrolKoreliste : string;    kontrolKoreliste : string;
2242    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2243  begin  begin
2244    //  if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2245    //  begin
2246    //    LabelPrint.PrintLabel( Stregkode );
2247    //  end;
2248    //
2249    //  exit;
2250    
2251    if menuDaoDirekte1.Checked then    if menuDaoDirekte1.Checked then
2252       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2253    
# Line 2266  begin Line 2312  begin
2312            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2313            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2314    
2315            if (Config.PrinterNavn = 'Ingen') then  //          if (Config.PrinterNavn = 'Ingen') then
2316            begin  //          begin
2317               PrintNyLabel := false;  //             PrintNyLabel := false;
2318            end;  //          end;
2319    
2320            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm            if (PrintNyLabel = false) then  // Hvis vi ikke printer label skal vi vise en 'rød skærm' alarm
2321            begin            begin
# Line 2321  begin Line 2367  begin
2367               if PrintNyLabel or (RuteNummer = 'Rutenr') then               if PrintNyLabel or (RuteNummer = 'Rutenr') then
2368  // 20150304: slut  // 20150304: slut
2369                begin                begin
2370                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2371                    LabelPrint.PrintLabel( Stregkode );
2372                end;                end;
2373              end;              end;
2374        01 :  begin;        01 :  begin;
# Line 2329  begin Line 2376  begin
2376                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2377                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2378                begin                begin
2379                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2380                    LabelPrint.PrintLabel( Stregkode );
2381                end;                end;
2382              end;              end;
2383        02 :  begin;        02 :  begin;
2384                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2385                begin                begin
2386                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2387                    LabelPrint.PrintLabel( Stregkode );
2388                end;                end;
2389              end;              end;
2390        03 :  begin;        03 :  begin;
# Line 2343  begin Line 2392  begin
2392                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste                    // Ovenstående test er lidt speciel fordi der i programmet nogle steder er byttet rundt på rute og køreliste
2393                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')                    // Meningen er at der kun skal printes hvis der er forskel i kørelisterne eller ruterne - eller vi kommer fra test funktionen (Rutenr = 'Rutenr')
2394               begin               begin
2395                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2396                    LabelPrint.PrintLabel( Stregkode );
2397               end;               end;
2398              end;              end;
2399        04 :  begin;        04 :  begin;
2400                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test                if PrintNyLabel or (RuteNummer = 'Rutenr') then   // Hvis RuteNummer = 'Rutenr' er vi igang med en printer test
2401                begin                begin
2402                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2403                    LabelPrint.PrintLabel( Stregkode );
2404                end;                end;
2405              end;              end;
2406        else        else
# Line 2386  begin Line 2437  begin
2437        logTekst := logTekst + ' for '+BoghandlerNavn;        logTekst := logTekst + ' for '+BoghandlerNavn;
2438        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
2439    
2440        LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;        //LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
2441                LabelPrint.PrintLabel( Stregkode );
2442    
2443      end;      end;
2444    end;    end;
2445    
# Line 2421  begin Line 2473  begin
2473  end;  end;
2474    
2475    
2476    procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject);
2477    begin
2478      if (chkUdenforSpecifikation.Checked = true) then
2479      begin
2480        chkEmballageRepareret.Checked := false;
2481      end;
2482    end;
2483    
2484    procedure TMainForm.chkEmballageRepareretClick(Sender: TObject);
2485    begin
2486      if (chkEmballageRepareret.Checked = true) then
2487      begin
2488        chkUdenforSpecifikation.Checked := false;
2489      end;
2490    end;
2491    
2492  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);
2493  begin  begin
2494    if chkAltidPrintLabel.Checked then    if chkAltidPrintLabel.Checked then
# Line 2434  begin Line 2502  begin
2502    
2503  end;  end;
2504    
2505    
2506    
2507  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
2508  begin  begin
2509    if chkScanTjekkode.Checked then    if chkScanTjekkode.Checked then
# Line 2818  begin Line 2888  begin
2888      SmsKode := '999999';      SmsKode := '999999';
2889      DBKbane := '999';      DBKbane := '999';
2890      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2891    
2892    
2893      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2894      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2895    end;    end;
# Line 2831  var Line 2903  var
2903    Kommentar : String;    Kommentar : String;
2904    BoghandlerNavn : String;    BoghandlerNavn : String;
2905    Koreliste : String;    Koreliste : String;
2906    Falsk : Boolean;  //  Falsk : Boolean;
2907    SmsKode : String;  //  SmsKode : String;
2908    DBKbane : String;  //  DBKbane : String;
2909    Leveringssted : String;  //  Leveringssted : String;
2910  begin  begin
2911    RuteNummer := 'Rutenr';    RuteNummer := 'Rutenr';
2912    Kommentar := '***** Kommentar *****';    Kommentar := '***** Kommentar *****';
2913    BoghandlerNavn := 'Modtagernavn';    BoghandlerNavn := 'Modtagernavn';
2914    Falsk := False;  //  Falsk := False;
2915    
2916    
2917    if (LabelPrint.GetPrinterCount() = 0) then    if (LabelPrint.GetPrinterCount() = 0) then
2918    begin    begin
2919      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2920    end    end
2921    else if Config.PrinterNavn = 'Ingen' then  //  else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer
2922    begin  //  begin
2923      ShowMessage('Der er fravalgt printer i dette program.');  //    ShowMessage('Der er fravalgt printer i dette program.');
2924    end  //  end
2925    else    else
2926    begin    begin
2927      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2928      SmsKode := '999999';  //    SmsKode := '999999';
2929      DBKbane := '999';  //    DBKbane := '999';
2930      Leveringssted := 'XXX';  //    Leveringssted := 'XXX';
2931      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);  //    PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2932    
2933    
2934    
2935        LabelPrint.PrintTestLabel('999999', '999', 'xxx');
2936    
2937      LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);      LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2938    
2939    end;    end;
2940    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2941  end;  end;
# Line 3088  begin Line 3166  begin
3166        if BladhusSted = 0 then        if BladhusSted = 0 then
3167        begin        begin
3168          IndlesScanningLogFil();          IndlesScanningLogFil();
3169          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3170        end;        end;
3171  end;  end;
3172    
# Line 3188  begin Line 3266  begin
3266        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3267        begin        begin
3268            IndlesScanningLogFil();            IndlesScanningLogFil();
3269            IndlesManglendeScanninger();            IndlesManglendeScanningerAntal();
3270        end;        end;
3271    
3272  end;  end;
# Line 3227  begin Line 3305  begin
3305        IndlesScanningLogFil();        IndlesScanningLogFil();
3306        if BladhusSted = 0 then        if BladhusSted = 0 then
3307        begin        begin
3308          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3309        end;        end;
3310        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3311        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3267  begin Line 3345  begin
3345        IndlesScanningLogFil();        IndlesScanningLogFil();
3346        if BladhusSted = 0 then        if BladhusSted = 0 then
3347        begin        begin
3348          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3349        end;        end;
3350        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3351        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3319  begin Line 3397  begin
3397        IndlesScanningLogFil();        IndlesScanningLogFil();
3398        if BladhusSted = 0 then        if BladhusSted = 0 then
3399        begin        begin
3400          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3401        end;        end;
3402        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3403        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 4033  const Line 4111  const
4111    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4112    
4113  begin  begin
4114      IndlesManglendeScanninger();      IndlesManglendeScanningerListe();
4115      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode      ListBox1.SetFocus;  // for at flytte fokus væk fra download knappen så denne ikke aktiveres ved scanning / indtastning af stregkode
4116  end;  end;
4117    
# Line 4047  begin Line 4125  begin
4125  end;  end;
4126    
4127    
4128    procedure TMainForm.IndlesManglendeScanningerAntal();
4129    var
4130      Node: IXMLNode;
4131    
4132      URLStr : String;
4133      StedKode : String;
4134      WebSvar : String;
4135    
4136      i : Integer;
4137    
4138      PakkeType : String;
4139      TotalAntal : String;
4140      AntalProdDato : String;
4141    
4142      CurrentPanel : TPanel;
4143    
4144    begin
4145      ListBox2.Clear();
4146    
4147      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
4148        begin
4149          StedKode := BladhusStedKode[BladhusSted];
4150        end
4151      else
4152        begin
4153          StedKode := Sted;
4154        end;
4155    
4156      URLStr := Format(Config.UrlHentPakkeAntal, [StedKode]);
4157    
4158    
4159      try
4160        WebSvar := IdHTTP1.Get(URLStr);
4161        except
4162          on e:EIdConnClosedGracefully do
4163          begin
4164            // Her skal vi ikke gøre noget - men vi skal forespørge igen
4165            WebSvar := IdHTTP1.Get(URLStr);
4166          end;
4167          on e:exception do
4168          begin
4169            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i web forespørgsel: '+e.Message);
4170            logTekst := 'Fejl i web forespørgsel: '+e.Message;
4171            SkrivScanningLogFil(logTekst);
4172            raise exception.CreateFmt('Fejl i web forespørgsel: %s',[e.Message]);
4173          end;
4174        end;
4175    
4176    
4177    
4178         try
4179    
4180          XMLDocument1.LoadFromXML(WebSvar);
4181    
4182          for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4183              Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4184    
4185              PakkeType := Node.ChildValues['PakkeType'];
4186              TotalAntal := Node.ChildValues['TotalAntal'];
4187              AntalProdDato := Node.ChildValues['AntalProdDato'];
4188    
4189    
4190              CurrentPanel := nil;
4191    
4192              if (PakkeType = 'natxpress') then
4193              begin
4194                 CurrentPanel := PanelManglendePakker1;
4195              end;
4196    
4197              if (PakkeType = 'daodirekte') then
4198              begin
4199                 CurrentPanel := PanelManglendePakker4;
4200              end;
4201    
4202              if (PakkeType = 'pakkeshop') then
4203              begin
4204                 CurrentPanel := PanelManglendePakker5;
4205              end;
4206    
4207              if (CurrentPanel <> nil) then
4208              begin
4209                CurrentPanel.Caption := TotalAntal;
4210                if ( StrToInt(TotalAntal) > 0) then
4211                begin
4212                  CurrentPanel.Visible := true;
4213                end
4214                else
4215                begin
4216                  CurrentPanel.Visible := false;
4217                end;
4218              end;
4219    
4220    
4221  procedure TMainForm.IndlesManglendeScanninger();        end;
4222    
4223    
4224     except on e:exception do
4225          begin
4226            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i XML-format: '+e.Message);
4227            logTekst := 'Fejl i XML-format: '+e.Message;
4228            SkrivScanningLogFil(logTekst);
4229            raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
4230          end;
4231        end;
4232    
4233    
4234    
4235      ListBox1.Items.Insert(0,'Pakkeantal indlæst - klar til scanning');
4236    
4237    end;
4238    
4239    procedure TMainForm.IndlesManglendeScanningerListe();
4240  var  var
4241    WebSvar : String;    WebSvar : String;
4242    URLStr : String;    URLStr : String;
# Line 4211  var Line 4399  var
4399        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4400    
4401        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4402          time.stop('Antal Linier2');//DEBUG
4403    
4404    
4405        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
# Line 4271  var Line 4460  var
4460              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4461              begin              begin
4462                if (ScanningType = '1') then                if (ScanningType = '1') then
4463                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)                   ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)
4464                else if (ScanningType = '4') then                else if (ScanningType = '4') then
4465                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)
4466                else if (ScanningType = '5') then                else if (ScanningType = '5') then
# Line 4861  begin Line 5050  begin
5050    Result := self;    Result := self;
5051  end;  end;
5052    
5053    //Nedarvet fra IParentForm
5054    function TMainForm.GetXMLDocument() : TXMLDocument;
5055    begin
5056      Result := XMLDocument1
5057    end;
5058    
5059    
5060  end.  end.
5061    

Legend:
Removed from v.3090  
changed lines
  Added in v.3125

  ViewVC Help
Powered by ViewVC 1.1.20