📄 djfjcx.pas
字号:
unit djfjcx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, Db, DBTables, ComCtrls,
Menus, Spin;
type
Tdjfjcxform = class(TForm)
Bevel1: TBevel;
DBGrid1: TDBGrid;
cxquery: TQuery;
DataSource1: TDataSource;
Panel2: TPanel;
isfh: TCheckBox;
isxh: TCheckBox;
issj: TCheckBox;
begdate: TDateTimePicker;
begtime: TDateTimePicker;
enddate: TDateTimePicker;
endtime: TDateTimePicker;
Label1: TLabel;
fh: TEdit;
xh: TEdit;
GroupBox1: TGroupBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label3: TLabel;
Label2: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit5: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Button2: TButton;
Button1: TButton;
s1: TStoredProc;
rs: TSpinEdit;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1TitleClick(Column: TColumn);
procedure cxClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure isfhClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
djfjcxform: Tdjfjcxform;
implementation
uses dataproc;
var dd:string;
{$R *.DFM}
procedure cxpx(dd:string);
begin
try
with djfjcxform do
begin
cxquery.Active :=false;
cxquery.sql.clear;
cxquery.sql.Add('select roomno,handno,istime,roomprice,truntime,isbj,s.sexname,begtime,djcode as 登记单号 ,xcode as 鞋牌号,guest,');
cxquery.sql.Add('(select max(name) from GuestMx where welid=nowin.welid) as 姓名,(select sex from GuestMx where welid=nowin.welid) as 性别,');
cxquery.sql.Add('(select WorkUnit from GuestMx where welid=nowin.welid) as 工作单位,(select zjid from GuestMx where welid=nowin.welid) as 证件号码,');
cxquery.sql.Add('czy from nowin,lssex s where ((begtime>=:pbegtime) and (begtime<=:pendtime) and (s.sex=nowin.sex)) order by '+dd);
cxquery.ParamByName ('pbegtime').asstring:=datetostr(begdate.Date)+' '+timetostr(begtime.time);
cxquery.ParamByName ('pendtime').asstring:=datetostr(enddate.Date)+' '+timetostr(endtime.time);
cxquery.Prepare;
cxquery.Open;
chinesegrid(dbgrid1);
cxquery.Active :=true;
end;
except
end;
end;
procedure formini;
begin
with djfjcxform do
begin
cxquery.sql.Add('select count(roomno) from nowin where ((begtime>=:pbegtime) and (begtime<=:pendtime)and (isbj=0) and (sex=''3''))');
cxquery.ParamByName ('pbegtime').asstring:=datetostr(begdate.Date)+' '+timetostr(begtime.time);
cxquery.ParamByName ('pendtime').asstring:=datetostr(enddate.Date)+' '+timetostr(endtime.time);
cxquery.Prepare;
cxquery.Open;
edit4.text:=cxquery.Fields[0].asstring;
cxquery.Active :=false;
cxquery.sql.clear;
cxpx('begtime');
end;
end;
procedure Tdjfjcxform.FormCreate(Sender: TObject);
begin
shortdateformat:='yyyy-MM-dd';
begdate.date:=now;
begtime.Time:=strtotime('00:00');
enddate.datetime:=now;
endtime.datetime:=now;
dd:='begtime';
cxquery.Active :=false;
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from nowin where isbj=1');
cxquery.Open;
edit1.text:=cxquery.Fields[0].asstring;
{ cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from nowin where isbj=0 and sex=''1''');
cxquery.Open;
edit2.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from nowin where isbj=0 and sex=''0''');
cxquery.Open;
edit3.text:=cxquery.Fields[0].asstring; }
s1.Prepare;
s1.ExecProc ;
Edit7.text:=s1.ParamByName('@onb').asstring;
Edit2.text:=s1.ParamByName('@ons').asstring;
Edit8.text:=s1.ParamByName('@onvb').asstring;
Edit3.text:=s1.ParamByName('@onvs').asstring;
Edit5.Text:=floattostr(s1.ParamByName('@onb').asfloat+s1.ParamByName('@ons').asfloat+s1.ParamByName('@onvb').asfloat+s1.ParamByName('@onvs').asfloat);
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from nowin where isbj=0 and sex=''3''');
cxquery.Open;
edit4.text:=cxquery.Fields[0].asstring;
{ cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from nowin ');
cxquery.Open;
edit5.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from nowin where sex=''1'' or ( sex=''2'' and not welid in (select welid from GuestMx where sex=''女'')) ');
cxquery.Open;
edit7.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from nowin where sex=''0'' or ( sex=''2'' and welid in (select welid from GuestMx where sex=''女'')) ');
cxquery.Open;
edit8.text:=cxquery.Fields[0].asstring; }
cxquery.sql.clear;
cxquery.sql.Add('select sum(Deposit) from Account ');
cxquery.Open;
edit6.text:=cxquery.Fields[0].asstring;
cxquery.Active :=false;
cxquery.sql.clear;
end;
procedure Tdjfjcxform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=112 then
begin
if xt=1 then help(1);
if xt=0 then help(3);
end;
if key=13 then
selectnext(activecontrol,true,true);
if key=27 then
close;
end;
procedure Tdjfjcxform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cxquery.Free;
end;
procedure Tdjfjcxform.DBGrid1TitleClick(Column: TColumn);
begin
cxpx(Column.DisplayName);
end;
procedure Tdjfjcxform.cxClick(Sender: TObject);
begin
formini;
end;
procedure Tdjfjcxform.Button1Click(Sender: TObject);
begin
cxquery.Free;
djfjcxform.close;
end;
procedure Tdjfjcxform.isfhClick(Sender: TObject);
begin
fh.Enabled:=isfh.Checked;
xh.Enabled:=isxh.Checked;
begdate.Enabled:=issj.Checked;
begtime.Enabled:=issj.Checked;
enddate.Enabled:=issj.Checked;
endtime.Enabled:=issj.Checked;
rs.Enabled:=CheckBox1.Checked;
end;
procedure Tdjfjcxform.Button2Click(Sender: TObject);
var tj,ftj:string;
begin
DataSource1.DataSet:=nil;
tj:='';ftj:='';
if rs.Enabled then
begin
tj:=tj+' and truntime='+trim(rs.Text);
end;
if isfh.Checked then
begin
tj:=tj+' and handno>='''+trim(fh.Text)+''' and handno<'''+trim(fh.Text)+chr(255)+'''';
end;
if isxh.Checked then
begin
tj:=tj+' and roomprice='+trim(xh.Text);
end;
if issj.Checked then
begin
tj:=tj+' and begtime>='''+formatdatetime('yyyy-MM-dd',begdate.Date)+' '+formatdatetime('hh:mm:ss',begtime.Time)+''' and begtime<='''+formatdatetime('yyyy-MM-dd',enddate.Date)+' '+formatdatetime('hh:mm:ss',endtime.Time)+'''';
end;
if ftj<>'' then
tj:=tj+' and accno in (select accno from GuestMx '+ftj+')';
cxquery.Active :=false;
cxquery.sql.clear;
// cxquery.sql.Add('select roomno,istime,isbj,s.sexname,num,begtime,djcode as 登记单号,xcode as 鞋牌号,guest,(select name from GuestMx where welid=nowin.welid) as 姓名,(select sex from GuestMx where welid=nowin.welid) as 性别,');
// cxquery.sql.Add('(select WorkUnit from GuestMx where welid=nowin.welid) as 工作单位,(select zjid from GuestMx where welid=nowin.welid) as 证件号码,czy,welid from nowin,lssex s where s.sex=nowin.sex '+tj+' order by '+dd);
cxquery.sql.Add('select roomno,handno,istime,roomprice,truntime,isbj,s.sexname,num,begtime,djcode as 登记单号 ,xcode as 鞋牌号,guest,(select max(name) from GuestMx where welid=nowin.welid) as 姓名,(select sex from GuestMx where welid=nowin.welid) as 性别,');
cxquery.sql.Add('(select WorkUnit from GuestMx where welid=nowin.welid) as 工作单位,(select zjid from GuestMx where welid=nowin.welid) as 证件号码,czy,welid from nowin,lssex s where s.sex=nowin.sex '+tj+' order by '+dd);
cxquery.Prepare;
cxquery.Open;
DataSource1.DataSet:=cxquery;
chinesegrid(dbgrid1);
cxquery.Active :=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -