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

📄 qtmain.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    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 + -