Po hlavnich upravach sdileni sponeni a uvolnovani connection poolu
This commit is contained in:
@ -133,7 +133,7 @@ IF (@genDokladMat=1) OR (@genDokladFin=1)
|
||||
IF (@@FETCH_STATUS<>0) BREAK
|
||||
|
||||
SET @cnt = (SELECT COUNT(d.ID) FROM dbo.TabDokladyZbozi d JOIN dbo.TabDokladyZbozi_EXT de ON (de.ID=d.ID) WHERE d.IDSklad=@cilovySklad AND d.RadaDokladu=@radaDokl
|
||||
AND CAST(d.DatPorizeni AS DATE)=IIF(@material=0, CAST(@datumDokladuMat AS DATE), CAST(@datumDokladuFin AS DATE)) AND s.BlokovaniEditoru IS NULL
|
||||
AND CAST(d.DatPorizeni AS DATE)=IIF(@material=0, CAST(@datumDokladuMat AS DATE), CAST(@datumDokladuFin AS DATE)) AND d.BlokovaniEditoru IS NULL
|
||||
AND d.DruhPohybuZbo=@druhPohybuZbo AND d.Realizovano=0 AND de._Vyroba_ObjednavkaMat_Typ=(@material+1)
|
||||
)
|
||||
IF (@cnt<=1)
|
||||
|
||||
@ -794,6 +794,7 @@ uses
|
||||
var lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
lSQL, where, errMsg: string;
|
||||
lokIDcka: TList<integer>;
|
||||
cnt, rNo, idVPr: integer;
|
||||
typPrikazu: integer;
|
||||
operace, material, spustene: boolean;
|
||||
@ -804,311 +805,346 @@ uses
|
||||
p: TVyrobniPrikaz;
|
||||
vpSvr: TVyrobniPrikazService;
|
||||
locParams: TDictionary<string, string>;
|
||||
lokIDcko: TObject;
|
||||
begin
|
||||
cisOper:= '';
|
||||
|
||||
locParams:= TDictionary<string, string>.Create;
|
||||
|
||||
|
||||
operace:= false;
|
||||
if (params.ContainsKey('operace')) then
|
||||
if (params.Items['operace']='1') then
|
||||
begin
|
||||
operace:= true;
|
||||
locParams.Add('operace', params.Items['operace']);
|
||||
end;
|
||||
|
||||
material:= false;
|
||||
if (params.ContainsKey('material')) then
|
||||
if (params.Items['material']='1') then
|
||||
begin
|
||||
material:= true;
|
||||
locParams.Add('material', params.Items['material']);
|
||||
end;
|
||||
|
||||
spustene:= false;
|
||||
if (params.ContainsKey('spustene')) then
|
||||
if (params.Items['spustene']='1') then
|
||||
begin
|
||||
spustene:= true;
|
||||
locParams.Add('spustene', params.Items['spustene']);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
where:= '';
|
||||
lSQL:= 'SELECT DISTINCT(main.ID) AS ID FROM ' + tblVPr + ' main';
|
||||
|
||||
|
||||
if (spustene) then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM ' + tblPrPost + ' pp INNER JOIN ' + tblRozpracOperR
|
||||
+ ' r ON (r.DokladPrPostup=pp.Doklad AND r.AltPrPostup=pp.Alt AND r.IDPrikaz=pp.IDPrikaz)'
|
||||
+ ' INNER JOIN ' + tblRozpracOper + ' h ON (h.ID=r.IDEvidRozpracOper)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL AND pp.IDPrikaz=main.ID AND h.DatumUzavreni IS NULL)';
|
||||
|
||||
|
||||
typPrikazu:= 0;
|
||||
if (params.ContainsKey('typ')) then
|
||||
if not(TryStrToInt(params.Items['typ'], typPrikazu)) then
|
||||
typPrikazu:= 0;
|
||||
|
||||
locParams.Add('rtn', '1');
|
||||
locParams.Add('typPrikazu', typPrikazu.ToString);
|
||||
|
||||
if (typPrikazu=0) then // obecny
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0)';
|
||||
|
||||
|
||||
|
||||
if (typPrikazu=1) then // pro micharnu se nacitaji vyssi prikazy, tj. kde testo skonci
|
||||
begin
|
||||
locParams.Add('nazevOp', 'michani');
|
||||
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada=N''003'' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo=N''701'')';
|
||||
|
||||
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + ' AND (main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje=' + params.Items['idstroj'] + ')'
|
||||
+ ' OR main.IDPrikazVyssi IN (SELECT ID FROM ' + tblPrikaz
|
||||
+ ' WHERE IDPrikazVyssi IN (SELECT px.ID FROM ' + tblPrPost + ' ppx'
|
||||
+ ' INNER JOIN dbo.TabPrikaz px ON (px.ID=ppx.IDPrikaz)'
|
||||
+ ' WHERE ppx.IDOdchylkyDo IS NULL'
|
||||
+ ' AND px.StavPrikazu IN (30,40)'
|
||||
+ ' AND ppx.IDStroje=' + params.Items['idstroj'] + '))'
|
||||
+ ')';
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje=' + params.Items['idstroj'] + ')'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo=N''701'')'
|
||||
}
|
||||
end;
|
||||
{
|
||||
else
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo=N''701'')';
|
||||
}
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + ' AND (main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN ' + params.Items['idstroju'] + ')'
|
||||
+ ' OR main.IDPrikazVyssi IN (SELECT ID FROM ' + tblPrikaz
|
||||
+ ' WHERE IDPrikazVyssi IN (SELECT px.ID FROM ' + tblPrPost + ' ppx'
|
||||
+ ' INNER JOIN dbo.TabPrikaz px ON (px.ID=ppx.IDPrikaz)'
|
||||
+ ' WHERE ppx.IDOdchylkyDo IS NULL'
|
||||
+ ' AND px.StavPrikazu IN (30,40)'
|
||||
+ ' AND ppx.IDStroje IN ' + params.Items['idstroju'] + '))'
|
||||
+ ')';
|
||||
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo=N''701'')'
|
||||
}
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=2) then // pro macirnu
|
||||
begin
|
||||
locParams.Add('nazevOp', 'máčení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada IN (N''004'', N''002'') AND EXISTS (SELECT 1 FROM ' + tblPrPost + ' pp INNER JOIN ' + tblCisStroj + ' cs'
|
||||
+ ' ON (cs.ID=pp.IDStroje) INNER JOIN ' + tblCisStrojE + ' cse ON (cse.ID=cs.ID) WHERE pp.IDPrikaz=main.ID'
|
||||
+ ' AND pp.IDOdchylkyDo IS NULL AND pp.priorita=0 AND cse._MaceciStroj=1)';
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada=N''004'' AND main.IDZakazModif IN (SELECT ID FROM '
|
||||
+ tblZakazModif + ' WHERE Schvaleno=1 AND Kod LIKE N''COKO%'')';
|
||||
}
|
||||
{
|
||||
if (params.ContainsKey('idpracovist')) then
|
||||
if (params.Items['idpracovist']<>'') then
|
||||
begin
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.pracoviste IN (' + params.Items['idpracovist'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
}
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroj'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
{
|
||||
else
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')';
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=3) then // pro baleni (interni)
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND LOWER(Nazev) LIKE N''%balení%'' AND IDStroje NOT IN (SELECT ID FROM ' + tblCisStroj
|
||||
+ ' WHERE Blokovano=0 AND Kod LIKE N''BAL-%'') AND priorita=0)'; // main.Rada=N''004''
|
||||
{
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroj'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')';
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=4) then // pro balicku finalu
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND IDStroje IN (SELECT ID FROM ' + tblCisStroj + ' WHERE Blokovano=0 AND Kod LIKE N''BAL-%''))';
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=5) then // pro EWB
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND IDStroje IN (SELECT ID FROM ' + tblCisStroj + ' WHERE Blokovano=0 AND Kod LIKE N''EWB%''))';
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if (params.ContainsKey('odDatum')) then
|
||||
if (params.Items['odDatum']<>'') then
|
||||
odDatum:= params.Items['odDatum'];
|
||||
if (odDatum<>'') then
|
||||
begin
|
||||
if (Length(odDatum)=8) then
|
||||
odDatum:= odDatum + '000000';
|
||||
if (Length(odDatum)=10) then
|
||||
odDatum:= odDatum + '00';
|
||||
odDatum:= MidStr(odDatum, 7, 2) + '.' + MidStr(odDatum, 5, 2) + '.' + LeftStr(odDatum, 4) + ' ' + MidStr(odDatum, 9, 2) + ':' + MidStr(odDatum, 11, 2) + ':' + MidStr(odDatum, 13, 2);
|
||||
if not(TryStrToDateTime(odDatum, datOd)) then
|
||||
datOd:= IncDay(Now, -180)
|
||||
end
|
||||
else
|
||||
datOd:= IncDay(Now, -180);
|
||||
|
||||
if (params.ContainsKey('doDatum')) then
|
||||
if (params.Items['doDatum']<>'') then
|
||||
odDatum:= params.Items['doDatum'];
|
||||
if (doDatum<>'') then
|
||||
begin
|
||||
if (Length(doDatum)=8) then
|
||||
doDatum:= doDatum + '235959';
|
||||
if (Length(doDatum)=10) then
|
||||
doDatum:= doDatum + '59';
|
||||
doDatum:= MidStr(doDatum, 7, 2) + '.' + MidStr(doDatum, 5, 2) + '.' + LeftStr(doDatum, 4) + ' ' + MidStr(doDatum, 9, 2) + ':' + MidStr(doDatum, 11, 2) + ':' + MidStr(doDatum, 13, 2);
|
||||
if not(TryStrToDateTime(doDatum, datDo)) then
|
||||
datDo:= Now
|
||||
end
|
||||
else
|
||||
datDo:= Now;
|
||||
|
||||
if (odDatum<>'') then
|
||||
begin
|
||||
strTemp:= 'CONVERT(datetime, N' + FormatDateTime('dd.mm.yyyy', datOd).QuotedString + ',104)';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.DatPorizeni>=' + strTemp;
|
||||
end;
|
||||
|
||||
if (doDatum<>'') then
|
||||
begin
|
||||
strTemp:= 'CONVERT(datetime, N' + FormatDateTime('dd.mm.yyyy', datDo).QuotedString + ',104)';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.DatPorizeni<=' + strTemp;
|
||||
end;
|
||||
|
||||
|
||||
// pro micharnu nejsou prikazy pozastavovany
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.StavPrikazu IN (30' + IfThen(typPrikazu<>1, ',40', '') + ')';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada<>N''009''';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada LIKE N''0%''';
|
||||
|
||||
|
||||
if (where<>'') then
|
||||
lSQL:= lSQL + ' WHERE ' + where;
|
||||
lSQL:= lSQL + ' GROUP BY main.ID ORDER BY main.ID';
|
||||
|
||||
|
||||
vpSvr:= TVyrobniPrikazService.Create (self.FDM);
|
||||
|
||||
sqlConnX:= TFDConnection.Create(nil);
|
||||
sqlConnX.ConnectionDefName:= sqlPoolName;
|
||||
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.Connection:= sqlConnX;
|
||||
lQry.FetchOptions.Mode:= fmAll;
|
||||
lQry.Open(lSQL);
|
||||
cnt:= lQry.RecordCount;
|
||||
vpList:= TObjectList<TVyrobniPrikaz>.Create;
|
||||
try
|
||||
if not(lQry.Active) then
|
||||
lQry.Open(lSQL);
|
||||
lQry.First;
|
||||
rNo:= 1;
|
||||
while (rNo<=cnt) do
|
||||
begin
|
||||
lQry.RecNo:= rNo;
|
||||
idVPr:= lQry.FieldByName('ID').AsInteger;
|
||||
p:= vpSvr.GetByID (idVPr, locParams);
|
||||
vpList.Add(p);
|
||||
if not(lQry.Active) then
|
||||
lQry.Open;
|
||||
Inc(rNo);
|
||||
end;
|
||||
result:= vpList;
|
||||
except on E:Exception do
|
||||
|
||||
operace:= false;
|
||||
if (params.ContainsKey('operace')) then
|
||||
if (params.Items['operace']='1') then
|
||||
begin
|
||||
errMsg:= e.Message;
|
||||
raise EServiceException.Create('Chyba načítání naskenované položky/položek dokladu: ' + E.Message);
|
||||
operace:= true;
|
||||
locParams.Add('operace', params.Items['operace']);
|
||||
end;
|
||||
|
||||
material:= false;
|
||||
if (params.ContainsKey('material')) then
|
||||
if (params.Items['material']='1') then
|
||||
begin
|
||||
material:= true;
|
||||
locParams.Add('material', params.Items['material']);
|
||||
end;
|
||||
|
||||
spustene:= false;
|
||||
if (params.ContainsKey('spustene')) then
|
||||
if (params.Items['spustene']='1') then
|
||||
begin
|
||||
spustene:= true;
|
||||
locParams.Add('spustene', params.Items['spustene']);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
where:= '';
|
||||
lSQL:= 'SELECT DISTINCT(main.ID) AS ID FROM ' + tblVPr + ' main';
|
||||
|
||||
|
||||
if (spustene) then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM ' + tblPrPost + ' pp INNER JOIN ' + tblRozpracOperR
|
||||
+ ' r ON (r.DokladPrPostup=pp.Doklad AND r.AltPrPostup=pp.Alt AND r.IDPrikaz=pp.IDPrikaz)'
|
||||
+ ' INNER JOIN ' + tblRozpracOper + ' h ON (h.ID=r.IDEvidRozpracOper)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL AND pp.IDPrikaz=main.ID AND h.DatumUzavreni IS NULL)';
|
||||
|
||||
|
||||
typPrikazu:= 0;
|
||||
if (params.ContainsKey('typ')) then
|
||||
if not(TryStrToInt(params.Items['typ'], typPrikazu)) then
|
||||
typPrikazu:= 0;
|
||||
|
||||
locParams.Add('rtn', '1');
|
||||
locParams.Add('typPrikazu', typPrikazu.ToString);
|
||||
|
||||
if (typPrikazu=0) then // obecny
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0)';
|
||||
|
||||
|
||||
|
||||
if (typPrikazu=1) then // pro micharnu se nacitaji vyssi prikazy, tj. kde testo skonci
|
||||
begin
|
||||
locParams.Add('nazevOp', 'michani');
|
||||
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada=N''003'' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo=N''701'')';
|
||||
|
||||
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + ' AND (main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje=' + params.Items['idstroj'] + ')'
|
||||
+ ' OR main.IDPrikazVyssi IN (SELECT ID FROM ' + tblPrikaz
|
||||
+ ' WHERE IDPrikazVyssi IN (SELECT px.ID FROM ' + tblPrPost + ' ppx'
|
||||
+ ' INNER JOIN dbo.TabPrikaz px ON (px.ID=ppx.IDPrikaz)'
|
||||
+ ' WHERE ppx.IDOdchylkyDo IS NULL'
|
||||
+ ' AND px.StavPrikazu IN (30,40)'
|
||||
+ ' AND ppx.IDStroje=' + params.Items['idstroj'] + '))'
|
||||
+ ')';
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje=' + params.Items['idstroj'] + ')'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo=N''701'')'
|
||||
}
|
||||
end;
|
||||
{
|
||||
else
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo=N''701'')';
|
||||
}
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + ' AND (main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN ' + params.Items['idstroju'] + ')'
|
||||
+ ' OR main.IDPrikazVyssi IN (SELECT ID FROM ' + tblPrikaz
|
||||
+ ' WHERE IDPrikazVyssi IN (SELECT px.ID FROM ' + tblPrPost + ' ppx'
|
||||
+ ' INNER JOIN dbo.TabPrikaz px ON (px.ID=ppx.IDPrikaz)'
|
||||
+ ' WHERE ppx.IDOdchylkyDo IS NULL'
|
||||
+ ' AND px.StavPrikazu IN (30,40)'
|
||||
+ ' AND ppx.IDStroje IN ' + params.Items['idstroju'] + '))'
|
||||
+ ')';
|
||||
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDPrikazVyssi IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo=N''701'')'
|
||||
}
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=2) then // pro macirnu
|
||||
begin
|
||||
locParams.Add('nazevOp', 'máčení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada IN (N''004'', N''002'') AND EXISTS (SELECT 1 FROM ' + tblPrPost + ' pp INNER JOIN ' + tblCisStroj + ' cs'
|
||||
+ ' ON (cs.ID=pp.IDStroje) INNER JOIN ' + tblCisStrojE + ' cse ON (cse.ID=cs.ID) WHERE pp.IDPrikaz=main.ID'
|
||||
+ ' AND pp.IDOdchylkyDo IS NULL AND pp.priorita=0 AND cse._MaceciStroj=1)';
|
||||
{
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada=N''004'' AND main.IDZakazModif IN (SELECT ID FROM '
|
||||
+ tblZakazModif + ' WHERE Schvaleno=1 AND Kod LIKE N''COKO%'')';
|
||||
}
|
||||
{
|
||||
if (params.ContainsKey('idpracovist')) then
|
||||
if (params.Items['idpracovist']<>'') then
|
||||
begin
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.IDOdchylkyDo IS NULL'
|
||||
+ ' AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.pracoviste IN (' + params.Items['idpracovist'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
}
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroj'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
{
|
||||
else
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')';
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=3) then // pro baleni (interni)
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND LOWER(Nazev) LIKE N''%balení%'' AND IDStroje NOT IN (SELECT ID FROM ' + tblCisStroj
|
||||
+ ' WHERE Blokovano=0 AND Kod LIKE N''BAL-%'') AND priorita=0)'; // main.Rada=N''004''
|
||||
{
|
||||
if (params.ContainsKey('idstroj')) then
|
||||
begin
|
||||
if (params.Items['idstroj']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroj'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Blokovano=0 AND SkupZbo<>N''701'')'
|
||||
end;
|
||||
|
||||
if (params.ContainsKey('idstroju')) then
|
||||
begin
|
||||
if (params.Items['idstroju']<>'') then
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.ID IN (SELECT p.ID FROM ' + tblPrPost + ' pp INNER JOIN dbo.TabPrikaz p ON (p.ID=pp.IDPrikaz)'
|
||||
+ ' WHERE pp.Typ=1 AND pp.IDOdchylkyDo IS NULL AND p.StavPrikazu IN (30,40)'
|
||||
+ ' AND pp.IDStroje IN (' + params.Items['idstroju'] + '))'
|
||||
+ ' AND main.IDTabKmen IN (SELECT ID FROM ' + tblKZ + ' WHERE Dilec=1 AND Blokovano=0 AND SkupZbo<>N''701'')';
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=4) then // pro balicku finalu
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND IDStroje IN (SELECT ID FROM ' + tblCisStroj + ' WHERE Blokovano=0 AND Kod LIKE N''BAL-%''))';
|
||||
end;
|
||||
|
||||
|
||||
if (typPrikazu=5) then // pro EWB
|
||||
begin
|
||||
locParams.Add('nazevOp', 'balení');
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'EXISTS (SELECT 1 FROM dbo.TabPrPostup WHERE IDPrikaz=main.ID AND IdOdchylkyDo IS NULL'
|
||||
+ ' AND IDStroje IN (SELECT ID FROM ' + tblCisStroj + ' WHERE Blokovano=0 AND Kod LIKE N''EWB%''))';
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if (params.ContainsKey('odDatum')) then
|
||||
if (params.Items['odDatum']<>'') then
|
||||
odDatum:= params.Items['odDatum'];
|
||||
if (odDatum<>'') then
|
||||
begin
|
||||
if (Length(odDatum)=8) then
|
||||
odDatum:= odDatum + '000000';
|
||||
if (Length(odDatum)=10) then
|
||||
odDatum:= odDatum + '00';
|
||||
odDatum:= MidStr(odDatum, 7, 2) + '.' + MidStr(odDatum, 5, 2) + '.' + LeftStr(odDatum, 4) + ' ' + MidStr(odDatum, 9, 2) + ':' + MidStr(odDatum, 11, 2) + ':' + MidStr(odDatum, 13, 2);
|
||||
if not(TryStrToDateTime(odDatum, datOd)) then
|
||||
datOd:= IncDay(Now, -180)
|
||||
end
|
||||
else
|
||||
datOd:= IncDay(Now, -180);
|
||||
|
||||
if (params.ContainsKey('doDatum')) then
|
||||
if (params.Items['doDatum']<>'') then
|
||||
doDatum:= params.Items['doDatum'];
|
||||
if (doDatum<>'') then
|
||||
begin
|
||||
if (Length(doDatum)=8) then
|
||||
doDatum:= doDatum + '235959';
|
||||
if (Length(doDatum)=10) then
|
||||
doDatum:= doDatum + '59';
|
||||
doDatum:= MidStr(doDatum, 7, 2) + '.' + MidStr(doDatum, 5, 2) + '.' + LeftStr(doDatum, 4) + ' ' + MidStr(doDatum, 9, 2) + ':' + MidStr(doDatum, 11, 2) + ':' + MidStr(doDatum, 13, 2);
|
||||
if not(TryStrToDateTime(doDatum, datDo)) then
|
||||
datDo:= Now
|
||||
end
|
||||
else
|
||||
datDo:= Now;
|
||||
|
||||
if (odDatum<>'') then
|
||||
begin
|
||||
strTemp:= 'CONVERT(datetime, N' + FormatDateTime('dd.mm.yyyy', datOd).QuotedString + ',104)';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.DatPorizeni>=' + strTemp;
|
||||
end;
|
||||
|
||||
if (doDatum<>'') then
|
||||
begin
|
||||
strTemp:= 'CONVERT(datetime, N' + FormatDateTime('dd.mm.yyyy', datDo).QuotedString + ',104)';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.DatPorizeni<=' + strTemp;
|
||||
end;
|
||||
|
||||
|
||||
// pro micharnu nejsou prikazy pozastavovany
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.StavPrikazu IN (30' + IfThen(typPrikazu<>1, ',40', '') + ')';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada<>N''009''';
|
||||
where:= where + IfThen(where<>'', ' AND ', '') + 'main.Rada LIKE N''0%''';
|
||||
|
||||
|
||||
if (where<>'') then
|
||||
lSQL:= lSQL + ' WHERE ' + where;
|
||||
lSQL:= lSQL + ' GROUP BY main.ID ORDER BY main.ID';
|
||||
|
||||
|
||||
vpSvr := TVyrobniPrikazService.Create (self.FDM);
|
||||
try
|
||||
sqlConnX := TFDConnection.Create (nil);
|
||||
try
|
||||
sqlConnX.ConnectionDefName := sqlPoolName;
|
||||
sqlConnX.Open;
|
||||
|
||||
lokIDcka := TList<Integer>.Create;
|
||||
try
|
||||
lQry := TFDQuery.Create (nil);
|
||||
try
|
||||
lQry.Connection := sqlConnX;
|
||||
lQry.FetchOptions.Mode := fmAll;
|
||||
lQry.Open (lSQL);
|
||||
|
||||
cnt := lQry.RecordCount;
|
||||
|
||||
if not lQry.Active then
|
||||
lQry.Open (lSQL);
|
||||
|
||||
lQry.First;
|
||||
rNo := 1;
|
||||
|
||||
try
|
||||
while (rNo <= cnt) do
|
||||
begin
|
||||
lQry.RecNo := rNo;
|
||||
idVPr := lQry.FieldByName('ID').AsInteger;
|
||||
lokIDcka.Add (idVPr);
|
||||
if not lQry.Active then
|
||||
lQry.Open (lSQL);
|
||||
Inc(rNo);
|
||||
end;
|
||||
|
||||
except
|
||||
on E: Exception do
|
||||
begin
|
||||
{$IF CompilerVersion >= 37.0} // Delphi 13+
|
||||
raise EServiceException.Create ('Chyba načítání naskenované položky/položek dokladu') from E;
|
||||
{$ELSE}
|
||||
raise EServiceException.Create ('Chyba načítání naskenované položky/položek dokladu: ' + E.Message) at ExceptAddr;
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
finally
|
||||
lQry.Free;
|
||||
end;
|
||||
|
||||
vpList := TObjectList<TVyrobniPrikaz>.Create;
|
||||
try
|
||||
for idVPr in lokIDcka do
|
||||
begin
|
||||
p := vpSvr.GetByID (idVPr, locParams, sqlConnX);
|
||||
vpList.Add (p);
|
||||
end;
|
||||
result := vpList;
|
||||
vpList := nil; // zabrani uvolneni v finally
|
||||
finally
|
||||
vpList.Free;
|
||||
end;
|
||||
|
||||
finally
|
||||
lokIDcka.Free;
|
||||
end;
|
||||
|
||||
finally
|
||||
sqlConnX.Free;
|
||||
end;
|
||||
|
||||
finally
|
||||
vpSvr.Free;
|
||||
end;
|
||||
|
||||
finally
|
||||
begin
|
||||
vpSvr.Free;
|
||||
FreeAndNil(lQry);
|
||||
end;
|
||||
locParams.Free;
|
||||
end;
|
||||
|
||||
locParams.Free;
|
||||
sqlConnX.Close;
|
||||
sqlConnX.Free;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
var lSQL, errMsg, url, outData, fName, loopCasTyp: string;
|
||||
lLoop, idDigiFile, cnt, idx: Integer;
|
||||
lLoopMax, koefProCas: integer;
|
||||
logRunCnt: integer;
|
||||
logRunCnt, intTemp: integer;
|
||||
Msg: TMsg;
|
||||
firstRun, inProg, inDL: boolean;
|
||||
lQry: TFDQuery;
|
||||
@ -95,137 +95,140 @@
|
||||
|
||||
attrIdx:= attribs.IndexOf('zapisObjMatExpPrIntMins');
|
||||
if (attrIdx>-1) then
|
||||
if (attribs.Get(attrIdx).NodeValue<>null) then
|
||||
lLoopMax:= attribs.Get(attrIdx).NodeValue;
|
||||
if TryStrToInt(VarToStr(attribs.Get(attrIdx).NodeValue), intTemp) then
|
||||
lLoopMax:= intTemp;
|
||||
end; // n1 = config
|
||||
end; // specCfgXML.DocumentElement<>nil
|
||||
end; // not specCfgXML.IsEmptyDoc
|
||||
end; // FileExists(cfgFile)
|
||||
except
|
||||
on E: Exception do
|
||||
datMod.LogInfo (Quick.Logger.etError, 'Chyba cteni konfigu THeoRTNZapisObjMatThread: ' + E.Message);
|
||||
end;
|
||||
finally
|
||||
begin
|
||||
if (specCfgXML<>nil) then
|
||||
specCfgXML:= nil;
|
||||
specCfgXML := nil;
|
||||
CoUninitialize;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Zapis Objednavek materialu do ExpPr - interval: ' + lLoopMax.ToString + ' min.');
|
||||
lLoopMax:= lLoopMax * 60; // minuty na vteriny
|
||||
lLoopMax := lLoopMax * 60; // minuty na vteriny
|
||||
|
||||
|
||||
firstRun:= true;
|
||||
inProg:= false;
|
||||
FRunning:= true;
|
||||
firstRun := true;
|
||||
inProg := false;
|
||||
FRunning := true;
|
||||
|
||||
if (1=1) then // pro rychle vypnuti
|
||||
begin
|
||||
FTimer:= CreateWaitableTimer (nil, true, 'RTNZapisObjMatExpPrWaitableTimer');
|
||||
liDueTime.QuadPart:= -1*_Second;
|
||||
FTimer := CreateWaitableTimer (nil, true, 'RTNZapisObjMatExpPrWaitableTimer');
|
||||
liDueTime.QuadPart := -1*_Second;
|
||||
|
||||
|
||||
sqlConnX:= TFDConnection.Create (nil);
|
||||
sqlConnX.Params.SetStrings (datMod.sqlConnParams);
|
||||
lSQL:= 'DECLARE @errMsg NVARCHAR(500)=N''''' + CRLF +'IF OBJECT_ID(N''dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew'', N''P'') IS NOT NULL' + CRLF
|
||||
+ ' EXEC dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew @errMsg OUT' + CRLF + 'SELECT @errMsg AS ErrMsg';
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
|
||||
try
|
||||
lQry.Connection:= sqlConnX;
|
||||
|
||||
while not(Terminated) or not(FRunning) do
|
||||
begin
|
||||
if (HDCDZApiService<>nil) then
|
||||
if (HDCDZApiService.Terminated) then
|
||||
begin
|
||||
Terminate;
|
||||
FRunning:= false;
|
||||
end;
|
||||
|
||||
PeekMessage (&Msg, 0, 0, 0, PM_NOREMOVE); { Create message queue }
|
||||
|
||||
if (lLoop=lLoopMax) or (firstRun) then // pri startu a pak kazdou minutu
|
||||
while not(Terminated) and FRunning do
|
||||
begin
|
||||
if (HDCDZApiService<>nil) then
|
||||
if (HDCDZApiService.Terminated) then
|
||||
begin
|
||||
idDigiFile:= 0;
|
||||
firstRun:= false;
|
||||
Terminate;
|
||||
FRunning:= false;
|
||||
end;
|
||||
|
||||
if (logRunCnt<4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky materialu do ExpPr c.' + logRunCnt.toString + '...');
|
||||
if (logRunCnt=4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky - bezi, ale dal neloguju');
|
||||
PeekMessage (&Msg, 0, 0, 0, PM_NOREMOVE); { Create message queue }
|
||||
|
||||
try
|
||||
if not(inProg) then // nebezi uz ?
|
||||
begin
|
||||
if (lLoop=lLoopMax) or (firstRun) then // pri startu a pak kazdou minutu
|
||||
begin
|
||||
|
||||
if (1=1) then // pro rychle vypnuti
|
||||
sqlConnX := TFDConnection.Create (nil);
|
||||
try
|
||||
sqlConnX.Params.SetStrings (datMod.sqlConnParams);
|
||||
lQry := TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.Connection := sqlConnX;
|
||||
|
||||
idDigiFile:= 0;
|
||||
firstRun:= false;
|
||||
|
||||
if (logRunCnt<4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky materialu do ExpPr c.' + logRunCnt.toString + '...');
|
||||
if (logRunCnt=4) then
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Spoustim zapis Objednavky - bezi, ale dal neloguju');
|
||||
|
||||
try
|
||||
if not(inProg) then // nebezi uz ?
|
||||
begin
|
||||
|
||||
if (1=1) then // pro rychle vypnuti
|
||||
begin
|
||||
sqlConnX.Open;
|
||||
if (sqlConnX.Connected) then
|
||||
begin
|
||||
inProg:= true;
|
||||
|
||||
lSQL:= 'DECLARE @errMsg NVARCHAR(500)=N''''' + CRLF +'IF OBJECT_ID(N''dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew'', N''P'') IS NOT NULL' + CRLF
|
||||
+ ' EXEC dbo.ep_Vyroba_GenObjednavkuMatDoVyrobyNew @errMsg OUT' + CRLF + 'SELECT @errMsg AS ErrMsg';
|
||||
|
||||
lQry.Open(lSQL);
|
||||
if (lQry.RecordCount>0) then
|
||||
begin
|
||||
lQry.First;
|
||||
errMsg:= lQry.FieldByName('ErrMsg').AsString;
|
||||
if (errMsg<>'') then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
inProg:= false;
|
||||
end; // sql Connected
|
||||
end; // 1=1
|
||||
end;
|
||||
|
||||
except on E:Exception do
|
||||
begin
|
||||
sqlConnX.Open;
|
||||
if (sqlConnX.Connected) then
|
||||
inProg:= false;
|
||||
errMsg:= E.Message; // datMod.sqlQry11.FieldByName('ErrMsg').AsString;
|
||||
if (mamTabPrijataData) then
|
||||
begin
|
||||
inProg:= true;
|
||||
lQry.Open(lSQL);
|
||||
if (lQry.RecordCount>0) then
|
||||
begin
|
||||
lQry.First;
|
||||
errMsg:= lQry.FieldByName('ErrMsg').AsString;
|
||||
if (errMsg<>'') then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etInfo, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
lQry.Close;
|
||||
inProg:= false;
|
||||
end; // sql Connected
|
||||
datMod.LogInfo (Quick.Logger.etError, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
lQry.Free;
|
||||
end;
|
||||
|
||||
except on E:Exception do
|
||||
begin
|
||||
inProg:= false;
|
||||
errMsg:= E.Message; // datMod.sqlQry11.FieldByName('ErrMsg').AsString;
|
||||
if (mamTabPrijataData) then
|
||||
begin
|
||||
datMod.LogInfo (Quick.Logger.etError, 'Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$IFDEF DEBUG}
|
||||
WriteLn('Zapis Objednavky materialu do ExpPr - chyba: ' + errMsg);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
lLoop:= 0;
|
||||
if (logRunCnt<5) then
|
||||
Inc (logRunCnt);
|
||||
finally
|
||||
sqlConnX.Free;
|
||||
end;
|
||||
Inc (lLoop);
|
||||
|
||||
if (FTimer<>0) then
|
||||
SetWaitableTimer (FTimer, TLargeInteger(liDueTime), 0, nil, nil, false);
|
||||
repeat
|
||||
lBusy:= MsgWaitForMultipleObjects (1, FTimer, false, INFINITE, QS_ALLINPUT);
|
||||
until lBusy = WAIT_OBJECT_0;
|
||||
lLoop:= 0;
|
||||
if (logRunCnt<5) then
|
||||
Inc (logRunCnt);
|
||||
end; // if lLoop=lLoopMax...
|
||||
|
||||
Inc (lLoop);
|
||||
|
||||
|
||||
if (FTimer<>0) then
|
||||
SetWaitableTimer (FTimer, TLargeInteger(liDueTime), 0, nil, nil, false);
|
||||
repeat
|
||||
lBusy:= MsgWaitForMultipleObjects (1, FTimer, false, INFINITE, QS_ALLINPUT);
|
||||
until lBusy = WAIT_OBJECT_0;
|
||||
// Sleep (998);
|
||||
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
end; // while not(Terminated) and FRunning
|
||||
|
||||
if (lQry<>nil) then
|
||||
begin
|
||||
lQry.Close;
|
||||
FreeAndNil (lQry);
|
||||
end;
|
||||
if (sqlConnX<>nil) then
|
||||
begin
|
||||
sqlConnX.Close;
|
||||
FreeAndNil (sqlConnX);
|
||||
end;
|
||||
if (FTimer<>0) then
|
||||
CloseHandle (FTimer);
|
||||
|
||||
end; // 1=1
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user