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

📄 srbb.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit srbb;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Db, DBTables, StdCtrls, Grids, DBGrids, Buttons, ComCtrls;

type
  TbbForm = class(TForm)
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Panel1: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    begdate: TDateTimePicker;
    begtime: TDateTimePicker;
    enddate: TDateTimePicker;
    endtime: TDateTimePicker;
    Table1: TTable;
    S1: TStoredProc;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    dy: TRadioButton;
    RadioButton1: TRadioButton;
    kk: TLabel;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    s2: TStoredProc;
    procedure rbdateKeyPress(Sender: TObject; var Key: Char);
    procedure rbdateKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure begdateChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  bbForm: TbbForm;
implementation
uses dataproc, srrbprin,cxmenu, Srbbpt;
{$R *.DFM}

procedure TbbForm.FormShow(Sender: TObject);
begin
   Panel1.Caption:=curper.sydw+'桑拿营业'+kk.Caption+'报表';
   begdate.DateTime:=now-1;
   if kk.Caption<>'' then
   begin
     enddate.Visible:=false;
     endtime.Visible:=false;
     begtime.Visible:=false;
     Label1.Visible:=false;
     Label3.Visible:=false;
     begdate.Left:=strtoint(floattostr(int((Width-begdate.Width)/2)));
   end;
   enddate.DateTime:=now;
   begtime.Date:=begdate.Date;
   endtime.DateTime:=now;
   begtime.Time:=strtotime('00:00:00');
   endtime.Time:=strtotime('23:59:59');
   BitBtn1Click(nil);
end;

procedure TbbForm.rbdateKeyPress(Sender: TObject; var Key: Char);
begin

key:=#0;
end;

procedure TbbForm.rbdateKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 { if key=112 then
    if cxzmenu.Label4.Enabled then
    begin
       if xt=1 then  help(10);
    end
    else
    begin
       if xt=1 then  help(9);
    end;
key:=0; }
end;

procedure TbbForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
{  if key=112 then
    if cxzmenu.Label4.Enabled then
    begin
       if xt=1 then  help(10);
    end
    else
    begin
       if xt=1 then  help(9);
    end;
         }
end;

procedure TbbForm.BitBtn1Click(Sender: TObject);
var ls,ls1:string;
begin
    ls:=formatdatetime('yyyy-MM-dd hh:mm:ss',begtime.time);
    ls1:=formatdatetime('yyyy-MM-dd hh:mm:ss',endtime.time);
    ls1:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
    if (kk.Caption='日') then
    begin
       ls:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+'00:00:00';
       ls1:=formatdatetime('yyyy-MM-dd',begdate.date+1)+' '+'00:00:00';
    end;
    if (kk.Caption='月') then
    begin
       ls:=formatdatetime('yyyy-MM',begdate.date)+'-01 '+'00:00:00';
       ls1:=formatdatetime('yyyy-MM',begdate.date+30)+'-01 '+'00:00:00';
    end;
    if curper.code<>'9999' then
    begin
      s1.Prepare;
      s1.ParamByName ('@lsbegtime').asstring:=ls;
      s1.ParamByName ('@lsendtime').asstring:=ls1;
      s1.Prepare;
      s1.ExecProc ;
   end else
   begin
      s2.Prepare;
      s2.ParamByName ('@lsbegtime').asstring:=ls;
      s2.ParamByName ('@lsendtime').asstring:=ls1;
      s2.Prepare;
      s2.ExecProc ;
   end;
//   query1.fieldbyname('rbdate').visible:=false;
   table1.Active:=false;
   table1.Active:=true;
{
   DBGrid1.fields[0].displaylabel:=' 项  目';
   DBGrid1.fields[1].displaylabel:=' 数  量';
   DBGrid1.fields[2].displaylabel:=' 现  金';
   DBGrid1.fields[3].displaylabel:=' 会员卡';
   DBGrid1.fields[4].displaylabel:=' 支  票';
   DBGrid1.fields[5].displaylabel:=' 信用卡';
   DBGrid1.fields[6].displaylabel:=' 挂  帐';
   DBGrid1.fields[7].displaylabel:=' 免  单';
   DBGrid1.fields[8].displaylabel:=' 其  他';
   DBGrid1.fields[9].displaylabel:=' 合  计';    }



end;

procedure TbbForm.BitBtn2Click(Sender: TObject);
begin
     application.CreateForm(Tsrbbptform,srbbptform);
     srbbptform.QRLabel1.Caption:=Panel1.Caption;
     srbbptform.QRLabel23.Caption:=formatdatetime('yyyy''年''MM''月''dd''日''',begdate.date);
 //    srbbptform.Table1.Open;
     if (kk.Caption='') then
        srbbptform.QRLabel23.Caption:=srbbptform.QRLabel23.Caption+' '+formatdatetime('hh''时''mm''分''ss''秒''',begtime.time)
              +' 到 '+formatdatetime('yyyy''年''MM''月''dd''日''',enddate.date)+' '+formatdatetime('hh''时''mm''分''ss''秒''',endtime.time);
     srbbptform.hide;
     if dy.Checked then
        srbbptform.qr1.print
     else
        srbbptform.qr1.Preview;
     srbbptform.Close;
     srbbptform.free;
end;

procedure TbbForm.BitBtn3Click(Sender: TObject);
var jje,dje:array [0..20] of Currency;
    kmdm,bmdm:array [0..20] of string;
    i,bz:integer; mf:Currency;
begin
  if Application.MessageBox(pchar('是否保存新的'+kk.Caption+'报表?'),'提示信息', 36)<>6 then exit;
  { for i:=0 to 20 do
   begin
     jje[i]:=0;dje[i]:=0;kmdm[i]:='';bmdm[i]:='';
   end;
   if kk.Caption='日' then
   begin
     if Application.MessageBox('是否产生财务记帐凭证?','提示信息', 36)=6 then
     begin
       i:=0;
       table1.First;
       while table1.FieldByName('dm').asstring='02' do
       begin
         dje[0]:=dje[0]+(table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('md').asCurrency-table1.fieldbyname('gz').asCurrency);
         table1.Next;
       end;
       if dje[0]<>0 then
       begin
         i:=i+1;jje[0]:=0;kmdm[0]:='501002'; bmdm[0]:='';//'002'
       end;
       mf:=0;
       while not table1.Eof do
       begin
         if (trim(table1.fieldbyname('code').asstring)<>'合   计') and
           (table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('gz').asCurrency<>0) then
         begin
           if (trim(table1.FieldByName('dm').asstring)='02') and (kmdm[0]='501002') then
           begin
             dje[0]:=dje[0]+(table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('gz').asCurrency);
           end else
           begin
             kmdm[i]:='5010'+trim(table1.FieldByName('dm').asstring);
             bmdm[i]:='';//'0'+trim(table1.FieldByName('dm').asstring);
             dje[i]:=table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('md').asCurrency-table1.fieldbyname('gz').asCurrency;
             jje[i]:=0;
             i:=i+1;
           end;
           mf:=mf+table1.fieldbyname('md').asCurrency;
         end;
         table1.Next;
       end;
       if mf<>0 then
       begin
         kmdm[i]:='503000';
         bmdm[i]:='';
         jje[i]:=mf;
         dje[i]:=0;
         i:=i+1;
       end;
       table1.Last;
       if table1.fieldbyname('xj').asCurrency+table1.fieldbyname('hy').asCurrency<>0 then
       begin
         kmdm[i]:='101';
         bmdm[i]:='';
         jje[i]:=table1.fieldbyname('xj').asCurrency+table1.fieldbyname('hy').asCurrency;
         dje[i]:=0;
         i:=i+1;
       end;
       if table1.fieldbyname('zp').asCurrency+table1.fieldbyname('card').asCurrency<>0 then
       begin
         kmdm[i]:='102001';
         bmdm[i]:='';
         jje[i]:=table1.fieldbyname('zp').asCurrency+table1.fieldbyname('card').asCurrency;
         dje[i]:=0;
         i:=i+1;
       end;
       bz:=yysrpz(formatdatetime('yyyy-mm-dd',begdate.Date),'1','前台交来营业收入',kmdm,bmdm,jje,dje,i);
       if bz=1 then
          Application.MessageBox('要产生的财务记帐凭证中借贷不平衡!','提示信息', 16);
       if bz=2 then
          Application.MessageBox('产生财务记帐凭证时有错误!','提示信息', 16);
     end;
   end;   }
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   if kk.Caption='日' then
     fm.Query2.SQL.Add('delete srrb where rbdate='''+formatdatetime('yyyy-mm-dd',begdate.Date)+'''')
   else
     fm.Query2.SQL.Add('delete sryb where rbdate='''+formatdatetime('yyyy-mm',begdate.Date)+'''');
   fm.Query2.ExecSQL;
   fm.Query2.SQL.Clear;
   if kk.Caption='日' then
     fm.Query2.SQL.Add('insert into srrb select *,'''+formatdatetime('yyyy-mm-dd',begdate.Date)+''' from jkmoney')
   else
     fm.Query2.SQL.Add('insert into sryb select *,'''+formatdatetime('yyyy-mm',begdate.Date)+''' from jkmoney');
   fm.Query2.ExecSQL;
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   if Application.MessageBox(pchar(kk.Caption+'报表保存完毕!是否退出?'),'提示信息', 68)=6 then close;

end;

procedure TbbForm.begdateChange(Sender: TObject);
begin
   table1.Active:=false;
end;

end.

⌨️ 快捷键说明

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