📄 ctbtj.pas
字号:
unit ctbtj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, Mask, StdCtrls, ComCtrls, ExtCtrls, Buttons;
type
TdbsrtjForm = class(TForm)
DataSource1: TDataSource;
Query1: TQuery;
GroupBox1: TGroupBox;
Panel1: TPanel;
Label1: TLabel;
rq: TDateTimePicker;
zao: TRadioButton;
wu: TRadioButton;
wan: TRadioButton;
qt: TRadioButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure rqChange(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dbsrtjForm: TdbsrtjForm;
implementation
uses dataproc;
{$R *.DFM}
procedure TdbsrtjForm.FormCreate(Sender: TObject);
var i:integer;
begin
// dbsrtjForm.Caption:=Caption+formatdatetime('yyyy-mm-dd hh:mm',now)+' 班次: '+curper.curbc+'班 楼层:'+lc+'层';
shortdateformat:='yyyy-mm-dd';
if time<strtotime('10:00') then
zao.Checked:=true;
if (time>strtotime('10:00')) and (time<=strtotime('16:00')) then
wu.Checked:=true;
if (time>strtotime('16:00')) then
wan.Checked:=true;
rq.DateTime:=now;
end;
procedure TdbsrtjForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.Active :=false;
Query1.sql.clear;
Query1.SQL.text:='delete from ctjz where code='''+'合计'+'''';
Query1.ExecSQL;
Query1.Active :=false;
Query1.sql.clear;
end;
procedure TdbsrtjForm.DBGrid2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then
begin
GroupBox1.Visible:=false;
dbgrid1.SetFocus;
end;
end;
procedure TdbsrtjForm.BitBtn1Click(Sender: TObject);
var i:integer; bc:string;
begin
if zao.Checked then
bc:=formatdatetime('yyyy-mm-dd',rq.DateTime)+':早';
if wu.Checked then
bc:=formatdatetime('yyyy-mm-dd',rq.DateTime)+':午';
if wan.Checked then
bc:=formatdatetime('yyyy-mm-dd',rq.DateTime)+':晚';
if qt.Checked then
bc:=formatdatetime('yyyy-mm-dd',rq.DateTime)+':全天';
Query1.Active :=false;
Query1.sql.clear;
DataSource1.DataSet:=nil;
Query1.SQL.text:='delete from ctjz where code='''+'合计'+'''';
Query1.ExecSQL;
Query1.Active :=false;
Query1.sql.clear;
Query1.SQL.add('insert into ctjz select ''合计'','''',sum(bjf),sum(cf),sum(fwf),sum(hj),100,sum(zke),sum(jm),sum(yf),0,0,0,''00'',0,'' '',0,'' '','''+curper.name+''','''+formatdatetime('yyyy-mm-dd',rq.DateTime)+''','''+bc+''' from ctjz where ');
if qt.Checked then
Query1.SQL.add(' endtime>='''+formatdatetime('yyyy-mm-dd',rq.DateTime)+''' and endtime<='''+formatdatetime('yyyy-mm-dd',rq.DateTime)+' 23:59:59'+'''')
else
Query1.SQL.add(' bc='''+bc+'''');
Query1.ExecSQL;
Query1.Active :=false;
Query1.sql.clear;
Query1.SQL.text:='select ctjz.code,accno,endTime,bjf,cf,fwf,hj,zkl,zke,jm,yf,mfwf,mbjf,mcf,(select name from sandb.dbo.mode where code=ctjz.JzFs),gzno,bkroom,czy from ctjz where ';
if qt.Checked then
Query1.SQL.add(' endtime>='''+formatdatetime('yyyy-mm-dd',rq.DateTime)+''' and endtime<='''+formatdatetime('yyyy-mm-dd',rq.DateTime)+' 23:59:59'+'''')
else
Query1.SQL.add(' bc='''+bc+'''');
Query1.Open;
Query1.Fields[1].visible:=false;
DataSource1.DataSet:=nil;
if not Query1.Eof then
begin
DataSource1.DataSet:=Query1;
chinesegrid(dbgrid1);
DBGrid1.fields[0].displaylabel:=' 单号';
DBGrid1.fields[1].displaylabel:='结帐时间';
// DBGrid1.fields[1].displaylabel:=' 桌号';
DBGrid1.fields[2].displaylabel:='包间费';
DBGrid1.fields[3].displaylabel:='餐费';
DBGrid1.fields[4].displaylabel:='服务费';
DBGrid1.fields[5].displaylabel:='合计';
DBGrid1.fields[6].displaylabel:='折扣率';
DBGrid1.fields[7].displaylabel:='折扣款';
DBGrid1.fields[8].displaylabel:='减免款';
DBGrid1.fields[9].displaylabel:='实收款';
DBGrid1.fields[10].displaylabel:='免服务费';
DBGrid1.fields[11].displaylabel:='免包间费';
DBGrid1.fields[12].displaylabel:='免餐费';
DBGrid1.fields[13].displaylabel:='结帐';
DBGrid1.fields[14].displaylabel:='挂帐帐号';
DBGrid1.fields[15].displaylabel:='挂帐房号';
DBGrid1.fields[16].displaylabel:='操作员';
dbgrid1.Columns[1].width:=100;
// dbgrid1.Columns[2].width:=80;
for i:=3 to 11 do dbgrid1.Columns[i].width:=50;
for i:=12 to 13 do dbgrid1.Columns[i].width:=40;
dbgrid1.Columns[14].width:=30;
// StatusBar1.Panels.Items[2].text:='F3 打印此统计表';
end;
end;
procedure TdbsrtjForm.rqChange(Sender: TObject);
begin
GroupBox1.Caption:='';
DataSource1.DataSet:=nil;
end;
procedure TdbsrtjForm.BitBtn2Click(Sender: TObject);
var ls:string;
begin
if (trim(Query1.Fields[0].asstring)<>'合计') then
begin
ls:=Query1.Fields[1].asstring;
GroupBox1.Caption:=ls+'号菜单消费明细';
Query1.Active :=false;
Query1.sql.clear;
Query1.SQL.text:='select cusname,CusPrice,CusNum,Money,IsXj,isMd,Isuse,lscustom.Iszk,sandb.dbo.mode.name,gzno,Regtime,Moditime,czy,fwy,Djcode from lscustom,sandb.dbo.mode,cusitem ';
Query1.SQL.Add('where sandb.dbo.mode.Code=lscustom.jzfs and lscustom.Cuscode=cusitem.Cuscode and accno='''+ls+'''');
Query1.Open;
// Query2.Fields[0].visible:=false;
if not Query1.Eof then
begin
DataSource1.DataSet:=Query1;
chinesegrid(dbgrid1);
DBGrid1.fields[3].displaylabel:='消费金额';
DBGrid1.fields[6].displaylabel:='上菜';
DBGrid1.fields[11].displaylabel:='结帐时间';
DBGrid1.fields[13].displaylabel:='服务员';
{ DBGrid2.fields[14].displaylabel:='结帐';
DBGrid2.fields[16].displaylabel:='挂帐手号'; }
dbgrid1.Columns[1].width:=50;
dbgrid1.Columns[2].width:=50;
dbgrid1.Columns[3].width:=50;
dbgrid1.Columns[8].width:=40;
// dbgrid1.Columns[2].width:=80;
{ for i:=3 to 10 do dbgrid1.Columns[i].width:=50;
for i:=11 to 13 do dbgrid1.Columns[i].width:=40;
dbgrid1.Columns[14].width:=30;}
// dbgrid2.SetFocus;
end;
end;
end;
procedure TdbsrtjForm.BitBtn4Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -