📄 jzdhz.pas
字号:
unit jzdhz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ExtCtrls, StdCtrls, Db, DBTables, Menus;
type
TjzdhzForm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
jzdh: TEdit;
Label1: TLabel;
Panel4: TPanel;
Splitter1: TSplitter;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
DBGrid1: TDBGrid;
Panel8: TPanel;
Label2: TLabel;
dhmx: TStringGrid;
Button2: TButton;
Label3: TLabel;
dhhj: TEdit;
Label4: TLabel;
Query1: TQuery;
Label5: TLabel;
Button3: TButton;
Query2: TQuery;
DataSource1: TDataSource;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure jzdhKeyPress(Sender: TObject; var Key: Char);
procedure dhmxDblClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
jzdhzForm: TjzdhzForm;
implementation
uses bfdhjzcx;
{$R *.DFM}
procedure delete(arow:integer;gd:Tstringgrid);
var
i,j:integer;
begin
with jzdhzForm do
begin
i:=arow;
while trim(gd.Cells[0,i])<>'' do
begin
for j:=0 to 11 do gd.Cells[j,i]:=gd.Cells[j,i+1];
i:=i+1;
end;
end;
end;
procedure qkgrid(gridd:tstringgrid);
var i,j:integer;
begin
with jzdhzForm do
begin
for i:=0 to Gridd.RowCount-1 do
for j:=0 to Gridd.colCount-1 do
gridd.Cells[j,i]:='';
end;
end;
procedure TjzdhzForm.FormShow(Sender: TObject);
begin
jzdh.Text:='';
jzdh.SetFocus;
dhhj.Text:='0';
qkgrid(dhmx);
dhmx.Cells[0,0]:='单号';
dhmx.Cells[1,0]:='标志';
end;
procedure TjzdhzForm.jzdhKeyPress(Sender: TObject; var Key: Char);
var i,j:integer;
begin
if ((key<'0')or(key>'9'))and (key<>#8) and (key<>#13) then key:=#0;
if (trim(jzdh.Text)<>'') and (key=#13) then
begin
if trim(jzdh.Text)<>'' then
begin
i:=1;
while trim(dhmx.Cells[0,i])<>'' do
begin
if trim(dhmx.Cells[0,i])=trim(jzdh.Text) then
begin
delete(i,dhmx);
end
else
begin
if dhmx.RowCount<=i then dhmx.RowCount:=dhmx.RowCount+1;
end;
i:=i+1;
end;
dhhj.Text:=inttostr(i);
dhmx.Cells[0,i]:=trim(jzdh.Text);
jzdh.Text:='';
jzdh.SetFocus;
end;
end;
end;
procedure TjzdhzForm.dhmxDblClick(Sender: TObject);
var i:integer;
begin
delete(dhmx.row,dhmx);
i:=1;
while trim(dhmx.Cells[0,i])<>'' do
i:=i+1;
dhhj.Text:=inttostr(i-1);
end;
procedure TjzdhzForm.Button2Click(Sender: TObject);
var i:integer;
begin
i:=1;
while trim(dhmx.Cells[0,i])<>'' do
begin
query1.Active:=false;
query1.SQL.Clear;
query1.SQL.Add('select * from lsnowin where djcode='''+trim(dhmx.Cells[0,i])+'''');
query1.Prepare;
query1.Open;
if query1.RecordCount=0 then dhmx.Cells[1,i]:='?' else dhmx.Cells[1,i]:='√';
dhmx.Cells[2,i]:=query1.fieldbyname('accno').asstring;
i:=i+1;
end;
end;
procedure TjzdhzForm.Button3Click(Sender: TObject);
var i,j:integer;tj:string;
begin
tj:='';
if trim(dhmx.Cells[0,1])='' then exit;
i:=1;
while trim(dhmx.Cells[0,i])<>'' do
begin
if dhmx.Cells[1,i]='?' then
begin
showmessage('第:'+inttostr(i)+'行,'+'单号为:'+trim(dhmx.Cells[0,i])+'有问题,请核对!');
Label5.Caption:='第:'+inttostr(i)+'行,'+'单号为:'+trim(dhmx.Cells[0,i])+'有问题';
exit;
end;
i:=i+1;
end;
j:=1;
while trim(dhmx.Cells[0,j])<>'' do
begin
if tj='' then tj:=trim(dhmx.Cells[2,j]) else
tj:=tj+','+trim(dhmx.Cells[2,j]);
j:=j+1;
end;
Query2.Active:=false;
Query2.SQL.Clear;
Query2.SQL.Add('select handno as 手号,accno 帐号,isnull(roommoney+rmcsmoney+sanmoney+sancsmoney,0) 房费,cusmoney 消费,jjmoney 加收,mmmoney 免收,ysmoney 实收合计,djqmoney 代金券,');
Query2.SQL.Add('ismf 免房费,ismxf 免消费,jztime 结帐时间,czy 操作员,(select name from mode where code=jzfs)as 结帐方式 from lsjz where accno in ('+tj+')');
Query2.SQL.Add(' union(select ''合计'',null,sum(isnull(roommoney+rmcsmoney+sanmoney+sancsmoney,0)),sum(cusmoney),sum(jjmoney),sum(mmmoney),sum(ysmoney),sum(djqmoney),null,null,null,null,null from lsjz where accno in ('+tj+'))');
Query2.Prepare;
Query2.Open;
Tbooleanfield(Query2.Fieldbyname('免房费')).displayvalues:='是;否';
Tbooleanfield(Query2.Fieldbyname('免消费')).displayvalues:='是;否';
end;
procedure TjzdhzForm.DBGrid1DblClick(Sender: TObject);
begin
Application.CreateForm(Tbfdhjzcxform, bfdhjzcxform);
bfdhjzcxform.showmodal;
bfdhjzcxform.free;
end;
procedure TjzdhzForm.N1Click(Sender: TObject);
begin
Application.CreateForm(Tbfdhjzcxform, bfdhjzcxform);
bfdhjzcxform.showmodal;
bfdhjzcxform.free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -