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

📄 newdj.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit newdj;

interface
                        
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Grids, Mask, Spin, Menus, DBTables, Db, ExtCtrls;

type
  Tdjform = class(TForm)
    grid1: TStringGrid;
    mangrid: TStringGrid;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    q1: TQuery;
    grid2: TStringGrid;
    Timer1: TTimer;
    Bevel1: TBevel;
    womangrid: TStringGrid;
    Q2: TQuery;
    Panel1: TPanel;
    Label8: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label1: TLabel;
    szno: TMaskEdit;
    man: TRadioButton;
    woman: TRadioButton;
    md: TCheckBox;
    jzfsname: TComboBox;
    jzfs: TComboBox;
    Button2: TButton;
    Panel2: TPanel;
    MaskEdit1: TMaskEdit;
    Panel3: TPanel;
    reg: TMaskEdit;
    xfrmno: TEdit;
    zkl: TSpinEdit;
    Bevel9: TBevel;
    Bevel10: TBevel;
    Bevel11: TBevel;
    Bevel12: TBevel;
    Bevel13: TBevel;
    Bevel14: TBevel;
    Bevel15: TBevel;
    Bevel16: TBevel;
    Panel11: TPanel;
    Panel12: TPanel;
    Panel13: TPanel;
    Panel14: TPanel;
    Panel15: TPanel;
    Panel16: TPanel;
    Panel17: TPanel;
    Bevel17: TBevel;
    Bevel18: TBevel;
    Bevel19: TBevel;
    Bevel20: TBevel;
    Panel18: TPanel;
    Panel19: TPanel;
    Panel20: TPanel;
    Panel21: TPanel;
    jylgrid: TStringGrid;
    Bevel21: TBevel;
    Bevel22: TBevel;
    Panel22: TPanel;
    Panel23: TPanel;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    Bevel8: TBevel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel9: TPanel;
    Panel10: TPanel;
    GroupBox1: TGroupBox;
    hykh: TEdit;
    Label3: TLabel;
    kye: TLabel;
    N2: TMenuItem;
    Edit1: TEdit;
    Edit2: TEdit;
    xxzl: TCheckBox;
    mxf: TCheckBox;
    czy: TLabel;
    CheckBox1: TCheckBox;
    yj: TSpinEdit;
    pdj: TEdit;
    Button1: TButton;
    Button3: TButton;
    Panel24: TPanel;
    Bevel23: TBevel;
    Panel25: TPanel;
    rmnogrid: TStringGrid;
    Panel4: TPanel;
    CheckBox2: TCheckBox;
    Query1: TQuery;
    Query2: TQuery;
    Bevel24: TBevel;
    procedure grid1DrawCell(Sender: TObject; Col, Row: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure N1Click(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure rmnogridExit(Sender: TObject);
    procedure mangridDrawCell(Sender: TObject; Col, Row: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure womangrid1DrawCell(Sender: TObject; Col, Row: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure N2Click(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure sznoExit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure grid2DrawCell(Sender: TObject; Col, Row: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure rmnogridKeyPress(Sender: TObject; var Key: Char);
    procedure rmnogridSelectCell(Sender: TObject; Col, Row: Integer;
      var CanSelect: Boolean);
    procedure rmnogridSetEditText(Sender: TObject; ACol, ARow: Integer;
      const Value: String);
    procedure jzfsnameChange(Sender: TObject);
    procedure jzfsnameKeyPress(Sender: TObject; var Key: Char);
    procedure grid1DblClick(Sender: TObject);
    procedure rmnogridDblClick(Sender: TObject);
    procedure pdjKeyPress(Sender: TObject; var Key: Char);
    procedure rmnogridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure rmnogridKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure zklChange(Sender: TObject);
    procedure jylgridDrawCell(Sender: TObject; Col, Row: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure FormShow(Sender: TObject);
    procedure hykhKeyPress(Sender: TObject; var Key: Char);
    procedure hykhDblClick(Sender: TObject);
    procedure hykhExit(Sender: TObject);
    procedure grid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure grid2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure mangridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure womangridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure jylgridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure mdClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure rmnogridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  djform: Tdjform;

implementation
uses dataproc, roomhsan, hf,xgftyqjz,icdate, bkzl, qxrz;
{$R *.DFM}
var
     szacc:string[6];
//     addyj:real;
     dehdno,desex,dewel:string;
     cfhd,rmno,curroomtype:string;
     //tt:tstringgrid;
     lsroom:array [0..5,0..13] of string;
     llssroom:array [0..5,0..9] of string;
     hintroom:array [0..5,0..13] of string;
     hintroom2:array [0..5,0..9] of string;
     lsstatusarr:array [0..5,0..13] of string[1];
     llssstatusarr:array [0..5,0..9] of string [1];
     //llssroomnum:array [0..4,0..6] of integer;
     currow,zdrmnum,roomnum,mannum,womannum,jylnum:integer;
     lsmd:boolean;
     rmtypearr:array[1..2,0..13] of string;

procedure roomini;
var  ls:string;
  i:integer;
begin
with djform do
   begin
   edit1.Text:='';  
   q2.Active :=false;
   q2.sql.clear;
   q2.sql.add('select RoomNo,status from mansan');
//   q1.ParamByName ('pgridno').asinteger:=1;
   q2.Prepare;
   q2.open;
   i:=1;
   while  not  q2.EOF do
      begin
        mangrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
        mangrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
        i:=i+1;
        q2.Next;
      end;
   mangrid.ColCount:=i+1;
   q2.Active :=false;
   q2.sql.clear;
   q2.sql.add('select * from womansan');
   q2.Prepare;
   q2.open;
   i:=1;
   while  not  q2.EOF do
      begin
        womangrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
        womangrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
        i:=i+1;
        q2.Next;
      end;
   womangrid.ColCount:=i+1;

   q2.Active :=false;
   q2.sql.clear;
   q2.sql.add('select * from jyl');
//   q1.ParamByName ('pgridno').asinteger:=1;
   q2.Prepare;
   q2.open;
   i:=1;
   while  not  q2.EOF do
      begin
        jylgrid.Cells[i,0]:=q2.fieldbyname('RoomNo').asstring;
        jylgrid.Cells[i,1]:=q2.fieldbyname('status').asstring;
        i:=i+1;
        q2.Next;
      end;
   jylgrid.ColCount:=i+1;

   q2.Active :=false;
   q2.sql.clear;
   q2.sql.add('select room.roomno,row,col,status,gridno,name,price,turntime,bednum,zdprice,zdturntime from Room_Position,room where room.roomno=room_position.roomno ');
//   q1.ParamByName ('pgridno').asinteger:=1;
   q2.Prepare;
   q2.open;
   while  not  q2.EOF do
      begin
         if q2.fields[4].asinteger=1 then
         begin
            lsroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('Roomno').asstring;
            lsstatusarr[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('status').asstring;
            hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:='房间类型:'+q2.fieldbyname('name').asstring+'  周转:'+q2.fieldbyname('turntime').asstring+
               '   房价:'+q2.fieldbyname('price').asstring+#13+' 钟点周转:'+q2.fieldbyname('turntime').asstring+'   钟点价格:'+q2.fieldbyname('zdprice').asstring;
            if (trim(q2.fieldbyname('status').asstring)='1') then
            begin
              q1.sql.clear;
              q1.sql.add('select name,workunit,zjid,sex,(select begtime from nowin where roomno=guestmx.roomno and accno=guestmx.accno) as sj,Deposit,Custom,(select sum(num) from nowin where accno=guestmx.accno) as rs from guestmx,Account');
              q1.sql.add(' where Account.accno=guestmx.accno and roomno='''+q2.fieldbyname('Roomno').asstring+'''');
              q1.open;
              ls:='';
              while not q1.Eof do
              begin
                ls:=ls+#13+'姓名:'+q1.fieldbyname('name').asstring+'  性别:';
                ls:=ls+q1.fieldbyname('sex').asstring+#13;
                ls:=ls+'证件号码:'+q1.fieldbyname('zjid').asstring+#13+'工作单位:'+q1.fieldbyname('workunit').asstring+#13;
                ls:=ls+'入住时间:'+q1.fieldbyname('sj').asstring+#13+'同来人数:'+q1.fieldbyname('rs').asstring;
                ls:=ls+'  押金:    '+q1.fieldbyname('Deposit').asstring+'元    消费:    '+q1.fieldbyname('Custom').asstring+'元';
                q1.Next;
              end;
              hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=hintroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]+ls;
              q1.Active :=false;
              q1.sql.Clear;
            end;
         end;
         if q2.fields[4].asinteger=2 then
         begin
            llssroom[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('Roomno').asstring;
            llssstatusarr[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=q2.fieldbyname('status').asstring;
            hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:='房间类型:'+q2.fieldbyname('name').asstring+'  周转:'+q2.fieldbyname('turntime').asstring+
               '  房价:'+q2.fieldbyname('price').asstring+#13+'钟点周转:'+q2.fieldbyname('turntime').asstring+'  钟点价格:'+q2.fieldbyname('zdprice').asstring;
            if (trim(q2.fieldbyname('status').asstring)='1') then
            begin
              q1.sql.clear;
              q1.sql.add('select name,workunit,zjid,sex,(select begtime from nowin where roomno=guestmx.roomno and accno=guestmx.accno) as sj,Deposit,Custom,(select sum(num) from nowin where accno=guestmx.accno) as rs from guestmx,Account');
              q1.sql.add(' where Account.accno=guestmx.accno and roomno='''+q2.fieldbyname('Roomno').asstring+'''');
              q1.open;
              ls:='';
              while not q1.Eof do
              begin
                ls:=ls+#13+'姓名:'+q1.fieldbyname('name').asstring+'  性别:';
                ls:=ls+q1.fieldbyname('sex').asstring+#13;
                ls:=ls+'证件号码:'+q1.fieldbyname('zjid').asstring+#13+'工作单位:'+q1.fieldbyname('workunit').asstring+#13;
                ls:=ls+'入住时间:'+q1.fieldbyname('sj').asstring+#13+'同来人数:'+q1.fieldbyname('rs').asstring;
                ls:=ls+'  押金:    '+q1.fieldbyname('Deposit').asstring+'元    消费:    '+q1.fieldbyname('Custom').asstring+'元';
                q1.Next;
              end;
              hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]:=hintroom2[q2.fields[1].asinteger,q2.fieldbyname('col').asinteger]+ls;
              q1.Active :=false;
              q1.sql.Clear;
            end;
         end;
          q2.Next;
      end;
   q2.Close;
   q2.Active :=false;
   q2.UnPrepare;
   end;
end;

procedure xggrid(grid1: TStringGrid);
var i,j:integer;
begin

   for i:=0 to grid1.RowCount-1 do
       for j:=0 to grid1.ColCount-1 do
           begin
             grid1.row:=grid1.RowCount-1-i;
             grid1.col:=grid1.ColCount-1-j;
           end;
end;
procedure init;
begin
  with djform do
  begin
    qkgrid(rmnogrid);
    rmnogrid.Cells [0,0]:='房号';
    rmnogrid.Cells [1,0]:='钟点';
    rmnogrid.Cells [2,0]:='人数';
    rmnogrid.Cells [3,0]:='性别';
    rmnogrid.Cells [4,0]:='价格';
    rmnogrid.Cells [5,0]:=' 鞋牌号';
    rmnogrid.Cells [6,0]:='姓名';
    rmnogrid.Cells [7,0]:='周转';
    rmnogrid.Cells [8,0]:='年龄';
    rmnogrid.Cells [9,0]:='证件名';
    rmnogrid.Cells [10,0]:='   证件号';
    rmnogrid.Cells [11,0]:='    工作单位';
    mangrid.Cells[0,0]:='男散';
    womangrid.Cells[0,0]:='女散';
    jylgrid.Cells[0,0]:='娱乐';
    dehdno:='';
    desex:='';
    dewel:='';
    pdj.Text:='';
    hykh.Text:='';
     kye.Caption:='';
    maskedit1.Text :=datetimetostr(now);
    zkl.Enabled:=false;
    yj.value:=0; CheckBox1.Checked:=false;
    szno.text:='';
    pdj.text:='';
    czy.Caption:='';
    zkl.Value:=100;
    roomini;

⌨️ 快捷键说明

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