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

📄 ydglunit.pas

📁 东华休闲山庄洗浴、餐饮、客房管理系统
💻 PAS
字号:
unit YDGLUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ComCtrls, ExtCtrls, ToolWin, ImgList,
  SUIImagePanel, Mask, SUIEdit, StdCtrls, SUIComboBox, SUIStatusBar, DB,
  DBClient;

type
  TYDGLForm = class(TForm)
    suiPanel1: TsuiPanel;
    il1: TImageList;
    tlb1: TToolBar;
    Image8: TImage;
    Image7: TImage;
    Image6: TImage;
    btn2: TToolButton;
    Image5: TImage;
    btn1: TToolButton;
    Image4: TImage;
    Image3: TImage;
    btn3: TToolButton;
    Image2: TImage;
    ClientDataSet1: TClientDataSet;
    ds2: TDataSource;
    stsbr1: TsuiStatusBar;
    dbgrd1: TDBGrid;
    pnl1: TPanel;
    lbl1: TLabel;
    suiComboBox1: TsuiComboBox;
    suiEdit1: TsuiEdit;
    cbb1: TsuiComboBox;
    Label1: TLabel;
    dtp1: TDateTimePicker;
    chk1: TCheckBox;
    suiMaskEdit1: TsuiMaskEdit;
    DateTimePicker1: TDateTimePicker;
    suiMaskEdit2: TsuiMaskEdit;
    img1: TImage;
    Image1: TImage;
    Image9: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Image2Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
    procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure img1Click(Sender: TObject);
    procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
    procedure suiComboBox1Select(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure suiEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure cbb1KeyPress(Sender: TObject; var Key: Char);
    procedure chk1Click(Sender: TObject);
    procedure dtp1KeyPress(Sender: TObject; var Key: Char);
    procedure suiMaskEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Image6Click(Sender: TObject);
    procedure Image7Click(Sender: TObject);
    procedure Image5Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Image9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YDGLForm: TYDGLForm;

implementation

uses MainUnit, YDDJUnit, LoginUnit, YDEditUnit, YDKDUnit;

{$R *.dfm}

procedure TYDGLForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  MainForm.RefrushRoomState(0);
  mainform.Enabled:=true;
end;

procedure TYDGLForm.Image2Click(Sender: TObject);
var
  id,state:string;
begin
  id:=self.ClientDataSet1.fieldbyname('id').AsString;
  state:=self.ClientDataSet1.fieldbyname('state').AsString;
  if state='已取消' then
    begin
      LoginForm.ExecuteSQL('update Reserve set state=''预订中'' where id='''+id+'''');
      loginform.ExecuteSQL('insert into log '+
                           'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+''','+
                                   ''''+loginform.userid+''','''+LoginForm.username+
                                   ''',''预订单号【'+id+'】已恢复为预订中'')');
      MessageDlg('预订单号【'+id+'】已恢复为预订中!',mtConfirmation, [mbYes], 0);
    end
  else
    MessageDlg('预订单号【'+id+'】状态为【'+state+'】不可执行此操作!',mtConfirmation, [mbYes], 0);
  ClientDataSet1.Close;
  ClientDataSet1.CommandText:='select * from Reserve order by id,roomnum';
  ClientDataSet1.Open;
end;

procedure TYDGLForm.Image8Click(Sender: TObject);
begin
  application.CreateForm(TYDDJForm,YDDJForm);
  YDDJForm.Show;
  Enabled:=False;
end;

procedure TYDGLForm.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 TYDGLForm.img1Click(Sender: TObject);
var
  sql:string;
begin
  sql:='select * from Reserve where 1=1';
  if self.suiComboBox1.ItemIndex>0 then
    begin
      case self.suiComboBox1.ItemIndex of
        1:sql:=sql+' and roomnum='''+self.suiEdit1.Text+'''';
        2:sql:=sql+' and name='''+self.suiEdit1.Text+'''';
        3:sql:=sql+' and phone='''+self.suiEdit1.Text+'''';
        4:sql:=sql+' and id='''+self.suiEdit1.Text+'''';
      end;
      if self.cbb1.ItemIndex>0 then
        sql:=sql+' and state='''+self.cbb1.Text+'''';
      if self.chk1.Checked then
        begin
          sql:=sql+' and time1>='''+formatdatetime('yyyy-mm-dd',self.dtp1.Date)+' '+self.suiMaskEdit1.Text+'''';
          sql:=sql+' and time1<='''+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+' '+suiMaskEdit2.Text+'''';
        end;
    end;
  sql:=sql+' order by id,roomnum';
  self.ClientDataSet1.Close;
  self.ClientDataSet1.CommandText:=sql;
  Self.ClientDataSet1.Open;
end;

procedure TYDGLForm.ClientDataSet1AfterScroll(DataSet: TDataSet);
begin
  self.stsbr1.Panels[0].Text:='预抵时间:'+self.ClientDataSet1.fieldbyname('time1').AsString;
  self.stsbr1.Panels[1].Text:='保留时间:'+self.ClientDataSet1.fieldbyname('time2').AsString;
end;

procedure TYDGLForm.suiComboBox1Select(Sender: TObject);
begin
  self.suiEdit1.SetFocus;
end;

procedure TYDGLForm.FormCreate(Sender: TObject);
begin
  self.suiEdit1.Clear;
  self.dtp1.DateTime:=now;
  self.suiMaskEdit1.Text:='00:00';
  self.DateTimePicker1.DateTime:=now;
  self.suiMaskEdit2.Text:='23:59';
  self.ClientDataSet1.Close;
  self.ClientDataSet1.CommandText:='select * from Reserve order by id,roomnum';
  Self.ClientDataSet1.Open;
end;

procedure TYDGLForm.FormActivate(Sender: TObject);
begin
  self.suiComboBox1.SetFocus;
end;

procedure TYDGLForm.suiEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    cbb1.SetFocus;
end;

procedure TYDGLForm.cbb1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    self.chk1.SetFocus;
end;

procedure TYDGLForm.chk1Click(Sender: TObject);
begin
  self.dtp1.SetFocus;
end;

procedure TYDGLForm.dtp1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    self.suiMaskEdit1.SetFocus;
end;

procedure TYDGLForm.suiMaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    self.DateTimePicker1.SetFocus;
end;

procedure TYDGLForm.DateTimePicker1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then
    self.suiMaskEdit2.SetFocus;
end;

procedure TYDGLForm.Image6Click(Sender: TObject);
var
  id,roomnum:string;
  roomid:string;
begin
  if MessageDlg('真的要删除当前预订信息吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
      id:=self.ClientDataSet1.fieldbyname('id').AsString;
      roomnum:=self.ClientDataSet1.fieldbyname('roomnum').AsString;
      loginform.ExecuteSQL('delete from reserve where id='''+id+''' and roomnum='''+roomnum+'''');
      loginform.ExecuteSQL('select id from reserve where roomnum='''+roomnum+''' order by time1');
      roomid:=LoginForm.dsQuery.Fields[0].AsString;
      LoginForm.dsQuery.Close;
      if roomid='' then
        loginform.ExecuteSQL('update room set room_state=''可供'' where room_num='''+roomnum+'''')
      else
        loginform.ExecuteSQL('update room set room_state=''预订'' where room_num='''+roomnum+'''');
      loginform.ExecuteSQL('insert into log '+
                           'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
                                   ''','''+loginform.userid+''','''+LoginForm.username+
                                   ''',''预订单号【'+id+'】房间【'+roomnum+'】删除成功'')');
      self.ClientDataSet1.Close;
      self.ClientDataSet1.CommandText:='select * from Reserve order by id,roomnum';
      Self.ClientDataSet1.Open;
    end;
end;

procedure TYDGLForm.Image7Click(Sender: TObject);
begin
  if Self.ClientDataSet1.FieldByName('state').AsString='已用餐' then
    MessageDlg('此预订信息已入住,不可以执行相关操作!',mtConfirmation, [mbYes], 0)
  else
    begin
      application.CreateForm(TYDEditForm,YDEditForm);
      YDEditForm.Show;
      Enabled:=False;
    end;
end;

procedure TYDGLForm.Image5Click(Sender: TObject);
begin
  if Self.ClientDataSet1.FieldByName('state').AsString<>'预订中' then
    MessageDlg('此预订信息处于【'+Self.ClientDataSet1.FieldByName('state').AsString+'】,不可以执行相关操作!',
               mtConfirmation, [mbYes], 0)
  else
    begin
      application.CreateForm(TYDKDForm,YDKDForm);
      YDKDForm.Show;
      Enabled:=False;
    end;
end;

procedure TYDGLForm.Image1Click(Sender: TObject);
var
  id,state:string;
begin
  id:=self.ClientDataSet1.fieldbyname('id').AsString;
  state:=self.ClientDataSet1.fieldbyname('state').AsString;
  if state='预订中' then
    begin
      LoginForm.ExecuteSQL('update Reserve set state=''已取消'' where id='''+id+'''');
      loginform.ExecuteSQL('insert into log '+
                           'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+''','+
                                   ''''+loginform.userid+''','''+LoginForm.username+
                                   ''',''预订单号【'+id+'】已取消'')');
      MessageDlg('预订单号【'+id+'】已取消!',mtConfirmation, [mbYes], 0);
    end
  else
    MessageDlg('预订单号【'+id+'】状态为【'+state+'】不可执行此操作!',mtConfirmation, [mbYes], 0);
  ClientDataSet1.Close;
  ClientDataSet1.CommandText:='select * from Reserve order by id,roomnum';
  ClientDataSet1.Open;
end;

procedure TYDGLForm.Image9Click(Sender: TObject);
begin
  close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -