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

📄 exitrm.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit exitrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, StdCtrls, Buttons, ExtCtrls, Mask, Grids, DBGrids, ComCtrls;

type
  Ttfform = class(TForm)
    Button1: TButton;
    BitBtn2: TBitBtn;
    Label2: TLabel;
    Edit1: TEdit;
    s1: TStoredProc;
    cal: TCheckBox;
    zd: TCheckBox;
    Bevel1: TBevel;
    TabControl1: TTabControl;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Query1: TQuery;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    rm: TEdit;
    rcsm: TEdit;
    xf: TEdit;
    grxf: TEdit;
    Label7: TLabel;
    dhf: TEdit;
    yj: TEdit;
    Label8: TLabel;
    grdhf: TEdit;
    caljz: TStoredProc;
    Q1: TQuery;
    BitBtn1: TBitBtn;
    procedure Edit1Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn2Click(Sender: TObject);
    procedure calClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit1DblClick(Sender: TObject);
    procedure MaskEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TabControl1Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  tfform: Ttfform;

implementation
uses dataproc, xgft,tfdyunit;
var acc,wel:string;
{$R *.DFM}

procedure jjzz;
var
  room,roomcs:double;
begin
  room:=0;
  roomcs:=0;
 with tfform do
   begin
     caljz.prepare;
     caljz.ParamByName('@ihand').asstring:=trim(Edit1.text);
     caljz.ParamByName('@isex').asstring:='2';
     caljz.ParamByName('@itime').asdatetime:=now;
     //   (maskedit1.text);
     caljz.ParamByName('@ilftime').asdatetime:=now;
     caljz.parambyname('@iiszd').asboolean:=zd.Checked;
     caljz.prepare;
     caljz.ExecProc;
     // room
     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select roommoney=sum(money), roomcsmoney=sum(csmoney),rzsj=min(begtime) from nowin where isbj=1 ');
     q1.sql.add(' and accno=:pacc');
     q1.parambyname('pacc').asstring:=acc;
     q1.open;
     room:=room+q1.fieldbyname('roommoney').asfloat;
     roomcs:=roomcs+q1.fieldbyname('roomcsmoney').asfloat;
//     rzsj:=formatdatetime('yyyy''年''mm''月''dd''日'' hh:mm',q1.fieldbyname('rzsj').asdatetime);
     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select sum(money) as roommoney,sum(csmoney) as roomcsmoney  from changeroom where accno=:pacc and isbj=1 ');
     q1.parambyname('pacc').asstring:=acc;
     q1.open;
     room:=room+q1.fieldbyname('roommoney').asfloat;
     roomcs:=roomcs+q1.fieldbyname('roomcsmoney').asfloat;
     // san
{     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select sum(money) as sanmoney,sum(csmoney) as sancsmoney  from nowin where accno=:pacc and isbj=0 ');
     q1.parambyname('pacc').asstring:=acc;
     q1.open;
     san:=san+q1.fieldbyname('sanmoney').asfloat;
     sancs:=sancs+q1.fieldbyname('sancsmoney').asfloat;
     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select sum(money) as sanmoney,sum(csmoney) as sancsmoney  from changeroom where accno=:pacc and isbj=0 ');
     q1.parambyname('pacc').asstring:=paccount;
     q1.open;
     san:=san+q1.fieldbyname('sanmoney').asfloat;
     sancs:=sancs+q1.fieldbyname('sancsmoney').asfloat;  }
     //cus
     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select isnull(sum(isnull(money,0)),0) as cusmoney from custom where (accno=:pacc and isxj=:pisxj and ismd=:pismd) ');
     q1.parambyname('pacc').asstring:=acc;
     q1.parambyname('pisxj').asboolean:=false;;
     q1.parambyname('pismd').asboolean:=false;;
     q1.open;
     xf.text:=q1.fieldbyname('cusmoney').asstring;
     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select isnull(sum(isnull(money,0)),0) as cusmoney from custom where (welid=:pwel and isxj=:pisxj and ismd=:pismd) ');
     q1.parambyname('pwel').asstring:=wel;
     q1.parambyname('pisxj').asboolean:=false;;
     q1.parambyname('pismd').asboolean:=false;;
     q1.open;
     grxf.text:=q1.fieldbyname('cusmoney').asstring;

     q1.sql.clear;
     q1.sql.add('select isnull(sum(isnull(Jloe,0)),0) as dhmoney from t04 where accno=:pacc ');
     q1.parambyname('pacc').asstring:=acc;
     q1.open;
     dhf.text:=q1.fieldbyname('dhmoney').asstring;
     q1.sql.clear;
     q1.sql.add('select isnull(sum(isnull(Jloe,0)),0) as dhmoney from t04 where welid=:pwel ');
     q1.parambyname('pwel').asstring:=wel;
     q1.open;
     grdhf.text:=q1.fieldbyname('dhmoney').asstring;

{     q1.active:=false;
     q1.sql.clear;
     q1.sql.add('select sum(hjmoney) as phmoney from phonedb where roomno in (select roomno from nowin where accno=:pacc and ismd=:pismd) and begtime>=(select min(begtime) from nowin where accno=:pacc and ismd=:pismd)');
     q1.parambyname('pacc').asstring:=paccount;
     q1.parambyname('pismd').asboolean:=false;
     q1.open;
     dhf.Text:=floattostr(q1.fieldbyname('phmoney').asfloat);
     q1.active:=false;
    // deposit         
     q1.sql.clear;
     q1.sql.add('select deposit from account where accno=:pacc  ');
     q1.parambyname('pacc').asstring:=acc;
     q1.open;
     yj:=q1.fieldbyname('deposit').asfloat;  }
     q1.active:=false;
     q1.UnPrepare;
     rcsm.text:=floattostr(roomcs);
     rm.Text:=floattostr(room);
//     sm.text:=floattostr(san);
//     scsm.text:=floattostr(sancs);
//     xf.text:=floattostr(cus);
//     mxffjval;
     caljz.unprepare;
     TabControl1Change(nil);
  end;
end;


procedure Ttfform.Edit1Exit(Sender: TObject);
var
  aa:array [0..5] of string;
begin
  if length(trim(edit1.text))>0 then
     begin
     aa[0]:='';
     getvalue(aa,'select roomno,accno,welid,(select Deposit from Account where accno=nowin.accno) as yj,(select custom from Account where accno=nowin.accno) as xf,istime from nowin where handno='''+trim(edit1.text)+'''');
     if length(trim(aa[0]))=0 then
        begin
          showmessage('此房间未登记');
          edit1.setfocus;
          acc:='';
          wel:='';
          yj.Text:='';xf.Text:='';
        end else
        begin
          acc:=aa[1];
          wel:=aa[2];
          yj.Text:=aa[3];
          xf.Text:=aa[4];
          zd.Checked:=(aa[5]='True');
          jjzz;
        end;
     end;
end;

procedure Ttfform.Button1Click(Sender: TObject);
begin
 if messagedlg('是要退房吗?',mtInformation, [mbYes, mbNo], 0) = mrno then
     exit;
  servertime(NIL);
   if length(trim(edit1.text))=0 then
      begin
      showmessage('房间号不能为空');
      exit;
      end;
   s1.UnPrepare;
   s1.ParamByName ('@ihdno').asstring:=trim(edit1.text);
   s1.parambyname('@itime').asdatetime:=now;
   s1.ParamByName ('@iscal').asboolean:=cal.Checked ;
   s1.ParamByName ('@iszd').asboolean:=zd.Checked ;
   s1.Prepare;
   s1.ExecProc;
   if s1.ParamByName('@oresult').asboolean then
   begin
      addlogo(curper.code,datetimetostr(now),trim(edit1.text)+'退房');
      showmessage('退房成功');
      close;
   end   else
      showmessage('不能退房');
   s1.UnPrepare;
   BitBtn2.SetFocus ;
end;

procedure Ttfform.FormCreate(Sender: TObject);
begin
   edit1.text:='';
   zd.Enabled :=false;
end;

procedure Ttfform.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=112 then
  begin
    if xt=0 then help(14);
  end;
  if key=13 then
     selectnext(activecontrol,true,true);
  if key=27 then
     tfform.Close ;
end;

procedure Ttfform.BitBtn2Click(Sender: TObject);
begin
   tfform.close;
end;


procedure Ttfform.calClick(Sender: TObject);
begin
  if  cal.Checked =true then
      zd.Enabled :=true
  else
      begin
      zd.Enabled :=false;
      zd.Checked :=false;
      end;
end;

procedure Ttfform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  s1.free;
end;

procedure Ttfform.Edit1DblClick(Sender: TObject);
begin
  Application.CreateForm(Txgftform, xgftform);
  xgftform.Caption:='';
  xgftform.Button2.Visible:=false;
  xgftform.Timer1.Free;
  xgftform.showmodal;
  edit1.text:=xgftform.xgrmno.Text;
  xgftform.Free;
  activecontrol:=Button1;

end;

procedure Ttfform.MaskEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  key:=0;
end;

procedure Ttfform.TabControl1Change(Sender: TObject);
begin
  Query1.Active:=false;
  Query1.SQL.Clear;
  case TabControl1.TabIndex of
  0:begin
           Query1.sql.add('select handno,s.sexname,begtime,acctime,endtime,istime,money,csmoney,num from nowin,lssex s where ((accno=:paccno) and (nowin.sex=s.sex)) ');
           Query1.sql.add('union (select handno,s.sexname,begtime,acctime,endtime,istime,money,csmoney,0 as num from changeroom,lssex s where ((accno=:paccno) and (changeroom.sex=s.sex)) )');
           Query1.ParamByName ('paccno').asstring:=acc;
           Query1.Prepare;
           Query1.Open;
           chinesegrid(dbgrid1);
           Query1.active:=true;
     end;
  1:begin
      Query1.sql.add('select custom.handno,lssex.sexname,cusitem.cusname,custom.cusprice,custom.cusnum,custom.money,custom.isxj,custom.ismd,custom.regtime,custom.djcode');
      Query1.sql.add(' from custom,cusitem,lssex where ((accno=:paccno) and (custom.cuscode=cusitem.cuscode) and (custom.sex=lssex.sex))');
      Query1.parambyname('paccno').asstring:=acc;
      Query1.open;
      chinesegrid(dbgrid1);
    end;
  2:begin
      Query1.sql.add('select custom.handno,lssex.sexname,cusitem.cusname,custom.cusprice,custom.cusnum,custom.money,custom.isxj,custom.ismd,custom.regtime,custom.djcode');
      Query1.sql.add(' from custom,cusitem,lssex where ((welid=:pwel) and (custom.cuscode=cusitem.cuscode) and (custom.sex=lssex.sex))');
      Query1.parambyname('pwel').asstring:=wel;
      Query1.open;
      chinesegrid(dbgrid1);
    end;
    3:begin
       Query1.Active :=false;
       Query1.sql.clear;
       Query1.sql.add('select Fgcode,RoomNo,Lsdate,fray,Djhbhd,hbfw,fujb,fuwu,jloe,djqxmq from t04 where accno=:pacc');
       Query1.ParamByName ('pacc').asstring:=trim(acc);
       Query1.Open;
       chinesegrid(dbgrid1);
       Query1.active:=true;
    end;
    4:begin
       Query1.Active :=false;
       Query1.sql.clear;
       Query1.sql.add('select Fgcode,RoomNo,Lsdate,fray,Djhbhd,hbfw,fujb,fuwu,jloe,djqxmq from t04 where welid=:pwel');
       Query1.ParamByName ('pwel').asstring:=trim(wel);
       Query1.Open;
       chinesegrid(dbgrid1);
       Query1.active:=true;
    end;
  end;
end;

procedure Ttfform.BitBtn1Click(Sender: TObject);
begin
     application.CreateForm(TtfdyForm,tfdyForm);
     tfdyForm.hfsj.Caption:=formatdatetime('yyyy-MM-dd HH:mm:ss',now);
     tfdyForm.fjh.Caption:=Edit1.Text;
     tfdyForm.ff.Caption:=rm.Text;
     tfdyForm.csf.Caption:=rcsm.Text;
      tfdyForm.xf.Caption:=xf.Text;
     tfdyForm.fjxf.Caption:=grxf.Text;
     tfdyForm.dhf.Caption:=dhf.Text;
     tfdyForm.fjdhf.Caption:=grdhf.Text;
     tfdyForm.yj.Caption:=yj.Text;
     tfdyForm.jsr.Caption:=curper.name;
     tfdyForm.hide;
    // if dy.Checked then
     //  fjhszdyForm.QuickRep1.print
   //  else
     tfdyForm.QuickRep1.Preview;
     tfdyForm.Close;
     tfdyForm.free;

end;

end.

⌨️ 快捷键说明

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