📄 djqx.pas
字号:
unit djqx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Grids, DBGrids, ExtCtrls, Mask;
type
Tdjqxform = class(TForm)
Label1: TLabel;
hdno: TMaskEdit;
man: TRadioButton;
woman: TRadioButton;
Label2: TLabel;
yj: TMaskEdit;
Bevel1: TBevel;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
q1: TQuery;
DataSource1: TDataSource;
s1: TStoredProc;
Label3: TLabel;
czy: TEdit;
GroupBox1: TGroupBox;
Memo1: TMemo;
procedure hdnoExit(Sender: TObject);
procedure manClick(Sender: TObject);
procedure womanClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
djqxform: Tdjqxform;
implementation
uses dataproc;
{$R *.DFM}
var
acc:string;
procedure findacc;
begin
with djqxform do
begin
q1.Active :=false;
q1.sql.Clear ;
q1.sql.add('select accno,begtime from nowin where (handno=:phdno) and (sex=:psex)');
q1.ParamByName ('phdno').asstring:=trim(hdno.text);
if man.Checked =true then
q1.ParamByName ('psex').asstring:='1'
else
q1.ParamByName ('psex').asstring:='0';
q1.Prepare;
q1.open;
if now-strtodatetime(q1.fieldbyname('begtime').asstring)>strtotime('00:15') then
begin
showmessage('登记已超过十五分钟,不能撤消');
hdno.SetFocus ;
q1.Active :=false;
exit;
end;
acc:=q1.fieldbyname('accno').asstring;
q1.Active :=false;
end;
end;
procedure seemx;
begin
with djqxform do
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select sum(deposit) as total from deposit where accno=:paccno');
q1.ParamByName ('paccno').asstring:=acc;
q1.Prepare;
q1.open;
yj.text:=inttostr(q1.fieldbyname('total').asinteger);
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select roomno,handno,lssex.sexname,istime,begtime,regid,sdjcode from nowin,lssex where (accno=:pacc and nowin.sex=lssex.sex)');
q1.ParamByName ('pacc').asstring:=acc;
q1.Prepare;
q1.open;
DataSource1.DataSet:=q1;
chinesegrid(djqxform.dbgrid1);
q1.Active :=true;
end;
end;
procedure Tdjqxform.hdnoExit(Sender: TObject);
var
recnum:integer;
lssex:string;
begin
if length(trim(hdno.text))>0 then
begin
q1.Active :=false;
q1.sql.clear;
q1.sql.add('select accno,handno,sex,begtime from nowin where (handno=:phdno)');
q1.ParamByName ('phdno').asstring:=trim(hdno.text);
q1.Prepare;
q1.open;
q1.Active :=true;
acc:=trim(q1.fieldbyname('accno').asstring);
lssex:=trim(q1.FieldByName ('sex').asstring);
recnum:=q1.RecordCount ;
if recnum =0 then
begin
showmessage('手号错误');
hdno.SetFocus ;
q1.Active :=false;
exit;
end;
if recnum =1 then
begin
if now-strtodatetime(q1.fieldbyname('begtime').asstring)>strtotime('00:15') then
begin
showmessage('登记已超过十五分钟,不能撤消');
hdno.SetFocus ;
exit;
end;
man.Enabled :=false;
woman.Enabled :=false;
if lssex='3' then
begin
man.Checked :=false;
woman.Checked :=false;
end;
if lssex='2' then
begin
man.Checked :=false;
woman.Checked :=false;
end;
if lssex='1' then
man.Checked :=true;
if lssex='0' then
woman.Checked :=true;
q1.Active :=false;
seemx;
end;
if recnum >1 then
begin
q1.Active :=false;
man.Enabled :=true;
woman.Enabled :=true;
man.Checked :=true;
man.setfocus;
end;
end;
end;
procedure Tdjqxform.manClick(Sender: TObject);
begin
if man.Checked =true then
begin
findacc;
seemx;
end;
end;
procedure Tdjqxform.womanClick(Sender: TObject);
begin
if woman.Checked =true then
begin
findacc;
seemx;
end;
end;
procedure formini;
begin
with djqxform do
begin
acc:='';
hdno.text:='';
yj.text:='';
end;
end;
procedure Tdjqxform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=112 then
begin
if xt=0 then help(2);
end;
if key=13 then
selectnext(activecontrol,true,true);
if key=27 then
djqxform.close;
end;
procedure Tdjqxform.FormCreate(Sender: TObject);
begin
formini;
end;
procedure Tdjqxform.Button2Click(Sender: TObject);
begin
djqxform.Close;
end;
procedure Tdjqxform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
s1.Free;
q1.free;
end;
procedure Tdjqxform.Button1Click(Sender: TObject);
var
val:string;
begin
if length(trim(hdno.text))=0 then
begin
showmessage('手号不能为空');
hdno.setfocus;
exit;
end;
if messagedlg('真的撤消吗?',mtWarning,[mbYes, mbNo], 0) = mrYes then
begin
s1.Prepare;
s1.ParamByName ('@iaccno').asstring:=trim(acc);
s1.ParamByName ('@czy').asstring:=trim(czy.Text);
s1.ParamByName ('@bz').Asstring:=trim(Memo1.Text);
s1.ExecProc ;
val:=s1.ParamByName ('@ostatus').asstring;
if val='1' then
showmessage('已有消费,不能撤消');
{ if val='2' then
showmessage('已经换房,不能撤消'); }
if val='0' then
begin
addlogo(curper.code,datetimetostr(now),trim(acc)+'撤消'+trim(hdno.text));
showmessage('撤消成功');
end;
Memo1.Text:='';
q1.Active :=false;
formini;
hdno.SetFocus ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -