📄 zjxfunit.pas
字号:
unit ZJXFUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, SUIImagePanel, DB, DBClient, ComCtrls,
SUIStatusBar, StdCtrls, SUIEdit, SUIButton, SUIComboBox;
type
TZJXFForm = class(TForm)
suiPanel1: TsuiPanel;
suiPanel2: TsuiPanel;
dbgrd1: TDBGrid;
ds2: TClientDataSet;
ds1: TDataSource;
Label16: TLabel;
DBGrid1: TDBGrid;
btn2: TsuiButton;
btn3: TsuiButton;
btn1: TsuiButton;
btn5: TsuiButton;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
Label1: TLabel;
suiEdit1: TsuiEdit;
Label2: TLabel;
suiEdit2: TsuiEdit;
stsbr1: TsuiStatusBar;
Label3: TLabel;
suiComboBox1: TsuiComboBox;
procedure btn5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure suiEdit2KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit1KeyPress(Sender: TObject; var Key: Char);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure suiComboBox1Select(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
id:string;
stock:integer;
procedure RefrushData;
end;
var
ZJXFForm: TZJXFForm;
implementation
uses LoginUnit, MainUnit, XFZDUnit, XFTDUnit;
{$R *.dfm}
procedure TZJXFForm.RefrushData;
begin
loginform.ExecuteSQL('select room_id from room where room_num='''+mainform.roomnum+'''');
id:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
Self.ClientDataSet1.Close;
Self.ClientDataSet1.Open;
ds2.Close;
ds2.Open;
ds2.Filter:='Lbxf_xfbh='''+id+''' and Lbxf_sph='''+mainform.roomnum+'''';
ds2.Filtered:=true;
LoginForm.ExecuteSQL('select sum(Lbxf_xfje) from Consume '+
'where Lbxf_xfbh='''+id+''' and Lbxf_sph='''+mainform.roomnum+'''');
Self.stsbr1.Panels[0].Text:='消费餐台【'+mainform.roomnum+'】'+
'消费总额【'+formatfloat('¥0.00',LoginForm.dsQuery.Fields[0].AsFloat)+'】';
LoginForm.dsQuery.Close;
end;
procedure TZJXFForm.btn5Click(Sender: TObject);
begin
close;
end;
procedure TZJXFForm.FormCreate(Sender: TObject);
begin
self.suiEdit1.Clear;
Self.suiEdit2.Text:='1';
suiComboBox1.Clear;
suiComboBox1.Items.BeginUpdate;
suiComboBox1.Items.Add('所有项目');
loginform.ExecuteSQL('select Xmlx_xmmc from xmlx');
LoginForm.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
suiComboBox1.Items.Add(LoginForm.dsQuery.Fields[0].AsString);
LoginForm.dsQuery.Next;
end;
suiComboBox1.Items.EndUpdate;
suiComboBox1.ItemIndex:=0;
self.Label1.Caption:='消费餐台:'+mainform.roomnum;
suiPanel2.Caption:='【'+mainform.typename+mainform.roomnum+'】消费清单';
RefrushData;
end;
procedure TZJXFForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ds2.Close;
Self.ClientDataSet1.Close;
MainForm.RefrushRoomState(0);
MainForm.Enabled:=true;
end;
procedure TZJXFForm.FormActivate(Sender: TObject);
begin
self.suiEdit1.SetFocus;
end;
procedure TZJXFForm.ClientDataSet1AfterScroll(DataSet: TDataSet);
begin
suiEdit1.Text:=ClientDataSet1.fieldbyname('xfxm_mc').AsString;
self.stock:=ClientDataSet1.fieldbyname('xfxm_qmye').AsInteger;
end;
procedure TZJXFForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DBGrid1.DataSource.DataSet.RecNo mod 2 = 0 theN
DBGrid1.Canvas.Brush.Color:=clSilver
else
DBGrid1.Canvas.Brush.Color:=clYellow;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TZJXFForm.dbgrd1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if dbgrd1.DataSource.DataSet.RecNo mod 2 = 0 theN
dbgrd1.Canvas.Brush.Color:=clSilver
else
dbgrd1.Canvas.Brush.Color:=clYellow;
dbgrd1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TZJXFForm.suiEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#48..#57,#8,#13]) then
key:=#0
else
if Key=#13 then
Self.btn1.SetFocus;
end;
procedure TZJXFForm.suiEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if ClientDataSet1.Locate('xfxm_jp',suiEdit1.Text,[]) then
suiEdit2.SetFocus
else
begin
MessageDlg('消费项目不存在,请核实后再处理!',mtConfirmation, [mbYes], 0);
suiEdit1.Clear;
suiEdit1.SetFocus;
end;
end;
procedure TZJXFForm.btn1Click(Sender: TObject);
var
factprice:string;
num:Integer;
time:string;
begin
num:=StrToInt(self.suiEdit2.Text);
factprice:=FloatToStr(ClientDataSet1.fieldbyname('xfxm_ysdj').AsFloat*
ClientDataSet1.fieldbyname('xfxm_dzbl').AsFloat);
if num>0 then
begin
if stock>0 then
begin
if stock>=num then
loginform.ExecuteSQL('update xfxm set xfxm_qmye='''+inttostr(stock-num)+''' '+
'where xfxm_mc='''+self.suiEdit1.Text+'''')
else
begin
loginform.ExecuteSQL('update xfxm set xfxm_qmye=''0'' where xfxm_mc='''+self.suiEdit1.Text+'''');
num:=stock;
end;
end;
time:=formatdatetime('yyyy-mm-dd hh:nn:ss',now);
loginform.ExecuteSQL('insert into consume '+
'values('''+id+''','+
''''+mainform.roomnum+''','+
''''+self.suiEdit1.Text+''','+
''''+FormatFloat('¥0.00',self.ClientDataSet1.fieldbyname('xfxm_ysdj').AsFloat)+''','+
''''+FormatFloat('0.00',self.ClientDataSet1.fieldbyname('xfxm_dzbl').AsFloat)+''','+
''''+inttostr(num)+''','+
''''+FormatFloat('¥0.00',strtofloat(factprice)*num)+''','+
''''+time+''','+
''''+FormatFloat('¥0.00',strtofloat(factprice))+'元/单价'','+
''''+loginform.username+''')');
loginform.ExecuteSQL('insert into log '+
'values('''+time+''','''+loginform.userid+''','''+LoginForm.username+
''',''【'+mainform.roomnum+'】'+
'消费项目【'+self.suiEdit1.Text+'】'+
'消费金额【'+FormatFloat('¥0.00',strtofloat(factprice)*num)+'】'')');
end;
self.RefrushData;
end;
procedure TZJXFForm.btn2Click(Sender: TObject);
begin
if ds2.fieldbyname('Lbxf_xfxm').AsString='房间费' then
begin
MessageDlg('消费项目【房间费】不可以执行转单操作!',mtConfirmation, [mbYes], 0);
exit;
end;
application.CreateForm(TXFZDForm,XFZDForm);
XFZDForm.Show;
Enabled:=False;
end;
procedure TZJXFForm.btn3Click(Sender: TObject);
begin
if ds2.fieldbyname('Lbxf_xfxm').AsString='房间费' then
begin
MessageDlg('消费项目【房间费】不可以执行退单操作!',mtConfirmation, [mbYes], 0);
exit;
end;
application.CreateForm(TXFTDForm,XFTDForm);
XFTDForm.Show;
Enabled:=False;
end;
procedure TZJXFForm.suiComboBox1Select(Sender: TObject);
var
control:string;
lxbh:string;
begin
control:='1=1';
if Self.suiComboBox1.ItemIndex>0 then
begin
LoginForm.ExecuteSQL('select Xmlx_bh from xmlx where Xmlx_xmmc='''+self.suiComboBox1.Text+'''');
lxbh:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
control:='xfxm_lxbh='''+lxbh+'''';
end;
self.ClientDataSet1.Filter:=control;
self.ClientDataSet1.Filtered:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -