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

📄 jzjz.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
           q2.ParamByName ('paccno').asstring:=acc;
           q2.Prepare;
           q2.Open;
           chinesegrid(dbgrid1);
           q2.active:=true;
           end;   }
      end;
end;



procedure Tjzjzform.manClick(Sender: TObject);
begin
   if man.Checked =true then
      begin
      listbegtime;
      findacc;
      end;
end;

procedure Tjzjzform.womanClick(Sender: TObject);
begin
  if woman.Checked =true then
     begin
     listbegtime;
     findacc;
     end;
end;

procedure Tjzjzform.begtmClick(Sender: TObject);
begin
   findacc;
end;

procedure Tjzjzform.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then
     selectnext(activecontrol,true,true);
  if key=27 then
     jzjzform.close;
end;

procedure Tjzjzform.FormCreate(Sender: TObject);
begin
    shortdateformat:='yyyy-mm-dd';
    czy.Text :=curper.name;
    comadd(gzno,2,'select gzno,gzname from gzdbf');
    q1.Active :=false;
    q1.sql.Clear ;
    q1.sql.add('select * from mode');
    q1.Prepare;
    q1.open;
    jzfsname.Items.Clear;
    jzfs.Items.Clear;

    while not q1.Eof do
    begin
      jzfs.Items.Add(q1.FieldByName('Code').asstring);
      jzfsname.Items.Add(q1.FieldByName('name').asstring);
      q1.Next;
    end;
    q1.Close;
    q1.UnPrepare;
   formini;
end;

procedure Tjzjzform.Button1Click(Sender: TObject);
begin
  groupbox2.Enabled :=true;
  if length(trim(xfhdno.text))=0 then
     begin
     xfhdno.SetFocus;
     exit;
     end;
  if length(trim(acc))=0 then
     findacc;
  jjzz;
  seemx;
  jj.Enabled :=true;
  mcs.Enabled :=true;
  mm.Enabled :=true;
  zk.Enabled :=true;
  button2.Enabled :=true;
  button3.Enabled :=true;
  if (trim(dhf.Text)='0') or (trim(dhf.Text)='') then
    dhmx.Enabled:=false
  else
    dhmx.Enabled:=true;
  if (trim(xm.Text)='0') or (trim(xm.Text)='') then
    xfmx.Enabled:=false
  else
    xfmx.Enabled:=true;
  mcs.SetFocus ;
end;

procedure Tjzjzform.rmmxClick(Sender: TObject);
begin
  seemx;
end;

procedure Tjzjzform.xfmxClick(Sender: TObject);
begin
  seemx;
end;

procedure Tjzjzform.mxfClick(Sender: TObject);
begin
  mxffjval;
end;

procedure Tjzjzform.mfjClick(Sender: TObject);
begin
  mxffjval;
end;

procedure Tjzjzform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  q1.free;
  q2.free;
  s1.free;
end;

procedure Tjzjzform.Button4Click(Sender: TObject);
begin
  jzjzform.close;
end;

procedure Tjzjzform.Button3Click(Sender: TObject);
var
   rmnum,sannum,totnum:integer;
begin
   if messagedlg('打印成功吗?',mtInformation,[mbYes, mbNo], 0) = mrno then
      exit;
   if length(trim(acc))>0 then
      begin
      rmmx.Checked :=true;
      totnum:=q2.RecordCount ;
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('select count(roomno) as gs from gznowin where (isbj=:pbj and accno=:pacc)');
      q1.ParamByName ('pbj').asboolean:=true;
      q1.ParamByName ('pacc').asstring:=trim(acc);
      q1.Prepare;
      q1.open;
      rmnum:=q1.fieldbyname('gs').asinteger;
      sannum:=totnum-rmnum;
      q1.Active :=false;
      q1.sql.clear;
//      q1.sql.add('insert into bcjz values(:phandno,:paccno,:proomnum,:psannum,:proommoney,:proomcsmoney,:prmzklevel,:psanmoney,:psancsmoney,:pcusmoney,:pyjmoney,:pmcsmoney,:pjjmoeny,:pmmmoney,:pysmoney,:pismf,:pisxj,:piscard,:piszp,:pisgz,:pgzno,:pjztime,:pclass,:pregid)');
            q1.sql.add('insert into lsjz values(:phandno,:paccno,:proomnum,:psannum,:proommoney,:proomcsmoney,:prmzklevel,:psanmoney,:psancsmoney,:pcusmoney,:pphmoney,:pyjmoney,:pmcsmoney,:pjjmoeny,:pmmmoney,:pysmoney,:pismf,:pismxf,:pgzno,:pjztime,:pclass,:pregid,:pjzfs)');
            q1.ParamByName ('phandno').asstring:=trim(xfhdno.text);
            q1.ParamByName ('paccno').asstring:=trim(acc);
            q1.ParamByName ('proomnum').asinteger:=rmnum;
            q1.ParamByName ('psannum').asinteger:=sannum;
            q1.ParamByName ('proommoney').asfloat:=strtofloat(trim(rm.text));
            q1.ParamByName ('proomcsmoney').asfloat:=strtofloat(trim(rcsm.text));
            q1.ParamByName ('prmzklevel').asinteger:=zk.value;
            q1.ParamByName ('psanmoney').asfloat:=strtofloat(trim(sm.text));
            q1.ParamByName ('psancsmoney').asfloat:=strtofloat(trim(scsm.text));
            q1.ParamByName ('pcusmoney').asfloat:=strtofloat(trim(xm.text));
            q1.ParamByName ('pphmoney').asfloat:=strtofloat(trim(xm.text));
            q1.ParamByName ('pyjmoney').asfloat:=strtofloat(trim(yjm.text));
            q1.ParamByName ('pmcsmoney').asfloat:=strtofloat(trim(mcs.text));
            q1.ParamByName ('pjjmoeny').asfloat:=strtofloat(trim(jj.text));
            q1.ParamByName ('pmmmoney').asfloat:=strtofloat(trim(mm.text));
            q1.ParamByName ('pysmoney').asfloat:=strtofloat(trim(ym.text));
            q1.ParamByName ('pismf').asboolean:=mfj.Checked;
            q1.ParamByName ('pismxf').asboolean:=mfj.Checked ;
            if gzno.Enabled then
               q1.ParamByName ('pgzno').asstring:=copy(gzno.Items[gzno.itemindex],1,6)
            else
               q1.ParamByName ('pgzno').asstring:='';
            q1.ParamByName ('pjztime').asstring:=trim(begtm.text);
            //strtodatetime(maskedit1.text);
            q1.ParamByName ('pclass').asstring:=curper.curbc;
            q1.ParamByName ('pregid').asstring:=trim(copy(czy.text,1,10));
            if jzfsname.Enabled then
              q1.ParamByName ('pjzfs').asstring:=jzfs.text
            else
              q1.ParamByName ('pjzfs').asstring:='05';

            q1.Prepare;
            q1.execsql;
            q1.active:=false;
            if mxf.Checked =true then
               begin
               q1.sql.clear;
               q1.sql.add('update custom set ismd=1 where ((isxj=:pxj) and (ismd=:pmd) and (accno=:pno))');
               q1.ParamByName ('pxj').asboolean:=false;
               q1.ParamByName ('pmd').asboolean:=false;
               q1.ParamByName ('pno').asstring:=trim(acc);
               q1.Prepare;
               q1.ExecSQL ;
               q1.Active :=false;
               end;
      q1.active:=false;
      s1.ParamByName ('@iaccount').asstring:=trim(acc);
      s1.ParamByName ('@jzfs').asstring:=jzfs.text ;
//      s1.ParamByName ('@isxj').asboolean:=xj.Checked ;
//      s1.ParamByName ('@iscard').asboolean:=card.Checked ;
//      s1.parambyname ('@iszp').asboolean:=zp.checked;
//      s1.ParamByName ('@isgz').asboolean:=gz.Checked ;
      if gzno.Enabled =true then
         s1.ParamByName ('@igzno').asstring:=copy(gzno.Items[gzno.itemindex],1,6)
      else
         s1.ParamByName ('@igzno').asstring:='';
      s1.Prepare;
      s1.ExecProc;
      showmessage('结帐成功');
      button2.Enabled :=false;
      button3.Enabled :=false;
      q2.active:=false;
      formini;
      xfhdno.setfocus;
      end;
end;

procedure jzprn;
var
  myfile:textfile;
  rmh,mansanh,womansanh,mindate,s,ss,dwmc:string;
  rmnum,sannum:integer;
  aa:array [0..3] of string;
begin
with jzjzform do
  begin
  rmh:='';
  mansanh:='';
  womansanh:='';
  rmnum:=0;
  sannum:=0;
  s:='                                                           ';
  ss:='----------------------------------------------------------';
  q1.close;
  q1.sql.clear;
  q1.sql.add('Select UnitName from syssetup');
  q1.open;
  dwmc:=trim(unpassname(q1.Fields[0].asstring));
  q1.close;
  q1.UnPrepare;

  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select min(begtime) as rq from gznowin where accno=:ph');
  q1.ParamByName ('ph').asstring:=acc;
  q1.Prepare;
  q1.open;
  mindate:=q1.fieldbyname('rq').asstring;
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select * from gznowin where accno=:paccno');
  q1.ParamByName ('paccno').asstring:=acc;
  q1.Prepare;
  q1.open;
  q1.Active :=true;
  while not q1.EOF do
     begin
     if q1.FieldByName ('isbj').asboolean then
        begin
        rmh:=rmh+' '+q1.fieldbyname('handno').asstring;
        rmnum:=rmnum+q1.fieldbyname('num').asinteger;
        end
     else
        begin
        if q1.FieldByName ('sex').asstring='1' then
           mansanh:=mansanh+' '+q1.fieldbyname('handno').asstring;
        if q1.FieldByName ('sex').asstring='0' then
           womansanh:=mansanh+' '+q1.fieldbyname('handno').asstring;
        sannum:=sannum+q1.fieldbyname('num').asinteger;
        end;
     q1.next;
     end;
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select cuscode,cusprice,sum(money)as money ,sum(cusnum) as cussl from gzcustom where (accno=:pacc and isxj=:pisxj and ismd=:pismd) group by cuscode,cusprice');
  q1.ParamByName ('pacc').asstring:=acc;
  q1.ParamByName ('pisxj').asboolean:=false;
  q1.ParamByName ('pismd').asboolean:=false;
  q1.Prepare;
  q1.open;
  //****** print ****************//
  assignprn(myfile);
  rewrite(myfile);
  printer.Canvas.Font.name:=jzjzform.Font.name;
  printer.Canvas.Font.size:=16;
  writeln(myfile,'      '+dwmc+'消费结算单');
  writeln(myfile,'     ='+copy('=============',1,length(dwmc))+'===========');
  printer.Canvas.Font.size:=9;
  writeln(myfile,' ');
  writeln(myfile,'房间号  '+rmh);
  writeln(myfile,'男散号  '+mansanh);
  writeln(myfile,'女散号  '+womansanh);
  if rmnum>0 then
     writeln(myfile,'人数  '+copy(inttostr(rmnum)+s,1,10)+'  超员  '+copy(inttostr(sannum)+s,1,10)+'  押金  '+copy(yjm.Text+s,1,10))
  else
     writeln(myfile,'人数  '+copy(inttostr(sannum)+s,1,10)+'  超员  '+copy(s,1,10)+'  押金  '+copy(yjm.Text+s,1,10));
  writeln(myfile,'入住时间  '+mindate+'   结帐时间  '+datetimetostr(now));
  writeln(myfile,ss);
  writeln(myfile,copy('服务项目'+S,1,20)+copy('单价'+s,1,10)+copy('数量'+s,1,10)+copy('金额'+s,1,10));
  writeln(myfile,ss);
  writeln(myfile,copy('房间费'+s,1,40)+copy(floattostr(strtofloat(rm.Text)*zk.value/100)+s,1,10));
  writeln(myfile,copy('散座费'+s,1,40)+copy(sm.text+s,1,10));
  writeln(myfile,'');
  q1.Active :=true;
  while not q1.eof do
     begin
     aa[0]:='';
     getvalue(aa,'select cusname from cusitem where cuscode='''+q1.fieldbyname('cuscode').asstring+'''');
     aa[1]:=q1.fieldbyname('cusprice').asstring;
     aa[2]:=q1.fieldbyname('cussl').asstring;
     aa[3]:=q1.fieldbyname('money').asstring;
     writeln(myfile,copy(aa[0]+s,1,20)+copy(aa[1]+s,1,10)+copy(aa[2]+s,1,10)+copy(aa[3]+s,1,10));
     q1.next;
     end;
  q1.Active :=false;
  writeln(myfile,'');
  writeln(myfile,copy('合计'+s,1,40)+copy(hm.text+s,1,10));
  writeln(myfile,copy('应付'+s,1,40)+copy(ym.text+s,1,10));
  writeln(myfile,'  ');
  writeln(myfile,copy(s,1,30)+'宾客签名:');
  writeln(myfile,'  ');
  writeln(myfile,ss);
  writeln(myfile,'结算方式: '+jzfsname.text+copy(s,1,30)+'收银员  '+curper.name);
  system.CloseFile (myfile);
  end;
end;



procedure Tjzjzform.Button2Click(Sender: TObject);
begin
  jzprn;
end;

procedure Tjzjzform.xfhdnoEnter(Sender: TObject);
begin
  groupbox2.Enabled :=false;
end;

procedure Tjzjzform.jzfsnameChange(Sender: TObject);
begin
   jzfs.ItemIndex:=jzfsname.ItemIndex;
   if (trim(jzfsname.text)='记帐') or (trim(jzfsname.text)='挂帐') then
      gzno.Enabled:=true
   else
      gzno.Enabled:=false;
   if trim(jzfsname.text)='免费' then
   begin
      mxf.Checked:=true;
      mfj.Checked:=true;
      mxffjval;
   end
   else
   begin
      mxf.Checked:=false;
      mfj.Checked:=false;
      mxffjval;
   end;

end;

procedure Tjzjzform.jzfsnameKeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;

end;

procedure Tjzjzform.xfhdnoChange(Sender: TObject);
var recnum:integer;
    lssex:string;
begin
   if length(trim(xfhdno.text))>0 then
      begin
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('select distinct sex from gznowin where handno=:phdno');
      q1.ParamByName ('phdno').asstring:=trim(xfhdno.text);
      q1.Prepare;
      q1.open;
      q1.Active :=true;
      recnum:=q1.RecordCount ;
      if recnum =0 then
         begin
         q1.Active :=false;
         showmessage('手号错误');
         xfhdno.SetFocus;
         exit;
         end;
      if recnum =1 then
         begin
         lssex:=trim(q1.fieldbyname('sex').asstring);
         man.Enabled :=false;
         woman.Enabled :=false;
         if lssex='2' then
            begin
            man.Checked :=false;
            woman.Checked :=false;
            end;
         if lssex='1' then
            man.checked:=true;
         if lssex='0' then
            woman.Checked :=true;
         listbegtime;
         findacc;
         end;
      if recnum >1 then
         begin
         man.Enabled :=true;
         woman.Enabled :=true;
         man.Checked :=true;
         man.SetFocus ;
         end;
      end
   else
     if ActiveControl<>Button4 then
        xfhdno.SetFocus ;

end;

end.

⌨️ 快捷键说明

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