Prvni verze
This commit is contained in:
195
frmVyrobniDenik.pas
Normal file
195
frmVyrobniDenik.pas
Normal file
@ -0,0 +1,195 @@
|
||||
unit frmVyrobniDenik;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Mask,
|
||||
Data.DB, Vcl.Grids, Vcl.DBGrids, ddPlugin_TLB;
|
||||
|
||||
|
||||
{$I iConsts.inc}
|
||||
|
||||
type
|
||||
TformVyrobniDenik = class(TForm)
|
||||
GridPanel1: TGridPanel;
|
||||
edtVyrobniDen: TLabeledEdit;
|
||||
GridPanel2: TGridPanel;
|
||||
grdVyrobniDenik: TDBGrid;
|
||||
btnNahledDenik: TButton;
|
||||
btnDenniSoupisCCP1: TButton;
|
||||
btnSeznamVyrobenychPalet: TButton;
|
||||
btnCCP1NovyZapis: TButton;
|
||||
btnNovyVzorek: TButton;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure grdVyrobniDenikDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
procedure btnNovyVzorekClick(Sender: TObject);
|
||||
procedure btnDenniSoupisCCP1Click(Sender: TObject);
|
||||
procedure btnCCP1NovyZapisClick(Sender: TObject);
|
||||
procedure btnSeznamVyrobenychPaletClick(Sender: TObject);
|
||||
procedure btnNahledDenikClick(Sender: TObject);
|
||||
private
|
||||
public
|
||||
Helios: IHelios;
|
||||
den: TDateTime;
|
||||
end;
|
||||
|
||||
var
|
||||
formVyrobniDenik: TformVyrobniDenik;
|
||||
bidXVyrobniDenik: integer;
|
||||
|
||||
implementation
|
||||
uses System.StrUtils, System.DateUtils, System.Math,
|
||||
datMod, frmKontrolaCCP1, frmSeznamPalet,
|
||||
helUtils, helTabsBIDs;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.grdVyrobniDenikDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
begin
|
||||
if (not(gdSelected in State)) then
|
||||
begin
|
||||
if (Odd(grdVyrobniDenik.DataSource.DataSet.RecNo)) then
|
||||
TDBGrid(Sender).Canvas.Brush.Color:= clWindow
|
||||
else
|
||||
TDBGrid(Sender).Canvas.Brush.Color:= $00E0E0E0;
|
||||
end;
|
||||
TDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.btnCCP1NovyZapisClick(Sender: TObject);
|
||||
begin
|
||||
btnDenniSoupisCCP1Click (Sender);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.btnDenniSoupisCCP1Click (Sender: TObject);
|
||||
var f: TformKontrolaCCP1;
|
||||
begin
|
||||
f:= TformKontrolaCCP1.Create(nil);
|
||||
try
|
||||
f.vyrobniDen:= Now;
|
||||
f.Helios:= Helios;
|
||||
f.ShowModal;
|
||||
finally
|
||||
f.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.btnNahledDenikClick(Sender: TObject);
|
||||
var podm: string;
|
||||
bid, idF: integer;
|
||||
begin
|
||||
bid:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Vyroba_VyrobniDen''');
|
||||
idF:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblFormDef + ' WHERE Nazev2=N''PEK-1''');
|
||||
if (bid>100000) and (idF>0) then
|
||||
begin
|
||||
podm:= 'hvw_Vyroba_VyrobniDen.VyrobniSmena=1 AND hvw_Vyroba_VyrobniDen.VyrobniDen=CONVERT(date,N' + edtVyrobniDen.Text.QuotedString + ',104)';
|
||||
Helios.PrintForm3 (bid, idF, podm);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.btnNovyVzorekClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
aktArchiv, stroj, lastArchiv, nazev: string;
|
||||
i, idKZ, idStroj, idArchiv: integer;
|
||||
begin
|
||||
idKZ:= grdVyrobniDenik.DataSource.DataSet.FieldByName('colIDKmen').AsInteger;
|
||||
nazev:= grdVyrobniDenik.DataSource.DataSet.FieldByName('colNazev1').AsString;
|
||||
|
||||
if (Helios.YesNo('Chcete zapsat nový vzorek ' + nazev + CRLF + 'Pokračovat ?', false)) then
|
||||
begin
|
||||
idStroj:= grdVyrobniDenik.DataSource.DataSet.FieldByName('colIDStroj').AsInteger;
|
||||
stroj:= grdVyrobniDenik.DataSource.DataSet.FieldByName('colStroj').AsString;
|
||||
|
||||
i:= 0;
|
||||
idArchiv:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT TOP(1) ID FROM ' + tblVzorkyArchiv + ' WHERE DatUkonceni IS NULL ORDER BY DatPorizeni');
|
||||
if (idArchiv=0) then
|
||||
begin
|
||||
lastArchiv:= helUtils.getHeliosStrVal(Helios, '', 'SELECT TOP(1) Archiv FROM ' + tblVzorkyArchiv + ' WHERE DatUkonceni IS NOT NULL ORDER BY DatUkonceni DESC');
|
||||
if (lastArchiv='') then
|
||||
i:= 1
|
||||
else
|
||||
i:= StrToInt(RightStr(lastArchiv, 4)) + 1;
|
||||
aktArchiv:= YearOf(Now).ToString + 'PE' + StringOfChar('0', 4-Length(i.ToString)) + i.ToString;
|
||||
lSQL:= 'INSERT ' + tblVzorkyArchiv + ' (Archiv) SELECT N' + aktArchiv.QuotedString + CRLF + 'SELECT SCOPE_IDENTITY() AS newid';
|
||||
try
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
idArchiv:= VarToStr(FieldByNameValues('newid')).ToInteger;
|
||||
except
|
||||
idArchiv:= 0;
|
||||
end;
|
||||
end;
|
||||
|
||||
if (idArchiv>0) then
|
||||
begin
|
||||
lSQL:= 'INSERT ' + tblVzorky + ' (IDArchiv, IDStroj, IDKmenZbozi, CisloZamMistr) SELECT ' + idArchiv.ToString + ', ' + idStroj.ToString;
|
||||
lSQL:= lSQL + ', ' + idKZ.ToString + ', ' + datMod.cisZamMistr.ToString;
|
||||
try
|
||||
Helios.ExecSQL(lSQL);
|
||||
Helios.Info(#1'Nový vzorek zapsán.'#1);
|
||||
except on E:Exception do
|
||||
Helios.Info(#1'Chyba zápisu vzorku: '#1 + E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.btnSeznamVyrobenychPaletClick (Sender: TObject);
|
||||
var idKZ: integer;
|
||||
f: TformSeznamPalet;
|
||||
begin
|
||||
idKZ:= grdVyrobniDenik.DataSource.DataSet.FieldByName('colIDKmen').AsInteger;
|
||||
|
||||
f:= TformSeznamPalet.Create(nil);
|
||||
try
|
||||
f.Helios:= Helios;
|
||||
f.typ:= 1;
|
||||
f.idKmen:= idKZ;
|
||||
f.idStroj:= 0;
|
||||
f.den:= den;
|
||||
f.ShowModal;
|
||||
finally
|
||||
f.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformVyrobniDenik.FormShow (Sender: TObject);
|
||||
begin
|
||||
edtVyrobniDen.Text:= FormatDateTime ('dd.mm.yyyy', den.GetDate);
|
||||
dm.NactiVyrobniDenik (self, den);
|
||||
|
||||
// btnNahledDenik.Enabled:= btnDenniSoupisCCP1.Enabled;
|
||||
btnDenniSoupisCCP1.Enabled:= (dm.vtVyrobniDenik.RecordCount>0);
|
||||
btnSeznamVyrobenychPalet.Enabled:= btnDenniSoupisCCP1.Enabled;
|
||||
btnNovyVzorek.Enabled:= btnDenniSoupisCCP1.Enabled;
|
||||
btnCCP1NovyZapis.Enabled:= btnDenniSoupisCCP1.Enabled;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user