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

📄 ylnewdj.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      q1.ParamByName ('proomno').asstring:=trim(rmnogrid.Cells[0,i]);
      q1.ParamByName ('phandno').asstring :=trim(rmnogrid.Cells[0,i]);
      q1.ParamByName ('paccno').asstring :=szacc;
      q1.ParamByName ('pwelid').asstring:=welno;
      if trim(rmnogrid.Cells[2,i])<>'' then
         q1.ParamByName ('pnum').asinteger:=strtoint(rmnogrid.cells[2,i])
      else
      q1.ParamByName ('pnum').asinteger:=1;
      q1.ParamByName ('pchangeroom').asboolean :=false;
      if trim(rmnogrid.Cells[15,i])='1' then
      begin
        q1.ParamByName ('psex').asstring :='1';
         mannum:=mannum+1;
         ptab:='mansan';
      end;
      if trim(rmnogrid.Cells[15,i])='0' then
      begin
        q1.ParamByName ('psex').asstring :='0';
        womannum:=womannum+1;
        ptab:='womansan';
      end;
      if trim(rmnogrid.Cells[15,i])='2' then
      begin
        q1.ParamByName ('psex').asstring :='2';
        ptab:='room';
        if lsmd=true then
          zdrmnum:=zdrmnum+1
        else
          roomnum:=roomnum+1;
      end;
      if trim(rmnogrid.Cells[15,i])='3' then
      begin
        q1.ParamByName ('psex').asstring :='3';
        ptab:='jyl';
        jylnum:=jylnum+1;
      end;
      if trim(rmnogrid.Cells[1,i])<>'' then
      begin
         q1.ParamByName ('pisbj').asboolean :=true;;
         if trim(rmnogrid.Cells [1,i])='是' then
            q1.ParamByName ('pistime').asboolean:=true
         else
            q1.ParamByName ('pistime').asboolean:=false;
      end
      else
      begin
         q1.ParamByName ('pisbj').asboolean :=false;
         q1.ParamByName ('pistime').asboolean:=false;
      end;
      q1.ParamByName ('pismd').asboolean:=lsmd;
      q1.ParamByName ('pisxj').asboolean:=false;
      q1.ParamByName ('piszp').asboolean:=false;
      q1.ParamByName ('piscard').asboolean:=false;
      q1.ParamByName ('pisgz').asboolean:=false;
      q1.ParamByName ('pgzno').asstring:='';
      q1.ParamByName ('pacctime').asdatetime:=strtodatetime(maskedit1.text);
      q1.paramByName ('pisleft').asboolean:=false;
      q1.ParamByName ('pmoney').asfloat:=0;
      q1.parambyname ('pcsmoney').asfloat:=0;
      q1.ParamByName ('pbegintime').asdatetime:=strtodatetime(maskedit1.text);
      q1.ParamByName ('pregid').asstring :='';
      q1.ParamByName ('pczy').asstring :=copy(reg.text,1,10);
      q1.ParamByName ('pdjcode').asstring :=pdj.Text;
      q1.ParamByName ('psdjcode').asstring :='0';
      q1.ParamByName ('pguest').asinteger:=0 ;
      q1.ParamByName ('pjzfs').asstring:=jzfs.Items[jzfsname.ItemIndex];

      q1.ParamByName ('pzkl').asinteger:=zkl.Value;
      q1.ParamByName ('pxcode').asstring :=trim(rmnogrid.Cells[5,i]);
      q1.ParamByName ('pismff').asboolean :=false;
      q1.ParamByName ('pismxf').asboolean :=false;
      q1.ParamByName ('pxcode').asstring :=trim(rmnogrid.Cells[5,i]);
      q1.ParamByName ('ppzr').asstring :=czy.Caption;
      q1.Prepare;
      q1.ExecSQL;

      q1.Active :=false;
      q1.sql.Clear ;
      q1.sql.add('update '+ptab+' set status=:pstatus where roomno=:proomno ');
      if lsmd=true then
         q1.ParamByName('pstatus').asstring :='4'
      else
         q1.ParamByName('pstatus').asstring :='1';
      q1.ParamByName('proomno').asstring :=trim(rmnogrid.cells[0,i]);
      q1.Prepare;
      q1.ExecSQL;
      q1.Active :=false;
      q1.UnPrepare;
      i:=i+1;
    end;
   end;
end;

procedure Tyldjform.Button1Click(Sender: TObject);
var
     i:integer;
     rmflag:boolean;
begin
  servertime(NIL);
     szacc:='';
     cfhd:='';
   for i:=1 to rmnogrid.RowCount do
      if trim(rmnogrid.cells[0,i])<>'' then
      begin
        { if trim(rmnogrid.cells[5,i])='' then
         begin
          showmessage('房间:'+trim(rmnogrid.cells[0,i])+'鞋牌号没有输入');
          exit;
         end; }
         if (trim(rmnogrid.cells[7,i])<>'4') and (trim(rmnogrid.cells[7,i])<>'12') and (trim(rmnogrid.cells[7,i])<>'24') then
         begin
          showmessage('房间:'+trim(rmnogrid.cells[0,i])+'周转时间不对');
          exit;
         end;
         if trim(rmnogrid.cells[4,i])='' then
         begin
          showmessage('房间:'+trim(rmnogrid.cells[0,i])+'房价没有输入');
          exit;
         end;
      end;
     rmflag:=checkgrid(rmnogrid);
     if (not rmflag) then
     begin
        messagedlg('没有选择手号',mtInformation,[mbok],0);
        exit;
     end ;
     if length(trim(cfhd))>0 then
     begin
        showmessage('手号'+cfhd+' 错误');
        rmnogrid.SetFocus ;
        exit;
     end;
    { if  length(trim(pdj.text))=0 then
     begin
       showmessage('单号不能为空');
       pdj.SetFocus ;
       exit;
     end; }
   szacc:=getnewcode('accno');
   if szacc='' then exit;
   //********find a djno**********************//
   if trim(pdj.Text)='' then
     pdj.Text:=xdh('nowin','lsnowin','djcode',6);
   rmno:='';
   for i:=1 to rmnogrid.RowCount do
      if trim(rmnogrid.cells[0,i])<>'' then
      begin
         rmno:=rmnogrid.cells[0,i];
         break;
      end;
   //***********database is nowin *****************//
   if rmflag then
       ADDman;
   //******* database is account *****************//
    //***********curbcinfo *****************//
    q1.Active :=false;
    q1.sql.clear;
    q1.sql.add('update curbcinfo set room=room+:prm,man=man+:pman,woman=woman+:pwoman,zdroom=zdroom+:pzdrm');
    q1.ParamByName ('prm').asinteger:=roomnum;
    q1.ParamByName ('pman').asinteger:=mannum;
    q1.ParamByName ('pwoman').asinteger:=womannum;
    q1.ParamByName ('pzdrm').asinteger:=zdrmnum;
    q1.Prepare;
    q1.ExecSQL ;
    q1.Active :=false;
    q1.UnPrepare;
    showmessage('登记成功');
    init;
end;


procedure Tyldjform.Timer1Timer(Sender: TObject);
var col,row:integer;
begin
   maskedit1.Text :=datetimetostr(now);
   roomini;

end;

procedure Tyldjform.Button2Click(Sender: TObject);
begin
   yldjform.close;
end;

procedure Tyldjform.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then
     selectnext(activecontrol,true,true);
  if key=27 then
      close;
  if key=112 then
  if not Panel1.Visible then
  begin
    if xt=1 then help(6);
    if xt=0 then help(10);
  end
  else
  begin
    if xt=0 then help(1);
  end;


end;

procedure Tyldjform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   edit2.Text:='';
   q1.Free;
   q2.Free;
end;

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

procedure Tyldjform.rmnogridSelectCell(Sender: TObject; Col, Row: Integer;
  var CanSelect: Boolean);
var
  aa,bb:array [0..1] of string;
begin
  if (col=0) and (rmnogrid.cells[2,currow]='') and (length(trim(rmnogrid.cells[0,currow]))>0) then
     begin
     aa[0]:='';
     getvalue(aa,'select roomtype from room where roomno='''+trim(rmnogrid.cells[0,currow])+'''');
     if length(trim(aa[0]))>0 then
        begin
        bb[0]:='';
        getvalue(bb,'select bednum from roomtype where roomtype='''+trim(aa[0])+'''');
        end;
     rmnogrid.cells[2,currow]:=bb[0];
     end;
     if (col=0) and (rmnogrid.cells[1,currow]='') and (length(trim(rmnogrid.cells[0,currow]))>0) then
        rmnogrid.cells[1,currow]:='0';

end;

procedure Tyldjform.rmnogridSetEditText(Sender: TObject; ACol, ARow: Integer;
  const Value: String);
begin
  currow:=arow;
end;

procedure Tyldjform.jzfsnameChange(Sender: TObject);
var i,j:integer;
begin
end;

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

procedure Tyldjform.grid1DblClick(Sender: TObject);
var ls:string;
    i:integer;
begin
  ls:='  ';
  if activecontrol=jylgrid then
  begin
     i:=1;
     while  trim(rmnogrid.cells[0,i])<>'' do
     begin
       if (trim(rmnogrid.cells[0,i])=trim(jylgrid.cells[jylgrid.Col,jylgrid.Row])) then
         begin
          ls:='$';
          break;
         end;
       i:=i+1;
     end;
     if ls<>'$' then
      ls:=jylgrid.Cells[jylgrid.Col,1];
  end;
     rmno:=jylgrid.Cells[jylgrid.col,jylgrid.row];
  if ls='0' then
     yldjform.n1click(NIl);
end;

procedure Tyldjform.rmnogridDblClick(Sender: TObject);
var i,j:integer;
begin
  if (rmnogrid.Col=0) and (rmnogrid.Cells[0,rmnogrid.row]<>'') then
  begin
    i:=rmnogrid.row;
    if trim(rmnogrid.cells[1,i])='是' then
       yj.Value:=yj.Value-strtoint(rmnogrid.cells[19,i])
    else
       yj.Value:=yj.Value-strtoint(rmnogrid.cells[18,i]);
    while  trim(rmnogrid.cells[0,i])<>'' do
    begin
      for j:=0 to 19 do
        rmnogrid.cells[j,i]:=rmnogrid.cells[j,i+1];
      i:=i+1;
   end;
  end;
  if (rmnogrid.Col=3) and (rmnogrid.Cells[0,rmnogrid.row]<>'') and (rmnogrid.Cells[15,rmnogrid.row]='2') then
  begin
    i:=rmnogrid.row;
    if trim(rmnogrid.cells[3,i])='男' then
       rmnogrid.cells[3,i]:='女' else
       begin
         if trim(rmnogrid.cells[3,i])='女' then
            rmnogrid.cells[3,i]:='俩' else
         begin
           if trim(rmnogrid.cells[3,i])='俩' then
              rmnogrid.cells[3,i]:='男';
         end;
       end;  
  end;
  if (rmnogrid.Col=1) and (trim(rmnogrid.Cells[1,rmnogrid.Row])<>'') then
  begin
    if trim(rmnogrid.Cells[1,rmnogrid.Row])='是' then
    begin
      rmnogrid.Cells[1,rmnogrid.Row]:='否';
      rmnogrid.Cells[4,rmnogrid.Row]:=floattostr(strtofloat(rmnogrid.Cells[16,rmnogrid.Row])*zkl.Value/100);
      yj.Value:=yj.Value-strtoint(rmnogrid.cells[19,rmnogrid.Row])+strtoint(rmnogrid.cells[18,rmnogrid.Row]);
    end
    else
    begin
      rmnogrid.Cells[1,rmnogrid.Row]:='是';
      rmnogrid.Cells[4,rmnogrid.Row]:=floattostr(strtofloat(rmnogrid.Cells[17,rmnogrid.Row])*zkl.Value/100);
      yj.Value:=yj.Value-strtoint(rmnogrid.cells[18,rmnogrid.Row])+strtoint(rmnogrid.cells[19,rmnogrid.Row]);
    end;

  end;
end;

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

procedure Tyldjform.rmnogridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (trim(rmnogrid.Cells[1,rmnogrid.Row])='') then
    rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goAlwaysShowEditor]
  else
  begin
    if (rmnogrid.Col=1) or (rmnogrid.Col=2) then
      rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing,goAlwaysShowEditor];
  end;
  if (rmnogrid.Col=5) then
      rmnogrid.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing,goAlwaysShowEditor];
end;

procedure Tyldjform.rmnogridKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (rmnogrid.Col=1) and (trim(rmnogrid.Cells[1,rmnogrid.Row])<>'') then
   begin
     if (trim(rmnogrid.Cells[1,rmnogrid.Row])='0') or (trim(rmnogrid.Cells[1,rmnogrid.Row])='是') then
     begin
       rmnogrid.Cells[1,rmnogrid.Row]:='否';
       rmnogrid.Cells[4,rmnogrid.Row]:=rmnogrid.Cells[6,rmnogrid.Row];
       yj.Value:=yj.Value-strtoint(rmnogrid.cells[9,rmnogrid.Row])+strtoint(rmnogrid.cells[8,rmnogrid.Row]);
     end
     else
     begin         
       rmnogrid.Cells[1,rmnogrid.Row]:='是';
       yj.Value:=yj.Value-strtoint(rmnogrid.cells[8,rmnogrid.Row])+strtoint(rmnogrid.cells[9,rmnogrid.Row]);
       rmnogrid.Cells[4,rmnogrid.Row]:=rmnogrid.Cells[7,rmnogrid.Row];
     end;
   end;
end;

procedure Tyldjform.zklChange(Sender: TObject);
var i:integer;
begin
   i:=1;
   while trim(rmnogrid.Cells[0,i])<>'' do
   begin
      if trim(rmnogrid.cells[1,i])='是' then rmnogrid.cells[4,i]:=floattostr(strtofloat(rmnogrid.cells[17,i])*zkl.Value/100)
      else rmnogrid.cells[4,i]:=floattostr(strtofloat(rmnogrid.cells[16,i])*zkl.Value/100);
      i:=i+1;
   end;
end;

procedure Tyldjform.jylgridDrawCell(Sender: TObject; Col, Row: Integer;
  Rect: TRect; State: TGridDrawState);
var
     bb:Tbrush;
     tt:trect;
begin
   if col=0 then
      exit;
   if length(trim(jylgrid.Cells[Col,1]))>0  then
      begin
       bb:=jylgrid.canvas.brush;
       if jylgrid.Cells[Col,1]='0' then
           jylgrid.canvas.font.color:=$0000ff00;  //GReen
       if jylgrid.Cells[Col,1]='1' then
           jylgrid.canvas.font.color:=$000000ff;  // Red
       if jylgrid.Cells[Col,1]='2' then
           jylgrid.canvas.font.color:=$0000ffff;  // Yellow
       if jylgrid.Cells[Col,1]='3' then
          jylgrid.canvas.font.color:=$00ffff00;  //  blank
       if jylgrid.Cells[Col,1]='4' then
          jylgrid.canvas.font.color:=$02aa00aa;  //
       tt:=jylgrid.cellrect(col,row);
       jylgrid.canvas.textrect(tt,tt.Left,tt.Top,jylgrid.Cells[Col,Row]);
       jylgrid.canvas.brush:=bb;
    end;

end;

procedure Tyldjform.FormShow(Sender: TObject);
begin
    pdj.Text:='';

end;

procedure Tyldjform.hykhKeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;

procedure Tyldjform.jylgridMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if (strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))))<jylgrid.ColCount)
   and  (strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))))>0) then
    jylgrid.Col:=strtoint(floattostr(int((x/(jylgrid.DefaultColWidth+1)))));
end;

end.

⌨️ 快捷键说明

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