290 lines
7.7 KiB
ObjectPascal
290 lines
7.7 KiB
ObjectPascal
unit frmPrijemNestandard;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.NumberBox,
|
|
Vcl.ComCtrls, RzDTP,
|
|
ddPlugin_TLB, uUtils, ColorButton;
|
|
|
|
type
|
|
TformPrijemNestandard = class(TForm)
|
|
grdPrijemNestandard: TDBGrid;
|
|
Panel1: TPanel;
|
|
Panel2: TPanel;
|
|
Panel3: TPanel;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
edtSZ: TEdit;
|
|
edtRegCis: TEdit;
|
|
edtNazev1: TEdit;
|
|
edtStroj: TEdit;
|
|
Label4: TLabel;
|
|
edtPaletList: TEdit;
|
|
btnVyberPL: TButton;
|
|
Label5: TLabel;
|
|
Label6: TLabel;
|
|
Label7: TLabel;
|
|
Label8: TLabel;
|
|
edtDatVyroba: TRzDateTimePicker;
|
|
edtDatSpotreba: TRzDateTimePicker;
|
|
edtSarze: TEdit;
|
|
edtSmena: TEdit;
|
|
Label9: TLabel;
|
|
Label10: TLabel;
|
|
btnZapisPaletyNestandard: TButton;
|
|
edtKA: TNumberBox;
|
|
btnPLTisk: TButton;
|
|
Panel4: TPanel;
|
|
edtFiltrRegCis: TEdit;
|
|
btnFiltrClear: TButton;
|
|
edtFiltrSZ: TEdit;
|
|
edtFiltrNazev1: TEdit;
|
|
rgPocetKopii: TRadioGroup;
|
|
cbTiskNaObraz: TCheckBox;
|
|
rb1Kopie: TRadioButton;
|
|
rb2Kopie: TRadioButton;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure grdPrijemNestandardCellClick(Column: TColumn);
|
|
procedure btnFiltrClearClick(Sender: TObject);
|
|
procedure edtFiltrRegCisChange(Sender: TObject);
|
|
procedure edtFiltrSZChange(Sender: TObject);
|
|
procedure edtFiltrNazev1Change(Sender: TObject);
|
|
procedure btnZapisPaletyNestandardClick(Sender: TObject);
|
|
procedure btnVyberPLClick(Sender: TObject);
|
|
procedure edtDatSpotrebaChange(Sender: TObject);
|
|
procedure grdPrijemNestandardDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
procedure cbTiskNaObrazClick(Sender: TObject);
|
|
procedure edtKAExit(Sender: TObject);
|
|
procedure edtKAChangeValue(Sender: TObject);
|
|
private
|
|
function VytvorFilter: string;
|
|
public
|
|
Helios: IHelios;
|
|
aktIdStroj: integer;
|
|
end;
|
|
|
|
var
|
|
formPrijemNestandard: TformPrijemNestandard;
|
|
idKZ, idStroj: integer;
|
|
filtr: string;
|
|
nahledTisku: boolean;
|
|
|
|
implementation
|
|
uses System.StrUtils, System.DateUtils, Math,
|
|
datMod, helUtils, frmVyberPL;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
function TformPrijemNestandard.VytvorFilter: string;
|
|
begin
|
|
result:= '';
|
|
|
|
if (edtFiltrRegCis.Text<>'') then
|
|
result:= 'UPPER(fRegCis) LIKE "%' + edtFiltrRegCis.Text.Trim.ToUpper + '%"';
|
|
if (edtFiltrSZ.Text<>'') then
|
|
result:= IfThen(result='', '', result + ' AND ') + 'UPPER(fSZ) LIKE "%' + edtFiltrSZ.Text.Trim.ToUpper + '%"';
|
|
if (edtFiltrNazev1.Text<>'') then
|
|
result:= IfThen(result='', '', result + ' AND ') + 'UPPER(fNazev1) LIKE "%' + edtFiltrNazev1.Text.Trim.ToUpper + '%"';
|
|
|
|
dm.vtPrijemNestandard.Filter:= result;
|
|
dm.vtPrijemNestandard.Filtered:= (result<>'');
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.btnFiltrClearClick (Sender: TObject);
|
|
begin
|
|
edtFiltrRegCis.Text:= '';
|
|
edtFiltrSZ.Text:= '';
|
|
edtFiltrNazev1.Text:= '';
|
|
dm.vtPrijemNestandard.Filter:= '';
|
|
dm.vtPrijemNestandard.Filtered:= false;
|
|
|
|
idKZ:= 0;
|
|
edtSZ.Text:= '';
|
|
edtRegCis.Text:= '';
|
|
edtNazev1.Text:= '';
|
|
edtDatSpotreba.DateTime:= 0;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.btnVyberPLClick (Sender: TObject);
|
|
{
|
|
var f: TformVyberPL;
|
|
begin
|
|
f:= TformVyberPL.Create(nil);
|
|
try
|
|
f.Helios:= Helios;
|
|
f.typVyberu:= 1;
|
|
f.ShowModal;
|
|
if (f.mrVal=10) then // ok
|
|
begin
|
|
edtPaletList.Text:= f.paletList;
|
|
end;
|
|
finally
|
|
f.Free;
|
|
end;
|
|
end;
|
|
}
|
|
var lSQL: string;
|
|
begin
|
|
{
|
|
lSQL:= 'IF OBJECT_ID(N''dbo.ef_Vyroba_VratNovyPaletovyList'') IS NOT NULL SELECT dbo.ef_Vyroba_VratNovyPaletovyList (1, default,default,default) ELSE SELECT 8200000';
|
|
with Helios.OpenSQL(lSQL) do
|
|
if (RecordCount>0) then
|
|
edtPaletList.Text:= VarToStr(FieldValues(0));
|
|
}
|
|
edtPaletList.Text:= helUtils.getHeliosStrVal (Helios, '5200001', 'SELECT dbo.ef_Vyroba_VratNovyPaletovyList (1, default, default, default)');
|
|
edtSarze.Text:= helUtils.getHeliosStrVal (Helios, '', 'SELECT dbo.ef_Vyroba_VratCisloSarze (default, default, default)')
|
|
end;
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.btnZapisPaletyNestandardClick (Sender: TObject);
|
|
begin
|
|
edtPaletList.Text:= edtPaletList.Text.Trim;
|
|
edtSarze.Text:= edtSarze.Text.Trim;
|
|
|
|
if (edtPaletList.Text='') then
|
|
Helios.Error(#1'Není načten Paletový list'#1)
|
|
else
|
|
dm.ZapisVyrobenePaletyNestandard (self, idKZ, idStroj);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.cbTiskNaObrazClick (Sender: TObject);
|
|
begin
|
|
rgPocetKopii.Visible:= not(cbTiskNaObraz.Checked);
|
|
rb1Kopie.Visible:= not(cbTiskNaObraz.Checked);
|
|
rb2Kopie.Visible:= not(cbTiskNaObraz.Checked);
|
|
end;
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtDatSpotrebaChange (Sender: TObject);
|
|
begin
|
|
// edtDatSpotreba.Format:= FormatSettings.ShortDateFormat;
|
|
end;
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtFiltrNazev1Change (Sender: TObject);
|
|
begin
|
|
VytvorFilter;
|
|
end;
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtFiltrRegCisChange (Sender: TObject);
|
|
begin
|
|
VytvorFilter;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtFiltrSZChange (Sender: TObject);
|
|
begin
|
|
edtFiltrSZ.Text:= edtFiltrSZ.Text.Trim;
|
|
VytvorFilter;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtKAChangeValue(Sender: TObject);
|
|
begin
|
|
btnZapisPaletyNestandard.Enabled:= (edtKA.Value>0);
|
|
end;
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.edtKAExit(Sender: TObject);
|
|
begin
|
|
btnZapisPaletyNestandard.Enabled:= (edtKA.Value>0);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.FormShow (Sender: TObject);
|
|
var lSQL: string;
|
|
begin
|
|
|
|
nahledTisku:= false;
|
|
|
|
idStroj:= datMod.bmIdStroj; // helUtils.getHeliosIntVal(Helios, 0, 'SELECT TOP(1) ID FROM ' + tblCStroju + ' WHERE Blokovano=0 AND Nazev LIKE N''%přepracování%''');
|
|
edtStroj.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT nazev FROM ' + tblCStroju + ' WHERE ID=' + idStroj.ToString);
|
|
|
|
edtDatVyroba.DateTime:= Now;
|
|
lSQL:= 'DECLARE @d DATETIME=GETDATE(); SELECT Smena FROM dbo.ef_GetDatumASmenu (@d)';
|
|
with Helios.OpenSQL(lSQL) do
|
|
edtSmena.Text:= VarToStr(FieldByNameValues('Smena'));
|
|
|
|
dm.NactiVyrobkyNestandard (self);
|
|
ShowScrollbar(grdPrijemNestandard.Handle, SB_VERT, true)
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.grdPrijemNestandardCellClick(Column: TColumn);
|
|
var zarukaTyp: integer;
|
|
zarukaNum: extended;
|
|
d: TDateTime;
|
|
begin
|
|
idKZ:= dm.vtPrijemNestandard.FieldByName('fID').AsInteger;
|
|
edtSZ.Text:= dm.vtPrijemNestandard.FieldByName('fSZ').AsString;
|
|
edtRegCis.Text:= dm.vtPrijemNestandard.FieldByName('fRegCis').AsString;
|
|
edtNazev1.Text:= dm.vtPrijemNestandard.FieldByName('fNazev1').AsString;
|
|
|
|
zarukaNum:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT ZarukaVystup FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString);
|
|
zarukaTyp:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT TypZarukaVystup FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString); // 0-Den, 1-Mesic, 2-Rok
|
|
|
|
d:= Now;
|
|
if (zarukaTyp=0) then
|
|
d:= IncDay(Now, Floor(zarukaNum));
|
|
if (zarukaTyp=1) then
|
|
d:= IncMonth(Now, Floor(zarukaNum));
|
|
if (zarukaTyp=2) then
|
|
d:= IncYear(Now, Floor(zarukaNum));
|
|
|
|
d:= EndOfTheMonth(d);
|
|
|
|
edtDatSpotreba.Date:= d.GetDate;
|
|
|
|
|
|
if (edtKA.CanFocus) then
|
|
edtKA.SetFocus;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformPrijemNestandard.grdPrijemNestandardDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
begin
|
|
if (not(gdSelected in State)) then
|
|
begin
|
|
if (Odd(grdPrijemNestandard.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;
|
|
|
|
end.
|