227 lines
5.3 KiB
ObjectPascal
227 lines
5.3 KiB
ObjectPascal
unit frmKmen;
|
|
|
|
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, JvExDBGrids,
|
|
JvDBGrid, ddPlugin_TLB, Vcl.ComCtrls, JvExComCtrls, JvHeaderControl, Vcl.StdCtrls, Vcl.Buttons,
|
|
Vcl.Mask, RzEdit;
|
|
|
|
type
|
|
TformKmen = class(TForm)
|
|
Panel1: TPanel;
|
|
grdKmen: TJvDBGrid;
|
|
grd1: TGridPanel;
|
|
grd2: TGridPanel;
|
|
btnClear: TBitBtn;
|
|
edtRegCis: TRzEdit;
|
|
edtNazev: TRzEdit;
|
|
edtZaklad: TRzEdit;
|
|
edtStroj: TRzEdit;
|
|
procedure FormShow (Sender: TObject);
|
|
procedure grdKmenDblClick (Sender: TObject);
|
|
procedure FormClose (Sender: TObject; var Action: TCloseAction);
|
|
procedure btnClearClick (Sender: TObject);
|
|
procedure edtStrojChange (Sender: TObject);
|
|
procedure edtRegCisKeyPress (Sender: TObject; var Key: Char);
|
|
procedure grdKmenDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
procedure edtRegCisChange (Sender: TObject);
|
|
procedure edtNazevChange (Sender: TObject);
|
|
procedure edtZakladChange (Sender: TObject);
|
|
private
|
|
procedure Filtruj;
|
|
public
|
|
Helios: IHelios;
|
|
retVal: integer;
|
|
idKmen: integer;
|
|
idZakModif: integer;
|
|
filtrKodStroj: string;
|
|
end;
|
|
|
|
var
|
|
formKmen: TformKmen;
|
|
|
|
implementation
|
|
uses System.StrUtils,
|
|
helUtils, datMod2;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure TformKmen.edtNazevChange (Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.edtRegCisChange (Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
procedure TformKmen.edtRegCisKeyPress (Sender: TObject; var Key: Char);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.edtStrojChange (Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.edtZakladChange (Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.Filtruj;
|
|
var filtr: string;
|
|
begin
|
|
filtr:= '';
|
|
if (edtRegCis.Text<>'') then
|
|
filtr:= 'UPPER(colRegCis) LIKE ''%' + edtRegCis.Text.ToUpper + '%''';
|
|
|
|
if (edtNazev.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr<>'', ' AND ', '') + 'UPPER(colNazev1) LIKE ''%' + edtNazev.Text.ToUpper + '%''';
|
|
|
|
if (edtZaklad.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr<>'', ' AND ', '') + 'UPPER(colZaklad) LIKE ''%' + edtZaklad.Text.ToUpper + '%''';
|
|
|
|
if (edtStroj.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr<>'', ' AND ', '') + 'UPPER(colZakModif) LIKE ''%' + edtStroj.Text.ToUpper + '%''';
|
|
|
|
grdKmen.LockDrawing;
|
|
dm2.vtKmen.Filtered:= false;
|
|
if (filtr<>'') then
|
|
begin
|
|
dm2.vtKmen.Filter:= filtr;
|
|
dm2.vtKmen.Filtered:= true;
|
|
end;
|
|
|
|
grdKmen.UnlockDrawing;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.btnClearClick (Sender: TObject);
|
|
begin
|
|
edtRegCis.Text:= '';
|
|
edtNazev.Text:= '';
|
|
edtZaklad.Text:= '';
|
|
edtStroj.Text:= '';
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.FormClose (Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action:= TCloseAction.caFree;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.FormShow (Sender: TObject);
|
|
var pomHandle: THandle;
|
|
filtr: string;
|
|
begin
|
|
retVal:= 0;
|
|
|
|
|
|
pomHandle:= THandle(Helios.MainApplicationHandle);
|
|
if (pomHandle<>Application.Handle) then
|
|
Application.Handle:= pomHandle;
|
|
|
|
pomHandle:= THandle(Helios.MainApplicationIconHandle);
|
|
if (pomHandle<>Application.Icon.Handle) then
|
|
Application.Icon.Handle:= pomHandle;
|
|
|
|
with Application.DefaultFont do
|
|
begin
|
|
Name:= Helios.Font;
|
|
Height:= Helios.FontHeight;
|
|
Charset:= Helios.Charset;
|
|
|
|
Screen.MenuFont.Charset:= Charset;
|
|
Screen.MenuFont.Name:= Name;
|
|
Screen.MenuFont.Height:= Height;
|
|
end;
|
|
|
|
self.Font:= Application.DefaultFont;
|
|
|
|
|
|
if not(dm2.vtKmen.Active) then
|
|
dm2.vtKmen.Open;
|
|
|
|
dm2.vtKmen.EmptyDataSet;
|
|
dm2.vtKmen.Filtered:= false;
|
|
|
|
grdKmen.LockDrawing;
|
|
filtr:= 'k.Dilec=1 AND k.MJEvidence=N''KA''';
|
|
if (filtrKodStroj<>'') then
|
|
filtr:= filtr + ' AND k.ID IN (SELECT zmd.IDKmenZbozi FROM ' + tblZakazModifDilce + ' zmd INNER JOIN ' + tblZakazModif
|
|
+ ' zm ON (zm.ID=zmd.IDZakazModif) WHERE zm.Schvaleno=1 AND zm.Kod=N' + filtrKodStroj.QuotedString + ')';
|
|
dm2.NactiKmenZbozi (filtr);
|
|
dm2.vtKmen.First;
|
|
grdKmen.UnlockDrawing;
|
|
|
|
helUtils.waitEnd;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TformKmen.grdKmenDblClick (Sender: TObject);
|
|
var i, zm: integer;
|
|
sz,rc,naz: string;
|
|
begin
|
|
i:= dm2.vtKmen.FieldByName('colID').AsInteger;
|
|
sz:= dm2.vtKmen.FieldByName('colSZ').AsString;
|
|
rc:= dm2.vtKmen.FieldByName('colRegCis').AsString;
|
|
naz:= dm2.vtKmen.FieldByName('colNazev1').AsString;
|
|
zm:= dm2.vtKmen.FieldByName('colIDZakModif').AsInteger;
|
|
|
|
if (Helios.YesNo('Chcete vybrat ' + sz + ' ' + rc + ' ' + naz, true)) then
|
|
begin
|
|
idKmen:= i;
|
|
idZakModif:= zm;
|
|
retVal:= 10;
|
|
Close;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformKmen.grdKmenDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
begin
|
|
TJvDBGrid(Sender).Canvas.Brush.Color:= $00B8C4C8; // RGB C8C4B8 - seda
|
|
if (Column.FieldName='colNazev1') then
|
|
TJvDBGrid(Sender).Canvas.Brush.Color:= $00C6FECF; // RGB CFFEC6 - svetle zelena
|
|
|
|
if (gdSelected in State) then
|
|
TJvDBGrid(Sender).Canvas.Font.Color:= clBlack;
|
|
|
|
TJvDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
|
|
end;
|
|
|
|
end.
|