Pridana funkcnost zmeny planovaneho ukonceni prikazu podle tabulky (comObject akce 36) + prvni verze generovani KoopObj dle stare HDC funkcnosti ctecky
This commit is contained in:
+77
-12
@@ -344,7 +344,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
|
||||
|
||||
function TformOdvTavby.TestMamNaPrevod(const sklFrom: string): boolean;
|
||||
function TformOdvTavby.TestMamNaPrevod (const sklFrom: string): boolean;
|
||||
var lSQL: string;
|
||||
ksSkl: Extended;
|
||||
begin
|
||||
@@ -1155,7 +1155,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
edtOpTavba.Text:= helUtils.StripChars(edtOpTavba.Text, ['''', '"', '-', ';', ' ']);
|
||||
if (edtOpTavba.Text<>'') then
|
||||
begin
|
||||
ZjistiVOp(edtOpTavba.Text, true);
|
||||
ZjistiVOp (edtOpTavba.Text, true);
|
||||
if (prik.stav=0) or (prik.stav>30) then
|
||||
Helios.Error(#1'Výrobní příkaz operace je již uzavřen.'#1);
|
||||
|
||||
@@ -1183,7 +1183,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
// edtOpVibr.Text:= helUtils.RemoveWords(edtVibrator.Text, ['null']);
|
||||
if (edtOpVibr.Text<>'') then
|
||||
begin
|
||||
ZjistiVOp(edtOpVibr.Text, true);
|
||||
ZjistiVOp (edtOpVibr.Text, true);
|
||||
|
||||
if (prik.stav>30) or (prik.stav=0) or (prik.stav=10) then
|
||||
Helios.Error(#1'Výrobní příkaz je ve stavu Pořízení nebo je již uzavřen'#1)
|
||||
@@ -1197,7 +1197,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
btnOKNew.Enabled:= false;
|
||||
btnOK.Enabled:= false;
|
||||
Helios.Error(#1'Na operaci nezbývají žádné kusy k odvedení !!'#1);
|
||||
with Helios.OpenSQL('SELECT Doklad, Alt FROM ' + tblPrPost + ' WHERE IdOdchylkyDo IS NULL AND ID1=' + idVOp.ToString) do
|
||||
with Helios.OpenSQL('SELECT Doklad, Alt FROM ' + tblPrPost + ' WHERE IdOdchylkyDo IS NULL AND ID=' + idVOp.ToString) do
|
||||
begin
|
||||
doklad:= VarToStr(FieldValues(0));
|
||||
alt:= VarToStr(FieldValues(1));
|
||||
@@ -1208,7 +1208,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
end
|
||||
else
|
||||
begin
|
||||
idVPr:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDPrikaz FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND ID1=' + idVOp.ToString);
|
||||
idVPr:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDPrikaz FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND ID=' + idVOp.ToString);
|
||||
NactiPrikaz;
|
||||
edtTavbaV.SetFocus;
|
||||
end;
|
||||
@@ -1793,9 +1793,9 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
|
||||
procedure TformOdvTavby.NactiPrikaz;
|
||||
var lSQL, skl, eMsg, prac, rc: string;
|
||||
var lSQL, skl, eMsg, prac, rc, bc: string;
|
||||
z, k: Extended;
|
||||
idKZ: integer;
|
||||
idKZ, cnt: integer;
|
||||
canCont, pracOK: boolean;
|
||||
begin
|
||||
prik.id:= 0;
|
||||
@@ -1805,12 +1805,14 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
prik.sklad:= '';
|
||||
prik.stav:= 0;
|
||||
prik.mamP30:= false;
|
||||
bc:= 'A' + idVOp.ToString + 'B';
|
||||
|
||||
if (idVPr>0) then
|
||||
begin
|
||||
skl:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Sklad FROM ' + tblPrikaz + ' WHERE ID=' + idVPr.ToString);
|
||||
prac:= '';
|
||||
|
||||
lSQL:= 'SELECT k.RegCis, k.Nazev1, p.RadaPrikaz, CASE WHEN ISNULL(o.MamMatecniOdlitek,0)=1 THEN ISNULL(o1.KSnaStrom,0) ELSE ISNULL(o.KSnaStrom,0) END';
|
||||
lSQL:= 'SELECT k.RegCis, k.Nazev1, p.RadaPrikaz, CASE WHEN ISNULL(o.MamMatecniOdlitek,0)=1 THEN ISNULL(o1.KSnaStrom,0) ELSE ISNULL(o.KSnaStrom,0) END AS KsNaStr';
|
||||
lSQL:= lSQL + ', k.ID, p.StavPrikazu, k.SkupZbo FROM ' + tblPrikaz + ' p INNER JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen)';
|
||||
lSQL:= lSQL + ' LEFT JOIN ' + tblOdlitky + ' o ON (k.RegCis=o.Odlitek) LEFT JOIN ' + tblOdlitky + ' o1 ON (o1.Odlitek=o.MatecniOdlitek)';
|
||||
lSQL:= lSQL + ' WHERE p.ID=' + idVPr.ToString;
|
||||
@@ -1831,8 +1833,70 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
if (idVOp>0) and (pgCtrl.ActivePageIndex=shTavba.PageIndex) or (pgCtrl.ActivePageIndex=shVibrovani.PageIndex) or (pgCtrl.ActivePageIndex=shOdvStr.PageIndex) then
|
||||
begin
|
||||
canCont:= (lblOperace.Caption<>'');
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o INNER JOIN ' + tblCPrac + ' p ON (o.pracoviste=p.ID) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
|
||||
lSQL:= 'SELECT COUNT(ID) FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt=1) then
|
||||
begin
|
||||
idVOp:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT ID FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString);
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
idVOp:= helUtils.getHeliosIntVal (Helios, 0, 'SELECT TOP(1) ID FROM ' + tblPrPost + ' WHERE BarCode=N' + bc.QuotedString
|
||||
+ ' AND IDOdchylkyDo IS NULL AND Priorita=0 ORDER BY ID DESC');
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if (prac='') then
|
||||
begin
|
||||
lSQL:= 'SELECT COUNT(o.ID) AS Pocet FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N'
|
||||
+ ('A' + idVOp.ToString + 'B').QuotedString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=1) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N' + ('A' + idVOp.ToString + 'B').QuotedString;
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
lSQL:= 'SELECT TOP(1) p.Pracoviste FROM ' + tblPrPost + ' o JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.Barcode=N'
|
||||
+ ('A' + idVOp.ToString + 'B').QuotedString + ' AND o.IDOdchylkyDo IS NULL AND o.Priorita=0 ORDER BY o.DatPorizeni DESC';
|
||||
prac:= helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end;
|
||||
if (prac='') then
|
||||
begin
|
||||
lSQL:= 'SELECT COUNT(o.ID) AS Pocet FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString;
|
||||
cnt:= helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (cnt=1) then
|
||||
begin
|
||||
lSQL:= 'SELECT p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString;
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
end;
|
||||
if (cnt>1) then
|
||||
begin
|
||||
lSQL:= 'SELECT TOP(1) p.Pracoviste FROM ' + tblPrPost + ' o WITH(NOLOCK) JOIN ' + tblCPrac + ' p WITH(NOLOCK) ON (p.ID=o.pracoviste) WHERE o.ID1=' + idVOp.ToString
|
||||
+ ' ORDER BY o.DatPorizeni DESC';
|
||||
prac:= helUtils.getHeliosStrVal(Helios, '', lSQL);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
// T09/T11 - tavba
|
||||
pracOK:= (prac='T11') or (prac='T09');
|
||||
@@ -1845,6 +1909,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
Helios.Error(#1 + rc + ': Naskenovaná operace ' + idVOp.ToString + ' není ODLÉVÁNÍ.'#1);
|
||||
edtOpTavba.Text:= '';
|
||||
end;
|
||||
|
||||
// T12 - vibrace nebo T15 - rucni
|
||||
pracOK:= (prac='T12') or (prac='T13') or (prac='T15');
|
||||
if (pgCtrl.ActivePageIndex=shVibrovani.PageIndex) and not(pracOK) then
|
||||
@@ -1863,7 +1928,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
|
||||
if (canCont) then
|
||||
begin
|
||||
if not TryStrToFloat(VarToStr(FieldValues(3)), k) then
|
||||
if not TryStrToFloat(VarToStr(FieldByNameValues('KsNaStr')), k) then
|
||||
k:= 0;
|
||||
lblKsStrom.Caption:= k.ToString + ' ks/str';
|
||||
ksStr:= k;
|
||||
@@ -1871,7 +1936,7 @@ uses System.DateUtils, System.AnsiStrings, helUtils;
|
||||
if (idVOp>0) then
|
||||
begin
|
||||
z:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT kusy_zad FROM ' + tblPrPost + ' WHERE ID=' + idVOp.ToString);
|
||||
lSQL:= 'SELECT ISNULL(SUM(m.kusy_odv + m.kusy_zmet_neopr),0) FROM ' + tblMzdZm + ' m INNER JOIN ' + tblPrPost + ' p ON (p.IDPrikaz=m.IDPrikaz AND ';
|
||||
lSQL:= 'SELECT ISNULL(SUM(m.kusy_odv + m.kusy_zmet_neopr),0) FROM ' + tblMzdZm + ' m JOIN ' + tblPrPost + ' p ON (p.IDPrikaz=m.IDPrikaz AND ';
|
||||
lSQL:= lSQL + 'm.DokladPrPostup=p.Doklad AND ISNULL(m.AltPrPostup,N''Q'')=ISNULL(p.Alt,N''Q'')) WHERE p.ID=' + idVOp.ToString;
|
||||
z:= z-helUtils.getHeliosFloatVal(Helios, 0, lSQL);
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user