📄 lsdjcx.pas
字号:
unit lsdjcx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, Db, DBTables, ComCtrls,
Menus;
type
Tlsdjcxform = class(TForm)
Bevel1: TBevel;
DBGrid1: TDBGrid;
cxquery: TQuery;
Panel2: TPanel;
isfh: TCheckBox;
isxb: TCheckBox;
isxh: TCheckBox;
iszj: TCheckBox;
isdw: TCheckBox;
issj: TCheckBox;
begdate: TDateTimePicker;
begtime: TDateTimePicker;
enddate: TDateTimePicker;
endtime: TDateTimePicker;
Label1: TLabel;
fh: TEdit;
xh: TEdit;
zj: TEdit;
dw: TEdit;
man: TRadioButton;
woman: TRadioButton;
isxm: TCheckBox;
xm: TEdit;
GroupBox1: TGroupBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label3: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Button2: TButton;
Button1: TButton;
djdhcx: TCheckBox;
djdh: TEdit;
DataSource1: TDataSource;
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
lsdjcxform: Tlsdjcxform;
implementation
uses dataproc, xgrs, djcx;
var dd:string;
{$R *.DFM}
procedure cxpx(dd:string);
begin
try
with djcxform do
begin
cxquery.Active :=false;
cxquery.sql.clear;
cxquery.sql.Add('select roomno,handno,istime,isbj,s.sexname,begtime,djcode,xcode as 鞋牌号,guest,');
cxquery.sql.Add('(select max(name) from lsGuestMx where welid=lsnowin.welid) as 姓名,(select sex from lsGuestMx where welid=lsnowin.welid) as 性别,');
cxquery.sql.Add('(select WorkUnit from lsGuestMx where welid=lsnowin.welid) as 工作单位,(select zjid from lsGuestMx where welid=lsnowin.welid) as 证件号码,');
cxquery.sql.Add('czy from lsnowin,lssex s where ((begtime>=:pbegtime) and (begtime<=:pendtime) and (s.sex=lsnowin.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 djcxform do
begin
cxquery.sql.Add('select count(roomno) from lsnowin 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 Tlsdjcxform.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 lsnowin where isbj=1');
cxquery.Open;
edit1.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from lsnowin where isbj=0 and sex=''1''');
cxquery.Open;
edit2.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from lsnowin where isbj=0 and sex=''0''');
cxquery.Open;
edit3.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select count(roomno) from lsnowin where isbj=0 and sex=''3''');
cxquery.Open;
edit4.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from lsnowin ');
cxquery.Open;
edit5.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from lsnowin where sex=''1'' or ( sex=''2'' and not welid in (select welid from lsGuestMx where sex=''女'')) ');
cxquery.Open;
edit7.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.sql.Add('select sum(num) from lsnowin where sex=''0'' or ( sex=''2'' and welid in (select welid from lsGuestMx where sex=''女'')) ');
cxquery.Open;
edit8.text:=cxquery.Fields[0].asstring;
cxquery.sql.clear;
cxquery.Active :=false;
cxquery.sql.clear;
end;
procedure Tlsdjcxform.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 Tlsdjcxform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cxquery.Free;
end;
procedure Tlsdjcxform.DBGrid1TitleClick(Column: TColumn);
begin
cxpx(Column.DisplayName);
end;
procedure Tlsdjcxform.cxClick(Sender: TObject);
begin
formini;
end;
procedure Tlsdjcxform.Button1Click(Sender: TObject);
begin
cxquery.Free;
lsdjcxform.close;
end;
procedure Tlsdjcxform.isfhClick(Sender: TObject);
begin
fh.Enabled:=isfh.Checked;
xh.Enabled:=isxh.Checked;
dw.Enabled:=isdw.Checked;
xm.Enabled:=isxm.Checked;
djdh.Enabled:=djdhcx.Checked;
man.Enabled:=isxb.Checked;
woman.Enabled:=isxb.Checked;
zj.Enabled:=iszj.Checked;
begdate.Enabled:=issj.Checked;
begtime.Enabled:=issj.Checked;
enddate.Enabled:=issj.Checked;
endtime.Enabled:=issj.Checked;
end;
procedure Tlsdjcxform.Button2Click(Sender: TObject);
var tj,ftj:string;
begin
DataSource1.DataSet:=nil;
tj:='';ftj:='';
if isfh.Checked then
begin
tj:=tj+' and handno>='''+trim(fh.Text)+''' and handno<'''+trim(fh.Text)+chr(255)+'''';
end;
if djdhcx.Checked then
begin
tj:=tj+' and djcode>='''+trim(djdh.Text)+''' and djcode<'''+trim(djdh.Text)+chr(255)+'''';
end;
if isxh.Checked then
begin
tj:=tj+' and xcode like ''%'+trim(xh.Text)+'%''';
end;
if isdw.Checked then
begin
if ftj='' then ftj:=' where ' else ftj:=ftj+' and ';
ftj:=ftj+' WorkUnit like ''%'+trim(dw.Text)+'%''';
end;
if isxm.Checked then
begin
if ftj='' then ftj:=' where ' else ftj:=ftj+' and ';
ftj:=ftj+' name like ''%'+trim(xm.Text)+'%''';
end;
if iszj.Checked then
begin
if ftj='' then ftj:=' where ' else ftj:=ftj+' and ';
ftj:=ftj+' zjid>='''+trim(zj.Text)+''' and zjid<'''+trim(zj.Text)+chr(255)+'''';
end;
if isxb.Checked then
begin
if man.Checked then tj:=tj+' and (lsnowin.Sex=''1'' or (lsnowin.sex=''2'' and welid in (select welid from lsGuestMx where lsGuestMx.Sex=''男'')))' else tj:=tj+' and (lsnowin.Sex=''0'' or (lsnowin.sex=''2'' and welid in (select welid from lsGuestMx where lsGuestMx.Sex=''女'')))';
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 lsGuestMx '+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 djcode,roomno,handno,istime,isbj,s.sexname,num,begtime,xcode as 鞋牌号,guest,(select max(name) from lsGuestMx where welid=lsnowin.welid) as 姓名,(select sex from lsGuestMx where welid=lsnowin.welid) as 性别,');
cxquery.sql.Add('(select WorkUnit from lsGuestMx where welid=lsnowin.welid) as 工作单位,(select zjid from lsGuestMx where welid=lsnowin.welid) as 证件号码,czy,welid from lsnowin,lssex s where s.sex=lsnowin.sex '+tj+' order by '+dd);
cxquery.Prepare;
cxquery.Open;
DataSource1.DataSet:=cxquery;
chinesegrid(dbgrid1);
dbgrid1.Fields[0].DisplayLabel:='登记单号';
cxquery.Active :=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -