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

📄 hkdj.pas

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

interface

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

type
  Thkdjform = class(TForm)
    Button1: TButton;
    BitBtn2: TBitBtn;
    Label2: TLabel;
    Edit1: TEdit;
    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;
    Label9: TLabel;
    rq: TDateTimePicker;
    sj: TDateTimePicker;
    Label10: TLabel;
    SpinEdit1: TSpinEdit;
    Label11: TLabel;
    sc: TDateTimePicker;
    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 Edit1DblClick(Sender: TObject);
    procedure MaskEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TabControl1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  hkdjform: Thkdjform;

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

procedure jjzz;
var
  room,roomcs:double;
begin
  room:=0;
  roomcs:=0;
 with hkdjform 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:=false;
     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 Thkdjform.Edit1Exit(Sender: TObject);
var
  aa:array [0..4] 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 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];
          jjzz;
        end;
     end;
end;

procedure Thkdjform.Button1Click(Sender: TObject);
begin
   if length(trim(edit1.text))=0 then
      begin
      showmessage('房间号不能为空');
      exit;
      end;
  rq.Time:=sj.Time;
  Q1.Active:=false;
  Q1.SQL.Clear;
  Q1.SQL.Add('update nowin set guest=guest+:pnum where welid=:pwel');
  Q1.SQL.Add('insert into guest values(:pacc,:pwel,:proom,:prq,:pnum,:plksj,:pczy,:pjsj)');
  Q1.ParamByName('pacc').asstring:=acc;
  Q1.ParamByName('pwel').asstring:=wel;
  Q1.ParamByName('proom').asstring:=trim(Edit1.Text);
  Q1.ParamByName('pnum').asinteger:=SpinEdit1.Value;
  Q1.ParamByName('prq').asdatetime:=rq.DateTime;
  rq.Time:=rq.Time+sc.Time;
  Q1.ParamByName('plksj').asdatetime:=rq.DateTime;
  Q1.ParamByName('pczy').asstring:=curper.name;
  Q1.ParamByName('pjsj').asstring:=curper.workjsj;
  Q1.ExecSQL;
  Q1.Active:=false;
  Q1.SQL.Clear;
  showmessage('会客登记成功!');
  close;
end;

procedure Thkdjform.FormCreate(Sender: TObject);
begin
   edit1.text:='';
   rq.Date:=now;
   sj.Time:=now; sc.Time:=strtotime('15:00:00');
end;

procedure Thkdjform.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
     Close ;
end;

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


procedure Thkdjform.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 Thkdjform.MaskEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  key:=0;
end;

procedure Thkdjform.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;

end.

⌨️ 快捷键说明

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