/[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 2791 by torben, Fri Dec 4 15:39:20 2015 UTC revision 2800 by torben, Wed Jan 6 12:53:51 2016 UTC
# Line 194  type Line 194  type
194    
195    
196    
   
197    //Nedarvet fra IParentForm    //Nedarvet fra IParentForm
198    procedure LogMessage( msg : string);    procedure LogMessage( msg : string);
199    procedure SetPrinterstatusText( txt: string; alert: boolean);    procedure SetPrinterstatusText( txt: string; alert: boolean);
# Line 207  type Line 206  type
206      SkrivLog : String;      SkrivLog : String;
207      Sted : String;      Sted : String;
208      StedNavn : String;      StedNavn : String;
209      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering, UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel : String;      Url, UrlNormal, UrlReturDAO, UrlReturBoghandler, UrlBudlevering, UrlManglendeScanninger, UrlPakkeshoplevering,
210                UrlReturPakkeshop, UrlPakkeshopManglendeScanninger, UrlPakkeshopManglendeReturScanninger,UrlIndleveringsPakke,
211                UrlIndleveringsPakkeManglendeScanninger,UrlEKLoverforsel, URLOmdirigerTilPakkeshop : String;
212    
213      UrlEKLoverforselPakkeshop : String;      UrlEKLoverforselPakkeshop : String;
214    
# Line 215  type Line 216  type
216      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;      Scanningtype, TestFunktionen, Pakketype, SporgEfterBoghandler : String;
217      ScanTjekkode : String;      ScanTjekkode : String;
218      ScanTjekkodeAutomatik : string;      ScanTjekkodeAutomatik : string;
219      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop, FarveIndlevering : String;  
220      Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop, TitelIndlevering : String;      Farve, FarveNormal, FarveReturDAO, FarveReturBoghandler, FarveBudlevering, FarvePakkeshoplevering, FarveReturPakkeshop,
221              FarveIndlevering : String;
222    
223        Titel, TitelNormal, TitelReturDAO, TitelReturBoghandler, TitelBudlevering, TitelPakkeshoplevering, TitelReturPakkeshop,
224              TitelIndlevering : String;
225    
226      AlarmLyd : String;      AlarmLyd : String;
227      ScannetOkLyd : String;      ScannetOkLyd : String;
# Line 353  begin Line 358  begin
358        else if (Sted = 'BR') then        else if (Sted = 'BR') then
359          begin StedNavn := 'Brøndby: '; end          begin StedNavn := 'Brøndby: '; end
360        else if (Sted = 'BK') then        else if (Sted = 'BK') then
361          begin StedNavn := 'Bladkompagniet: '; end          begin StedNavn := 'Bladkompagniet/ISV: '; end
362          else if (Sted = 'TK') then
363            begin StedNavn := 'BK/Trykkompagniet: '; end
364        else if (Sted = 'DBK') then        else if (Sted = 'DBK') then
365          begin StedNavn := 'DBK Køge: '; end          begin StedNavn := 'DBK Køge: '; end
366        else if (Sted = '1') then        else if (Sted = '1') then
# Line 565  begin Line 572  begin
572    
573      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');      UrlIndleveringsPakke := ReadString('Settings','UrlIndleveringsPakke','http://omdeling.info/webservices/pakkeshop/PakkekontrolIndleveringskode.php?sted=%s&pakkekode=%s');
574      UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');      UrlIndleveringsPakkeManglendeScanninger := ReadString('Settings', 'UrlIndleveringsPakkeManglendeScanninger','http://omdeling.info/webservices/pakkeshop/IndleveringsPakkeManglendeScanninger.php?sted=%s');
575        URLOmdirigerTilPakkeshop := ReadString('Settings', 'URLOmdirigerTilPakkeshop','http://omdeling.info/webservices/pakkeshop/PakkeKontrolOmdirigerTilPakkeshop.php?sted=%s&stregkode=%s');
576    
577    
578    
579    
# Line 682  begin Line 691  begin
691  {$IfDef STED_BK}  {$IfDef STED_BK}
692      SpecialVersionSted := 'BK';      SpecialVersionSted := 'BK';
693  {$EndIf}  {$EndIf}
694    {$IfDef STED_TK}
695        SpecialVersionSted := 'TK';// BK-Trykkompagniet
696    {$EndIf}
697  {$IfDef STED_DBK}  {$IfDef STED_DBK}
698      SpecialVersionSted := 'DBK';      SpecialVersionSted := 'DBK';
699  {$EndIf}  {$EndIf}
# Line 719  begin Line 731  begin
731         SpecialVersionScanningtype := '4';         SpecialVersionScanningtype := '4';
732      end;      end;
733    
734      if SpecialVersionSted = 'BK' then      if (SpecialVersionSted = 'BK') OR (SpecialVersionSted = 'TK') then
735      begin      begin
736        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil        //FarveNormal := 'A9F5A9';  // her kan vi evt. overrule ini fil
737        Sted := SpecialVersionSted;        Sted := SpecialVersionSted;
# Line 1118  begin Line 1130  begin
1130      or (NumberString = 'Retur fra kunde')      or (NumberString = 'Retur fra kunde')
1131      or (NumberString = 'DAO DIREKTE')      or (NumberString = 'DAO DIREKTE')
1132      or (NumberString = 'DAO PAKKESHOP')      or (NumberString = 'DAO PAKKESHOP')
1133        or (NumberString = 'DAO PAKKESHOP')
1134        or (LowerCase(NumberString) = 'for stor hjemmelevering' )
1135            or (LowerCase(NumberString) = 'for stor daodirekte' )
1136      or (NumberString = 'Retur fra pakkeshop') then      or (NumberString = 'Retur fra pakkeshop') then
1137    
1138      begin      begin
# Line 1128  begin Line 1143  begin
1143      begin      begin
1144        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');        ShowMessage('Indsæt et gyldigt pakkenummer - uden linieskift');
1145      end;      end;
1146    end;    end;  // Slut ctrl-v
1147    
1148    if Key = #13 then     // Enter    if Key = #13 then     // Enter
1149    begin    begin
# Line 1182  begin Line 1197  begin
1197         exit;         exit;
1198      end;      end;
1199    
1200        if (LowerCase(StregKode) = 'for stor hjemmelevering') OR (LowerCase(StregKode) = 'for stor daodirekte') then
1201        begin
1202          if chkForstorTilDirekte.Enabled then
1203          begin
1204            chkForstorTilDirekte.Checked := true;
1205          end
1206          else
1207          begin
1208             VisAlarmSkaerm( Stregkode + ' kan ikke vælges på denne scannings tilstand' );
1209          end;
1210          Stregkode := '';
1211          StregkodeST.Caption := StregKode;
1212          exit;
1213        end;
1214    
1215    
1216      if StregKode = 'Indtast kundenummer' then      if StregKode = 'Indtast kundenummer' then
1217      begin      begin
1218         if chkSporgEfterKunde.Enabled = true then         if chkSporgEfterKunde.Enabled = true then
# Line 1662  begin Line 1693  begin
1693    
1694    Key := #0;    Key := #0;
1695    
1696    
1697    
1698    
1699    
1700    
1701  end; //End of OnKeyPress  end; //End of OnKeyPress
1702    
1703    
1704    
1705  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);  procedure TMainForm.SendInfoTilServer(Sted, Scanningtype, Infotype, Info : String);
1706  const  const
1707    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed    crlf = Chr(13) + Chr(10) ;  // Carriage return & Linefeed
# Line 1993  begin Line 2031  begin
2031    begin    begin
2032      exit;      exit;
2033    end;    end;
2034    
2035      if chkForstorTilDirekte.Checked then  // Denne skal være efter if/else kæden da den overrider de øvrige URL'er
2036      begin
2037        URLStr := Format(URLOmdirigerTilPakkeshop,[Sted, PakkeNr]);
2038      end;
2039    
2040    try    try
2041      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST      //raise EIdConnClosedGracefully.Create('test');   // KUN TIL TEST
2042      WebSvar := IdHTTP1.Get(URLStr);      WebSvar := IdHTTP1.Get(URLStr);
# Line 2014  begin Line 2058  begin
2058          end;          end;
2059      end;      end;
2060    end;    end;
2061    
2062    XMLDocument1.LoadFromXML(WebSvar);    XMLDocument1.LoadFromXML(WebSvar);
2063    try    try
2064      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then      if Pakkeshoplevering1.Checked or Returpakkerfrapakkeshop1.Checked then
# Line 2037  begin Line 2082  begin
2082          end;          end;
2083        end;        end;
2084       end       end
2085      else if menuIndlevering.Checked then      else if menuIndlevering.Checked or chkForstorTilDirekte.Checked then
2086      begin      begin
2087    
2088    
# Line 2052  begin Line 2097  begin
2097         Stregkode := PakkeshopLabel.Stregkode;         Stregkode := PakkeshopLabel.Stregkode;
2098    
2099         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );         LabelPrint.PrintPakkeshopLabel( PakkeshopLabel );
2100           chkForstorTilDirekte.Checked := false;
2101    
2102       end;       end;
2103    
# Line 4075  var Line 4121  var
4121    
4122    antlinIdag, antlinSenere : Integer;    antlinIdag, antlinSenere : Integer;
4123    
4124    XmlFelter : TStrings;    //XmlFelter : TStrings;
4125      XmlFelter : TDictionary<String, Integer>;
4126    
4127   begin   begin
4128    
4129    
4130      XmlFelter := TStringList.Create;      XmlFelter := TDictionary<String, Integer>.Create;
4131      pakketyper := TDictionary<String, Integer>.Create;      pakketyper := TDictionary<String, Integer>.Create;
4132    
4133      linienr := 0;      linienr := 0;
4134      ListBox2.Clear;      ListBox2.Clear;
4135      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Henter oversigt over pakker der endnu ikke er modtaget');      ListBox1.Items.Insert(0,TimeToStr(now) + ': ' + 'Henter oversigt over pakker der endnu ikke er modtaget');
# Line 4157  var Line 4205  var
4205            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
4206              if Node.NodeName = 'Stregkode' then              if Node.NodeName = 'Stregkode' then
4207              begin              begin
4208                 antlin := antlin + 1;                 Inc(antlin);
4209                 // 20150306: start                 // 20150306: start
4210                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4211                begin                begin
4212                   if (pos('(', Node.NodeValue) = 0) then                   if (pos('(', Node.NodeValue) = 0) then
4213                   begin                   begin
4214                     antlinIdag := antlinIdag + 1;                     Inc(antlinIdag);
4215                   end                   end
4216                   else                   else
4217                   begin                   begin
4218                     antlinSenere := antlinSenere + 1;                     Inc(antlinSenere);
4219                   end;                   end;
4220                end;                end;
4221                 // 20150306: slut                 // 20150306: slut
4222              end;              end;
4223            end;            end;
4224            if (XmlFelter.values[Node.NodeName] <> '') then            if ( XmlFelter.ContainsKey(Node.NodeName) ) then
4225                  XmlFelter.values[Node.NodeName] := IntToStr(StrToInt(XmlFelter.values[Node.NodeName]) + 1)                begin
4226                    XmlFelter.TryGetValue(Node.NodeName, tmpAntal);
4227                    XmlFelter.AddOrSetValue(Node.NodeName, tmpAntal + 1);
4228                  end
4229                else                else
4230                  XmlFelter.values[Node.NodeName] := '1';                begin
4231                    XmlFelter.Add(Node.NodeName, 1);
4232                  end;
4233    
4234        end;        end;
4235        antalLiniefelter := XmlFelter.Count;        antalLiniefelter := XmlFelter.Count;
# Line 4195  var Line 4248  var
4248        logTekst := logTekst + '.';        logTekst := logTekst + '.';
4249    
4250        SkrivScanningLogFil(logTekst);        SkrivScanningLogFil(logTekst);
4251    
4252    
4253        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin        for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin
4254            Node:= XMLDocument1.DocumentElement.ChildNodes[I];            Node:= XMLDocument1.DocumentElement.ChildNodes[I];
4255            if Node.NodeType = ntElement then begin            if Node.NodeType = ntElement then begin
# Line 4202  var Line 4257  var
4257                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4258                  stregkode := Node.NodeValue;                  stregkode := Node.NodeValue;
4259                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4260              end;              end
4261              if Node.NodeName = 'ModtagerNavn' then begin              else if Node.NodeName = 'ModtagerNavn' then begin
4262                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4263                  modtagernavn := Node.NodeValue;                  modtagernavn := Node.NodeValue;
4264                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4265              end;              end
4266              if Node.NodeName = 'ModtagerAdresse' then begin              else if Node.NodeName = 'ModtagerAdresse' then begin
4267                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4268                  modtageradresse := Node.NodeValue;                  modtageradresse := Node.NodeValue;
4269                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4270              end;              end
4271              if Node.NodeName = 'Kommentar' then begin              else if Node.NodeName = 'Kommentar' then begin
4272                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4273                  kommentar := Node.NodeValue;                  kommentar := Node.NodeValue;
4274                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
4275              end;              end
4276              if Node.NodeName = 'PakkeType' then begin              else if Node.NodeName = 'PakkeType' then begin
4277                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4278                  pakketype := Node.NodeValue;                  pakketype := Node.NodeValue;
4279                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4229  var Line 4284  var
4284                end                end
4285                else                else
4286                  pakketyper.Add(pakketype, 1);                  pakketyper.Add(pakketype, 1);
4287              end;              end
4288              if Node.NodeName = 'TjekkodeStatus' then begin              else if Node.NodeName = 'TjekkodeStatus' then begin
4289                if not VarIsNull(Node.NodeValue) then                if not VarIsNull(Node.NodeValue) then
4290                  tjekkodestatus := Node.NodeValue;                  tjekkodestatus := Node.NodeValue;
4291                  antalFelterFundet := antalFelterFundet + 1;                  antalFelterFundet := antalFelterFundet + 1;
# Line 4248  var Line 4303  var
4303                    linienr := linienr + 1;                    linienr := linienr + 1;
4304                  end;                  end;
4305              end;              end;
4306    
4307    
4308              if antalFelterFundet = antalLiniefelter then              if antalFelterFundet = antalLiniefelter then
4309              begin              begin
4310                if (ScanningType = '1') then                if (ScanningType = '1') then
# Line 4265  var Line 4322  var
4322        end;        end;
4323    
4324    
4325          Application.Processmessages; //Ugly Hack to improve User Experience when switching modes
4326    
4327    
4328        for pakketype in pakketyper.Keys do        for pakketype in pakketyper.Keys do
4329        begin        begin
4330          pakketyper.TryGetValue(pakketype, tmpAntal);          pakketyper.TryGetValue(pakketype, tmpAntal);

Legend:
Removed from v.2791  
changed lines
  Added in v.2800

  ViewVC Help
Powered by ViewVC 1.1.20