📄 djcx.pas
字号:
unit djcx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, Db, DBTables, ComCtrls,
Menus, Spin;
type
Tdjcxform = class(TForm)
Bevel1: TBevel;
DBGrid1: TDBGrid;
cxquery: TQuery;
DataSource1: TDataSource;
Panel2: TPanel;
PopupMenu1: TPopupMenu;
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;
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;
N2: TMenuItem;
djdhcx: TCheckBox;
djdh: TEdit;
s1: TStoredProc;
CheckBox1: TCheckBox;
rs: TSpinEdit;
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);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
djcxform: Tdjcxform;
implementation
uses dataproc, xgrs;
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,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 djcxform 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 Tdjcxform.FormCreate(Sender: TObject);
begin
shortdateformat:='yyyy-MM-dd';
begdate.date:=now;
begtime.Time:=strtotime('00:00');
enddate.datetime:=now;
endtime.datetime:=now;
edit6.text:='0';
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 ISnull(sum(Deposit),0) from Deposit ');
cxquery.Open;
edit6.text:=cxquery.Fields[0].asstring;
cxquery.Active :=false;
cxquery.sql.clear;
end;
procedure Tdjcxform.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 Tdjcxform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cxquery.Free;
end;
procedure Tdjcxform.DBGrid1TitleClick(Column: TColumn);
begin
cxpx(Column.DisplayName);
end;
procedure Tdjcxform.cxClick(Sender: TObject);
begin
formini;
end;
procedure Tdjcxform.Button1Click(Sender: TObject);
begin
cxquery.Free;
djcxform.close;
end;
procedure Tdjcxform.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;
rs.Enabled:=CheckBox1.Checked;
end;
procedure Tdjcxform.Button2Click(Sender: TObject);
var tj,ftj:string;
begin
DataSource1.DataSet:=nil;
tj:='';ftj:='';
if rs.Enabled then
begin
tj:=tj+' and num='+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 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 (nowin.Sex=''1'' or (nowin.sex=''2'' and welid in (select welid from GuestMx where GuestMx.Sex=''男'')))' else tj:=tj+' and (nowin.Sex=''0'' or (nowin.sex=''2'' and welid in (select welid from GuestMx where GuestMx.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 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;
procedure Tdjcxform.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if DataSource1.DataSet<>nil then
n2.Visible:=cxquery.FieldByName('isbj').asboolean;
end;
procedure Tdjcxform.N2Click(Sender: TObject);
var i:integer;bk:TBookmark;
begin
Application.CreateForm(Txgrsform, xgrsform);
xgrsform.rmno.Text:=cxquery.FieldByName('roomno').asstring;
xgrsform.yrs.Text:=cxquery.FieldByName('num').asstring;
xgrsform.xrs.Text:=cxquery.FieldByName('num').asstring;
xgrsform.yxp.Text:=cxquery.FieldByName('鞋牌号').asstring;
xgrsform.xxp.Text:=cxquery.FieldByName('鞋牌号').asstring;
xgrsform.showmodal;
if (xgrsform.BitBtn1.Tag=1) and ((trim(xgrsform.yrs.Text)<>trim(xgrsform.xrs.Text)) or (trim(xgrsform.yxp.Text)<>trim(xgrsform.xxp.Text))) then
begin
try i:=strtoint(trim(xgrsform.xrs.Text));
except
Application.MessageBox('人数输入错误!修改不成功!','提示信息',16);
xgrsform.free;
exit;
end;
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
fm.Query2.SQL.Add('update nowin set num='+xgrsform.xrs.Text+',xcode='''+trim(xgrsform.xxp.Text)+''' where roomno='''+cxquery.FieldByName('roomno').asstring+''' and welid='''+cxquery.FieldByName('welid').asstring+'''');
fm.Query2.ExecSQL;
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
bk:=cxquery.GetBookmark();
Button2Click(nil);
cxquery.GotoBookmark(bk);
cxquery.FreeBookmark(bk);
end;
xgrsform.free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -