ctydsz.pas

来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 285 行

PAS
285
字号
unit ctydsz;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ImgList, jpeg, ExtCtrls, DB, DBTables,
  Grids, DBGrids, ADODB;

type
  TctydForm = class(TForm)
    TreeView1: TTreeView;
    Label1: TLabel;
    Label2: TLabel;
    ListView1: TListView;
    ImageList1: TImageList;
    Bevel1: TBevel;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Image4: TImage;
    Label7: TLabel;
    Image5: TImage;
    Query2: TQuery;
    DataSource1: TDataSource;
    Query3: TQuery;
    Query2id: TIntegerField;
    Query2ctbh: TStringField;
    Query2ctmc: TStringField;
    Query4: TQuery;
    Query1: TADOQuery;
    Query1id: TAutoIncField;
    Query1ctbh: TStringField;
    Query1ctmc: TStringField;
    Query1twbh: TStringField;
    Query1twmc: TStringField;
    Query1twrs: TIntegerField;
    Query1twfwf: TBCDField;
    Query1twcwf: TBCDField;
    Query1twzt: TStringField;
    Timer1: TTimer;
    ADOQuery1: TADOQuery;
    ADOQuery1ID: TAutoIncField;
    ADOQuery1rq: TDateTimeField;
    ADOQuery1ct: TStringField;
    ADOQuery1th: TStringField;
    ADOQuery1qssj: TDateTimeField;
    ADOQuery1zzsj: TDateTimeField;
    ADOQuery1rs: TIntegerField;
    ADOQuery1yq: TStringField;
    ADOQuery1jbr: TStringField;
    ADOQuery1ydr: TStringField;
    ADOQuery1ydsj: TDateTimeField;
    ADOQuery1lxfs: TStringField;
    ADOQuery1bz: TStringField;
    ADOQuery1zxbz: TBooleanField;
    procedure FormActivate(Sender: TObject);
    procedure treeview1det;
    procedure listview1det;
    procedure TreeView1Click(Sender: TObject);
    procedure Query1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
    procedure Label3Click(Sender: TObject);
    procedure Label6Click(Sender: TObject);
    procedure Label4Click(Sender: TObject);
    procedure Label5Click(Sender: TObject);
    procedure Label7Click(Sender: TObject);
    procedure ListView1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    twzt:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ctydForm: TctydForm;

implementation
uses pass,rjsmain, cyyd;
{$R *.dfm}

procedure TctydForm.FormActivate(Sender: TObject);
var ii,jj:integer;
    st,sst:string;
    tt:TTreeNode;
begin
    query3.Close;
    query3.SQL.Clear;
    query3.SQL.Add('select * from taiwei ');
    query2.Close;
    query2.SQL.Clear;
    query2.SQL.Add('select * from canting ');
    sst:=trim(pass.twbh);
    for jj:=1 to 10 do
    begin
      ii:=pos(';',sst);
      st:=copy(sst,1,ii-1);
      if sst='' then break
      else begin
        if jj=1 then
        begin
         query3.SQL.Add('where twbh=:cs'+inttostr(jj));
         query3.ParamByName('cs'+inttostr(jj)).AsString:=st;
        end
        else
        begin
         query3.SQL.Add('or twbh=:cs'+inttostr(jj));
         query3.ParamByName('cs'+inttostr(jj)).AsString:=st;
        end;
        sst:=copy(sst,ii+1,length(sst));
      end;
    end;
    query3.Open;
    jj:=1;
    while not query3.Eof do
    begin
        if jj=1 then
        begin
         query2.SQL.Add('where ctbh=:cs'+inttostr(jj));
         query2.ParamByName('cs'+inttostr(jj)).AsString:=query3.FieldByName('ctbm').AsString;
        end
        else
        begin
         query2.SQL.Add('where ctbh=:cs'+inttostr(jj));
         query2.ParamByName('cs'+inttostr(jj)).AsString:=query3.FieldByName('ctbm').AsString;
        end;
        jj:=jj+1;
        query3.Next;
    end;
    query3.Close;
    treeview1.Items.Clear;
    tt:=treeview1.TopItem;
    query2.Open;
    while not query2.Eof do
    begin
      treeview1.Items.Add(tt,query2ctmc.asstring);
      tt:=treeview1.Selected;
      query2.Next;
    end;
    query2.first;
    treeview1det;
    adoquery1.Parameters[0].Value:=date;
    adoquery1.Open;
    timer1.Enabled:=true;
end;

procedure TctydForm.treeview1det;
var ss:string;
begin
  if treeview1.Selected=nil then
  begin
    query1.Close;
    query1.SQL.Clear;
    query1.SQL.Add('select * from cantai order by ctbh,twbh');
    query1.Open;
    listview1det;
    exit;
  end;
  ss:=treeview1.Selected.Text;
  query2.Locate('ctmc',ss,[]);
  query1.Close;
  query1.SQL.Clear;
  query1.SQL.Add('select * from cantai where ctbh=:ctbh');
  query1.Parameters[0].Value:=query2ctbh.AsString;
  query1.Open;
  listview1det;
end;

procedure TctydForm.listview1det;
var ii:integer;
begin
    listview1.Items.Clear;
    ii:=0;
    query1.First;
    while not query1.Eof do
    begin
       listview1.Items.Add;
       listview1.Items[ii].Caption:=query1twmc.asstring;
       if query1twzt.AsString='K' then listview1.Items[ii].ImageIndex:=0
       else if query1twzt.AsString='Y' then listview1.Items[ii].ImageIndex:=1
       else listview1.Items[ii].ImageIndex:=2;
       ii:=ii+1;
       query1.Next;
    end;
end;

procedure TctydForm.TreeView1Click(Sender: TObject);
begin
     treeview1det;
end;

procedure TctydForm.Query1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
     accept:=dataset.FieldByName('twzt').AsString=twzt;
end;

procedure TctydForm.Label3Click(Sender: TObject);
begin
     twzt:='K';
     query1.Filtered:=false;
     query1.Filtered:=true;
     listview1det;
end;

procedure TctydForm.Label6Click(Sender: TObject);
begin
     twzt:='';
     query1.Filtered:=false;
     listview1det;
end;

procedure TctydForm.Label4Click(Sender: TObject);
begin
     twzt:='Y';
     query1.Filtered:=false;
     query1.Filtered:=true;
     listview1det;
end;

procedure TctydForm.Label5Click(Sender: TObject);
begin
     twzt:='Z';
     query1.Filtered:=false;
     query1.Filtered:=true;
     listview1det;
end;

procedure TctydForm.Label7Click(Sender: TObject);
begin
     listview1det;
end;

procedure TctydForm.ListView1Click(Sender: TObject);
begin
     if listview1.Selected=nil then exit;
     query1.Locate('twmc',listview1.Selected.Caption,[]);
//     if query1twzt.AsString='K' then
//     begin
       cyydform:=Tcyydform.Create(Self);
       cyyd.func:='';
       cyydform.showmodal;
       cyydform.Free;
       listview1det;
//     end;
end;

procedure TctydForm.Timer1Timer(Sender: TObject);
var tt:Ttime;
begin
    tt:=time -10;
    if (adoquery1qssj.AsDateTime>=date+tt) and (date+time<=adoquery1zzsj.AsDateTime) then
    begin
      tt:=date+time - adoquery1qssj.AsDateTime;
      query1.Locate('twbh',adoquery1th.AsString,[]);
      if query1twzt.AsString='Y' then exit
      else if query1twzt.AsString='K' then
      begin
        query1.Edit;
        query1twzt.AsString:='Y';
      end
      else if query1twzt.AsString='Z' then
      begin
        showmessage(query1ctmc.AsString+' 厅 '+query1twmc.AsString+' 台 预定时间还有'+timetostr(tt)+',请马上准备!');
      end;
    end;
end;

procedure TctydForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     timer1.Enabled:=false;
     query2.Close;
     query3.Close;
     query1.Close;
     adoquery1.Close;
end;

end.

⌨️ 快捷键说明

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