⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectxfqdunit.pas

📁 东华休闲山庄洗浴、餐饮、客房管理系统
💻 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 + -