📄 groupdjcx.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 + -