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

📄 sanydtodj.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      if fd=0 then exit;
      ls:=HotelNo+copy('0000000'+trim(rmgrid.Cells[0,k]),length(trim(rmgrid.Cells[0,k])),8)+bx+'00'+formatdatetime('hh',strtodatetime(rq))+newDate(strtodatetime(rq))+'0012'+newdate(strtodatetime(cometime.text)+yzday.value)+'2050000000000';
      bb:=write_ic(fd,$30,1,ls);
      if bb=0 then
      begin
        bb:=CT_close(fd);
        exit;
      end;
      ls:=copy(trim(rmgrid.Cells[0,k])+ss,1,7)+copy(trim(name.text)+ss,1,21)
      +copy(formatdatetime('yyyymmddhhmmss',strtodatetime(cometime.text))+ss,1,14)
      +copy(formatdatetime('yyyymmddhhmmss',strtodatetime(cometime.text)+yzday.value)+ss,1,14)+copy(trim(id.Text)+ss,1,19)
      +copy(welid+ss,1,6)+copy(accno+ss,1,6)+'000000000000';
      bb:=write_ic(fd,$70,0,ls);
      bb:=CT_close(fd);
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('insert into iccmx values(:pRoomNo,:pName,:pWelid,:paccno,:pcodeno,:ptime)');
      q1.ParamByName ('proomno').asstring:=trim(rmgrid.Cells[0,k]);
      q1.ParamByName ('paccno').asstring:=accno;
      q1.ParamByName ('pwelid').asstring:=welid;
      q1.ParamByName ('pname').asstring:=trim(name.text);
    // q1.ParamByName ('page').asinteger:=age.Value;
      q1.ParamByName ('pcodeno').asstring:=xdh('iccmx','','codeno',5);
      q1.ParamByName ('ptime').asstring:=rq;
      q1.Prepare;
      q1.ExecSQL ;
      q1.Active :=false;
   end; }
end;

procedure Tsanydtodjform.Button1Click(Sender: TObject);
var i:integer;
begin
  if djdh.Text='' then
  begin
   showmessage('登记单号没有输入!');
   exit;
  end;
   for i:=1 to rmgrid.RowCount do
      if trim(rmgrid.cells[0,i])<>'' then
      begin
         if trim(rmgrid.cells[2,i])='' then
         begin
          showmessage('房间:'+trim(rmgrid.cells[0,i])+'手牌号没有输入');
          exit;
         end;
      end;
      for i:=1 to rmgrid.RowCount-1 do
        if trim(rmgrid.Cells[0,i])<>'' then
        begin
           q1.Active :=false;
           q1.sql.clear;
           q1.sql.add('select roomno,price from room where (roomno=:prmno) and ((status=:ps)or(status=:tt))');
           q1.ParamByName ('prmno').asstring:=trim(rmgrid.Cells[0,i]);
           q1.ParamByName ('ps').asstring:='0';
           q1.ParamByName ('tt').asstring:='5';
           q1.Prepare;
           q1.open;
           if q1.IsEmpty then
           begin
             showmessage('房间不对');
             q1.Active :=false;
             q1.sql.clear;
            // ydgrid.SetFocus ;
             exit;
           end;
         //  rmgrid.Cells[1,i]:=q1.fieldbyname('price').asstring;
        end;

  if length(trim(beforeno))>0 then
  begin
   if nyj.Value<yj.Value then
   begin
     if Application.MessageBox(pchar('需补交'+inttostr(nyj.Value-yj.Value)+'元押金!'), '提示信息', 65)=IDCANCEL then
      exit;
   end;
   accno:=getnewcode('accno');
   i:=1;
   while i<rmgrid.RowCount do
     begin
     if length(trim(rmgrid.cells[0,i]))>0 then
        begin
        welid:=getnewcode('welid');
        q1.Active :=false;
        q1.sql.clear;
        q1.sql.add('insert into  nowin values(:pRoomno,:pRoomNo,'''+accno+''',:pWelid,:pnum,0,1,''2'',0,0,1,0,0,0,'''',:pbegtime,0,0,0,:pbegtime,:pendtime,:pRegId,:pdjdh,'''',0,''01'',:pczy,100,0,0,:pxcode,null)');
        q1.sql.add('insert into  GuestMx values(:pRoomNo,:pWelid,:pName,'''',null,null,null,'''+trim(WorkUnit.Text)+''','''+accno+''','''')');
        q1.ParamByName ('proomno').asstring:=trim(rmgrid.cells[0,i]);
        q1.ParamByName ('pname').asstring:=trim(name.Text);
        q1.ParamByName ('pnum').asinteger:=2;
//        q1.ParamByName ('pprice').asinteger:=strtoint(trim(rmgrid.Cells [1,i]));
        q1.ParamByName ('pWelid').asstring:=welid;
        q1.ParamByName ('pbegtime').asdatetime:=strtodatetime(cometime.Text);
        q1.ParamByName ('pendtime').asdatetime:=strtodatetime(cometime.Text)+yzday.Value;
        q1.ParamByName ('pregid').asstring:=curper.code;
        q1.ParamByName ('pdjdh').asstring:=trim(djdh.Text);
        q1.ParamByName ('pxcode').asstring:=trim(rmgrid.cells[2,i]);
        q1.ParamByName ('pczy').asstring:=curper.name;
        q1.Prepare;
        q1.ExecSQL ;
        q1.Active :=false;
        end;
        wic(i);
     i:=i+1;
   end;
   i:=1;
   while I<rmgrid.rowcount do
   begin
     if length(trim(rmgrid.cells[0,i]))>0 then
        begin
        q1.Active :=false;
        q1.sql.clear;
        q1.sql.add('update room set status=:ps where roomno=:prmno');
        q1.parambyname('ps').asstring:='1';
        q1.ParamByName ('prmno').asstring:=trim(rmgrid.cells[0,i]);
        q1.Prepare;
        q1.ExecSQL ;
        q1.Active :=false;
        end;
     i:=i+1;
   end;
   q1.sql.clear;
   q1.sql.add('insert into deposit values(:proomno,''2'',:pwel,:pacc,:pdeposit,:pdate)');
//   q1.sql.add('insert into positsj values('''+yjdyform.bh.Caption+''',:proomno,:pacc,:pname,:pdeposit,:pdate,:pregid)');
   q1.sql.add('insert into account values(:pacc,:pdeposit,0)');
   q1.ParamByName('pwel').asstring:=welid;
   q1.ParamByName('pacc').asstring:=accno;
   q1.ParamByName('pdeposit').asfloat:=nyj.Value;
   q1.ParamByName('pdate').asdatetime:=now;
   q1.ParamByName ('proomno').asstring:=rmgrid.Cells[0,1];
   q1.Prepare;
   q1.ExecSQL;
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('delete beforein where beforeid=:pid');
   q1.ParamByName ('pid').asstring:=trim(beforeno);
   q1.Prepare;
   q1.ExecSQL ;
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('delete beforeinmx where beforeid=:pid');
   q1.ParamByName ('pid').asstring:=trim(beforeno);
   q1.Prepare;
   q1.ExecSQL ;
   q1.Active :=false;
   q1.sql.clear;
   showmessage('散客预订转登记成功');
   cleargrid(sanydtodjform.ydgrid,2);
   formini;
   comadd(sanydtodjform.name,1,'select name from beforein ');
   datetoctrl;
  end
  else
     name.SetFocus ;
end;

procedure Tsanydtodjform.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  q1.free;
   action:=cafree;
end;

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

procedure addroomno(rmno:string);
var
  i:integer;
begin
with sanydtodjform do
  begin
  i:=1;
  while  i<rmgrid.RowCount do
     begin
     if length(trim(rmgrid.cells[0,i]))=0 then
        begin
        rmgrid.Cells [0,i]:=rmno;
        rmgrid.Cells [1,i]:=inttostr(roommoney(rmno,1,0));
        if phone.Checked then
          nyj.Value:=(nyj.Value+strtoint(rmgrid.Cells [1,i])+100)*yzday.Value;
        exit;
        end;
     i:=i+1;
     end
  end
end;

procedure Tsanydtodjform.BitBtn1Click(Sender: TObject);
var
  xysl,i,sl,y:integer;
begin
  if rmnum.Value =0 then
     cleargrid(rmgrid,0)
  else
  begin
     if phone.Checked then
       nyj.Value:=0
     else
       nyj.Value:=yj.Value;
     cleargrid(rmgrid,0);
     i:=1;
     while i<ydgrid.rowcount do
     begin
       if length(trim(ydgrid.cells[2,i]))>0 then
        if strtoint(trim(ydgrid.cells[2,i]))>0 then
        begin
           q1.Active :=false;
           q1.sql.clear;
           q1.sql.add('select roomno from room where (roomtype=:prmtp) and (status=:ps)');
           q1.ParamByName ('prmtp').asstring:=rmtp[i];
           q1.ParamByName ('ps').asstring:='0';
           q1.Prepare;
           q1.open;
           xysl:=q1.RecordCount ;
           y:=0;
           sl:=strtoint(trim(ydgrid.cells[2,i]));
           if xysl<sl then
              begin
              showmessage(trim(ydgrid.cells[0,i])+'只有'+trim(inttostr(xysl))+'间');
              exit;
              end;
           while y<sl do
              begin
              addroomno(q1.fieldbyname('roomno').asstring);
              y:=y+1;
              q1.Next;
              end;
           q1.Active :=false;
        end;
        i:=i+1;
     end;
  end;
end;

procedure Tsanydtodjform.nameChange(Sender: TObject);
begin
  cleargrid(ydgrid,2);
  cleargrid(rmgrid,0);
  datetoctrl;

end;

procedure Tsanydtodjform.djdhKeyPress(Sender: TObject; var Key: Char);
begin
   if ((key>'9') or (key<'0')) and (key<>#8) then
   key:=#0;
end;

procedure Tsanydtodjform.rmgridKeyPress(Sender: TObject; var Key: Char);
begin
  //  if (rmgrid.Col=0) or (rmgrid.Col=1) then key:=#0;
end;

end.

⌨️ 快捷键说明

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