📄 ydglunit.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 + -