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

📄 tuidan.pas

📁 小管理程序主要管理的小咖啡厅我是从网上下的经测试可用
💻 PAS
字号:
unit tuidan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, Buttons, DBCtrls,db, ADODB;

type
  TFrmtuidan = class(TForm)
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    BtnTuiDan: TSpeedButton;
    BtnClose: TSpeedButton;
    DBGrid2: TDBGrid;
    DataList: TListView;
    DBText1: TDBText;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText4: TDBText;
    QueryMaster: TADOQuery;
    QueryDetail: TADOQuery;
    QueryDetailDataSource: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure CreateList(zhanghao:string);
    procedure DataListClick(Sender: TObject);
    procedure QueryDetailAfterOpen(DataSet: TDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BtnTuiDanClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    deskid:integer;
  end;

var
  Frmtuidan: TFrmtuidan;

implementation
  uses dbmodule;
{$R *.dfm}

procedure TFrmtuidan.CreateList(zhanghao:string);
var
  mylist:Tlistitem;
begin
  Datalist.Items.Clear;
  if QueryMaster.Active then
     QueryMaster.Close;
  QueryMaster.SQL.Clear;
  QueryMaster.SQL.Add('select distinct chuanbiaohao from Q_customertemp where zhanghao='+''''+zhanghao+'''');
  QueryMaster.Open;
  while not QueryMaster.Eof do
    begin
      mylist:=DataList.Items.Add;
      mylist.SubItems.Add(QueryMaster.FieldValues['chuanbiaohao']);
      QueryMaster.Next;
    end;
  QueryMaster.Close;
end;
procedure TFrmtuidan.FormShow(Sender: TObject);
begin
  if not dm.Qfangtai.Active then
     dm.Qfangtai.Open ;
  if dm.Qfangtai.Active then
    begin
      dm.Qfangtai.Locate('fangtaiid',deskid,[loCaseInsensitive]);
      CreateList(dm.Qfangtai.FieldValues['zhanghao']);
    end;
end;

procedure TFrmtuidan.DataListClick(Sender: TObject);
begin
if DataList.SelCount>0 then
  begin
    if QueryDetail.Active then
        QueryDetail.Close;
    QueryDetail.SQL.Clear;
    QueryDetail.SQL.Add('select id,Caipinid,caipinname,caipincount,caipinunit,caipinprice,dianliexing,caipinprice*caipincount as heji from Q_customertemp');
    QueryDetail.SQL.Add(' where zhanghao='+''''+dm.Qfangtai.FieldValues['zhanghao']+''''+' and chuanbiaohao='+''''+DataList.Selected.SubItems[0]+'''');
    QueryDetail.Open;
  end;
end;

procedure TFrmtuidan.QueryDetailAfterOpen(DataSet: TDataSet);
begin
  dm.UpdateFieldFormats(dataset);
end;

procedure TFrmtuidan.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if QueryDetail.Active then
      QueryDetail.Close;
end;

procedure TFrmtuidan.BtnTuiDanClick(Sender: TObject);
var
  i:integer;
  chuanbiao:string;
  delcount:integer;
begin
 delcount:=0;
 if application.MessageBox('你确定进行退单操作吗?','提示',mb_okcancel)=IDCANCEL then
   exit;
 for i:=0 to DataList.Items.Count -1 do
  begin
   if DataList.Items[i].Checked then
     begin
       chuanbiao:=DataList.Items[i].SubItems[0];
       if QueryDetail.Active then
         QueryDetail.Close;
       QueryDetail.SQL.Clear;
       QueryDetail.SQL.Add('select caipinname,caipincount,caipinunit,caipinprice,dianliexing from Q_customertemp');
       QueryDetail.SQL.Add(' where zhanghao='+''''+dm.Qfangtai.FieldValues['zhanghao']+''''+' and chuanbiaohao='+''''+chuanbiao+'''');
       QueryDetail.Open;
       if dm.ChuanBiaoQuery.Active then
         dm.ChuanBiaoQuery.Close;
       dm.ChuanBiaoQuery.SQL.Clear;
       dm.ChuanBiaoQuery.SQL.Add('select * from Q_tuidan where chuanbiaohao='+''''+chuanbiao+'''');
       dm.ChuanBiaoQuery.Open;
       while not QueryDetail.Eof do
         begin
            dm.ChuanBiaoQuery.Append;
            dm.ChuanBiaoQuery.FieldByName('chuanbiaohao').AsString:=chuanbiao;
            dm.ChuanBiaoQuery.FieldByName('caipinname').AsString:=QueryDetail.FieldValues['caipinname'];
            dm.ChuanBiaoQuery.FieldByName('caipincount').AsInteger:=QueryDetail.FieldValues['caipincount'];
            dm.ChuanBiaoQuery.FieldByName('caipinprice').AsCurrency:=QueryDetail.FieldValues['caipinprice'];
            dm.ChuanBiaoQuery.FieldByName('caipinlei').AsString :=QueryDetail.FieldValues['dianliexing'];
            dm.ChuanBiaoQuery.FieldByName('caipinunit').AsString :=QueryDetail.FieldValues['caipinunit'];
            dm.ChuanBiaoQuery.FieldByName('opratename').AsString:=dm.opratename;
            dm.ChuanBiaoQuery.FieldByName('opratedate').AsDateTime:=now();
            dm.ChuanBiaoQuery.Post;
           QueryDetail.Next;
         end;
       dm.ChuanBiaoQuery.Close;
       QueryDetail.Close;
       QueryDetail.SQL.Clear;
       QueryDetail.SQL.Add('delete from Q_customertemp where zhanghao='+''''+dm.Qfangtai.FieldValues['zhanghao']+''''+' and chuanbiaohao='+''''+chuanbiao+'''');
       dm.conn.BeginTrans;
       QueryDetail.ExecSQL;
       dm.conn.CommitTrans;
       QueryDetail.Close;
       delcount:=delcount+1;
     end;
  end;//for 循环结束;
 if (delcount=DataList.Items.Count) and (delcount>0) then    //如果将所有菜品退单,则房台状态为开桌。
   begin
    if dm.Qfangtai.Active then
     begin
      dm.Qfangtai.Edit;
      dm.Qfangtai.FieldByName('statusid').AsInteger:=1;
      dm.Qfangtai.Post;
     end;
   end;
 if QueryDetail.Active then
  QueryDetail.Close;
 CreateList(dm.Qfangtai.FieldValues['zhanghao']);
 dm.SaveWorkLog(now(),dm.opratename,'退单操作完成。');
 application.MessageBox('退单已完成。','提示',mb_ok)
end;

procedure TFrmtuidan.BtnCloseClick(Sender: TObject);
begin
  self.Close;
end;

end.

⌨️ 快捷键说明

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