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

📄 zjxfunit.pas

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