📄 qtmain.pas
字号:
if edit7.Text='' then
if messagedlg('您没有输入餐台号码,这会造成数据不完整!'+#13+'您仍然要继续吗?!',mtwarning,[mbyes,mbno],0)=mrno then exit;
wk:=inttostr(dayofweek(date) -1);
st:=trim(copy(activecontrol.Name,4,6));
i:=pos('_',st);
if labelededit4.Text='' then ssll1:=1 else ssll1:=round(strtofloat(labelededit4.Text)*100)/100;
rrow:=strtoint(copy(st,1,i-1));
ccol:=strtoint(copy(st,i+1,2));
if query2.Locate('bh',cdbh[rrow,ccol],[]) then
begin
if (checkbox1.Checked=false) and (lsq.Locate('bh;fkbz;zfbz;zsbz',vararrayof([cdbh[rrow,ccol],0,0,0]),[])) then
begin
lsq.Edit;
lsqsl.Asfloat:=round(lsqsl.Asfloat+ssll1)*100/100;
if query2sfkj.AsBoolean=true then
begin
xzform.Caption:='开价菜菜价录入';
xzform.Label1.Caption:=query2mc.AsString+' 的单价';
xzform.Edit1.Text:=query2dj.AsString;
if xzform.showmodal=mrok then lsqdj.AsString:=xzform.Edit1.Text
else
begin
lsq.Cancel;
exit;
end;
end
else lsqdj.AsFloat:=query2dj.AsCurrency;
//优惠方案处理
yhfaado.Close;
yhfaado.Parameters.ParamByName('cs1').Value:=date;
yhfaado.Parameters.ParamByName('cs2').Value:=date;
yhfaado.Parameters.ParamByName('cs3').Value:=timetostr(time);
yhfaado.Parameters.ParamByName('cs4').Value:=timetostr(time);
yhfaado.Open;
if yhfaado.Locate('cdbh',cdbh[rrow,ccol],[]) then
begin
if pos(wk,yhfaado.FieldValues['zoubie'])>0 then lsqzkl.AsFloat:=yhfaadoyhbl.AsFloat;
end
else if yhfaado.Locate('cdlb',cdlb[rrow,ccol],[]) then
begin
if pos(wk,yhfaado.FieldValues['zoubie'])>0 then lsqzkl.AsFloat:=yhfaadoyhbl.AsFloat
end
else
begin
query3.Locate('lbbm',lsqlb.AsString,[]);
if query2zkdl.AsBoolean then lsqzkl.AsInteger:=query2zkl.AsInteger
else lsqzkl.AsFloat:=query3zkbl.AsFloat;
end;
if query2fwfdl.AsBoolean then lsqfwfl.AsInteger:=query2fwfl.AsInteger
else lsqfwfl.AsFloat:=query3fwfbl.AsFloat;
lsqshuilv.AsFloat:=query2shuilu.AsFloat;
lsqfwfe.AsCurrency:=round((lsqfwfe.AsCurrency+lsqfwfl.AsFloat*lsqdj.AsFloat*ssll1 /100)*100)/100;
lsqzke.AsCurrency:=round((lsqzke.AsCurrency+lsqzkl.AsFloat*lsqdj.AsFloat*ssll1 /100)*100)/100;
lsqcfdyjhm.AsString:=query2cfdyjhm.AsString;
lsqccjdyjhm.AsString:=query2ccjdyjhm.AsString;
if yhfaadozdje.AsFloat>0 then lsqje.AsFloat:=yhfaadozdje.AsFloat
else lsqje.AsFloat:=round((lsqdj.AsFloat*lsqsl.Asfloat + lsqfwfe.AsFloat - lsqzke.AsFloat)*100)/100;
yhfaado.Close;
lsqse.AsCurrency:=round((lsqse.AsCurrency+query2dj.AsFloat*query2shuilu.AsFloat/100)*100)/100;
lsqtwbh.AsString:=edit7.Text;
lsqbc.AsString:=labelededit3.Text;
lsqszdd.AsString:=szdd;
lsq.Post;
end
else
begin
lsq.Append;
lsqrq.AsDateTime:=date+time;
lsqdjh.AsInteger:=maxdjh;
lsqlb.AsString:=cdlb[rrow,ccol];
lsqbh.AsString:=cdbh[rrow,ccol];
lsqmc.AsString:=query2mc.AsString;
lsqcfdyjhm.AsString:=query2cfdyjhm.AsString;
lsqccjdyjhm.AsString:=query2ccjdyjhm.AsString;
lsqszdd.AsString:=szdd;
lsqtwbh.AsString:=edit7.Text;
if query2sfkj.AsBoolean=true then
begin
xzform.Caption:='开价菜菜价录入';
xzform.Label1.Caption:=query2mc.AsString+' 的单价';
xzform.Edit1.Text:=query2dj.AsString;
if xzform.showmodal=mrok then lsqdj.AsString:=xzform.Edit1.Text
else
begin
lsq.Cancel;
exit;
end;
end
else lsqdj.AsFloat:=query2dj.AsCurrency;
lsqgg.AsString:=query2gg.AsString;
lsqsl.Asfloat:=round(ssll1*100)/100;
lsqje.AsCurrency:=lsqdj.AsFloat*lsqsl.Asfloat;
lsqfkbz.AsBoolean:=false;
lsqzfbz.AsBoolean:=false;
lsqzcbz.AsString:='';
//优惠方案处理
yhfaado.Close;
yhfaado.Parameters.ParamByName('cs1').Value:=date;
yhfaado.Parameters.ParamByName('cs2').Value:=date;
yhfaado.Parameters.ParamByName('cs3').Value:=timetostr(time);
yhfaado.Parameters.ParamByName('cs4').Value:=timetostr(time);
yhfaado.Open;
if yhfaado.Locate('cdbh',cdbh[rrow,ccol],[]) then
begin
if pos(wk,yhfaado.FieldValues['zoubie'])>0 then lsqzkl.AsFloat:=yhfaadoyhbl.AsFloat;
end
else if yhfaado.Locate('cdlb',cdlb[rrow,ccol],[]) then
begin
if pos(wk,yhfaado.FieldValues['zoubie'])>0 then lsqzkl.AsFloat:=yhfaadoyhbl.AsFloat
end
else
begin
query3.Locate('lbbm',lsqlb.AsString,[]);
if query2zkdl.AsBoolean then lsqzkl.AsInteger:=query2zkl.AsInteger
else lsqzkl.AsFloat:=query3zkbl.AsFloat;
end;
if query2fwfdl.AsBoolean then lsqfwfl.AsInteger:=query2fwfl.AsInteger
else lsqfwfl.AsFloat:=query3fwfbl.AsFloat;
lsqshuilv.AsFloat:=query2shuilu.AsFloat;
lsqfwfe.AsCurrency:=round((lsqfwfe.AsCurrency+lsqfwfl.AsFloat*lsqje.AsFloat /100)*100)/100;
lsqzke.AsCurrency:=round((lsqzke.AsCurrency+lsqzkl.AsFloat*lsqje.AsFloat /100)*100)/100;
if yhfaadozdje.AsFloat>0 then lsqje.AsFloat:=yhfaadozdje.AsFloat
else lsqje.AsFloat:=round((lsqje.AsFloat + lsqfwfe.AsFloat - lsqzke.AsFloat)*100)/100;
yhfaado.Close;
lsqse.AsCurrency:=round((lsqse.AsCurrency+query2dj.AsFloat*query2shuilu.AsFloat/100)*100)/100;
lsqth.AsString:=edit6.Text;
lsqyhh.AsString:=labelededit2.Text;
lsqtwbh.AsString:=edit7.Text;
lsqcfdy.AsBoolean:=query2cfdy.AsBoolean;
lsqcfdyjhm.AsString:=query2cfdyjhm.AsString;
lsqccjdyjhm.AsString:=query2ccjdyjhm.AsString;
lsqbc.AsString:=labelededit3.Text;
lsqzsbz.AsBoolean:=false;
lsq.Post;
end;
if checkbox1.Checked then begin
edit1.Text:=floattostr(round((strtofloat(edit1.Text)+lsqje.AsFloat)*100)/100);
edit2.Text:=floattostr(round((strtofloat(edit2.Text)+lsqse.AsFloat)*100)/100);
end
else begin
edit1.Text:=floattostr(round((strtofloat(edit1.Text)+lsqje.AsFloat/lsqsl.Asfloat)*100)/100);
edit2.Text:=floattostr(round((strtofloat(edit2.Text)+lsqse.AsFloat/lsqsl.Asfloat)*100)/100);
end;
hxq:='next';
//处理套餐
if query2.FieldByName('tcbz').AsBoolean then
begin
tclsq.Open;
tcc:=true;
tcwj.ParamByName('cs').AsString:=lsqbh.AsString;
tcwj.Open;
while not tcwj.Eof do
begin
if tcwjpcbh.AsString<>'' then
begin
if query2.Locate('bh',tcwjpcbh.AsString,[]) then
begin
tclsQ.Append;
tclsqrq.AsDateTime:=date+time;
tclsqdjh.AsInteger:=lsqdjh.AsInteger;
tclsqlb.AsString:=query2lbbm.AsString;
tclsqbh.AsString:=query2bh.AsString;
tclsqmc.AsString:=query2mc.AsString;
tclsqdj.AsFloat:=query2dj.AsCurrency;
tclsqgg.AsString:=query2gg.AsString;
tclsqcfdyjhm.AsString:=query2cfdyjhm.AsString;
tclsqccjdyjhm.AsString:=query2ccjdyjhm.AsString;
tclsqsl.Asfloat:=round(tcwjsl.AsInteger*ssll1*100)/100; //lsqsl.Asfloat;
tclsqje.AsCurrency:=0;
tclsqfkbz.AsBoolean:=false;
tclsqzfbz.AsBoolean:=false;
tclsqzcbz.asstring:=lsqbh.asstring;
tclsq.Post;
end;
end
else
begin
tcxz.pcbh:=tcwjpclb.AsString;
tcxz.maxsl:=round(tcwjsl.Asfloat*ssll1*100)/100;
tcxz.ssll:=ssll1;
tcxz.lbbm:=lsQbh.AsString;
tcxz.djh:=lsQdjh.AsInteger;
tcxzform.mxlsQ.Open;
if tcc=true then
if tcxzForm.showmodal<>mrok then
begin
tcxzform.mxlsQ.Close;
tcc:=false;
end
else begin
tcxzform.mxlsQ.First;
while not tcxzform.mxlsQ.Eof do
begin
tclsq.Append;
for i:=0 to tcxzform.mxlsQ.FieldCount -1 do
if Uppercase(tcxzform.mxlsQ.Fields[i].FieldName)<>'ID' then
tclsq.FieldByName(tcxzform.mxlsQ.Fields[i].FieldName).Value:=tcxzform.mxlsQ.Fields[i].Value;
tclsq.Post;
tcxzform.mxlsQ.Next;
end;
tcxzform.mxlsQ.Close;
end;
end;
tcwj.Next;
end;
tcwj.Close;
end;
if tcc=true then
begin
tclsq.First;
while not tclsq.Eof do
begin
if (checkbox1.Checked=false) and (lsq.Locate('bh;zfbz;fkbz;zsbz',vararrayof([tclsqbh.AsString,0,0,0]),[])) then
begin
lsq.Edit;
lsqje.AsFloat:=lsqje.AsFloat+tclsqje.AsFloat/tclsqsl.Asfloat;
lsqsl.Asfloat:=lsqsl.Asfloat+tclsqsl.Asfloat;
lsqth.AsString:=edit6.Text;
lsqyhh.AsString:=labelededit2.Text;
lsqtwbh.AsString:=edit7.Text;
lsqbc.AsString:=labelededit3.Text;
// lsqcfdyjhm.AsString:=tclsqcfdyjhm.asstring;
// lsqccjdyjhm.AsString:=tclsqccjdyjhm.asstring;
lsqszdd.AsString:=szdd;
lsq.Post;
end
else
begin
lsq.Append;
for i:=0 to tclsq.FieldCount -1 do
if uppercase(tclsq.Fields[i].FieldName)<>'ID' then
lsq.FieldByName(tclsq.Fields[i].FieldName).Value:=tclsq.Fields[i].Value;
lsqth.AsString:=edit6.Text;
lsqyhh.AsString:=labelededit2.Text;
lsqbc.AsString:=labelededit3.Text;
lsqtwbh.AsString:=edit7.Text;
lsqzsbz.AsBoolean:=false;
lsqwmbz.AsBoolean:=false;
lsqcfdy.AsBoolean:=false;
lsqszdd.AsString:=szdd;
lsq.Post;
end;
tclsq.Next;
end;
tclsq.Close;
end;
end;
labelededit4.Text:='';
end;
procedure TqtForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
timerx.Enabled:=false;
if lsq.RecordCount>0 then djhh:=lsqdjh.AsString;
lsq.Filtered:=false;
lsq.Close;
// query1.Close;
query2.Close;
query3.Close;
vvv:='';
end;
procedure TqtForm.SpeedButtonaClick(Sender: TObject);
var zcbh:string;
je:real;
begin
if lsq.RecordCount>0 then begin
if lsqzcbz.AsString<>'' then begin
messagedlg('您不能撤消配餐!',mtwarning,[mbok],0);
exit;
end;
if (lsqzfbz.AsBoolean=false) and (lsqfkbz.AsBoolean=true) then
tcyyxz.tfje:=lsqje.AsFloat;
if (lsqzfbz.AsBoolean=false) and (lsqfkbz.AsBoolean=true) then
if tcyyForm.showmodal=mrok then
begin
// opbox('lpt1',''); //打开钱箱
lsq.Edit;
zcbh:=lsqbh.AsString;
lsqzfbz.AsBoolean:=true;
je:=lsqje.AsFloat;
lsq.post;
if je<=0 then exit;
fkwj.Open;
fkwj.Append;
fkwjdjh.AsInteger:=lsqdjh.AsInteger;
fkwjrq.AsDateTime:=date+time;
fkwjfkfsbm.AsString:='999';
fkwjfkfsmc.AsString:='退款';
fkwjfkje.AsFloat:=0 - je;
fkwj.Post;
if (fkwjhykbh.AsString<>'') and (pass.yhlx='U') then
begin
fkfsform.query3.Close;
fkfsform.query3.ParamByName('cs').AsString:=fkwjhykbh.AsString ;
fkfsform.query3.Open;
fkfsform.query3.Edit;
fkfsform.Query3ye.AsFloat:=fkfsform.Query3ye.AsFloat - fkwjfkje.AsFloat;
fkfsform.Query3zjcs.AsInteger:=fkfsform.Query3zjcs.AsInteger - 1;
fkfsform.Query3zjxfe.AsFloat:=fkfsform.Query3zjxfe.AsFloat + fkwjfkje.AsFloat;
fkfsform.query3.Post;
fkfsform.Query3.ApplyUpdates;
fkfsform.Query3.Close;
end;
fkwj.Close;
// exit;
end
else exit;
if lsqfkbz.AsBoolean=false then
begin
if lsqzfbz.AsBoolean=false then
begin
lsq.Edit;
zcbh:=lsqbh.AsString;
lsqzfbz.AsBoolean:=true;
edit1.Text:=floattostr(round((strtofloat(edit1.Text) - lsqje.asfloat)*100)/100);
edit2.Text:=floattostr(round((strtofloat(edit2.Text) - lsqse.asfloat)*100)/100);
lsq.post;
end;
end;
//
LSQ.Filtered:=FALSE;
lsq.First;
while not lsq.Eof do
begin
if lsqzcbz.AsString=zcbh then
begin
lsq.Edit;
lsqzfbz.AsBoolean:=true;
lsq.Post;
end;
lsq.Next;
end;
// 以上删除套餐
LSQ.Filtered:=TRUE;
end;
end;
procedure TqtForm.SpeedButtondClick(Sender: TObject);
var xx:boolean;
begin
if lsq.RecordCount<=0 then exit;
lsq.Filtered:=false;
xx:=false;
treeview1.Selected.ImageIndex:=3;
tcyyxz.tfje:=-1;
lsq.First;
while not lsq.Eof do
begin
if (lsqfkbz.AsBoolean=true) and (lsqzfbz.AsBoolean=false) and (xx=false) then
begin
if tcyyForm.showmodal<>mrok then exit
else xx:=true;
end;
if (lsqfkbz.AsBoolean=true) and (lsqzfbz.AsBoolean=false) then
begin
// opbox('lpt1',''); //打开钱箱
fkwj.Open;
fkwj.Append;
fkwjdjh.AsInteger:=lsqdjh.AsInteger;
fkwjrq.AsDateTime:=date+time;
fkwjfkfsbm.AsString:='999';
fkwjfkfsmc.AsString:='退款';
fkwjfkje.AsFloat:=0 - lsqje.AsFloat;
fkwj.Post;
if (fkwjhykbh.AsString<>'') and (pass.yhlx='U') then
begin
fkfsform.query3.Close;
fkfsform.query3.ParamByName('cs').AsString:=fkwjhykbh.AsString ;
fkfsform.query3.Open;
fkfsform.query3.Edit;
fkfsform.Query3ye.AsFloat:=fkfsform.Query3ye.AsFloat - fkwjfkje.AsFloat;
fkfsform.Query3zjcs.AsInteger:=fkfsform.Query3zjcs.AsInteger - 1;
fkfsform.Query3zjxfe.AsFloat:=fkfsform.Query3zjxfe.AsFloat + fkwjfkje.AsFloat;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -