📄 mc_gzfrom.~pas
字号:
GZDCBorse.Query1.ParamByName('A').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query1.Open;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select * From 员工信息表');
GZDCBorse.Query2.SQL.Add('Where 员工编号 = :A');
GZDCBorse.Query2.ParamByName('A').AsInteger:=GZDCBorse.Query1.FieldbyName('服务员编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label24.Caption:=GZDCBorse.Query2.FieldByName('员工编号').AsString;
GZDCBorse.Label26.Caption:=GZDCBorse.Query2.FieldByName('姓名').AsString;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select * From 房间台号信息表');
GZDCBorse.Query2.SQL.Add('Where 编号 in (Select DisTinCt 房间台号 From 挂帐临时点单表');
GZDCBorse.Query2.SQL.Add('where 结帐编号 = :A)');
GZDCBorse.Query2.ParambyName('A').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label4.Caption:=GZDCBorse.Query2.FieldByName('编号').AsString;
GZDCBorse.Label8.Caption:=GZDCBorse.Query2.FieldByName('类型说明').AsString;
GZDCBorse.Label6.Caption:=GZDCBorse.Query2.FieldByName('房台名称').AsString;
GZDCBorse.Label10.Caption:=GZDCBorse.Query2.FieldByName('餐饮部门').AsString;
GZDCBorse.Label12.Caption:=GZDCBorse.Query2.FieldByName('服务费').AsString;
GZDCBorse.Label14.Caption:=GZDCBorse.Query2.FieldByName('简要说明').AsString;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select Sum(数量) From 挂帐临时点单表');
GZDCBorse.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
GZDCBorse.Query2.ParamByName('A').AsString:='点单';
GZDCBorse.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label16.Caption:=GZDCBorse.Query2.Fields[0].AsString;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select Sum(数量) From 挂帐临时点单表');
GZDCBorse.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
GZDCBorse.Query2.ParamByName('A').AsString:='赠单';
GZDCBorse.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label18.Caption:=GZDCBorse.Query2.Fields[0].AsString;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select Sum(合计) From 挂帐临时点单表');
GZDCBorse.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
GZDCBorse.Query2.ParamByName('A').AsString:='点单';
GZDCBorse.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label20.Caption:=GZDCBorse.Query2.Fields[0].AsString;
//-----------------------------------------------------------------
GZDCBorse.Query2.Close;
GZDCBorse.Query2.SQL.Clear;
GZDCBorse.Query2.SQL.Add('Select Sum(合计) From 挂帐临时点单表');
GZDCBorse.Query2.SQL.Add('Where 状态 = :A and 结帐编号 = :B');
GZDCBorse.Query2.ParamByName('A').AsString:='赠单';
GZDCBorse.Query2.ParamByName('B').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
GZDCBorse.Query2.Open;
GZDCBorse.Label22.Caption:=GZDCBorse.Query2.Fields[0].AsString;
//-----------------------------------------------------------------
//GZDCBorse.Label2.Caption:=FloatToStr(StrToFloat(GZDCBorse.Label12.Caption)+StrtoFloat(GZDCBorse.Label20.Caption));
if Length(GZDCBorse.Label12.Caption)=0 then GZDCBorse.Label2.Caption:=GZDCBorse.Label20.Caption
else
if Length(GZDCBorse.Label20.Caption)=0 then GZDCBorse.Label2.Caption:=GZDCBorse.Label12.Caption
else
GZDCBorse.Label2.Caption:=FloatToStr(StrToFloat(GZDCBorse.Label12.Caption)+StrtoFloat(GZDCBorse.Label20.Caption));
//-----------------------------------------------------------------
GZDCBorse.Label28.Caption:=Query1.FieldByName('单据编号').AsString;
GZDCBorse.Query2.Close;
GZDCBorse.ShowModal;
end;
end;
procedure TGZFrom.BitBtn4Click(Sender: TObject);
begin
if Query1.Active=True then
if Query1.RecordCount<>0 then
if MessageDlg('确认['+Query1.FieldByName('挂帐人').AsString+']要归还挂帐金额('
+Query1.FieldByName('挂帐金额').AsString+')元吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
begin
Query1.Edit;
Query1.FieldByName('是否还帐').AsString:='是';
Query1.FieldByName('还帐时间').AsDateTime:=Date+Time;
Query1.Post;
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Insert 挂帐历史表(单据编号,挂帐时间,还帐时间,挂帐人,经手人,挂帐原因,挂帐金额,是否还帐)');
Query3.SQL.Add('Select 单据编号,挂帐时间,还帐时间,挂帐人,经手人,挂帐原因,挂帐金额,是否还帐');
Query3.SQL.Add('From 挂帐表');
Query3.SQL.Add('Where 是否还帐=:A');
Query3.ParamByName('A').AsString:='是';
Query3.ExecSQL;
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Insert 挂帐点单表(房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单)');
Query3.SQL.Add('Select 房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单');
Query3.SQL.Add('From 挂帐临时点单表');
Query3.SQL.Add('Where 结帐编号=:A');
Query3.ParamByName('A').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
Query3.ExecSQL;
//-----------------------------------------------------------------
Query3.CLose;
Query3.SQL.Clear;
Query3.SQL.Add('Delete 挂帐临时点单表 Where 结帐编号=:A');
Query3.ParamByName('A').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
Query3.ExecSQL;
//-----------------------------------------------------------------
Query1.Delete;
Label6.Caption:=IntToStr(Query1.RecordCount);
if Query2.Active=True then
begin
Query2.Close;
Query2.Open;
Label7.Caption:=Query2.Fields[0].AsString;
end;
ShowMessage('归还成功!!');
end;
end;
procedure TGZFrom.BitBtn5Click(Sender: TObject);
begin
if Query1.Active=True then
if Query1.RecordCount<>0 then
if MessageDlg('确认['+Query1.FieldByName('挂帐人').AsString+']要归还全部挂帐金额('
+Label7.Caption+')元吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
begin
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('update 挂帐表 Set 是否还帐=:A,还帐时间=:C Where 挂帐人=:B ');
//------后加的-----------------------------------------------------
Query3.SQL.Add('and 挂帐时间>:F and 挂帐时间<:H');
Query3.ParamByName('F').AsDateTime:=D;//挂帐时间上限
Query3.ParamByName('H').AsDateTime:=A;//挂帐时间下限
//--所定挂账时间---------------------------------------------------
Query3.ParamByName('A').AsString:='是';
Query3.ParamByName('C').AsDateTime:=Date+Time;
Query3.ParamByName('B').AsString:=Query1.FieldByName('挂帐人').AsString;
Query3.ExecSQL;
//-----------------------------------------------------------------
//Query1.Refresh;
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Insert 挂帐历史表(单据编号,挂帐时间,还帐时间,挂帐人,经手人,挂帐原因,挂帐金额,是否还帐)');
Query3.SQL.Add('Select 单据编号,挂帐时间,还帐时间,挂帐人,经手人,挂帐原因,挂帐金额,是否还帐');
Query3.SQL.Add('From 挂帐表');
Query3.SQL.Add('Where 是否还帐=:A');
Query3.ParamByName('A').AsString:='是';
Query3.ExecSQL;
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Insert 挂帐点单表(房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单)');
Query3.SQL.Add('Select 房间台号,类别,编号,名称,类型,单位,数量,价格,合计,服务员编号,服务员姓名,状态,点单日期,结单日期,结帐编号,是否结单');
Query3.SQL.Add('From 挂帐临时点单表');
Query3.SQL.Add('Where 结帐编号=:A');
Query3.ParamByName('A').AsInteger:=Query1.FieldByName('单据编号').AsInteger;
Query3.ExecSQL;
//-----------------------------------------------------------------
Query3.CLose;
Query3.SQL.Clear;
Query3.SQL.Add('Delete 挂帐临时点单表 ');
Query3.SQL.Add('Where 结帐编号 in (Select 单据编号 From 挂帐表 where 挂帐人=:A and 挂帐时间>:B and 挂帐时间<:C)');
Query3.ParamByName('A').AsString:=E;
Query3.ParamByName('B').AsDateTime:=D;
Query3.ParamByName('C').AsDateTime:=A;
Query3.ExecSQL;
//-----------------------------------------------------------------
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Delete 挂帐表 Where 挂帐人=:A and 挂帐时间>:B and 挂帐时间<:C');
Query3.ParamByName('A').AsString:=E;
Query3.ParamByName('B').AsDateTime:=D;
Query3.ParamByName('C').AsDateTime:=A;
Query3.ExecSQL;
//-----------------------------------------------------------------
Label6.Caption:='0';
Label7.Caption:='0';
Query2.Close;
Query1.Close;
ShowMessage('全部归还成功!!');
end;
end;
procedure TGZFrom.QuickRep1Preview(Sender: TObject);
begin
DYYLBrose.QrPreview1.QRPrinter:=QuickRep1.QRPrinter;
end;
procedure TGZFrom.BitBtn3Click(Sender: TObject);
begin
if Query1.Active=True then
if Query1.Recordcount<>0 then
begin
DYYLBrose.Show;
QuickRep1.Preview;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -