📄 luodan.pas
字号:
unit luodan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons, DBCtrls, DB, ADODB, Menus;
type
TFrmluodan = class(TForm)
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label1: TLabel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
DBGrid1: TDBGrid;
Btnluodan: TSpeedButton;
BtnClose: TSpeedButton;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
QueryMaster: TADOQuery;
QueryDetail: TADOQuery;
QueryMastDataSource: TDataSource;
QueryDetailDataSource: TDataSource;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
SumQuery: TADOQuery;
procedure FormShow(Sender: TObject);
procedure QueryDetailAfterOpen(DataSet: TDataSet);
procedure DBGrid1CellClick(Column: TColumn);
procedure BtnluodanClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Popupmenuclick(Sender:Tobject);
private
{ Private declarations }
public
{ Public declarations }
deskid:integer;
end;
var
Frmluodan: TFrmluodan;
implementation
uses dbmodule,opratecomand,changprice;
{$R *.dfm}
procedure TFrmluodan.Popupmenuclick(Sender:Tobject);
var
inputString:String;
begin
case (Sender as TMenuItem).Tag of
1: //删除所选
begin
if application.MessageBox('你确定删除所选菜品吗?','提示',MB_OKCANCEL)=idok then
begin
if QueryDetail.Active then
begin
if not QueryDetail.Eof then
begin
if (QueryDetail.RecordCount>1) then
begin
//QueryDetail.Edit;
QueryDetail.DeleteRecords(arCurrent);
//QueryDetail.Post;
dm.SaveWorkLog(now(),dm.opratename,'操作落单时,删除菜品。');
end
else
begin
application.MessageBox('不能删除,只能退单。','提示',mb_ok);
exit;
end;
end;
end;
end;
end;
2: //菜品调价
begin
InputString:= InputPassBox('确认框', '请输入调价密码:');
if trim(InputString)<>'' then
begin
if dm.QueryPass.Active then
dm.QueryPass.Close;
dm.QueryPass.SQL.Clear;
dm.QueryPass.SQL.Add('select changpass from Q_pricepass where changpass='+''''+InputString+'''');
dm.QueryPass.Open ;
if dm.QueryPass.Eof then
begin
MessageDlg('调价密码不正确!',mtError,[mbok],0);
exit;
end;
if not dm.QueryPass.Eof then
begin
if trim(dm.QueryPass.FieldByName('changpass').AsString)=InputString then
begin
if not Assigned(Frmchangprice) then
Application.CreateForm(TFrmchangprice,Frmchangprice);
FrmChangPrice.oldprice.Text:=FormatCurr('#0.00',QueryDetail.FieldByName('caipinprice').AsCurrency);
FrmChangPrice.ShowModal;
if FrmChangPrice.isok then
begin
if QueryDetail.Active then
begin
if not QueryDetail.IsEmpty then
begin
QueryDetail.Edit;
QueryDetail.FieldByName('caipinprice').AsFloat:=FrmChangPrice.caipinprice;
QueryDetail.FieldByName('dianliexing').AsString:=FrmChangPrice.caipinleipie;
QueryDetail.Post;
dm.SaveWorkLog(now(),dm.opratename,'操作落单时,对菜品调价。');
end;
end;
end;
end
else
begin
MessageDlg('调价密码不正确!',mtError,[mbok],0);
exit;
end;
end;
end;
end;
end;
end;
procedure TFrmluodan.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]);
end;
if QueryMaster.Active then
QueryMaster.Close ;
QueryMaster.SQL.Clear ;
QueryMaster.SQL.Add('select distinct zhanghao,chuanbiaohao from Q_customertemp where zhanghao='+''''+dm.Qfangtai.FieldValues['zhanghao']+'''');
QueryMaster.Open;
if not QueryMaster.Eof 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='+''''+QueryMaster.FieldValues['zhanghao']+''''+' and chuanbiaohao='+''''+QueryMaster.FieldValues['chuanbiaohao']+'''');
QueryDetail.Open;
end;
end;
procedure TFrmluodan.QueryDetailAfterOpen(DataSet: TDataSet);
begin
dm.UpdateFieldFormats(DataSet);
end;
procedure TFrmluodan.DBGrid1CellClick(Column: TColumn);
begin
if QueryMaster.Active 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='+''''+QueryMaster.FieldValues['zhanghao']+''''+' and chuanbiaohao='+''''+QueryMaster.FieldValues['chuanbiaohao']+'''');
QueryDetail.Open;
end;
end;
procedure TFrmluodan.BtnluodanClick(Sender: TObject);
begin
if not dm.Qfangtai.Active then
dm.Qfangtai.Open ;
if dm.Qfangtai.Active then
begin
dm.Qfangtai.Locate('fangtaiid',deskid,[loCaseInsensitive]);
dm.Qfangtai.Edit;
dm.Qfangtai.FieldByName('statusid').AsInteger:=4;
if sumquery.Active then
sumquery.Close;
sumquery.SQL.Clear;
sumquery.SQL.Add('SELECT sum(caipincount*caipinprice) as summoney FROM Q_customertemp');
sumquery.SQL.Add('where zhanghao='+''''+dm.Qfangtai.FieldValues['zhanghao']+'''');
sumquery.Open;
dm.Qfangtai.FieldByName('Gustmoney').AsFloat:=sumquery.FieldValues['summoney'];
sumquery.Close;
dm.Qfangtai.Post;
dm.SaveWorkLog(now(),dm.opratename,'落单操作完成。');
self.Close;
end;
end;
procedure TFrmluodan.BtnCloseClick(Sender: TObject);
begin
self.Close;
end;
procedure TFrmluodan.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if QueryMaster.Active then
QueryMaster.Close ;
if QueryDetail.Active then
QueryDetail.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -