128 lines
4.2 KiB
ObjectPascal
128 lines
4.2 KiB
ObjectPascal
unit frmZahajeniVyrobyPalety;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids,
|
|
ddPlugin_TLB;
|
|
|
|
type
|
|
TformZahajeniVyrobyPalety = class(TForm)
|
|
GridPanel1: TGridPanel;
|
|
grdZahajeniVyrobyPalety: TDBGrid;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure grdZahajeniVyrobyPaletyDblClick(Sender: TObject);
|
|
private
|
|
public
|
|
Helios: IHelios;
|
|
end;
|
|
|
|
var
|
|
formZahajeniVyrobyPalety: TformZahajeniVyrobyPalety;
|
|
|
|
implementation
|
|
uses System.StrUtils, System.DateUtils,
|
|
datMod, helUtils, helTabsBIDs,
|
|
frmTiskKAStitku;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure TformZahajeniVyrobyPalety.FormShow(Sender: TObject);
|
|
begin
|
|
dm.NactiZahajeniVyrobyPalety (self);
|
|
helUtils.waitEnd;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TformZahajeniVyrobyPalety.grdZahajeniVyrobyPaletyDblClick (Sender: TObject);
|
|
var msg, podm, lSQL, lSQL2: string;
|
|
novyZaznam, canCont: boolean;
|
|
idVPr, idKZPrikaz, idPrP, idStroj, idPrac, idEvROp, prpD: integer;
|
|
prpA: string;
|
|
f2: TformTiskKAStitku;
|
|
begin
|
|
|
|
idVPr:= grdZahajeniVyrobyPalety.DataSource.DataSet.FieldByName('colIDPrikaz').AsInteger;
|
|
idStroj:= grdZahajeniVyrobyPalety.DataSource.DataSet.FieldByName('colIDStroj').AsInteger;
|
|
idEvROp:= 0;
|
|
|
|
|
|
try
|
|
novyZaznam:= true;
|
|
if (dm.vtStroje.FieldByName('fCinnost').AsString='Výroba') then
|
|
begin
|
|
idEvROp:= dm.vtStroje.FieldByName('fIDEvidRozpOper').AsInteger;
|
|
msg:= 'Na stroji ' + #1 + dm.vtStroje.FieldByName('fStroj').AsString + #1 + ' je ve výrobě paleta ' + dm.vtStroje.FieldByName('fAktPaletList').AsString + '.' + CRLF;
|
|
msg:= msg +'Pokud na ní chcete pokračovat, zadejte z Rozpracovanosti.' + CRLF + 'Pokračovat v zadání nové palety ?';
|
|
if not(Helios.YesNo(msg, false)) then
|
|
novyZaznam:= false;
|
|
end;
|
|
|
|
if (novyZaznam) then
|
|
begin
|
|
|
|
|
|
dm.UkonciEvidRozpracOper (idEvROp, msg);
|
|
|
|
idKZPrikaz:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IdTabKmen FROM ' + tblVPr + ' WHERE ID=' + idVPr.ToString);
|
|
idPrac:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDPrac FROM ' + tblCStroju + ' WHERE ID=' + idStroj.ToString);
|
|
|
|
lSQL:= 'SELECT pp.ID FROM ' + tblPrPost + ' pp INNER JOIN ' + tblCStroju + ' s ON (s.ID=pp.IDStroje) INNER JOIN ' + tblVPr + ' vp ON (vp.ID=pp.IDPrikaz)';
|
|
lSQL:= lSQL + ' WHERE vp.StavPrikazu=30 AND pp.Splneno=0 AND pp.IDOdchylkyDo IS NULL AND s.ID=' + idStroj.ToString;
|
|
idPrP:= helUtils.getHeliosIntVal(Helios, 0, lSQL + ' AND vp.ID=' + idVPr.ToString);
|
|
|
|
canCont:= false;
|
|
f2:= TformTiskKAStitku.Create(nil);
|
|
try
|
|
try
|
|
f2.Caption:= ' Zahájení výroby palety';
|
|
f2.btnTiskZaloha.Visible:= true;
|
|
f2.retVal:= 0;
|
|
f2.Helios:= Helios;
|
|
f2.idKmen:= idKZPrikaz;
|
|
f2.ShowModal;
|
|
if (f2.retVal=1) then
|
|
canCont:= true;
|
|
except
|
|
end;
|
|
finally
|
|
f2.Free;
|
|
end;
|
|
|
|
|
|
if (canCont) then
|
|
begin
|
|
prpD:= helUtils.getHeliosIntVal(Helios, 1, 'SELECT Doklad FROM ' + tblPrPost + ' WHERE ID=' + idPrP.ToString);
|
|
prpA:= helUtils.getHeliosStrVal(Helios, 'A', 'SELECT Alt FROM ' + tblPrPost + ' WHERE ID=' + idPrP.ToString);
|
|
|
|
lSQL:= 'INSERT ' + tblRozpracOper + ' (IDZamestnance, CasZahajeni, IDPracoviste, IDStroje) SELECT ' + datMod.idZamMistr.ToString;
|
|
lSQL:= lSQL + ', GETDATE(), ' + idPrac.ToString + ', ' + idStroj.ToString + CRLF + 'SELECT SCOPE_IDENTITY() AS newid';
|
|
idEvROp:= helUtils.getHeliosIntVal(Helios, 0, lSQL);
|
|
|
|
if (idEvROp>0) then
|
|
begin
|
|
lSQL:= ' INSERT ' + tblRozpracOperR + ' (IDEvidRozpracOper, IDPrikaz, DokladPrPostup, AltPrPostup, IDVyrCis, Mnoz_odv, Sk_cas, Sk_cas_T, Sk_cas_Obsluhy, Sk_cas_Obsluhy_T)';
|
|
lSQL:= lSQL + ' SELECT ' + idEvROp.ToString + ', ' + idVPr.ToString + ', ' + prpD.ToString + ' , N' + prpA.QuotedString + ', NULL, 0, 0, 1, 0, 1';
|
|
Helios.ExecSQL(lSQL);
|
|
end;
|
|
end;
|
|
|
|
end;
|
|
except on E:Exception do
|
|
begin
|
|
msg:= E.Message;
|
|
Helios.Error(#1'Chyba'#1 + CRLF + msg);
|
|
end;
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
end.
|