279 lines
6.8 KiB
ObjectPascal
279 lines
6.8 KiB
ObjectPascal
unit frmZasobaObjednavky;
|
|
|
|
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, Vcl.StdCtrls,
|
|
ddPlugin_TLB, JvExDBGrids, JvDBGrid;
|
|
|
|
type
|
|
TformZasobaObjednavky = class(TForm)
|
|
GridPanel1: TGridPanel;
|
|
grdZasobaObjednavky: TJvDBGrid;
|
|
GridPanel2: TGridPanel;
|
|
GridPanel3: TGridPanel;
|
|
edtSZ: TEdit;
|
|
edtRC: TEdit;
|
|
edtNazev1: TEdit;
|
|
edtMJ: TEdit;
|
|
edtBaleni1: TEdit;
|
|
edtBaleni2: TEdit;
|
|
cbVyroba: TComboBox;
|
|
cbNaCeste: TComboBox;
|
|
cbSklad: TComboBox;
|
|
cbCelkem: TComboBox;
|
|
cbObjednano: TComboBox;
|
|
Label1: TLabel;
|
|
procedure FormShow (Sender: TObject);
|
|
procedure grdZasobaObjednavkyDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
procedure grdZasobaObjednavkyDblClick (Sender: TObject);
|
|
procedure edtSZChange (Sender: TObject);
|
|
procedure edtRCChange (Sender: TObject);
|
|
procedure edtNazev1Change (Sender: TObject);
|
|
procedure cbVyrobaChange (Sender: TObject);
|
|
procedure cbNaCesteChange (Sender: TObject);
|
|
procedure cbSkladChange (Sender: TObject);
|
|
procedure cbCelkemChange (Sender: TObject);
|
|
procedure cbObjednanoChange (Sender: TObject);
|
|
procedure edtMJChange (Sender: TObject);
|
|
procedure edtBaleni1Change (Sender: TObject);
|
|
procedure edtBaleni2Change (Sender: TObject);
|
|
procedure Label1Click (Sender: TObject);
|
|
private
|
|
procedure Filtruj;
|
|
public
|
|
Helios: iHelios;
|
|
vyrobniDen: TDateTime;
|
|
end;
|
|
|
|
var
|
|
formZasobaObjednavky: TformZasobaObjednavky;
|
|
|
|
implementation
|
|
uses System.StrUtils, System.Math,
|
|
datMod, frmObjednavkaMat, helUtils;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure TformZasobaObjednavky.cbCelkemChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.cbNaCesteChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.cbObjednanoChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.cbSkladChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.cbVyrobaChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtBaleni1Change(Sender: TObject);
|
|
var n: Extended;
|
|
begin
|
|
edtBaleni1.Text:= edtBaleni1.Text.Trim;
|
|
if not(TryStrToFloat(edtBaleni1.Text, n)) then
|
|
n:= 0;
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtBaleni2Change(Sender: TObject);
|
|
var n: Extended;
|
|
begin
|
|
edtBaleni2.Text:= edtBaleni2.Text.Trim;
|
|
if not(TryStrToFloat(edtBaleni2.Text, n)) then
|
|
n:= 0;
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtMJChange(Sender: TObject);
|
|
begin
|
|
edtMJ.Text:= edtMJ.Text.Trim;
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtNazev1Change(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtRCChange(Sender: TObject);
|
|
begin
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
procedure TformZasobaObjednavky.edtSZChange(Sender: TObject);
|
|
begin
|
|
edtSZ.Text:= edtSZ.Text.Trim;
|
|
Filtruj;
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.Filtruj;
|
|
var filtr: string;
|
|
n: Extended;
|
|
begin
|
|
filtr:= '';
|
|
if (edtSZ.Text<>'') then
|
|
filtr:= 'UPPER(colSZ) LIKE ''%' + edtSZ.Text.Trim.ToUpper + '%''';
|
|
|
|
if (edtRC.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colRC) LIKE ''%' + edtRC.Text.Trim.ToUpper + '%''';
|
|
|
|
if (edtNazev1.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colNazev1) LIKE ''%' + edtNazev1.Text.Trim.ToUpper + '%''';
|
|
|
|
if (edtMJ.Text<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colMJ) LIKE ''%' + edtMJ.Text.Trim.ToUpper + '%''';
|
|
|
|
if (edtBaleni1.Text<>'') then
|
|
begin
|
|
if not(TryStrToFloat(edtBaleni1.Text, n)) then
|
|
n:= 0;
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colBaleni1=' + n.ToString.Replace(',', '.');
|
|
end;
|
|
|
|
if (edtBaleni2.Text<>'') then
|
|
begin
|
|
if not(TryStrToFloat(edtBaleni2.Text, n)) then
|
|
n:= 0;
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colBaleni2=' + n.ToString.Replace(',', '.');
|
|
end;
|
|
|
|
if (cbVyroba.Text.Trim<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colVyroba' + cbVyroba.Text;
|
|
|
|
if (cbNaCeste.Text.Trim<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colNaCeste' + cbNaCeste.Text;
|
|
|
|
if (cbSklad.Text.Trim<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colSklad' + cbSklad.Text;
|
|
|
|
if (cbCelkem.Text.Trim<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colCelkem' + cbCelkem.Text;
|
|
|
|
if (cbObjednano.Text.Trim<>'') then
|
|
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'colObjednano' + cbObjednano.Text; // + ' OR colPalet' + cbObjednano.Text;
|
|
|
|
|
|
grdZasobaObjednavky.LockDrawing;
|
|
if (filtr='') then
|
|
begin
|
|
dm.vtZasobyObjednavky.Filter:= filtr;
|
|
dm.vtZasobyObjednavky.Filtered:= false;
|
|
end
|
|
else
|
|
begin
|
|
dm.vtZasobyObjednavky.Filter:= filtr;
|
|
dm.vtZasobyObjednavky.Filtered:= true;
|
|
end;
|
|
grdZasobaObjednavky.UnlockDrawing;
|
|
|
|
grdZasobaObjednavky.Invalidate;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.FormShow (Sender: TObject);
|
|
begin
|
|
grdZasobaObjednavky.Font.Height:= Helios.FontHeight;
|
|
dm.NactiZasobaObjednavky (self);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.grdZasobaObjednavkyDblClick (Sender: TObject);
|
|
var idKZ: integer;
|
|
f: TformObjednavkaMat;
|
|
begin
|
|
idKZ:= TDBGrid(Sender).DataSource.DataSet.FieldByName('colIDKmen').AsInteger;
|
|
|
|
f:= TformObjednavkaMat.Create(nil);
|
|
try
|
|
f.Helios:= Helios;
|
|
f.vyrobniDen:= vyrobniDen;
|
|
f.idKmen:= idKZ;
|
|
f.ShowModal;
|
|
finally
|
|
f.Free;
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.grdZasobaObjednavkyDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
|
begin
|
|
if (not(gdSelected in State)) then
|
|
begin
|
|
if (Odd(grdZasobaObjednavky.DataSource.DataSet.RecNo)) then
|
|
TDBGrid(Sender).Canvas.Brush.Color:= clWindow
|
|
else
|
|
TDBGrid(Sender).Canvas.Brush.Color:= $00E0E0E0;
|
|
end;
|
|
|
|
if (Column.FieldName='colNazev1') then
|
|
begin
|
|
TDBGrid(Sender).Canvas.Brush.Color:= $00D0FEC6;
|
|
if (gdSelected in State) then
|
|
begin
|
|
TDBGrid(Sender).Canvas.Font.Color:= clBlack;
|
|
TDBGrid(Sender).Canvas.Brush.Color:= $0061F0FC;
|
|
end;
|
|
end;
|
|
|
|
TDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TformZasobaObjednavky.Label1Click (Sender: TObject);
|
|
begin
|
|
edtSZ.Text:= '';
|
|
edtRC.Text:= '';
|
|
edtNazev1.Text:= '';
|
|
edtMJ.Text:= '';
|
|
edtBaleni1.Text:= '';
|
|
edtBaleni2.Text:= '';
|
|
cbVyroba.ItemIndex:= -1;
|
|
cbNaCeste.ItemIndex:= -1;
|
|
cbObjednano.ItemIndex:= -1;
|
|
cbSklad.ItemIndex:= -1;
|
|
cbCelkem.ItemIndex:= -1;
|
|
Filtruj;
|
|
end;
|
|
|
|
end.
|