⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 control_tableu.pas

📁 快餐店管理系统 很好的参考材料 谢谢您的合作
💻 PAS
字号:
unit Control_tableU;
interface
uses DAHelper,ClassesU,ADODB,SysUtils;
//添加菜或酒水信息
function AddTableDetail(TableDetail:TTableDetail):boolean;
//修改菜或酒水信息
function EditTableDetail(TableDetail:TTableDetail):boolean;
//删除菜或酒水信息
function DelTableDetail(TableDetailID:integer):boolean;
//得到开桌信息集
function GetTableArray:TADOQuery;
//查找开桌的详细信息
function GetTableDetailByTableID(tableID:integer):TADOQuery;
//开单
function AddTable(tableNo:integer):boolean;
//结帐,输入桌号和其它费用,所有费用
function EndTable(tableNo:integer;otherFee,allFee:real):boolean;
//某一桌的当前状态,结果是已结帐和未结帐
function TableState(TableNo:integer):string;
//得到某一类型的桌位信息
function GetTableByState(TableState:string):TADOQuery;
implementation
function GetTableByState(TableState:string):TADOQuery;
var
  sql:string;
begin
  if TableState='全部' then
    begin
      result:=GetTableArray;
      exit;
    end;
  if TableState='未结帐' then
      sql:='select id,桌号,开单时间,结帐时间,其它费用,实际收费金额 '+
           ' from 开单信息 where 结帐时间 is null order by 开单时间 desc';
  if TableState='已结帐' then
      sql:='select id,桌号,开单时间,结帐时间,其它费用,实际收费金额 '+
           ' from 开单信息 where 结帐时间 is not null order by 开单时间 desc';
  result:=DAHelper.ExeSqlQuery(sql);
end;
function TableState(TableNo:integer):string;
var
  sql:string;
  Query:TADOQuery;
begin
  sql:='select count(*) from 开单信息 where 结帐时间 is null and 桌号='+
       inttostr(TableNo);
  Query:=TADOQuery.Create(nil);
  Query:=DAHelper.ExeSqlQuery(sql);
  if Query.Fields[0].Value<1 then
    begin
      result:='已结帐';
    end
  else
    begin
      result:='未结帐';
    end;
  Query:=nil;
end;
function EndTable(tableNo:integer;otherFee,allFee:real):boolean;
var
  sql:string;
begin
  sql:='update 开单信息 set 结帐时间=getDate(),其它费用='+
       floatToStr(otherFee)+',实际收费金额='+floatToStr(allFee)+
       ' where 桌号='+inttostr(tableNo)+' and 结帐时间 is null';
  result:=DAHelper.ExeSqlNoQuery(sql);
end;
function AddTable(tableNo:integer):boolean;
var
  sql:string;
begin
  sql:='insert into 开单信息(桌号,开单时间)'+
       ' values('+inttostr(tableNo)+','+'getDate())';
  result:=DAHelper.ExeSqlNoQuery(sql);
end;
//查找开桌的详细信息
function GetTableDetailByTableID(tableID:integer):TADOQuery;
var
  sql:string;
begin
  sql:='select id,开单id,菜酒名,份数,单价,'+
       'CASE 菜或酒 WHEN '+''''+'0'+''''+
       ' THEN '+''''+'菜'+''''+' ELSE '+''''+'酒'+''''+
       ' END AS 菜或酒  from 点菜明细'+
       ' where 开单ID='+inttostr(tableID) ;
  result:=DAHelper.ExeSqlQuery(sql);
end;
function GetTableArray:TADOQuery;
var
  sql:string;
begin
  sql:='select id,桌号,开单时间,结帐时间,其它费用,实际收费金额 from 开单信息 order by 开单时间 desc';
  result:=DAHelper.ExeSqlQuery(sql);
end;
function DelTableDetail(TableDetailID:integer):boolean;
var
  sql:string;
begin
  sql:='delete from 点菜明细 where id='+inttostr(TableDetailID);
  result:=DAHelper.ExeSqlNoQuery(sql);
end;
function EditTableDetail(TableDetail:TTableDetail):boolean;
var
  sql:string;
begin
  sql:='update 点菜明细 set 开单id='+inttostr(TableDetail.tableID)+
       ',菜酒名='+''''+TableDetail.DishesOrDrinkName+''''+
       ',份数='+inttostr(TableDetail.num)+
       ',单价='+floattostr(TableDetail.price)+
       ',菜或酒='+''''+TableDetail.DishesOrDrink+''''+
       ' where id='+inttostr(TableDetail.id);
  result:=DAHelper.ExeSqlNoQuery(sql);
end;
function AddTableDetail(TableDetail:TTableDetail):boolean;
var
  sql:string;
begin
  sql:='insert into 点菜明细(开单id,菜酒名,份数,单价,菜或酒'+
       ')'+' values('+inttostr(TableDetail.tableID)+
       ','+''''+TableDetail.DishesOrDrinkName+''''+
       ','+inttostr(TableDetail.num)+
       ','+floattostr(TableDetail.price)+
       ','+''''+TableDetail.DishesOrDrink+''''+ ')';
  result:=DAHelper.ExeSqlNoQuery(sql);
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -