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

📄 groupdjcx.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit groupdjcx;

interface

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

type
  Tgroupdjcxform = class(TForm)
    Button2: TButton;
    q1: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Bevel2: TBevel;
    Label8: TLabel;
    Label9: TLabel;
    labed10: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    Label15: TLabel;
    Bevel3: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    country: TEdit;
    workunit: TMaskEdit;
    master: TEdit;
    djtime: TMaskEdit;
    daynum: TSpinEdit;
    yj: TSpinEdit;
    rmnum: TSpinEdit;
    pnum: TSpinEdit;
    sy: TEdit;
    zj: TComboBox;
    rmtypegrid: TStringGrid;
    rmgrid: TStringGrid;
    rmf: TCheckBox;
    xf: TCheckBox;
    cusgrid: TStringGrid;
    phonef: TCheckBox;
    isreg: TCheckBox;
    ttjc: TMaskEdit;
    id: TMaskEdit;
    nl: TSpinEdit;
    Panel1: TPanel;
    xj: TRadioButton;
    zp: TRadioButton;
    card: TRadioButton;
    cardlist: TComboBox;
    gz: TRadioButton;
    mf: TRadioButton;
    groupname: TComboBox;
    GroupBox1: TGroupBox;
    man: TRadioButton;
    woman: TRadioButton;
    procedure FormCreate(Sender: TObject);
    procedure groupnameClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  groupdjcxform: Tgroupdjcxform;

implementation
uses dataproc;

{$R *.DFM}

var
   rmtp,custp:array [0..30] of string;
   groupno:string;

procedure formini;
begin
with groupdjcxform do
   begin
   sy.text:='';
   country.text:='中国';
   ttjc.Text :='';
   workunit.text:='';
   master.Text :='';
   man.Checked :=true;
   nl.Value :=30;
   zj.Clear ;
   id.Text :='';
   djtime.Text :=datetimetostr(now);
   daynum.Value :=3;
   xj.Checked :=true;
   yj.Value :=1000;
   rmnum.Value :=0;
   pnum.Value :=0;
   isreg.Checked :=false;
   rmf.Checked :=false;
   phonef.Checked :=false;
   xf.Checked :=false;
   cleargrid(rmtypegrid,2);
   cleargrid(rmgrid,0);
   end
end;

procedure datatoctl;
var
  i:integer;
begin
with groupdjcxform do
  begin
  i:=1;
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select roomtype,name,bednum from roomtype');
  q1.Prepare;
  q1.open;
  q1.Active :=true;
  rmtypegrid.RowCount :=q1.RecordCount+1 ;
  while not q1.EOF do
     begin
     rmtp[i]:=q1.fieldbyname('roomtype').asstring;
     rmtypegrid.cells[0,i]:=q1.fieldbyname('name').asstring;
     rmtypegrid.Cells [1,i]:=inttostr(q1.fieldbyname('bednum').asinteger);
     rmtypegrid.cells[2,i]:='';
     q1.Next ;
     i:=i+1;
     end;
  i:=1;
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.Add('select custype,cusname from custype where parentcode=:pid');
  q1.ParamByName ('pid').asstring:='0';
  q1.Prepare;
  q1.open;
  q1.Active :=true;
  cusgrid.rowcount:=q1.recordcount+1 ;
  while not q1.eof do
     begin
     custp[i]:=q1.fieldbyname('custype').asstring;
     cusgrid.Cells[0,i]:=q1.fieldbyname('cusname').asstring;
     cusgrid.cells[1,i]:='自己付';
     q1.Next ;
     i:=i+1;
     end;
  q1.Active :=false;
  end;
end;

procedure seeinfo;
var
  lszj:string;
  aa:array [0..1] of string;
  i:integer;
begin
with groupdjcxform do
   begin
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('select * from groupnowin where groupname=:pname');
   q1.ParamByName ('pname').asstring:=trim(groupname.items[groupname.itemindex]);
   q1.Prepare;
   q1.open;
   if q1.RecordCount >0 then
      begin
      groupno:=q1.fieldbyname('groupid').asstring;
      sy.Text :=q1.fieldbyname('cause').asstring;
      country.Text :=q1.fieldbyname('country').asstring;
      ttjc.Text :=q1.fieldbyname('othername').asstring;
      workunit.Text :=q1.fieldbyname('workunit').asstring;
      master.Text :=q1.fieldbyname('mastername').asstring;
      if trim(q1.fieldbyname('sex').asstring)='1' then
         man.Checked:=true
      else
         woman.Checked:=false;
      nl.Value :=q1.fieldbyname('age').asinteger;
      id.Text :=q1.fieldbyname('zjid').asstring;
      djtime.Text :=q1.fieldbyname('djtime').asstring;
      daynum.value:=q1.fieldbyname('daynum').asinteger;
      if q1.fieldbyname('djfs').asstring='01' then
         xj.Checked :=true;
      if q1.fieldbyname('djfs').asstring='02' then
         zp.Checked :=true;
      if q1.fieldbyname('djfs').asstring='04' then
         gz.Checked :=true;
      if q1.fieldbyname('djfs').asstring='05' then
         mf.Checked :=true;
      if q1.fieldbyname('djfs').asstring='13' then
         begin
         card.Checked :=true;
         cardlist.ItemIndex:=0;
         end;
      if q1.fieldbyname('djfs').asstring='23' then
         begin
         card.Checked :=true;
         cardlist.ItemIndex:=1;
         end;
      if q1.fieldbyname('djfs').asstring='33' then
         begin
         card.Checked :=true;
         cardlist.ItemIndex:=2;
         end;
      yj.value:=q1.fieldbyname('money').asinteger;
      rmnum.value:=q1.fieldbyname('roomnum').asinteger;
      pnum.value:=q1.fieldbyname('peonum').asinteger;
      isreg.Checked :=q1.fieldbyname('isreginfo').asboolean;
      rmf.Checked:=q1.fieldbyname('isrmmoney').asboolean;
      phonef.Checked :=q1.fieldbyname('isphone').asboolean;
      xf.Checked :=q1.fieldbyname('isallcus').asboolean;
      lszj:=q1.fieldbyname('zj').asstring;
      q1.Active :=false;
      aa[0]:='';
      getvalue(aa,'select name from zj where code='''+trim(lszj)+'''');
      zj.ItemIndex :=zj.Items.IndexOf (trim(aa[0]));
      // roomtype grid
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('select roomtype,roomnum from grouproom where groupid=:pid');
      q1.ParamByName ('pid').asstring:=trim(groupno);
      q1.Prepare;
      q1.open;
      while not q1.eof do
         begin
         i:=1;
         while i<rmtypegrid.RowCount do
            begin
            if trim(rmtp[i])=trim(q1.FieldByName ('roomtype').asstring) then
               begin
               rmtypegrid.Cells[2,i]:=inttostr(q1.fieldbyname('roomnum').asinteger);
               break;
               end;
            i:=i+1;
            end;
         q1.Next;
         end;
      //room grid
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('select roomno,price from grouprmmx where groupid=:pid');
      q1.ParamByName ('pid').asstring:=trim(groupno);
      q1.Prepare;
      q1.open;
      i:=1;
      rmgrid.RowCount :=q1.RecordCount +1;
      while not q1.eof do
         begin
         rmgrid.cells[0,i]:=q1.fieldbyname('roomno').asstring;
         rmgrid.cells[1,i]:=inttostr(q1.fieldbyname('price').asinteger);
         i:=i+1;
         q1.Next ;
         end;
      //cus grid
      q1.Active :=false;
      q1.sql.clear;
      q1.sql.add('select custype,cusname from groupzfcus where groupid=:pid');
      q1.ParamByName ('pid').asstring:=trim(groupno);
      q1.Prepare;
      q1.open;
      while not q1.EOF do
         begin
         i:=1;
         while i<cusgrid.RowCount do
            begin
            if trim(cusgrid.cells[0,i])=trim(q1.FieldByName ('cusname').asstring) then
               begin
               cusgrid.cells[1,i]:='团体付';
               break;
               end;
            i:=i+1;
            end;
         q1.Next;
         end;
      q1.Active :=false;
      end
   else
      formini;
   end;
end;

procedure Tgroupdjcxform.FormCreate(Sender: TObject);
begin
   shortdateformat:='yyyy-mm-dd';
   rmtypegrid.Cells [0,0]:='  房间类型';
   rmtypegrid.Cells [1,0]:='  房间床数';
   rmtypegrid.Cells [2,0]:='登记房间数量';
   rmgrid.cells[0,0]:='  房间';
   rmgrid.cells[1,0]:='  价格';
   cusgrid.Cells [0,0]:='   消费类型';
   cusgrid.Cells [1,0]:='付款方式';
   formini;
   comadd(zj,1,'select name from zj');
   comadd(groupname,1,'select groupname from groupnowin');
   cardlist.Clear;
   cardlist.Items.add('牡丹卡');
   cardlist.Items.add('龙卡');
   cardlist.Items.add('长城卡');
   datatoctl;
   seeinfo;
end;

procedure Tgroupdjcxform.groupnameClick(Sender: TObject);
begin
  seeinfo;
end;

procedure Tgroupdjcxform.Button2Click(Sender: TObject);
begin
  groupdjcxform.close;
end;

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

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

end.

⌨️ 快捷键说明

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