📄 c_hoteldata.pas
字号:
if tblKfzt.FindKey([AKfbh]) then
begin
Result.AKfbh := AKfbh;
Result.AZdbh := tblKfzt.FieldByName('D_ZDBH').AsString;
Result.AKrbh := tblKfzt.FieldByName('D_KRBH').AsString;
Result.AYjbh := tblKfzt.FieldByName('D_YJBH').AsString;
Result.AKfbz := tblKfzt.FieldByName('D_KFBZ').AsString;
Result.ASjfj := tblKfzt.FieldByName('D_SJFJ').AsCurrency;
if tblKrxx.FindKey([Result.AKrbh]) then
begin
Result.AKrxm := tblKrxx.FieldByName('D_KRXM').AsString;
Result.AKrlx := tblKrxx.FieldByName('D_KRLX').AsString;
Result.ADdrq := tblKrxx.FieldByName('D_DDRQ').AsDateTime;
Result.ADdsj := tblKrxx.FieldByName('D_DDSJ').AsDateTime;
end;
if tblKryj.FindKey([Result.AYjbh,0]) then
begin
Result.AFkfs := tblKryj.FieldByName('D_FKFS').AsString;
Result.AYfrq := tblKryj.FieldByName('D_YFRQ').AsDateTime;
Result.AYfsj := tblKryj.FieldByName('D_YFSJ').AsDateTime;
end;
if tblKrzd.FindKey([Result.AZdbh,0]) then
begin
Result.AZdlb := tblKrzd.FieldByName('D_ZDLB').AsString;
Result.AXfje := tblKrzd.FieldByName('D_XFJE').AsCurrency;
end;
Result.AZdhh := GetMaxZdhh(Result.AZdbh);
end;
finally
tblKfzt.Close;
tblKrxx.Close;
tblKryj.Close;
tblKrzd.Close;
end;
end;
//金额求和
function THotelData.SumSysJe(const ASqlStr: string): Currency;
begin
with qrySysData do
begin
SQL.Clear;
SQL.Add(ASqlStr);
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if Fields[0].IsNull then Result := 0
else Result := Fields[0].AsCurrency;
Close;
end;
end;
//金额求和
function THotelData.SumJe(const ASqlStr: string): Currency;
begin
with qryUserData do
begin
SQL.Clear;
SQL.Add(ASqlStr);
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if Fields[0].IsNull then Result := 0
else Result := Fields[0].AsCurrency;
Close;
end;
end;
//更新客房状态中的半全价和间接房价
procedure THotelData.UpdateJjfj(const AKfbh: string;ABqj: Integer;AJjfj: Currency);
begin
try
try
tblKfzt.Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if tblKfzt.FindKey([AKfbh]) then
begin
tblKfzt.Edit;
tblKfzt.FieldByName('D_JJFJ').AsCurrency :=
tblKfzt.FieldByName('D_JJFJ').AsCurrency+AJjfj;
if ABqj=BQJ_BJ then
tblKfzt.FieldByName('D_BJS').AsInteger :=
tblKfzt.FieldByName('D_BJS').AsInteger + ABqj
else
tblKfzt.FieldByName('D_QJS').AsInteger :=
tblKfzt.FieldByName('D_QJS').AsInteger + ABqj;
tblKfzt.Post;
end;
finally
tblKfzt.Close;
end;
end;
//添加半全价到bqj.db
procedure THotelData.UpdateBqj(const AKfbh: string;ABqj: Integer;ASjfj,AJjfj: Currency);
begin
if not tblBqj.Active then
try
tblBqj.Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if tblBqj.FindKey([AKfbh]) then
begin
tblBqj.Edit;
tblBqj.FieldByName('D_SJFJ').AsCurrency := ASjfj;
if ABqj=BQJ_BJ then
begin
tblBqj.FieldByName('D_BJS').AsInteger :=
tblBqj.FieldByName('D_BJS').AsInteger + 1;//ABqj;
tblBqj.FieldByName('D_BJ').AsString :=
tblBqj.FIeldByName('D_BJ').AsString+CurrToStr(AJjfj) + ',';
end
else
if ABqj=BQJ_QJ then
begin
tblBqj.FieldByName('D_QJS').AsInteger :=
tblBqj.FieldByName('D_QJS').AsInteger + 1;//ABqj;
tblBqj.FieldByName('D_QJ').AsString :=
tblBqj.FIeldByName('D_QJ').AsString+CurrToStr(AJjfj) + ',';
end;
tblBqj.FieldByName('D_JJFJ').AsCurrency :=
tblBqj.FieldByName('D_JJFJ').AsCurrency + AJjfj;
tblBqj.Post;
end
else
begin
tblBqj.Insert;
tblBqj.FieldByName('D_KFBH').AsString := AKfbh;
tblBqj.FieldByName('D_SJFJ').AsCurrency := ASjfj;
if ABqj=BQJ_BJ then
begin
tblBqj.FieldByName('D_BJS').AsInteger :=
tblBqj.FieldByName('D_BJS').AsInteger + 1;//ABqj;
tblBqj.FieldByName('D_BJ').AsString := CurrToStr(AJjfj) + ',';
end
else
if ABqj=BQJ_QJ then
begin
tblBqj.FieldByName('D_QJS').AsInteger :=
tblBqj.FieldByName('D_QJS').AsInteger + 1;//ABqj;
tblBqj.FieldByName('D_QJ').AsString := CurrToStr(AJjfj) + ',';
end;
tblBqj.FieldByName('D_JJFJ').AsCurrency := AJjfj;
tblBqj.Post;
end;
//tblBqj.ApplyUpdates;
//tblBqj.CommitUpdates;
tblBqj.Close;
end;
//返回当前的客房状态
function THotelData.CheckKfzt(const AKfbh: string) : string;
begin
with qryUserData do
begin
Close;
SQL.Clear;
SQL.Add('select D_KFZT from KFZT where D_KFBH="'+AKfbh+'"');
Prepare;
Open;
if Fields[0].IsNull then Result := ''
else Result := Fields[0].AsString;
end;
{with tblSysData do
begin
if Active then Active := False;
TableName := 'KFZT';
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if FindKey([AKfbh]) then
Result := FieldByName('D_KFZT').AsString
else
Result := '';
Close;
end;}
end;
//获得编号
function THotelData.GetBh(const AFieldName,APrevStr: string): string;
begin
Result := IntToHex(Trunc(TimeStampToMSecs(DateTimeToTimeStamp(Now))),12);
{Result := '';
with tblSysData do
begin
if Active then Active := False;
TableName := 'BH';
try
try
Open
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
First;
Edit;
//20020627 edit by ls.
//根据当前时间自动生成编号
//FieldByName(AFieldName).AsString := APrevStr+AddDH(FieldByName(AFieldName).AsString);
FieldByName(AFieldName).AsString := IntToHex(Trunc(TimeStampToMSecs(DateTimeToTimeStamp(Now))),12);
Post;
Result := FieldByName(AFieldName).AsString;
finally
Close;
end;
end;}
end;
//通过名称查找编号
function THotelData.FindBh(const ATableName,AFieldBh,AFieldMc,AMc: string): string;
begin
Result := '';
Result := '';
with qrySysData do
begin
Close;
SQL.Clear;
SQL.Add('select '+AFieldBh+' from '+ATableName+' where '+AFieldMc+'="'+AMc+'"');
Prepare;
Open;
Result := Fields[0].AsString;
end;
{with tblSysData do
begin
try
if Active then Active := False;
TableName := ATableName;
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if Locate(AFieldMc,AMc,[]) then
Result := FieldByName(AFieldBh).AsString;
finally
Close;
end;
end;}
end;
//通过编号查找名称
function THotelData.FindMc(const ATableName,AFieldBh,AFieldMc,ABh: string): string;
begin
Result := '';
with qrySysData do
begin
Close;
SQL.Clear;
SQL.Add('select '+AFieldMc+' from '+ATableName+' where '+AFieldBh+'="'+ABh+'"');
Prepare;
Open;
Result := Fields[0].AsString;
end;
{with tblSysData do
begin
if Active then Active := False;
TableName := ATableName;
try
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if Locate(AFieldBh,ABh,[]) then
Result := FieldByName(AFieldMc).AsString;
finally
Close;
end;
end;}
end;
function THotelData.FindUserBh(const ATableName,AFieldBh,AFieldMc,AMc: string): string;
begin
Result := '';
with tblUserData do
begin
if Active then Active := False;
TableName := ATableName;
try
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
if Locate(AFieldMc,AMc,[]) then
Result := FieldByName(AFieldBh).AsString;
finally
Close;
end;
end;
end;
//将所有名称添加到下拉框中
procedure THotelData.ListMc(AComboBox: TComboBox;const ATableName,AFieldMc: string);
begin
with tblSysData do
begin
if Active then Active := False;
TableName := ATableName;
try
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
AComboBox.Items.Clear;
First;
while not Eof do
begin
AComboBox.Items.Add(FieldByName(AFieldMc).AsString);
Next;
end;
finally
Close;
end;
end;
end;
//将所有代码和名称添加到下拉框中
procedure THotelData.ListDm(AComboBox: TComboBox;const ATableName,AFieldMc: string);
var
s: string;
begin
with tblSysData do
begin
if Active then Active := False;
TableName := ATableName;
try
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
AComboBox.Items.Clear;
First;
while not Eof do
begin
s := FieldByName('D_DM').AsString+'|'+FieldByName(AFieldMc).AsString;
AComboBox.Items.Add(s);
Next;
end;
finally
Close;
end;
end;
end;
procedure THotelData.ListDbDm(ADBComboBox: TDBComboBox;const ATableName,AFieldMc: string);
var
s: string;
begin
with tblSysData do
begin
if Active then Active := False;
TableName := ATableName;
try
try
Open;
except
On E:Exception do
begin
ShowWarning('打开数据库出错,请检查网络连接是否正常!'
+#13#10
+'错误信息:'
+E.Message);
raise;
end;
end;
ADBComboBox.Items.Clear;
First;
while not Eof do
begin
s := FieldbyName('D_DM').AsString+'|'+FieldByName(AFieldMc).AsString;
ADBComboBox.Items.Add(s);
Next;
end;
finally
Close;
end;
end;
end;
//路径初始化
procedure THotelData.DataModuleCreate(Sender: TObject);
begin
//获取系统路径,系统配置文件
APP_DIR := ExtractFilePath(Application.ExeName);
SystemReportDir := APP_DIR+'report\';
{Database_Dir := APP_DIR + 'Database\UserData';
if not Session.IsAlias('HotelUser') then
begin
Session.AddStandardAlias('HotelUser',Database_Dir,'PARADOX');
Session.SaveConfigFile;
end;}
DatabaseUser.Connected := True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -