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

📄 groupydzqx.pas

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

interface

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

type
  TTTydtoqxform = class(TForm)
    Button1: TButton;
    Button2: TButton;
    q1: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    labed10: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label12: TLabel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    country: TEdit;
    workunit: TMaskEdit;
    master: TEdit;
    djtime: TMaskEdit;
    daynum: TSpinEdit;
    yj: TSpinEdit;
    rmnum: TSpinEdit;
    pnum: TSpinEdit;
    ydgrid: TStringGrid;
    sy: TEdit;
    zj: TComboBox;
    id: TEdit;
    GroupBox1: TGroupBox;
    phone: TRadioButton;
    xj: TRadioButton;
    GroupBox2: TGroupBox;
    man: TRadioButton;
    woman: TRadioButton;
    ttjc: TEdit;
    groupname: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure groupnameClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure rmgridKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TTydtoqxform: TTTydtoqxform;

implementation
uses dataproc;
{$R *.DFM}
var
  rmtp:array [0..30] of string[6];
  groupno,zjno:string[6];

procedure formini;
begin
with TTydtoqxform do
   begin
   sy.text:='';
   country.Text:='';
   workunit.Text :='';
   ttjc.text:='';
   master.Text :='';
   man.Checked :=true;
   id.Text :='';
   xj.Checked :=true;
   djtime.Text :=datetimetostr(now);
   daynum.Value :=3;
   yj.Value :=1000;
   rmnum.Value :=0;
   pnum.Value :=0;
   end;
end;

procedure gridini;
var
  i:integer;
begin
with TTydtoqxform do
   begin
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('select roomtype,bednum,name from roomtype');
   q1.Prepare;
   q1.open;
   ydgrid.RowCount :=q1.RecordCount+1 ;
   i:=1;
   while not q1.eof do
     begin
     rmtp[i]:=q1.fieldbyname('roomtype').asstring;
     ydgrid.cells[0,i]:=q1.fieldbyname('name').asstring;
     ydgrid.cells[1,i]:=inttostr(q1.fieldbyname('bednum').asinteger);
     i:=i+1;
     q1.next;
     end;
   q1.active:=false;
   end;
end;

procedure datatoctrl;
var
  i:integer;
  aa:array [0..1] of string;
  lsreg:string;
begin
with TTydtoqxform do
   begin
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('select * from beforein where (isgroup=1) and (groupname=:pname)');
   q1.ParamByName ('pname').asstring:=trim(groupname.items[groupname.itemindex]);
   q1.Prepare;
   q1.open;
   groupno:=q1.fieldbyname('beforeid').asstring;
   sy.Text :=q1.fieldbyname('sy').asstring;
   country.text:=q1.fieldbyname('country').asstring;
   workunit.text:=q1.fieldbyname('workunit').asstring;
   ttjc.text:=q1.fieldbyname('othername').asstring;
   master.Text :=q1.fieldbyname('name').asstring;
   if q1.fieldbyname('sex').asstring='1' then
      man.Checked:=true;
   if q1.fieldbyname('sex').asstring='0' then
      woman.Checked:=true;
   zjno:=q1.fieldbyname('zjid').asstring;
   id.text:=q1.fieldbyname('id').asstring;
   if q1.fieldbyname('isphone').asboolean then
      phone.Checked:=true;
   if q1.fieldbyname('ismoney').asboolean then
      xj.Checked:=true;
   djtime.Text :=datetimetostr(q1.fieldbyname('cometime').asdatetime);
   daynum.value:=q1.fieldbyname('yzday').asinteger;
   yj.Value :=q1.fieldbyname('yj').asinteger;
   rmnum.Value :=q1.fieldbyname('roomnum').asinteger;
   pnum.Value :=q1.fieldbyname('pnum').asinteger;
   lsreg:=q1.fieldbyname('regid').asstring;
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('select * from beforeinmx where beforeid=:pid');
   q1.ParamByName ('pid').asstring:=groupno;
   q1.Prepare;
   q1.open;
   while not q1.eof do
      begin
      i:=1;
      while i<ydgrid.RowCount do
        begin
        if trim(rmtp[i])=trim(q1.fieldbyname('roomtype').asstring) then
           begin
           ydgrid.Cells [2,i]:=inttostr(q1.fieldbyname('roomnum').asinteger);
           i:=ydgrid.RowCount;
           end;
        i:=i+1;
        end;
      q1.Next;
      end;
   q1.Active :=false;
   getvalue(aa,'select name from zj where code='''+zjno+'''');
   zj.itemindex:=zj.Items.IndexOf (aa[0]);
   end
end;

procedure TTTydtoqxform.FormCreate(Sender: TObject);
begin
  shortdateformat:='yyyy-mm-dd';
  ydgrid.Cells [0,0]:='          房间类型';
  ydgrid.Cells [1,0]:='          房间床数';
  ydgrid.Cells [2,0]:='          预订数量';
  formini;
  gridini;
  comadd(TTydtoqxform.groupname ,1,'select groupname from beforein where isgroup=1');
  q1.Active :=false;
  q1.sql.clear;
  q1.sql.add('select name from zj');
  q1.Prepare;
  q1.open;
  while not q1.eof do
    begin
    zj.Items.add(trim(q1.fieldbyname('name').asstring));
    q1.next;
    end;
  q1.Active :=false;
  datatoctrl;
end;

procedure TTTydtoqxform.groupnameClick(Sender: TObject);
begin
  cleargrid(ydgrid,2);
  datatoctrl;
end;

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

procedure TTTydtoqxform.rmgridKeyPress(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 TTTydtoqxform.Button1Click(Sender: TObject);
var
   aa:array [0..1] of string;
begin
   aa[0]:='';
   if length(trim(groupname.Items[groupname.itemindex]))=0 then
      begin
      showmessage('团体名称不能为空');
      groupname.SetFocus ;
      exit;
      end;
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('update room1 set status=''0'' where roomno in (select roomno from ydroommx where beforeid=:pid)');
   q1.ParamByName ('pid').asstring:=trim(groupno);
   q1.Prepare;
   q1.ExecSQL ;
   q1.Active :=false;
   q1.sql.clear;
   q1.sql.add('delete beforein where beforeid=:pid');
   q1.sql.add('delete ydroommx where beforeid=:pid');
   q1.sql.add('delete beforeinmx where beforeid=:pid');
   q1.ParamByName ('pid').asstring:=trim(groupno);
   q1.Prepare;
   q1.ExecSQL ;
   q1.Active :=false;
   showmessage('团体预订撤消成功');
   cleargrid(ydgrid,2);
   formini;
   comadd(TTydtoqxform.groupname ,1,'select groupname from beforein where isgroup=1');
   datatoctrl;
end;

procedure TTTydtoqxform.Button2Click(Sender: TObject);
begin
  TTydtoqxform.close;
end;

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


end.

⌨️ 快捷键说明

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