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

📄 newdj.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
              end;
           rmnogrid.cells[2,i]:=bb[0];
           end;
     end;  }
end;

procedure Tdjform.mangridDrawCell(Sender: TObject; Col, Row: Integer;
  Rect: TRect; State: TGridDrawState);
var
     bb:Tbrush;
     tt:trect;
begin
   if col=0 then
      exit;
//   lsroom:=copy('00'+trim(inttostr(col)),length(trim(inttostr(col))),3);
   if length(trim(mangrid.Cells[Col,1]))>0  then
      begin
       bb:=mangrid.canvas.brush;
       if mangrid.Cells[Col,1]='0' then
           mangrid.canvas.font.color:=$0000ff00;  //GReen
       if mangrid.Cells[Col,1]='1' then
           mangrid.canvas.font.color:=$000000ff;  // Red
       if mangrid.Cells[Col,1]='2' then
           mangrid.canvas.font.color:=$0000ffff;  // Yellow
       if mangrid.Cells[Col,1]='3' then
          mangrid.canvas.font.color:=$00ffff00;  //  blank
       if mangrid.Cells[Col,1]='4' then
          mangrid.canvas.font.color:=$02aa00aa;  //
       if mangrid.Cells[Col,1]='5' then
          mangrid.canvas.font.color:=clOlive;  //
       if mangrid.Cells[Col,1]='6' then
          mangrid.canvas.font.color:=$004080FF;  //
       if mangrid.Cells[Col,1]='7' then
          mangrid.canvas.font.color:=$003F8FA0;  //
       tt:=mangrid.cellrect(col,row);
       mangrid.canvas.textrect(tt,tt.Left,tt.Top,mangrid.Cells[Col,Row]);
       mangrid.canvas.brush:=bb;

    end;
end;

procedure Tdjform.womangrid1DrawCell(Sender: TObject; Col, Row: Integer;
  Rect: TRect; State: TGridDrawState);
var
     bb:Tbrush;
     tt:trect;
begin
    if col=0 then
    exit;
    if length(trim(womangrid.Cells[Col,1]))>0 then
      begin
       bb:=womangrid.canvas.brush;
       if womangrid.Cells[Col,1]='0' then
           womangrid.canvas.font.color:=$0000ff00;  //GReen
//           womangrid.canvas.brush.color:=$0000ff00;  //GReen
       if womangrid.Cells[Col,1]='1' then
           womangrid.canvas.font.color:=$000000ff;  // Red
       if womangrid.Cells[Col,1]='2' then
           womangrid.canvas.font.color:=$0000ffff;  // Yellow
       if womangrid.Cells[Col,1]='3' then
          womangrid.canvas.font.color:=$00ffff00;  //  blank
       if womangrid.Cells[Col,1]='4' then
          womangrid.Canvas.font.color:=$02aa00aa;
       if womangrid.Cells[Col,1]='5' then
          womangrid.Canvas.font.color:=clOlive;
       if womangrid.Cells[Col,1]='6' then
          womangrid.Canvas.font.color:=$004080FF;
       if womangrid.Cells[Col,1]='7' then
          womangrid.Canvas.font.color:=$003F8FA0;

       tt:=womangrid.cellrect(col,row);
       womangrid.canvas.textrect(tt,tt.Left,tt.Top,womangrid.Cells[Col,Row]);
       womangrid.canvas.brush:=bb;
    end;
end;

procedure Tdjform.N2Click(Sender: TObject);
begin
if (activecontrol=grid1) and (not Panel1.Visible)  then
 begin
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   fm.Query2.SQL.Add('update room set status=''1'' where roomno='''+lsroom[grid1.row,grid1.col]+''' and (status=''6'' or status=''7'')  ');
   fm.Query2.ExecSQL;
 end;
if (activecontrol=grid2) and (not Panel1.Visible)  then
begin
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   fm.Query2.SQL.Add('update room set status=''1'' where roomno='''+llssroom[grid2.row,grid2.col]+''' and  (status=''6'' or status=''7'')  ');
   fm.Query2.ExecSQL;
  end;
if (activecontrol=mangrid) and (not Panel1.Visible)  then
begin
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   fm.Query2.SQL.Add('update MANSAN set status=''1'' where Roomno='''+trim(mangrid.cells[mangrid.Col,mangrid.Row])+''' and  (status=''6'' or status=''7'')  ');
   fm.Query2.ExecSQL;
  end;
if (activecontrol=womangrid) and (not Panel1.Visible)  then
begin
   fm.Query2.Active:=false;
   fm.Query2.SQL.Clear;
   fm.Query2.SQL.Add('update WOMANSAN set status=''1'' where Roomno='''+trim(womangrid.cells[womangrid.Col,womangrid.Row])+''' and  (status=''6'' or status=''7'')  ');
   fm.Query2.ExecSQL;
end;
 Timer1Timer(nil);
{  if trim(edit2.Text)='a' then exit;
 Application.CreateForm(Txgyqjzform,xgyqjzform);
 xgyqjzform.showmodal;
 xgyqjzform.free; }
end;

procedure Tdjform.MaskEdit1Exit(Sender: TObject);
var
  rq:tdatetime;
begin
  try
     rq:=strtodatetime(maskedit1.text);
  except
     showmessage('时间不对');
     maskedit1.SetFocus ;
  end;
end;

procedure Tdjform.sznoExit(Sender: TObject);
begin
   if length(trim(szno.text))>0 then
     begin
     q1.Active :=false;
     q1.sql.clear;
     q1.sql.add('select handno,sex,isbj,djcode from nowin where handno=:phd');
     q1.ParamByName ('phd').asstring:=trim(szno.text);
     q1.Prepare;
     q1.open;
     q1.Active :=true;
     if q1.RecordCount =0 then
        begin
          showmessage('此手号不存在');
          szno.SetFocus;
        end;
    pdj.Text:=q1.fieldbyname('djcode').asstring;
     if q1.RecordCount =1 then
        begin
        man.Enabled :=false;
        woman.Enabled :=false;
        if q1.FieldByName ('sex').asstring='0' then
           woman.Checked :=true;
        if q1.FieldByName ('sex').asstring='1' then
           man.Checked :=true;
        if (q1.FieldByName ('sex').asstring='2')or(q1.FieldByName ('sex').asstring='3')  then
           begin
           man.Checked :=false;
           woman.Checked :=false;
           end;
        end;
     if q1.RecordCount =2 then
        begin
        man.Enabled :=true;
        woman.Enabled :=true;
        man.Checked :=true;
        man.SetFocus ;
        end;
     end
   else
     begin
     man.Enabled :=false;
     woman.Enabled :=false;
     man.Checked :=false;
     woman.Checked :=false;
     end;
end;


Function checkgrid(tg:tstringgrid):boolean;
var
   i: integer;
begin
   checkgrid:=false;
   for i:=1 to tg.rowcount-1 do
       if length(trim(tg.cells[0,i]))>0 then
       begin
         checkgrid:=true;
         break;
       end;
  { if cw=true then
      begin
      for i:=1 to tg.rowcount-1 do
          if tg.cells[0,i]<>'' then
             begin
             cc[0]:='';
             if tg=djform.rmnogrid then
                getvalue(cc,'select status,roomno from room where roomno='''+trim(tg.cells[0,i])+'''');
             if tg=djform.mansygrid then
                getvalue(cc,'select status,roomno from mansan where roomno='''+trim(tg.cells[0,i])+'''');
             if tg=djform.womansygrid then
                getvalue(cc,'select status,roomno from womansan where roomno='''+trim(tg.cells[0,i])+'''');
             if trim(cc[0])<>'0' then
                cfhd:=cfhd+' '+cc[1];
             end;
      end;}
end;

procedure addman;
var
   depo:double;
   i:integer;
   ptab,welno:string;
   aa: array [0..2] of string;
begin
 with djform do
  begin
    depo:=0;
    i:=1;
    while trim(rmnogrid.Cells[0,i])<>''  DO
    begin
      welno:=getnewcode('welid');
//      welno:=xdh('nowin','lsnowin','welid',6);
      if i=1 then
      begin
        q1.Active :=false;
        q1.sql.clear;
        if trim(szno.text)<>''  then
        begin
           aa[0]:='';
           getvalue(aa,'select accno,deposit from account where accno='''+trim(szacc)+'''');
           if aa[0]<>'' then
              depo:=strtofloat(aa[1]);
           q1.sql.add('update account set deposit=:pdeposit where accno=:paccno');
           q1.ParamByName('pdeposit').asfloat:=depo+yj.value;
        end
        else
        begin
          q1.sql.add('insert into account values(:paccno,:pdeposit,0)');
          q1.ParamByName('pdeposit').asfloat:=yj.value;
        end ;
        q1.ParamByName('paccno').asstring:=szacc;
        q1.prepare;
        q1.ExecSQL ;
        q1.Active :=false;
        //************database is deposit*****************//
        //************************************************//
        if yj.value>0 then
        begin
          q1.Active :=false;
          q1.sql.clear;
          q1.sql.add('insert into deposit values(:phdno,:psex,:paccno,:pwelid,:pdeposit,:pdeposittime)');
          q1.sql.add('insert into bjyjb values(:phdno,'''',:pdeposit,:pdeposittime,'''+curper.code+''',:paccno,:pwelid)');
          q1.ParamByName ('phdno').asstring :=trim(rmnogrid.Cells[0,1]);
          q1.ParamByName ('psex').asstring :=trim(rmnogrid.Cells[15,1]);
          q1.ParamByName ('paccno').asstring:=szacc;
          q1.ParamByName ('pwelid').asstring:=welno;
          q1.ParamByName ('pdeposit').asfloat:=yj.value;
          q1.ParamByName ('pdeposittime').asstring:=maskedit1.text;
          q1.Prepare;
          q1.ExecSQL;
          q1.Active :=false;
        end ;
      end;
      q1.Active :=false;
      q1.sql.Clear ;
      q1.sql.add('insert into nowin(roomno,handno,accno,Welid,num,roomprice,truntime,changeroom,isbj,sex,istime,ismd,isxj,iszp,iscard,isgz,gzno,acctime,isleft,money,csmoney,begtime,regid,djcode,sdjcode,guest,JzFs,czy,zkl,ismff,ismxf,xcode,pzr)');
      q1.sql.add(' values(:proomno,:phandno,:paccno,:PWelid,:pnum,:roomprice,:truntime,:pchangeroom,:pisbj,:psex,:pistime,:pismd,:pisxj,:piszp,:piscard,:pisgz,:pgzno,:pacctime,:pisleft,:pmoney,:pcsmoney,:pbegintime,:pregid,:pdjcode,:psdjcode,');
      q1.sql.add(':pguest,:pJzFs,:pczy,:pzkl,:pismff,:pismxf,:pxcode,:ppzr)');
      q1.sql.add('insert into dznowin(roomno,handno,accno,Welid,num,roomprice,truntime,changeroom,isbj,sex,istime,ismd,isxj,iszp,iscard,isgz,gzno,acctime,isleft,money,csmoney,begtime,regid,djcode,sdjcode,guest,JzFs,czy,zkl,ismff,ismxf,xcode,pzr)');
      q1.sql.add(' values(:proomno,:phandno,:paccno,:PWelid,:pnum,:roomprice,:truntime,:pchangeroom,:pisbj,:psex,:pistime,:pismd,:pisxj,:piszp,:piscard,:pisgz,:pgzno,:pacctime,:pisleft,:pmoney,:pcsmoney,:pbegintime,:pregid,:pdjcode,:psdjcode,');
      q1.sql.add(':pguest,:pJzFs,:pczy,:pzkl,:pismff,:pismxf,:pxcode,:ppzr)');
      q1.sql.add('insert into GuestMx(roomno,Welid,Name,Sex,Age,Zj,zjid,WorkUnit,accno,groupid)');
      q1.sql.add(' values(:proomno,:PWelid,:pname,:pxb,:page,:pzj,:pzjid,:pwork,:paccno,'''')');
      q1.ParamByName ('pxb').asstring:=trim(rmnogrid.Cells[3,i]);
      q1.ParamByName ('pname').asstring:=trim(rmnogrid.Cells[6,i]);
      q1.ParamByName ('truntime').asstring:=trim(rmnogrid.Cells[7,i]);
      q1.ParamByName ('roomprice').asstring:=trim(rmnogrid.Cells[4,i]);
      q1.ParamByName ('page').asstring:=trim(rmnogrid.Cells[8,i]);
      q1.ParamByName ('pzj').asstring:=trim(rmnogrid.Cells[9,i]);
      q1.ParamByName ('pzjid').asstring:=trim(rmnogrid.Cells[10,i]);
      q1.ParamByName ('pwork').asstring:=trim(rmnogrid.Cells[11,i]);
      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 :=hykh.Text;
      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 :=md.Checked;
      q1.ParamByName ('pismxf').asboolean :=mxf.Checked;
      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

⌨️ 快捷键说明

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