📄 selectxfqdunit.pas
字号:
unit SelectXFQDUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBClient, SUIButton, SUIEdit, StdCtrls, SUIComboBox, Mask,
ComCtrls, Grids, DBGrids, SUIDBCtrls, ExtCtrls, SUIImagePanel,
SUIStatusBar;
type
TSelectXFQDForm = class(TForm)
suiPanel1: TsuiPanel;
Label1: TLabel;
lbl1: TLabel;
sdbgrd1: TsuiDBGrid;
dtp1: TDateTimePicker;
suiMaskEdit1: TsuiMaskEdit;
DateTimePicker1: TDateTimePicker;
suiMaskEdit2: TsuiMaskEdit;
suiRadioButton1: TsuiRadioButton;
suiComboBox1: TsuiComboBox;
suiRadioButton2: TsuiRadioButton;
edt1: TsuiEdit;
suiRadioButton3: TsuiRadioButton;
suiRadioButton5: TsuiRadioButton;
btn1: TsuiButton;
btn2: TsuiButton;
suiEdit1: TsuiEdit;
suiRadioButton8: TsuiRadioButton;
ds1: TClientDataSet;
wdstrngfldds1id: TWideStringField;
wdstrngfldds1guest: TWideStringField;
wdstrngfldds1peopelnum: TWideStringField;
wdstrngfldds1memozs: TWideStringField;
wdstrngfldds1room: TWideStringField;
ds1price: TFloatField;
wdstrngfldds1ifclock: TWideStringField;
ds1clock: TFloatField;
ds1scale: TFloatField;
ds1factprice: TFloatField;
wdstrngfldds1days: TWideStringField;
ds1deposit: TFloatField;
wdstrngfldds1paymode: TWideStringField;
wdstrngfldds1entertime: TWideStringField;
wdstrngfldds1leavetime: TWideStringField;
ds1name: TStringField;
ds1source: TStringField;
ds1sex: TStringField;
ds1phone: TStringField;
ds1cardtype: TStringField;
ds1cardnum: TStringField;
ds1address: TStringField;
ds2: TDataSource;
ds3: TClientDataSet;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
suiDBGrid1: TsuiDBGrid;
stsbr1: TsuiStatusBar;
wdstrngfldClientDataSet1Lbxf_xfbh: TWideStringField;
wdstrngfldClientDataSet1Lbxf_sph: TWideStringField;
wdstrngfldClientDataSet1Lbxf_xfxm: TWideStringField;
ClientDataSet1Lbxf_xmdj: TFloatField;
wdstrngfldClientDataSet1lbxf_dzbl: TWideStringField;
wdstrngfldClientDataSet1Lbxf_xfsl: TWideStringField;
ClientDataSet1Lbxf_xfje: TFloatField;
wdstrngfldClientDataSet1Lbxf_xfBegin: TWideStringField;
wdstrngfldClientDataSet1lbxf_jjdw: TWideStringField;
wdstrngfldClientDataSet1Lbxf_jzr: TWideStringField;
stsbr2: TsuiStatusBar;
procedure btn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ds1AfterScroll(DataSet: TDataSet);
procedure btn1Click(Sender: TObject);
procedure suiComboBox1DropDown(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SelectXFQDForm: TSelectXFQDForm;
implementation
uses YYCXUnit, LoginUnit;
{$R *.dfm}
procedure TSelectXFQDForm.btn2Click(Sender: TObject);
begin
Close;
end;
procedure TSelectXFQDForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
self.ClientDataSet1.Close;
Self.ds3.Close;
Self.ds1.Close;
YYCXForm.Enabled:=true;
end;
procedure TSelectXFQDForm.FormCreate(Sender: TObject);
begin
self.edt1.Clear;
self.suiEdit1.Clear;
self.suiComboBox1.Clear;
Self.dtp1.DateTime:=Now;
self.DateTimePicker1.DateTime:=Self.dtp1.DateTime;
loginform.ExecuteSQL('select sum(Lbxf_xfje) from Consume '+
'where Lbxf_xfbh in (select distinct room_id from room where room_id<>'''')');
self.stsbr2.Panels[0].Text:='当前所有在店客人消费总金额'+
'【'+formatfloat('¥0.00',loginform.dsQuery.Fields[0].AsFloat)+'】';
loginform.dsQuery.Close;
Self.ds1.Close;
Self.ds1.CommandText:='select * from house where id in (select distinct room_id from room where room_id<>'''')';
self.ds1.Open;
end;
procedure TSelectXFQDForm.ds1AfterScroll(DataSet: TDataSet);
begin
self.lbl1.Caption:=ds1.fieldbyname('memozs').AsString;
loginform.ExecuteSQL('select sum(Lbxf_xfje) from Consume '+
'where Lbxf_xfbh='''+ds1.fieldbyname('id').AsString+''' and '+
'Lbxf_sph='''+ds1.fieldbyname('room').AsString+'''');
self.stsbr1.Panels[0].Text:='当前消费单号【'+ds1.fieldbyname('id').AsString+'】 '+
'房间号【'+ds1.fieldbyname('room').AsString+'】 '+
'消费金额【'+formatfloat('¥0.00',loginform.dsQuery.Fields[0].AsFloat)+'】';
loginform.dsQuery.Close;
self.ClientDataSet1.Close;
self.ClientDataSet1.Open;
end;
procedure TSelectXFQDForm.btn1Click(Sender: TObject);
var
sql:string;
startime,endtime:string;
temp:string;
begin
if self.suiRadioButton5.Checked then
sql:='select * from house where id in (select distinct room_id from room where room_id<>'''')';
if self.suiRadioButton1.Checked then
begin
LoginForm.ExecuteSQL('select id from guest where source='''+self.suiComboBox1.Text+'''');
LoginForm.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
temp:=temp+loginform.dsQuery.Fields[0].AsString+'@';
LoginForm.dsQuery.Next;
end;
LoginForm.dsQuery.Close;
if temp='' then
sql:='select * from house where 1=2'
else
begin
sql:='select * from house where (id in (select distinct room_id from room where room_id<>'''')) and';
while Pos('@',temp)>0 do
begin
sql:=sql+' (guest='''+copy(temp,1,Pos('@',temp)-1)+''') or';
Delete(temp,1,Pos('@',temp));
end;
Delete(sql,Length(sql)-2,3);
end;
end;
if self.suiRadioButton2.Checked then
sql:='select * from house '+
'where (id in (select distinct room_id from room where room_id<>'''')) and (room='''+self.edt1.Text+''')';
if self.suiRadioButton8.Checked then
begin
LoginForm.ExecuteSQL('select id from guest where name='''+self.suiEdit1.Text+'''');
LoginForm.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
temp:=temp+loginform.dsQuery.Fields[0].AsString+'@';
LoginForm.dsQuery.Next;
end;
LoginForm.dsQuery.Close;
sql:='select * from house where (id in (select distinct room_id from room where room_id<>'''')) and';
while Pos('@',temp)>0 do
begin
sql:=sql+' (guest='''+copy(temp,1,Pos('@',temp)-1)+''') or';
Delete(temp,1,Pos('@',temp));
end;
Delete(sql,Length(sql)-2,3);
end;
if self.suiRadioButton3.Checked then
begin
startime:=FormatDateTime('yyyy-mm-dd',self.dtp1.Date)+' '+self.suiMaskEdit1.Text;
endtime:=FormatDateTime('yyyy-mm-dd',self.DateTimePicker1.Date)+' '+self.suiMaskEdit2.Text;
sql:='select * from house '+
'where (id in (select distinct room_id from room where room_id<>'''')) and '+
'(entertime>='''+startime+''') and (entertime<='''+endtime+''')';
end;
Self.ds1.Close;
Self.ds1.CommandText:=sql;
self.ds1.Open;
if self.ds1.RecordCount=0 then
self.stsbr1.Panels[0].Text:='当前消费单号【】 房间号【】 消费金额【¥0.00】';
end;
procedure TSelectXFQDForm.suiComboBox1DropDown(Sender: TObject);
begin
LoginForm.AddCombobox(Self.suiComboBox1,'select name from guestsource');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -