📄 tteditunit.pas
字号:
unit TTEditUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBClient, SUIButton, StdCtrls, SUIListBox, Grids,
DBGrids, SUIImagePanel, SUIGroupBox, SUIEdit, SUIComboBox, ComCtrls,
ExtCtrls;
type
TTTEditForm = class(TForm)
suiPanel1: TsuiPanel;
Label15: TLabel;
Label1: TLabel;
Label16: TLabel;
Label7: TLabel;
Label8: TLabel;
Label18: TLabel;
Label3: TLabel;
Label17: TLabel;
Label4: TLabel;
suiComboBox1: TsuiComboBox;
suiEdit6: TsuiEdit;
suiEdit1: TsuiEdit;
suiComboBox2: TsuiComboBox;
suiEdit2: TsuiEdit;
suiEdit3: TsuiEdit;
suiComboBox7: TsuiComboBox;
suiEdit4: TsuiEdit;
suiEdit5: TsuiEdit;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiGroupBox1: TsuiGroupBox;
Label2: TLabel;
Label6: TLabel;
Label23: TLabel;
Label10: TLabel;
Label9: TLabel;
Label5: TLabel;
suiEdit7: TsuiEdit;
suiComboBox4: TsuiComboBox;
suiEdit9: TsuiEdit;
suiEdit16: TsuiEdit;
btn1: TsuiButton;
btn2: TsuiButton;
suiEdit8: TsuiEdit;
suiComboBox3: TsuiComboBox;
suiButton3: TsuiButton;
dbgrd1: TDBGrid;
suiListBox2: TsuiListBox;
suiGroupBox2: TsuiGroupBox;
Label22: TLabel;
Label21: TLabel;
Label20: TLabel;
Label14: TLabel;
suiComboBox8: TsuiComboBox;
suiEdit15: TsuiEdit;
suiEdit14: TsuiEdit;
suiEdit12: TsuiEdit;
suiCheckBox1: TsuiCheckBox;
btn3: TsuiButton;
btn4: TsuiButton;
DBGrid1: TDBGrid;
ds1: TDataSource;
ds2: TDataSource;
ds3: TClientDataSet;
ClientDataSet1: TClientDataSet;
pm1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure suiButton2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure suiEdit8KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit9KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit7KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit16KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox4KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox4DropDown(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
procedure ds3AfterScroll(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 suiComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure suiComboBox1DropDown(Sender: TObject);
procedure suiEdit15KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
ifupdate:boolean;
ifguest:Boolean;
id,guestid:string;
info:string;
price,scale,factprice,deposit:string;
num:string;
clock:string;
sumdeposit:string;
end;
var
TTEditForm: TTTEditForm;
implementation
uses MainUnit, LoginUnit, SysSetUnit, GuestSelectUnit;
{$R *.dfm}
procedure TTTEditForm.suiButton2Click(Sender: TObject);
begin
close;
end;
procedure TTTEditForm.FormCreate(Sender: TObject);
var
index:integer;
temp:string;
room:string;
menoy:double;
ifclock:string;
begin
loginform.ExecuteSQL('select room_id from room where room_num='''+mainform.roomnum+'''');
id:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
self.suiPanel1.Caption:='客房【'+mainform.roomnum+'】 当前消费单号:'+id;
loginform.ExecuteSQL('select guest from house where id='''+id+'''');
guestid:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('select * from guest where id='+guestid);
suiComboBox1.Text:=LoginForm.dsQuery.fieldbyname('source').AsString;
suiEdit6.Text:=LoginForm.dsQuery.fieldbyname('name').AsString;
suiComboBox2.Text:=LoginForm.dsQuery.fieldbyname('sex').AsString;
suiEdit2.Text:=LoginForm.dsQuery.fieldbyname('phone').AsString;
suiComboBox7.Text:=LoginForm.dsQuery.fieldbyname('cardtype').AsString;
suiEdit3.Text:=LoginForm.dsQuery.fieldbyname('cardnum').AsString;
suiEdit4.Text:=LoginForm.dsQuery.fieldbyname('address').AsString;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('select * from house where id='''+id+'''');
suiEdit1.Text:=LoginForm.dsQuery.fieldbyname('peopelnum').AsString;
num:=suiEdit1.Text;
suiEdit5.Text:=LoginForm.dsQuery.fieldbyname('memozs').AsString;
info:=suiEdit5.Text;
ifclock:=LoginForm.dsQuery.fieldbyname('ifclock').AsString;
self.suiEdit12.Text:=LoginForm.dsQuery.fieldbyname('scale').AsString;
self.suiEdit14.Text:=LoginForm.dsQuery.fieldbyname('days').AsString;
self.suiComboBox8.Text:=LoginForm.dsQuery.fieldbyname('paymode').AsString;
price:=LoginForm.dsQuery.fieldbyname('price').AsString;
scale:=LoginForm.dsQuery.fieldbyname('scale').AsString;
factprice:=LoginForm.dsQuery.fieldbyname('factprice').AsString;
clock:=LoginForm.dsQuery.fieldbyname('clock').AsString;
LoginForm.dsQuery.Close;
if (ifclock='Y') or (ifclock='y') then
self.suiCheckBox1.Checked:=true
else
self.suiCheckBox1.Checked:=false;
LoginForm.ExecuteSQL('select sum(deposit) from house where id='''+id+'''');
self.suiEdit15.Text:=FormatFloat('0.00',LoginForm.dsQuery.Fields[0].AsFloat);
sumdeposit:=LoginForm.dsQuery.Fields[0].AsString;
LoginForm.dsQuery.Close;
suiListBox2.Items.Clear;
suiListBox2.Items.BeginUpdate;
loginform.ExecuteSQL('select roomtype.type_mc,room.room_num from room,roomtype '+
'where room.room_type=roomtype.type_xh and room.room_state=''可供'' and '+
'room.room_num<>'''+mainform.roomnum+''' '+
'order by room.room_num');
LoginForm.dsQuery.First;
while not LoginForm.dsQuery.Eof do
begin
suiListBox2.Items.Add(LoginForm.dsQuery.Fields[0].AsString+':'+LoginForm.dsQuery.Fields[1].AsString);
LoginForm.dsQuery.Next;
end;
suiListBox2.Items.EndUpdate;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('delete from roomselect');
temp:=suiEdit5.Text;
Delete(temp,1,9);
index:=1;
while Pos(';',temp)>0 do
begin
room:=Copy(temp,1,Pos(';',temp)-1);
LoginForm.ExecuteSQL('select deposit from house where id='''+id+''' and room='''+room+'''');
menoy:=LoginForm.dsQuery.Fields[0].AsFloat;
LoginForm.dsQuery.Close;
loginform.ExecuteSQL('insert into roomselect '+
'values('''+inttostr(index)+''','''+MainForm.roomtype+''','''+room+
''','''+formatfloat('¥0.00',strtofloat(price))+
''','''+formatfloat('0.00',strtofloat(scale))+
''','''+formatfloat('¥0.00',strtofloat(factprice))+
''','''+formatfloat('¥0.00',menoy)+''')');
Delete(temp,1,Pos(';',temp));
Inc(index);
end;
loginform.ExecuteSQL('delete from roompeopletemp');
loginform.ExecuteSQL('insert into roompeopletemp select * from roompeople where id='''+id+'''');
loginform.ExecuteSQL('delete from guesttemp');
loginform.ExecuteSQL('insert into guesttemp select * from guest where id='+guestid);
ClientDataSet1.Close;
ClientDataSet1.Open;
end;
procedure TTTEditForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not ifupdate then
begin
loginform.ExecuteSQL('delete from roompeople where id='''+id+'''');
loginform.ExecuteSQL('insert into roompeople select * from roompeopletemp where id='''+id+'''');
loginform.ExecuteSQL('delete from roompeopletemp');
loginform.ExecuteSQL('delete from guest where id='+guestid);
loginform.ExecuteSQL('insert into guest select * from guesttemp where id='+guestid);
loginform.ExecuteSQL('delete from guesttemp');
LoginForm.ExecuteSQL('delete from roomselect')
end;
ds3.Close;
ClientDataSet1.Close;
MainForm.RefrushRoomState(0);
mainform.Enabled:=true;
end;
procedure TTTEditForm.FormActivate(Sender: TObject);
begin
ifupdate:=false;
ifguest:=false;
suiComboBox1.SetFocus;
end;
procedure TTTEditForm.suiEdit8KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#48..#57,#13,#8]) then
key:=#0
else
if key=#13 then
begin
loginform.ExecuteSQL('select dq from idcard where bm='''+copy(suiEdit8.Text,1,6)+'''');
suiEdit9.Text:=loginform.dsQuery.Fields[0].AsString;
loginform.dsQuery.Close;
suiEdit9.SetFocus;
end;
end;
procedure TTTEditForm.suiEdit9KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
btn1.SetFocus;
end;
procedure TTTEditForm.suiEdit7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
suiComboBox3.SetFocus;
end;
procedure TTTEditForm.suiComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
suiEdit16.SetFocus;
end;
procedure TTTEditForm.suiComboBox4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
suiEdit8.SetFocus;
end;
procedure TTTEditForm.suiComboBox4DropDown(Sender: TObject);
begin
loginform.AddCombobox(suiComboBox4,'select name from paper');
suiComboBox4.ItemIndex:=0;
end;
procedure TTTEditForm.suiButton1Click(Sender: TObject);
var
temp:string;
entertime,leavetime:string;
memo,room:string;
ifclock:string;
count:integer;
begin
loginform.ExecuteSQL('select * from roompeople '+
'where (id='''+id+''') and (not exists (select * from roompeopletemp))');
count:=LoginForm.dsQuery.RecordCount;
LoginForm.dsQuery.Close;
if (count=0) and (info=suiEdit5.Text) and (num=suiEdit1.Text) then
MessageDlg('【'+self.suiEdit5.Text+'】'+#13#10+'入住信息尚未修改!',mtConfirmation, [mbYes], 0)
else
begin
entertime:=FormatDateTime('yyyy-mm-dd hh:nn:ss',now);
memo:=suiEdit5.Text;
room:=memo;
Delete(room,1,9);
room:=Copy(room,1,Pos(';',room)-1);
loginform.ExecuteSQL('update house set peopelnum='''+suiEdit1.Text+''',memozs='''+suiEdit5.Text+''' '+
'where id='''+id+'''');
loginform.ExecuteSQL('update house set deposit='''+suiEdit15.Text+''' '+
'where id='''+id+''' and room='''+room+'''');
deposit:=FloatToStr(StrToFloat(suiEdit15.Text)-strtofloat(self.sumdeposit));
loginform.ExecuteSQL('insert into yjgl '+
'values('''+id+''','''+room+''','''+deposit+''','''+entertime+
''','''+loginform.username+''',''0'','''+self.suiComboBox8.Text+''')');
ifclock:='N';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -