📄 uz_yhyd_xz.pas
字号:
unit uz_yhyd_xz;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, StdCtrls, Mask, Buttons, Grids, DBGrids, ExtCtrls,u_main,
DBLookup, ComCtrls, Db, DBTables;
type
Tz_yhyd_xz = class(TForm)
DBGrid1: TDBGrid;
qx: TBitBtn;
BitBtn1: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label15: TLabel;
Label16: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label13: TLabel;
SpeedButton4: TSpeedButton;
SpeedButton3: TSpeedButton;
yddh: TDBEdit;
yddw: TDBEdit;
lxr: TDBEdit;
lxdh: TDBEdit;
dz: TDBEdit;
krzs: TDBEdit;
ydzs: TDBEdit;
dj: TDBEdit;
kryq: TDBEdit;
yhbz: TDBEdit;
yhje: TDBEdit;
jzfs: TDBLookupCombo;
ydth: TDBEdit;
yddt: TComboBox;
yhrq: TDateTimePicker;
sjrs: TDBEdit;
xhrs: TDBEdit;
dzl: TDBEdit;
bz: TDBEdit;
fwfl: TDBEdit;
Label14: TLabel;
yhsj: TDateTimePicker;
Label22: TLabel;
y_jzfs: TTable;
y_jzfsJZFSH: TStringField;
y_jzfsJzfs: TStringField;
y_jzfsD_yn: TBooleanField;
dy_jzfs: TDataSource;
procedure FormShow(Sender: TObject);
procedure yddhExit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure qxClick(Sender: TObject);
procedure krzsChange(Sender: TObject);
procedure djChange(Sender: TObject);
procedure yhbzChange(Sender: TObject);
procedure sjrsChange(Sender: TObject);
procedure xhrsChange(Sender: TObject);
procedure dzlChange(Sender: TObject);
procedure fwflChange(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure yddtChange(Sender: TObject);
procedure yddwKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton3Click(Sender: TObject);
procedure ydthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton4Click(Sender: TObject);
procedure DBGrid1Enter(Sender: TObject);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1Exit(Sender: TObject);
procedure yhbzEnter(Sender: TObject);
procedure djEnter(Sender: TObject);
procedure dzlEnter(Sender: TObject);
procedure fwflEnter(Sender: TObject);
procedure krzsEnter(Sender: TObject);
procedure xhrsEnter(Sender: TObject);
procedure sjrsEnter(Sender: TObject);
procedure ydthChange(Sender: TObject);
procedure ydthKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
procedure yhydje;
function hn_bh:integer;
procedure dccz;
end;
var
z_yhyd_xz: Tz_yhyd_xz;
ys_krzs,ys_sjrs,ys_xhrs,ys_yhbz,ys_dj,ys_dzl,ys_fwfl:string;
implementation
uses uz_yhyd_xzt, uz_yhyd, uz_ckgl, ug_dc, ug_ckcx, uy_yyt_rt, uy_yyt;
{$R *.DFM}
procedure Tz_yhyd_xz.yhydje;
begin
//计算点菜金额
with main.query1 do
begin
sql.clear;
sql.add('select sum(hj) as je from yhydcd where yddh=:s_yddh');
ParamByName('s_yddh').asstring:=z_yhyd.yhyd.fieldbyname('yddh').asstring;
active:=false;
active:=true;
z_yhyd.yhyd.edit;
z_yhyd.yhyd.fieldbyname('yhje').value:=fieldbyname('je').ascurrency;
end;
end;
function Tz_yhyd_xz.hn_bh:integer;
var
h_bh:integer;
begin
with main.query1 do
begin
active:=false;
sql.Clear;
sql.add('select max(bh) as bh from yhydcd');
active:=true;
h_bh:=fieldbyname('bh').asinteger+1;
end;
hn_bh:=h_bh;
end;
procedure Tz_yhyd_xz.dccz;
begin
with z_yhyd.yhydcd do
begin
esc_enter:=0;
g_dc.showmodal;
if esc_enter=0 then exit;
edit;
fieldbyname('bh').value:=hn_bh;
fieldbyname('yddh').value:=trim(yddh.text);
fieldbyname('clh').value:=g_dc.q_dc.fieldbyname('clh').asstring;
fieldbyname('ch').value:=g_dc.q_dc.fieldbyname('ch').asstring;
fieldbyname('cm').value:=g_dc.q_dc.fieldbyname('mc').asstring;
fieldbyname('dj').value:=g_dc.q_dc.fieldbyname('dj').asfloat;
fieldbyname('sl').value:=1;
fieldbyname('dzl').value:=g_dc.q_dc.fieldbyname('dzl').asfloat;
fieldbyname('gg').value:=g_dc.q_dc.fieldbyname('gg').asstring;
fieldbyname('lbh').value:=g_dc.q_dc.fieldbyname('lbh').asstring;
post;
end;
end;
procedure Tz_yhyd_xz.FormShow(Sender: TObject);
var
i,ii:integer;
s_thts,s_yhsj:string;
begin
if y_n=1 then
begin
z_yhyd.yhyd.append;
caption:='宴会预定[新增]';
yhrq.Date:=date();
yhsj.time:=time();
yddt.Items.Clear;
yddh.enabled:=true;
yddt.text:='';
yddh.setfocus;
z_yhyd.yhydcd.Filter:='yddh='+'0000';
end
else
begin
z_yhyd.yhyd.edit;
caption:='宴会预定[修改]';
ydzs.setfocus;
yddt.Items.Clear;
s_thts:=z_yhyd.yhyd.fieldbyname('thts').asstring;
ii:=length(s_thts);
for i:=1 to ii do
begin
if i>ii/2 then break;
yddt.items.add(copy(s_thts,1,2));
s_thts:=copy(s_thts,3,length(s_thts))
end;
yddh.enabled:=false;
yhrq.date:=z_yhyd.yhyd.fieldbyname('yhrq').asdatetime;
s_yhsj:=z_yhyd.yhyd.fieldbyname('yhsj').asstring;
yhsj.time:=strtodatetime(copy(s_yhsj,1,2)+':'+copy(s_yhsj,4,5));
z_yhyd.yhydcd.filter:='yddh='+z_yhyd.yhyd.fieldbyname('yddh').asstring;
end;
end;
procedure Tz_yhyd_xz.yddhExit(Sender: TObject);
begin
s_sql:='select yddh from yhyd where yddh=:s_yddh';
if main.h_only(s_sql,'s_yddh',yddh.text)<>0 then
begin
messagebox(handle,'您输入的宴会单号已经存在!','系统提示信息',MB_OK+MB_ICONWARNING);
yddh.setfocus;
end;
end;
procedure Tz_yhyd_xz.BitBtn1Click(Sender: TObject);
var
i:integer;
s_thts:string;
begin
try
strtoint(yddh.text);
except
messagebox(handle,'宴会单号必须为10位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
yddh.setfocus;
exit;
end;
if (trim(yddh.text)='') or (length(yddh.text)<>10) then
begin
messagebox(handle,'宴会单号必须为10位数字!','系统提示信息',MB_OK+MB_ICONWARNING);
yddh.setfocus;
exit;
end;
if yhrq.Date<date() then
begin
messagebox(handle,' 请确定宴会日期!','系统提示信息',MB_OK+MB_ICONWARNING);
yhrq.setfocus;
exit;
end;
if trim(ydzs.text)='' then
begin
messagebox(handle,' 请输入预定桌数!','系统提示信息',MB_OK+MB_ICONWARNING);
ydzs.setfocus;
exit;
end;
if trim(ydth.text)=''then
begin
messagebox(handle,' 请输入预定台号!','系统提示信息',MB_OK+MB_ICONWARNING);
ydth.setfocus;
exit;
end;
if trim(yddw.text)='' then
begin
messagebox(handle,' 请选择预定单位!','系统提示信息',MB_OK+MB_ICONWARNING);
yddw.setfocus;
exit;
end;
if trim(dj.text)='' then
begin
messagebox(handle,' 请输入宴会定金!','系统提示信息',MB_OK+MB_ICONWARNING);
dj.setfocus;
exit;
end;
if yddt.Items.Count<strtoint(ydzs.Text) then
begin
messagebox(handle,'预定多台不够预定桌数!','系统提示信息',MB_OK+MB_ICONWARNING);
ydzs.setfocus;
exit;
end;
s_thts:='';
for i:=0 to yddt.Items.Count-1 do
s_thts:=s_thts+yddt.Items[i];
z_yhyd.yhyd.edit;
z_yhyd.yhyd.fieldbyname('yhrq').value:=formatdatetime('yyyy.mm.dd',yhrq.date);
z_yhyd.yhyd.fieldbyname('yhsj').value:=formatdatetime('hh.mm',yhsj.time);
z_yhyd.yhyd.fieldbyname('ydrq').value:=date();
if trim(s_thts)='' then
z_yhyd.yhyd.fieldbyname('thts').value:=ydth.text
else
z_yhyd.yhyd.fieldbyname('thts').value:=s_thts;
z_yhyd.yhyd.post;
close;
end;
procedure Tz_yhyd_xz.qxClick(Sender: TObject);
begin
if yddh.Enabled then
begin
s_sql:='delete from yhydcd where yddh="'+yddh.text+'"';
main.h_del(s_sql);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -