Prvni verze na Git
This commit is contained in:
228
frmKanbanBox.pas
Normal file
228
frmKanbanBox.pas
Normal file
@ -0,0 +1,228 @@
|
||||
unit frmKanbanBox;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, System.StrUtils,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, RzEdit, RzBtnEdt, ddPlugin_TLB,
|
||||
Vcl.ExtCtrls;
|
||||
|
||||
const
|
||||
tblKanBox = '[dbo].[_TabKanbanBox]';
|
||||
tblKmen = '[dbo].[TabKmenZbozi]';
|
||||
|
||||
type
|
||||
TformKanbanBox = class(TForm)
|
||||
selCisloZbozi: TRzButtonEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
lblID: TEdit;
|
||||
lblPopis: TLabel;
|
||||
edtKs: TEdit;
|
||||
Label3: TLabel;
|
||||
btnOK: TButton;
|
||||
btnZrus: TButton;
|
||||
Label4: TLabel;
|
||||
edtPozn: TEdit;
|
||||
colBarva1: TPanel;
|
||||
colBarva2: TPanel;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure btnZrusClick(Sender: TObject);
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
procedure selCisloZboziButtonClick(Sender: TObject);
|
||||
procedure edtPoznExit(Sender: TObject);
|
||||
procedure edtKsExit(Sender: TObject);
|
||||
procedure selCisloZboziExit(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
private
|
||||
procedure NactiKmen(idKZx: Integer); safecall;
|
||||
public
|
||||
Helios: IHelios;
|
||||
idBox: integer;
|
||||
end;
|
||||
|
||||
var
|
||||
formKanbanBox: TformKanbanBox;
|
||||
idKZ: integer;
|
||||
edit: boolean;
|
||||
mnoz: integer;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TformKanbanBox.btnOKClick(Sender: TObject);
|
||||
var lSQL: string;
|
||||
jeOK: boolean;
|
||||
begin
|
||||
jeOK:= true;
|
||||
if (edit) then
|
||||
begin
|
||||
lSQL:= 'Zmenil=SUSER_SNAME(), DatZmeny=GETDATE(), Poznamka=' + Ifthen(edtPozn.Text='','null','N' + QuotedStr(edtPozn.Text));
|
||||
jeOK:= true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (idKZ=0) then
|
||||
begin
|
||||
jeOK:= false;
|
||||
selCisloZbozi.SetFocus;
|
||||
end;
|
||||
lSQL:= 'idKmenZbozi=' + IntToStr(idKZ) + ',Mnozstvi=' + edtKs.Text + ',Poznamka=' + Ifthen(edtPozn.Text='','null','N' + QuotedStr(edtPozn.Text));
|
||||
end;
|
||||
|
||||
if (jeOK) then
|
||||
begin
|
||||
lSQL:= 'UPDATE ' + tblKanBox + ' SET ' + lSQL + ' WHERE id=' + IntToStr(idBox);
|
||||
try
|
||||
Helios.ExecSQL(lSQL);
|
||||
Helios.Refresh(true);
|
||||
Close;
|
||||
except on E:Exception do
|
||||
Helios.Error(#1'Chyba box ' + IntToStR(idBox) + ': '#1 + E.Message);
|
||||
end;
|
||||
end
|
||||
else
|
||||
Helios.Error(#1'Vypl<70>te v<>echny pot<6F>ebn<62> <20>daje...'#1);
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.btnZrusClick(Sender: TObject);
|
||||
begin
|
||||
with Helios.OpenSQL('SELECT id FROM ' + tblKanBox + ' WHERE Id=' + IntToStr(idBox) + ' AND IdKmenZbozi=0') do
|
||||
if (RecordCount=1) then
|
||||
Helios.ExecSQL('DELETE FROM ' + tblKanBox + ' WHERE Id=' + IntToStr(idBox));
|
||||
with Helios.OpenSQL('SELECT ISNULL(MAX(id),1) FROM ' + tblKanBox) do
|
||||
Helios.ExecSQL('DBCC CHECKIDENT(_TabKanbanBox, reseed, ' + VarToStr(FieldValues(0)) + ')');
|
||||
Close;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.edtKsExit(Sender: TObject);
|
||||
begin
|
||||
edtKs.Text:= Trim(edtKs.Text);
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.edtPoznExit(Sender: TObject);
|
||||
begin
|
||||
edtPozn.Text:= Trim(edtPozn.Text);
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
Action:= caFree;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
function RGBtoTColor(strRGB: string): TColor;
|
||||
var sR,sG,sB: string;
|
||||
r,g,b: byte;
|
||||
begin
|
||||
result:= 0;
|
||||
strRGB:= StringOfChar('0', 6-Length(strRGB)) + strRGB;
|
||||
sR:= LeftStr(strRGB,2);
|
||||
r:= StrToInt('$'+sR);
|
||||
sG:= MidStr(strRGB,3,2);
|
||||
g:= StrToInt('$'+sG);
|
||||
sB:= RightStr(strRGB,2);
|
||||
b:= StrToInt('$'+sB);
|
||||
result:= RGB(r,g,b);
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.FormShow(Sender: TObject);
|
||||
var lSQL: string;
|
||||
begin
|
||||
edit:= false;
|
||||
selCisloZbozi.Enabled:= false;
|
||||
edtKs.Enabled:= false;
|
||||
mnoz:= 0;
|
||||
if (idBox>0) then
|
||||
begin
|
||||
edit:= true;
|
||||
lSQL:= 'SELECT kz.CisloZbozi, kz.Nazev1, kz.Id, kze._KanbanMnozstvi, b.Poznamka, kze._KanbanBarva,';
|
||||
lSQL:= lSQL + ' kze._KanbanBarva2 FROM ' + tblKanBox + ' b INNER JOIN ' + tblKmen + ' kz ON (kz.Id=b.IdKmenZbozi) INNER JOIN';
|
||||
lSQL:= lSQL + ' dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id) WHERE b.Id=' + IntToStr(idBox);
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
lblID.Text:= IntToStr(idBox);
|
||||
selCisloZbozi.Text:= VarToStr(FieldValues(0));
|
||||
lblPopis.Caption:= VarToStr(FieldValues(1));
|
||||
idKZ:= StrToInt(VarToStr(FieldValues(2)));
|
||||
edtKs.Text:= VarToStr(FieldValues(3));
|
||||
if not(VarIsNull(FieldValues(4))) then
|
||||
edtPozn.Text:= Trim(VarToStr(FieldValues(4)));
|
||||
if not(VarIsNull(FieldValues(5))) then
|
||||
// colBarva1.Color:= RGBtoTColor(IntToHex(StrToInt(VarToStr(FieldValues(5))),2));
|
||||
colBarva1.Color:= StrToInt(VarToStr(FieldValues(5)));
|
||||
if not(VarIsNull(FieldValues(6))) then
|
||||
// colBarva2.Color:= RGBtoTColor(IntToHex(StrToInt(VarToStr(FieldValues(6))),2));
|
||||
colBarva2.Color:= StrToInt(VarToStr(FieldValues(6)));
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
idBox:= 0;
|
||||
with Helios.OpenSQL('INSERT ' + tblKanBox + ' (Mnozstvi) VALUES (0); SELECT SCOPE_IDENTITY();') do
|
||||
begin
|
||||
lblID.Text:= VarToStr(FieldValues(0));
|
||||
idBox:= StrToInt(lblID.Text);
|
||||
end;
|
||||
idKZ:= 0;
|
||||
lblPopis.Caption:= '';
|
||||
selCisloZbozi.Enabled:= true;
|
||||
selCisloZbozi.Text:= '';
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.NactiKmen(idKZx: Integer);
|
||||
var lSQL: string;
|
||||
begin
|
||||
lSQL:= 'SELECT kz.RegCis, kz.Nazev1, kze._KanbanBarva, kze._KanbanBarva2, kze._KanbanMnozstvi FROM ' + tblKmen + ' kz';
|
||||
lSQL:= lSQL + ' LEFT JOIN dbo.TabKmenZbozi_EXT kze ON (kze.Id=kz.Id) WHERE kz.Id=' + IntToStr(idKZx);
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
begin
|
||||
selCisloZbozi.Text:= VarToStr(FieldValues(0));
|
||||
lblPopis.Caption:= VarToStr(FieldValues(1));
|
||||
if not VarIsNull(FieldValues(2)) then
|
||||
colBarva1.Color:= StrToInt(VarToStr(FieldValues(2)));
|
||||
if not VarIsNull(FieldValues(3)) then
|
||||
colBarva1.Color:= StrToInt(VarToStr(FieldValues(3)));
|
||||
if not VarIsNull(FieldValues(4)) then
|
||||
edtKs.Text:= VarToStr(FieldValues(4));
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.selCisloZboziButtonClick(Sender: TObject);
|
||||
var oVar: OleVariant;
|
||||
begin
|
||||
if Helios.Prenos(2,'TabKmenZbozi.id',oVar,'TabKmenZbozi.Blokovano=0','Vyberte polo<6C>ku',true) then
|
||||
begin
|
||||
idKZ:= StrToInt(VarToStr(oVar));
|
||||
NactiKmen(idKZ);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformKanbanBox.selCisloZboziExit(Sender: TObject);
|
||||
begin
|
||||
selCisloZbozi.Text:= Trim(selCisloZbozi.Text);
|
||||
if (selCisloZbozi.Text<>'') and (idKZ=0) then
|
||||
begin
|
||||
with Helios.OpenSQL('SELECT id FROM ' + tblKmen + ' WHERE RegCis=N' + QuotedStr(selCisloZbozi.Text)) do
|
||||
if (RecordCount=1) then
|
||||
begin
|
||||
idKZ:= StrToInt(VarToStr(FieldValues(0)));
|
||||
NactiKmen(idKZ);
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user