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