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, |
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 |
|
|
541 |
|
|
542 |
// Sætter lige en default panel størrelse |
// Sætter lige en default panel størrelse |
543 |
MainForm.ClientWidth := 1000; |
MainForm.ClientWidth := 1000; |
544 |
MainForm.ClientHeight := 820; |
MainForm.ClientHeight := 920; |
545 |
|
|
546 |
Config := TConfiguration.Create(); |
Config := TConfiguration.Create(); |
547 |
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 |
556 |
Sted := ReadString('Settings','Sted',''); |
Sted := ReadString('Settings','Sted',''); |
557 |
StedNavn := ReadString('Settings','Stednavn',''); |
StedNavn := ReadString('Settings','Stednavn',''); |
558 |
|
|
559 |
|
Scanningtype := 'A'; //hardcoded |
560 |
|
Pakketype := '0'; |
561 |
|
|
562 |
|
|
563 |
|
|
564 |
|
|
1432 |
end; |
end; |
1433 |
end; |
end; |
1434 |
|
|
1435 |
|
// EmballageRepareret skal bare sætte reklamationkoden, |
1436 |
|
// og så ellers fortsætte med scanning som normalt |
1437 |
|
if (chkEmballageRepareret.Checked = True) then |
1438 |
|
begin |
1439 |
|
URLStr := Format(Config.UrlEmballageRepareret,[Sted,Stregkode]); |
1440 |
|
WebSvar := IdHTTP1.Get(URLStr); |
1441 |
|
|
1442 |
|
chkEmballageRepareret.Checked := False; |
1443 |
|
end; |
1444 |
|
|
1445 |
|
if (chkUdenforSpecifikation.Checked = True) then |
1446 |
|
begin |
1447 |
|
URLStr := Format(Config.URLUdenforSpecifikation,[Sted,Stregkode]); |
1448 |
|
//InputBox( '1', '1', URLStr); |
1449 |
|
|
1450 |
|
WebSvar := IdHTTP1.Get(URLStr); |
1451 |
|
//InputBox( '2', '2', WebSvar ); |
1452 |
|
|
1453 |
|
chkUdenforSpecifikation.Checked := False; |
1454 |
|
LabelPrint.PrintLabel(Stregkode); |
1455 |
|
|
1456 |
|
StregkodeST.Caption := ''; |
1457 |
|
Stregkode := ''; |
1458 |
|
|
1459 |
|
RuteNummerST.Caption := ''; |
1460 |
|
BoghandlerNavnST.Caption := ''; |
1461 |
|
KommentarST.Caption := 'Retur til leverandør'; |
1462 |
|
|
1463 |
|
|
1464 |
|
|
1465 |
|
|
1466 |
|
exit; //leave procedure |
1467 |
|
end; |
1468 |
|
|
1469 |
|
|
1470 |
|
|
1471 |
|
|
1472 |
if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then |
if (PakkeshopText1.Visible = true) and (PakkeshopText1.Caption = 'Stregkode') and menuAutomatiskTjekkodeStyring.Checked then |
1970 |
pakkestorrelse : String; |
pakkestorrelse : String; |
1971 |
PrintNyLabelInteger : Integer; |
PrintNyLabelInteger : Integer; |
1972 |
|
|
1973 |
PakkeshopLabel: TPakkeshopLabel; |
PakkeshopLabel: TLabelData; |
1974 |
begin |
begin |
1975 |
if radioStorPakke.Checked then |
if radioStorPakke.Checked then |
1976 |
begin |
begin |
2079 |
if (Kommentar = 'Ok') then |
if (Kommentar = 'Ok') then |
2080 |
begin |
begin |
2081 |
PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label |
PrintNyLabel := True; //Indleveringskode vil ALTID udskrive label |
2082 |
PakkeshopLabel := TPakkeshopLabel.Create( XMLDocument1 ); //Opret struct og parse xml doc |
PakkeshopLabel := TLabelData.Create( XMLDocument1 ); //Opret struct og parse xml doc |
2083 |
RuteNummer := PakkeshopLabel.Koreliste + ' -> ' + PakkeshopLabel.PakkeshopTurid; |
RuteNummer := PakkeshopLabel.Koreliste + ' -> ' + PakkeshopLabel.PakkeshopTurid; |
2084 |
Stregkode := PakkeshopLabel.Stregkode; |
Stregkode := PakkeshopLabel.Stregkode; |
2085 |
|
|
2128 |
begin |
begin |
2129 |
if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then |
if (Leveringssted <> BladhusStedKode[BladhusSted]) and (BladhusStedKode[BladhusSted] <> 'DBK') then |
2130 |
begin |
begin |
2131 |
Kommentar := Kommentar + 'Pakke burde være hos ' + Leveringssted; |
Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted; |
2132 |
PrintNyLabel := False; |
//PrintNyLabel := False; //ved fuld-daekning / X-ruter skal vi altid skrive label alligevel |
2133 |
end; |
end; |
2134 |
end |
end |
2135 |
else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then |
else if (menuDaoDirekte1.Checked) and (Leveringssted <> Sted) And (Leveringssted <> '') then |
2136 |
begin |
begin |
2137 |
if (Leveringssted = 'E') and (Sted = 'DBK') then |
Kommentar := Kommentar + ' Pakke burde være hos ' + Leveringssted; |
2138 |
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; |
|
2139 |
end; |
end; |
2140 |
except on e:exception do |
except on e:exception do |
2141 |
raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]); |
raise exception.CreateFmt('Fejl i XML-format: %s',[e.Message]); |
2236 |
kontrolKoreliste : string; |
kontrolKoreliste : string; |
2237 |
nytRuteNummer, nyFarve : String; |
nytRuteNummer, nyFarve : String; |
2238 |
begin |
begin |
2239 |
|
// if (PrintNyLabel = True OR chkAltidPrintLabel.Checked = True) then |
2240 |
|
// begin |
2241 |
|
// LabelPrint.PrintLabel( Stregkode ); |
2242 |
|
// end; |
2243 |
|
// |
2244 |
|
// exit; |
2245 |
|
|
2246 |
if menuDaoDirekte1.Checked then |
if menuDaoDirekte1.Checked then |
2247 |
RuteNummerST.Color := TUtils.HexToTColor(Farve); |
RuteNummerST.Color := TUtils.HexToTColor(Farve); |
2248 |
|
|
2307 |
logTekst := RightStr(List1Msg, Length(List1Msg)-10); |
logTekst := RightStr(List1Msg, Length(List1Msg)-10); |
2308 |
SkrivScanningLogFil(logTekst); |
SkrivScanningLogFil(logTekst); |
2309 |
|
|
2310 |
if (Config.PrinterNavn = 'Ingen') then |
// if (Config.PrinterNavn = 'Ingen') then |
2311 |
begin |
// begin |
2312 |
PrintNyLabel := false; |
// PrintNyLabel := false; |
2313 |
end; |
// end; |
2314 |
|
|
2315 |
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 |
2316 |
begin |
begin |
2362 |
if PrintNyLabel or (RuteNummer = 'Rutenr') then |
if PrintNyLabel or (RuteNummer = 'Rutenr') then |
2363 |
// 20150304: slut |
// 20150304: slut |
2364 |
begin |
begin |
2365 |
LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
//LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
2366 |
|
LabelPrint.PrintLabel( Stregkode ); |
2367 |
end; |
end; |
2368 |
end; |
end; |
2369 |
01 : begin; |
01 : begin; |
2371 |
// 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 |
2372 |
// 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') |
2373 |
begin |
begin |
2374 |
LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
//LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
2375 |
|
LabelPrint.PrintLabel( Stregkode ); |
2376 |
end; |
end; |
2377 |
end; |
end; |
2378 |
02 : begin; |
02 : begin; |
2379 |
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 |
2380 |
begin |
begin |
2381 |
LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
//LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
2382 |
|
LabelPrint.PrintLabel( Stregkode ); |
2383 |
end; |
end; |
2384 |
end; |
end; |
2385 |
03 : begin; |
03 : begin; |
2387 |
// 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 |
2388 |
// 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') |
2389 |
begin |
begin |
2390 |
LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
//LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
2391 |
|
LabelPrint.PrintLabel( Stregkode ); |
2392 |
end; |
end; |
2393 |
end; |
end; |
2394 |
04 : begin; |
04 : begin; |
2395 |
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 |
2396 |
begin |
begin |
2397 |
LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
//LabelPrint.SendTilPrinter(kontrolKoreliste, RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, PrintNyLabel, BoghandlerNummer); |
2398 |
|
LabelPrint.PrintLabel( Stregkode ); |
2399 |
end; |
end; |
2400 |
end; |
end; |
2401 |
else |
else |
2432 |
logTekst := logTekst + ' for '+BoghandlerNavn; |
logTekst := logTekst + ' for '+BoghandlerNavn; |
2433 |
SkrivScanningLogFil(logTekst); |
SkrivScanningLogFil(logTekst); |
2434 |
|
|
2435 |
LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ; |
//LabelPrint.PrintDaodirekteLabel( RuteNummer, Kommentar, BoghandlerNavn) ; |
2436 |
|
LabelPrint.PrintLabel( Stregkode ); |
2437 |
|
|
2438 |
end; |
end; |
2439 |
end; |
end; |
2440 |
|
|
2468 |
end; |
end; |
2469 |
|
|
2470 |
|
|
2471 |
|
procedure TMainForm.chkUdenforSpecifikationClick(Sender: TObject); |
2472 |
|
begin |
2473 |
|
if (chkUdenforSpecifikation.Checked = true) then |
2474 |
|
begin |
2475 |
|
chkEmballageRepareret.Checked := false; |
2476 |
|
end; |
2477 |
|
end; |
2478 |
|
|
2479 |
|
procedure TMainForm.chkEmballageRepareretClick(Sender: TObject); |
2480 |
|
begin |
2481 |
|
if (chkEmballageRepareret.Checked = true) then |
2482 |
|
begin |
2483 |
|
chkUdenforSpecifikation.Checked := false; |
2484 |
|
end; |
2485 |
|
end; |
2486 |
|
|
2487 |
procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject); |
procedure TMainForm.chkAltidPrintLabelClick(Sender: TObject); |
2488 |
begin |
begin |
2489 |
if chkAltidPrintLabel.Checked then |
if chkAltidPrintLabel.Checked then |
2497 |
|
|
2498 |
end; |
end; |
2499 |
|
|
2500 |
|
|
2501 |
|
|
2502 |
procedure TMainForm.chkScanTjekkodeClick(Sender: TObject); |
procedure TMainForm.chkScanTjekkodeClick(Sender: TObject); |
2503 |
begin |
begin |
2504 |
if chkScanTjekkode.Checked then |
if chkScanTjekkode.Checked then |
2883 |
SmsKode := '999999'; |
SmsKode := '999999'; |
2884 |
DBKbane := '999'; |
DBKbane := '999'; |
2885 |
Leveringssted := 'XXX'; |
Leveringssted := 'XXX'; |
2886 |
|
|
2887 |
|
|
2888 |
PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); |
PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); |
2889 |
FocusControl(StregkodeST); |
FocusControl(StregkodeST); |
2890 |
end; |
end; |
2902 |
SmsKode : String; |
SmsKode : String; |
2903 |
DBKbane : String; |
DBKbane : String; |
2904 |
Leveringssted : String; |
Leveringssted : String; |
2905 |
|
LabelData : TLabelData; |
2906 |
begin |
begin |
2907 |
RuteNummer := 'Rutenr'; |
RuteNummer := 'Rutenr'; |
2908 |
Kommentar := '***** Kommentar *****'; |
Kommentar := '***** Kommentar *****'; |
2914 |
begin |
begin |
2915 |
ShowMessage('Der er ikke installeret en printer på denne PC.'); |
ShowMessage('Der er ikke installeret en printer på denne PC.'); |
2916 |
end |
end |
2917 |
else if Config.PrinterNavn = 'Ingen' then |
// else if Config.PrinterNavn = 'Ingen' then //Det giver ikke længere mening at kunne fravælge printer |
2918 |
begin |
// begin |
2919 |
ShowMessage('Der er fravalgt printer i dette program.'); |
// ShowMessage('Der er fravalgt printer i dette program.'); |
2920 |
end |
// end |
2921 |
else |
else |
2922 |
begin |
begin |
2923 |
UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, ''); |
UpdateScreen(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, ''); |
2924 |
SmsKode := '999999'; |
// SmsKode := '999999'; |
2925 |
DBKbane := '999'; |
// DBKbane := '999'; |
2926 |
Leveringssted := 'XXX'; |
// Leveringssted := 'XXX'; |
2927 |
PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); |
// PrintLabel(RuteNummer, Kommentar, BoghandlerNavn, Koreliste, SmsKode, DBKbane, Leveringssted, Falsk); |
2928 |
|
|
2929 |
|
|
2930 |
|
LabelData := TLabelData.Create(nil); |
2931 |
|
LabelData.LabelType := 'simpel'; |
2932 |
|
LabelData.SimpelLinie1 := '999999'; |
2933 |
|
LabelData.SimpelLinie2 := '999'; |
2934 |
|
LabelData.SimpelLinie3 := 'xxx'; |
2935 |
|
LabelPrint.PrintLabelData(Labeldata); |
2936 |
|
|
2937 |
LabelPrint.CheckPrintQue('Test', Config.PrinterNavn); |
LabelPrint.CheckPrintQue('Test', Config.PrinterNavn); |
2938 |
|
|
2939 |
|
LabelData.Free(); |
2940 |
|
|
2941 |
end; |
end; |
2942 |
FocusControl(StregkodeST); |
FocusControl(StregkodeST); |
2943 |
end; |
end; |
4291 |
logTekst := logTekst + '.'; |
logTekst := logTekst + '.'; |
4292 |
|
|
4293 |
SkrivScanningLogFil(logTekst); |
SkrivScanningLogFil(logTekst); |
4294 |
|
time.stop('Antal Linier2');//DEBUG |
4295 |
|
|
4296 |
|
|
4297 |
for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin |
for I:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do begin |
4352 |
if antalFelterFundet = antalLiniefelter then |
if antalFelterFundet = antalLiniefelter then |
4353 |
begin |
begin |
4354 |
if (ScanningType = '1') then |
if (ScanningType = '1') then |
4355 |
ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus) |
//ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus) |
4356 |
else if (ScanningType = '4') then |
else if (ScanningType = '4') then |
4357 |
ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar) |
//ListBox2.Items.Add(pakketype+'; '+stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar) |
4358 |
else if (ScanningType = '5') then |
else if (ScanningType = '5') then |
4359 |
ListBox2.Items.Add(stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus) |
//ListBox2.Items.Add(stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar+'; '+tjekkodestatus) |
4360 |
else |
else |
4361 |
ListBox2.Items.Add(stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar); |
//ListBox2.Items.Add(stregkode+'; '+modtagernavn+'; '+modtageradresse+'; '+kommentar); |
4362 |
antalFelterFundet := 0; |
antalFelterFundet := 0; |
4363 |
tjekkodestatus := ''; |
tjekkodestatus := ''; |
4364 |
end; |
end; |
4942 |
Result := self; |
Result := self; |
4943 |
end; |
end; |
4944 |
|
|
4945 |
|
//Nedarvet fra IParentForm |
4946 |
|
function TMainForm.GetXMLDocument() : TXMLDocument; |
4947 |
|
begin |
4948 |
|
Result := XMLDocument1 |
4949 |
|
end; |
4950 |
|
|
4951 |
|
|
4952 |
end. |
end. |
4953 |
|
|