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

📄 tteditunit.pas

📁 东华休闲山庄洗浴、餐饮、客房管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -