/[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 3093 by torben, Fri Aug 19 12:28:21 2016 UTC revision 3131 by torben, Thu Oct 20 07:31:23 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 969  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;  
   
     if PanelValg4.Enabled then  
     begin  
        Scanningtype := '4';  
        IndlesManglendeScanninger();  
     end;  
   
     if PanelValg3.Enabled then  
     begin  
        Scanningtype := '3';  
        IndlesManglendeScanninger();  
     end;  
977    
978      if PanelValg2.Enabled then  //    if PanelValg6.Enabled then
979      begin  //    begin
980         Scanningtype := '2';  //       Scanningtype := '6';
981         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
982      end;  //    end;
983    //
984      if PanelValg1.Enabled then  //    if PanelValg5.Enabled then
985      begin  //    begin
986         Scanningtype := '1';  //       Scanningtype := '5';
987         IndlesManglendeScanninger();  //       IndlesManglendeScanningerAntal();
988      end;  //    end;
989    //
990    //    if PanelValg4.Enabled then
991    //    begin
992    //       Scanningtype := '4';
993    //       IndlesManglendeScanningerAntal();
994    //    end;
995    //
996    //    if PanelValg3.Enabled then
997    //    begin
998    //       Scanningtype := '3';
999    //       IndlesManglendeScanningerAntal();
1000    //    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 1429  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 1533  begin Line 1574  begin
1574    
1575              exit;              exit;
1576            end;            end;
1577            if (menuNatXpress1.Checked or menuDaoDirekte1.Checked or menuPakkeshop1.Checked) then            if (menuNatXpress1.Checked or menuDaoDirekte1.Checked or menuPakkeshop1.Checked or menuPakkeshopRetur1.Checked) then
1578            begin            begin
1579              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);              PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel);
1580              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);              pakkeErScannet := pos('PAKKEN ER SCANNET', BoghandlerNavn);
# Line 1867  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 1880  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 1906  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 1932  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 2018  begin Line 2059  begin
2059        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;        BoghandlerNavn := BoghandlerNavn + ' ' + XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopNavn').Text;
2060        PrintNyLabel := False;        PrintNyLabel := False;
2061    
2062        if menuPakkeshop1.Checked then        try
2063            PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);
2064          except on e:exception do
2065              PrintNyLabelInteger := 0;
2066          end;
2067          if (PrintNyLabelInteger = 1) then
2068        begin        begin
2069          try          PrintNyLabel := True;
           PrintNyLabelInteger := StrToInt(XMLDocument1.ChildNodes.FindNode('PakkeKontrol').ChildNodes.FindNode('PakkeshopPrintPakkeLabel').Text);  
         except on e:exception do  
             PrintNyLabelInteger := 0;  
         end;  
         if (PrintNyLabelInteger = 1) then  
         begin  
           PrintNyLabel := True;  
         end;  
2070        end;        end;
2071    
2072       end       end
2073      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2074      begin      begin
# Line 2041  begin Line 2080  begin
2080       if (Kommentar = 'Ok') then       if (Kommentar = 'Ok') then
2081       begin       begin
2082         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label         PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label
2083         PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc         PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc
2084         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;         RuteNummer := PakkeshopLabel.Koreliste + '  ->  ' +  PakkeshopLabel.PakkeshopTurid;
2085         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2086    
2087         LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );         LabelPrint.PrintLabel(PakkeshopLabel.Stregkode);
2088         chkForstorTilDirekte.Checked := false;  
2089    //       LabelPrint.PrintFuldPakkeLabel( PakkeshopLabel );
2090    //       chkForstorTilDirekte.Checked := false;
2091    
2092       end;       end;
2093    
# Line 2198  pakkeForkertSted : Integer; Line 2239  pakkeForkertSted : Integer;
2239    kontrolKoreliste : string;    kontrolKoreliste : string;
2240    nytRuteNummer, nyFarve : String;    nytRuteNummer, nyFarve : String;
2241  begin  begin
2242    //  if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2243    //  begin
2244    //    LabelPrint.PrintLabel( Stregkode );
2245    //  end;
2246    //
2247    //  exit;
2248    
2249    if menuDaoDirekte1.Checked then    if menuDaoDirekte1.Checked then
2250       RuteNummerST.Color := TUtils.HexToTColor(Farve);       RuteNummerST.Color := TUtils.HexToTColor(Farve);
2251    
# Line 2262  begin Line 2310  begin
2310            logTekst := RightStr(List1Msg, Length(List1Msg)-10);            logTekst := RightStr(List1Msg, Length(List1Msg)-10);
2311            SkrivScanningLogFil(logTekst);            SkrivScanningLogFil(logTekst);
2312    
2313            if (Config.PrinterNavn = 'Ingen') then  //          if (Config.PrinterNavn = 'Ingen') then
2314            begin  //          begin
2315               PrintNyLabel := false;  //             PrintNyLabel := false;
2316            end;  //          end;
2317    
2318            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
2319            begin            begin
# Line 2317  begin Line 2365  begin
2365               if PrintNyLabel or (RuteNummer = 'Rutenr') then               if PrintNyLabel or (RuteNummer = 'Rutenr') then
2366  // 20150304: slut  // 20150304: slut
2367                begin                begin
2368                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2369                    LabelPrint.PrintLabel( Stregkode );
2370                end;                end;
2371              end;              end;
2372        01 :  begin;        01 :  begin;
# Line 2325  begin Line 2374  begin
2374                    // 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
2375                    // 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')
2376                begin                begin
2377                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2378                    LabelPrint.PrintLabel( Stregkode );
2379                end;                end;
2380              end;              end;
2381        02 :  begin;        02 :  begin;
2382                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
2383                begin                begin
2384                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2385                    LabelPrint.PrintLabel( Stregkode );
2386                end;                end;
2387              end;              end;
2388        03 :  begin;        03 :  begin;
# Line 2339  begin Line 2390  begin
2390                    // 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
2391                    // 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')
2392               begin               begin
2393                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2394                    LabelPrint.PrintLabel( Stregkode );
2395               end;               end;
2396              end;              end;
2397        04 :  begin;        04 :  begin;
2398                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
2399                begin                begin
2400                  LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);                  //LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer);
2401                    LabelPrint.PrintLabel( Stregkode );
2402                end;                end;
2403              end;              end;
       else  
        ShowMessage('Ukendt Bladhus sted: ' + IntToStr(BladhusSted));  
2404      end;      end;
2405    end;    end;
2406    
# Line 2382  begin Line 2433  begin
2433        logTekst := logTekst + ' for '+BoghandlerNavn;        logTekst := logTekst + ' for '+BoghandlerNavn;
2434        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
2435    
2436        LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;        //LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ;
2437                LabelPrint.PrintLabel( Stregkode );
2438          exit;
2439    
2440      end;      end;
2441    end;    end;
2442    
2443      // tilføjet 20161020
2444      if (menuPakkeshop1.Checked OR menuPakkeshopRetur1.Checked) then
2445        begin
2446        if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then
2447        begin
2448          LabelPrint.PrintLabel( Stregkode );
2449          exit;
2450        end;
2451    
2452      end;
2453    
2454  end;  end;
2455    
2456    
# Line 2417  begin Line 2481  begin
2481  end;  end;
2482    
2483    
2484    procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject);
2485    begin
2486      if (chkUdenforSpecifikation.Checked = true) then
2487      begin
2488        chkEmballageRepareret.Checked := false;
2489      end;
2490    end;
2491    
2492    procedure TMainForm.chkEmballageRepareretClick(Sender: TObject);
2493    begin
2494      if (chkEmballageRepareret.Checked = true) then
2495      begin
2496        chkUdenforSpecifikation.Checked := false;
2497      end;
2498    end;
2499    
2500  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);  procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject);
2501  begin  begin
2502    if chkAltidPrintLabel.Checked then    if chkAltidPrintLabel.Checked then
# Line 2430  begin Line 2510  begin
2510    
2511  end;  end;
2512    
2513    
2514    
2515  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);  procedure TMainForm.chkScanTjekkodeClick(Sender: TObject);
2516  begin  begin
2517    if chkScanTjekkode.Checked then    if chkScanTjekkode.Checked then
# Line 2814  begin Line 2896  begin
2896      SmsKode := '999999';      SmsKode := '999999';
2897      DBKbane := '999';      DBKbane := '999';
2898      Leveringssted := 'XXX';      Leveringssted := 'XXX';
2899    
2900    
2901      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2902      FocusControl(StregkodeST);      FocusControl(StregkodeST);
2903    end;    end;
# Line 2827  var Line 2911  var
2911    Kommentar : String;    Kommentar : String;
2912    BoghandlerNavn : String;    BoghandlerNavn : String;
2913    Koreliste : String;    Koreliste : String;
2914    Falsk : Boolean;  //  Falsk : Boolean;
2915    SmsKode : String;  //  SmsKode : String;
2916    DBKbane : String;  //  DBKbane : String;
2917    Leveringssted : String;  //  Leveringssted : String;
2918  begin  begin
2919    RuteNummer := 'Rutenr';    RuteNummer := 'Rutenr';
2920    Kommentar := '***** Kommentar *****';    Kommentar := '***** Kommentar *****';
2921    BoghandlerNavn := 'Modtagernavn';    BoghandlerNavn := 'Modtagernavn';
2922    Falsk := False;  //  Falsk := False;
2923    
2924    
2925    if (LabelPrint.GetPrinterCount() = 0) then    if (LabelPrint.GetPrinterCount() = 0) then
2926    begin    begin
2927      ShowMessage('Der er ikke installeret en printer på denne PC.');      ShowMessage('Der er ikke installeret en printer på denne PC.');
2928    end    end
2929    else if Config.PrinterNavn = 'Ingen' then  //  else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer
2930    begin  //  begin
2931      ShowMessage('Der er fravalgt printer i dette program.');  //    ShowMessage('Der er fravalgt printer i dette program.');
2932    end  //  end
2933    else    else
2934    begin    begin
2935      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');      UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, '');
2936      SmsKode := '999999';  //    SmsKode := '999999';
2937      DBKbane := '999';  //    DBKbane := '999';
2938      Leveringssted := 'XXX';  //    Leveringssted := 'XXX';
2939      PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);  //    PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk);
2940    
2941        LabelPrint.PrintTestLabel();
2942    
2943      LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);      LabelPrint.CheckPrintQue('Test', Config.PrinterNavn);
2944    
2945    end;    end;
2946    FocusControl(StregkodeST);    FocusControl(StregkodeST);
2947  end;  end;
# Line 3084  begin Line 3172  begin
3172        if BladhusSted = 0 then        if BladhusSted = 0 then
3173        begin        begin
3174          IndlesScanningLogFil();          IndlesScanningLogFil();
3175          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3176        end;        end;
3177  end;  end;
3178    
# Line 3184  begin Line 3272  begin
3272        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then        if (BladhusSted = 0) or (BladhusSted = 2) or (BladhusSted = 3) then
3273        begin        begin
3274            IndlesScanningLogFil();            IndlesScanningLogFil();
3275            IndlesManglendeScanninger();            IndlesManglendeScanningerAntal();
3276        end;        end;
3277    
3278  end;  end;
# Line 3223  begin Line 3311  begin
3311        IndlesScanningLogFil();        IndlesScanningLogFil();
3312        if BladhusSted = 0 then        if BladhusSted = 0 then
3313        begin        begin
3314          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3315        end;        end;
3316        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3317        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3263  begin Line 3351  begin
3351        IndlesScanningLogFil();        IndlesScanningLogFil();
3352        if BladhusSted = 0 then        if BladhusSted = 0 then
3353        begin        begin
3354          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3355        end;        end;
3356        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3357        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 3315  begin Line 3403  begin
3403        IndlesScanningLogFil();        IndlesScanningLogFil();
3404        if BladhusSted = 0 then        if BladhusSted = 0 then
3405        begin        begin
3406          IndlesManglendeScanninger();          IndlesManglendeScanningerAntal();
3407        end;        end;
3408        IdFTP1.Passive := true;        IdFTP1.Passive := true;
3409        IdFTP1.PassiveUseControlHost := true;        IdFTP1.PassiveUseControlHost := true;
# Line 4029  const Line 4117  const
4117    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
4118    
4119  begin  begin
4120      IndlesManglendeScanninger();      IndlesManglendeScanningerListe();
4121      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
4122  end;  end;
4123    
# Line 4043  begin Line 4131  begin
4131  end;  end;
4132    
4133    
4134    procedure TMainForm.IndlesManglendeScanningerAntal();
4135    var
4136      Node: IXMLNode;
4137    
4138      URLStr : String;
4139      StedKode : String;
4140      WebSvar : String;
4141    
4142      i : Integer;
4143    
4144      PakkeType : String;
4145      TotalAntal : String;
4146      AntalProdDato : String;
4147    
4148      CurrentPanel : TPanel;
4149    
4150    begin
4151      ListBox2.Clear();
4152    
4153      if (BladhusSted > 00) and (BladhusSted < Length(BladhusStedNavn)) then
4154        begin
4155          StedKode := BladhusStedKode[BladhusSted];
4156        end
4157      else
4158        begin
4159          StedKode := Sted;
4160        end;
4161    
4162      URLStr := Format(Config.UrlHentPakkeAntal, [StedKode]);
4163    
4164    
4165  procedure TMainForm.IndlesManglendeScanninger();    try
4166        WebSvar := IdHTTP1.Get(URLStr);
4167        except
4168          on e:EIdConnClosedGracefully do
4169          begin
4170            // Her skal vi ikke gøre noget - men vi skal forespørge igen
4171            WebSvar := IdHTTP1.Get(URLStr);
4172          end;
4173          on e:exception do
4174          begin
4175            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i web forespørgsel: '+e.Message);
4176            logTekst := 'Fejl i web forespørgsel: '+e.Message;
4177            SkrivScanningLogFil(logTekst);
4178            raise exception.CreateFmt('Fejl i web forespørgsel: %s',[e.Message]);
4179          end;
4180        end;
4181    
4182    
4183    
4184         try
4185    
4186          XMLDocument1.LoadFromXML(WebSvar);
4187    
4188          for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4189              Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4190    
4191              PakkeType := Node.ChildValues['PakkeType'];
4192              TotalAntal := Node.ChildValues['TotalAntal'];
4193              AntalProdDato := Node.ChildValues['AntalProdDato'];
4194    
4195    
4196              CurrentPanel := nil;
4197    
4198              if (PakkeType = 'natxpress') then
4199              begin
4200                 CurrentPanel := PanelManglendePakker1;
4201              end;
4202    
4203              if (PakkeType = 'daodirekte') then
4204              begin
4205                 CurrentPanel := PanelManglendePakker4;
4206              end;
4207    
4208              if (PakkeType = 'pakkeshop') then
4209              begin
4210                 CurrentPanel := PanelManglendePakker5;
4211              end;
4212    
4213              if (CurrentPanel <> nil) then
4214              begin
4215                CurrentPanel.Caption := TotalAntal;
4216                if ( StrToInt(TotalAntal) > 0) then
4217                begin
4218                  CurrentPanel.Visible := true;
4219                end
4220                else
4221                begin
4222                  CurrentPanel.Visible := false;
4223                end;
4224              end;
4225    
4226    
4227          end;
4228    
4229    
4230     except on e:exception do
4231          begin
4232            ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Fejl i XML-format: '+e.Message);
4233            logTekst := 'Fejl i XML-format: '+e.Message;
4234            SkrivScanningLogFil(logTekst);
4235            raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]);
4236          end;
4237        end;
4238    
4239    
4240    
4241      ListBox1.Items.Insert(0,'Pakkeantal indlæst - klar til scanning');
4242    
4243    end;
4244    
4245    procedure TMainForm.IndlesManglendeScanningerListe();
4246  var  var
4247    WebSvar : String;    WebSvar : String;
4248    URLStr : String;    URLStr : String;
# Line 4207  var Line 4405  var
4405        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4406    
4407        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4408          time.stop('Antal Linier2');//DEBUG
4409    
4410    
4411        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
# Line 4267  var Line 4466  var
4466              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4467              begin              begin
4468                if (ScanningType = '1') then                if (ScanningType = '1') then
4469                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)                   ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus)
4470                else if (ScanningType = '4') then                else if (ScanningType = '4') then
4471                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)                  ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar)
4472                else if (ScanningType = '5') then                else if (ScanningType = '5') then
# Line 4857  begin Line 5056  begin
5056    Result := self;    Result := self;
5057  end;  end;
5058    
5059    //Nedarvet fra IParentForm
5060    function TMainForm.GetXMLDocument() : TXMLDocument;
5061    begin
5062      Result := XMLDocument1
5063    end;
5064    
5065    
5066  end.  end.
5067    

Legend:
Removed from v.3093  
changed lines
  Added in v.3131

  ViewVC Help
Powered by ViewVC 1.1.20