📄 bkjzunit.pas
字号:
unit BKJZUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, SUIButton, StdCtrls, ComCtrls, SUITreeView, Grids,
DBGrids, ExtCtrls, SUIImagePanel, DB, DBClient, SUIEdit;
type
TBKJZForm = class(TForm)
ds1: TDataSource;
ds2: TClientDataSet;
suiPanel1: TsuiPanel;
dbgrd1: TDBGrid;
suiPanel2: TsuiPanel;
suiTreeView1: TsuiTreeView;
lbl1: TLabel;
suiTreeView2: TsuiTreeView;
suiArrowButton1: TsuiArrowButton;
suiArrowButton2: TsuiArrowButton;
il1: TImageList;
suiPanel3: TsuiPanel;
Label35: TLabel;
Label33: TLabel;
Label31: TLabel;
Label28: TLabel;
Label8: TLabel;
Label7: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label29: TLabel;
Label30: TLabel;
Label32: TLabel;
Label36: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
suiEdit2: TsuiEdit;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiCheckBox1: TsuiCheckBox;
suiCheckBox2: TsuiCheckBox;
procedure btn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure suiEdit2KeyPress(Sender: TObject; var Key: Char);
procedure suiArrowButton1Click(Sender: TObject);
procedure suiArrowButton2Click(Sender: TObject);
procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure suiButton2Click(Sender: TObject);
procedure suiCheckBox1Click(Sender: TObject);
procedure suiCheckBox2Click(Sender: TObject);
procedure img1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
id:string;
guestid:string;
paymode:string;
sql:string;
deposit:string;
procedure Refrush(sql:string);
end;
var
BKJZForm: TBKJZForm;
implementation
uses MainUnit, LoginUnit, YJSelectUnit;
{$R *.dfm}
procedure TBKJZForm.Refrush(sql:string);
begin
self.ds2.Close;
Self.ds2.CommandText:=sql;
Self.ds2.Open;
end;
procedure TBKJZForm.btn2Click(Sender: TObject);
begin
close;
end;
procedure TBKJZForm.FormCreate(Sender: TObject);
var
sql:string;
node:ttreenode;
temp:string;
a,b:string;
room:string;
str:string;
memo:string;
begin
Self.suiEdit2.Clear;
self.suiTreeView2.Items.Clear;
self.Label8.Caption:='ZD'+formatdatetime('yyyymmddhhnnss',now);
loginform.ExecuteSQL('select room_id from room where room_num='''+mainform.roomnum+'''');
id:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('select memozs from house where id='''+id+'''');
memo:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
temp:=memo;
self.Label28.Caption:='主餐台:'+copy(temp,1,Pos('@',temp)-1);
delete(temp,1,Pos('@',temp));
if Pos('@',temp)>0 then
self.Label28.Caption:=self.Label28.Caption+' 从餐台:';
while Pos('@',temp)>0 do
begin
self.Label28.Caption:=self.Label28.Caption+copy(temp,1,Pos('@',temp)-1)+';';
delete(temp,1,Pos('@',temp));
end;
LoginForm.ExecuteSQL('select sum(lbxf_xfje),sum((1-lbxf_dzbl)*lbxf_xmdj*lbxf_xfsl) from consume '+
'where Lbxf_xfbh='''+id+'''');
self.Label33.Caption:=FormatFloat('0.00',LoginForm.dsQuery.Fields[0].AsFloat);
self.Label42.Caption:=FormatFloat('0.00',LoginForm.dsQuery.Fields[0].AsFloat);
self.Label35.Caption:=FormatFloat('0.00',LoginForm.dsQuery.Fields[1].AsFloat);
self.label31.Caption:=FormatFloat('0.00',LoginForm.dsQuery.Fields[0].AsFloat+LoginForm.dsQuery.Fields[1].AsFloat);
LoginForm.dsQuery.Close;
self.suiPanel1.Caption:='结账区内餐台 消费清单 合计:'+self.Label33.Caption;
self.suiTreeView2.Items.Clear;
self.suiTreeView2.Items.BeginUpdate;
temp:=memo;
sql:='select memozs,id from house '+
'where (id in (select distinct room_id from room where room_id<>'''')) ';
LoginForm.ExecuteSQL('select distinct memozs from house '+
'where id in (select distinct room_id from room where room_id<>'''')');
loginform.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
room:=LoginForm.dsQuery.Fields[0].AsString;
room:=Copy(room,1,Pos('@',room)-1);
if room<>Copy(temp,1,Pos('@',temp)-1) then
str:=str+'(room='''+room+''') or ';
LoginForm.dsQuery.Next;
end;
LoginForm.dsQuery.Close;
if str<>'' then
begin
delete(str,length(str)-3,4);
sql:=sql+'and ('+str+') ';
end;
sql:=sql+'order by room';
LoginForm.ExecuteSQL(sql);
LoginForm.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
temp:=LoginForm.dsQuery.Fields[0].AsString;
node:=self.suiTreeView2.Items.Add(nil,Copy(temp,1,Pos('@',temp)-1)+':'+LoginForm.dsQuery.Fields[1].AsString);
Delete(temp,1,Pos('@',temp));
while Pos(';',temp)>0 do
begin
Self.suiTreeView2.Items.AddChild(node,Copy(temp,1,Pos('@',temp)-1));
Delete(temp,1,Pos('@',temp));
end;
LoginForm.dsQuery.Next;
end;
LoginForm.dsQuery.Close;
self.suiTreeView2.Items.EndUpdate;
self.suiTreeView1.Items.Clear;
self.suiTreeView1.Items.BeginUpdate;
node:=self.suiTreeView1.Items.Add(nil,'【结账单号】'+self.Label8.Caption);
temp:=memo;
node:=Self.suiTreeView1.Items.AddChild(node,Copy(temp,1,Pos('@',temp)-1)+':'+id);
Delete(temp,1,Pos('@',temp));
while Pos('@',temp)>0 do
begin
Self.suiTreeView1.Items.AddChild(node,Copy(temp,1,Pos('@',temp)-1));
Delete(temp,1,Pos('@',temp));
end;
self.suiTreeView1.Items.EndUpdate;
node:=self.suiTreeView1.Items.GetFirstNode;
node.Expand(true);
sql:='select lbxf_sph,lbxf_xfxm,lbxf_xmdj,lbxf_dzbl,lbxf_xfsl,'+
'lbxf_xfje,lbxf_xfbegin,lbxf_jjdw,lbxf_jzr,'+
'(1-lbxf_dzbl)*lbxf_xmdj*lbxf_xfsl as lbxf_yhje '+
'from consume '+
'where Lbxf_xfbh='''+id+''''+
'order by Lbxf_xfbh,lbxf_sph';
Refrush(sql);
end;
procedure TBKJZForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.ds2.Close;
mainform.RefrushRoomState(0);
MainForm.Enabled:=True;
end;
procedure TBKJZForm.FormActivate(Sender: TObject);
begin
self.suiEdit2.Text:='0';
self.suiEdit2.SetFocus;
end;
procedure TBKJZForm.suiEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#48..#57,#8,#13]) then
key:=#0
else
if Key=#13 then
if suiEdit2.Text='' then
MessageDlg('宾客金额不可以为空!',mtConfirmation, [mbYes], 0);
end;
procedure TBKJZForm.suiArrowButton1Click(Sender: TObject);
var
node:TTreeNode;
temp:string;
sql:string;
index:Integer;
count:Integer;
str,str1:string;
a,b:string;
begin
node:=self.suiTreeView2.Selected;
if node.Level=0 then
begin
temp:=node.Text;
node.Delete;
Delete(temp,1,Pos(':',temp));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -