?? c_yjsh.pas
字號:
tblYytj.FieldByName('D_LJYH').AsCurrency := 0;
tblYytj.FieldByName('D_LJSH').AsCurrency := 0;
tblYytj.FieldByName('D_LJYS').AsCurrency := 0;
end;
end;
//初始化營業統計
procedure TYjshForm.InitYytj;
var
AXmbh: string;
begin
//備份營業統計
HotelData.BakTable(tblYytj,tblYytjda);
tblXmdm.First;
while not tblXmdm.Eof do
begin
AXmbh := tblXmdm.FieldByName('D_XMBH').AsString;
//初始化消費項目記錄
InitYytjRecord(AXmbh);
tblXmdm.Next;
end;
//初始化合計
InitYytjRecord('0');
end;
//更新零客應收款
procedure TYjshForm.UpdateLkyskz;
var
AXmbh: string;
AXfje: Currency;
begin
try
try
qryLkyskz.Open;
tblLkyskz.Open;
except
On E:Exception do
begin
ShowWarning('打開數據庫出錯,請檢查網絡連接是否正常!'
+#13#10
+'錯誤信息:'
+E.Message);
raise;
end;
end;
qryLkyskz.First;
while not qryLkyskz.Eof do
begin
AXmbh := qryLkyskz.Fields[0].AsString;
if qryLkyskz.Fields[1].IsNull then AXfje := 0
else AXfje := qryLkyskz.Fields[1].AsCurrency;
if tblLkyskz.FindKey([FYsrq,AXmbh]) then
begin
tblLkyskz.Edit;
tblLkyskz.FieldByName('D_XFJE').AsCurrency :=
tblLkyskz.FieldByName('D_XFJE').AsCurrency + AXfje;
tblLkyskz.Post;
end;
qryLkyskz.Next;
end;
finally
tblLkyskz.Close;
qryLkyskz.Close;
end;
end;
//初始化零客應收款
procedure TYjshForm.InitLkyskz;
var
AXmbh: string;
begin
try
tblLkyskz.Open;
except
On E:Exception do
begin
ShowWarning('打開數據庫出錯,請檢查網絡連接是否正常!'
+#13#10
+'錯誤信息:'
+E.Message);
raise;
end;
end;
//備份
HotelData.BakTable(tblLkyskz,tblLkyskzda);
tblXmdm.First;
while not tblXmdm.Eof do
begin
AXmbh := tblXmdm.FieldByName('D_XMBH').AsString;
if tblLkyskz.Locate('D_XMBH',AXmbh,[]) then
begin
tblLkyskz.Edit;
tblLkyskz.FieldByName('D_YSRQ').AsString := FYsrq;
tblLkyskz.FieldByName('D_XFJE').AsCurrency := 0;
tblLkyskz.FieldByName('D_YJJE').AsCurrency := 0;
tblLkyskz.Post;
end
else
begin
tblLkyskz.Insert;
tblLkyskz.FieldByName('D_YSRQ').AsString := FYsrq;
tblLkyskz.FieldByName('D_XMBH').AsString := AXmbh;
tblLkyskz.FieldByName('D_XFJE').AsCurrency := 0;
tblLkyskz.FieldByName('D_YJJE').AsCurrency := 0;
tblLkyskz.Post;
end;
tblXmdm.Next;
end;
tblLkyskz.Close;
end;
//清空客人帳單
procedure TYjshForm.EmptyKrzd;
var
s : string;
begin
s := 'delete from KRZD where D_JSBZ="'+JS_YES+'"';
HotelData.EmptyData(s);
end;
//更新客人帳單 寫入夜審日期
procedure TYjshForm.UpdateKrzd;
var
s : string;
begin
s := 'update KRZD set D_YSRQ="'+FYsrq+'"';
HotelData.ExecSql(s);
end;
//營業統計
procedure TYjshForm.UpdateYytj;
var
AXmbh,s : string;
AJryy,AJrsh,AJryh : Currency;
AZrbyyy,AZrbyyh,AZrljyy,AZrljyh,AZrljsh,AZrljys: Currency;
AByyyda,AByyy: Currency;
ARq: string;
begin
FJrsh := 0;
FJryh := 0;
s := 'select sum(D_XFJE) from KRJZ where (D_XMBH="'+XMBH_YJK+'")and(D_XFJE<0)';
FYjkkc := 0-HotelData.SumJe(s);
try
try
qryZd.Close;
qryZd.SQL.Clear;
s := 'select D_XMBH,sum(D_XFJE) from KRZD where (D_HH<>0)and(D_XMBH<>"'
+XMBH_FJ+'")and(D_XMBH<>"'+XMBH_YJK+'")and(D_JZBZ<>"'+JZ_YX+'")and(D_YSRQ is null) group by D_XMBH';
qryZd.SQL.Add(s);
qryZd.Open;
qryJz.Close;
qryJz.SQL.Clear;
s := 'select D_XMBH,sum(D_XFJE),sum(D_YHJE) from KRJZ where(D_HH<>0) group by D_XMBH';
qryJz.SQL.Add(s);
qryJz.Open;
except
On E:Exception do
begin
ShowWarning('打開數據庫出錯,請檢查網絡連接是否正常!'
+#13#10
+'錯誤信息:'
+E.Message);
raise;
end;
end;
tblXmdm.First;
while not tblXmdm.Eof do
begin
AXmbh := tblXmdm.FieldByName('D_XMBH').AsString;
AJryy := 0;
AJrsh := 0;
AJryh := 0;
if tblYytj.FindKey([FYsrq,AXmbh]) then
begin
tblYytj.Edit;
//今日營業
//房金
if AXmbh=XMBH_FJ then
//AJryy := FJjfj+FSkfj+FTdfj+FYjfj
AJryy := FFjze
else
if qryZd.Locate('D_XMBH',AXmbh,[]) then
begin
if qryZd.Fields[1].IsNull then AJryy := 0
else AJryy := qryZd.Fields[1].AsCurrency;
end;
//今日優惠、今日收回
if qryJz.Locate('D_XMBH',AXmbh,[]) then
begin
if qryJz.Fields[2].IsNull then AJryh := 0
else AJryh := qryJz.Fields[2].AsCurrency;
if qryJz.Fields[1].IsNull then AJrsh := 0 - AJryh
else AJrsh := qryJz.Fields[1].AsCurrency - AJryh;
end;
AZrbyyy := tblYytj.FieldByName('D_ZRBYYY').AsCurrency;
AZrbyyh := tblYytj.FieldByName('D_ZRBYYH').AsCurrency;
AZrljyy := tblYytj.FieldByName('D_ZRLJYY').AsCurrency;
AZrljyh := tblYytj.FieldByName('D_ZRLJYH').AsCurrency;
AZrljsh := tblYytj.FieldByName('D_ZRLJSH').AsCurrency;
AZrljys := tblYytj.FieldByName('D_ZRLJYS').AsCurrency;
tblYytj.FieldByName('D_JRYY').AsCurrency :=
tblYytj.FieldByName('D_JRYY').AsCurrency+AJryy;
tblYytj.FieldByName('D_JRSH').AsCurrency :=
tblYytj.FieldByName('D_JRSH').AsCurrency + AJrsh;
tblYytj.FieldByName('D_JRYH').AsCurrency :=
tblYytj.FieldByName('D_JRYH').AsCurrency + AJryh;
tblYytj.FieldByName('D_BYYY').AsCurrency := AJryy + AZrbyyy;
tblYytj.FieldByName('D_BYYH').AsCurrency := AJryh + AZrbyyh;
tblYytj.FieldByName('D_LJYY').AsCurrency := AJryy + AZrljyy;
tblYytj.FieldByName('D_LJYH').AsCurrency := AJryh + AZrljyh;
tblYytj.FieldByName('D_LJSH').AsCurrency := AJrsh + AZrljsh;
tblYytj.FieldByName('D_LJYS').AsCurrency := AJryy-AJrsh-AJryh+AZrljys;
FJryy := FJryy + AJryy;
FJrsh := FJrsh + AJrsh;
FJryh := FJryh + AJryh;
tblYytj.Post;
end;
tblXmdm.Next;
end;
//全部營業
if tblYytj.FindKey([FYsrq,'0']) then
begin
FZrbyyy := tblYytj.FieldByName('D_ZRBYYY').AsCurrency;
FZrbyyh := tblYytj.FieldByName('D_ZRBYYH').AsCurrency;
FZrljyy := tblYytj.FieldByName('D_ZRLJYY').AsCurrency;
FZrljyh := tblYytj.FieldByName('D_ZRLJYH').AsCurrency;
FZrljsh := tblYytj.FieldByName('D_ZRLJSH').AsCurrency;
FZrljys := tblYytj.FieldByName('D_ZRLJYS').AsCurrency;
tblYytj.Edit;
tblYytj.FieldByName('D_JRYY').AsCurrency :=
tblYytj.FieldByName('D_JRYY').AsCurrency + FJryy;
tblYytj.FieldByName('D_JRSH').AsCurrency :=
tblYytj.FieldByName('D_JRSH').AsCurrency + FJrsh;
tblYytj.FieldByName('D_JRYH').AsCurrency :=
tblYytj.FieldByName('D_JRYH').AsCurrency + FJryh;
tblYytj.FieldByName('D_BYYY').AsCurrency := FJryy + FZrbyyy;
tblYytj.FieldByName('D_BYYH').AsCurrency := FJryh + FZrbyyh;
tblYytj.FieldByName('D_LJYY').AsCurrency := FJryy + FZrljyy;
tblYytj.FieldByName('D_LJYH').AsCurrency := FJryh + FZrljyh;
tblYytj.FieldByName('D_LJSH').AsCurrency := FJrsh + FZrljsh;
//tblYytj.FieldByName('D_LJYS').AsCurrency := FJryy-FJrsh-FJryh+FZrljys-FSjcwe;
tblYytj.FieldByName('D_LJYS').AsCurrency := FJryy-FJryh+FZrljys-FSjcwe;
tblYytj.Post;
end;
//同期相比
ARq := FormatDateTime('yyyymmdd',IncDay(Date,-30));
tblYytj.First;
while not tblYytj.Eof do
begin
s := 'select D_BYYY from YYTJDA where (D_YSRQ="'+ARq+'")and(D_XMBH="'+tblYytj.FieldByName('D_XMBH').AsString+'")';
with HotelData.qryUserData do
begin
Close;
SQL.Clear;
SQL.Add(s);
Open;
if Fields[0].IsNull then AByyyda := 0
else AByyyda := Fields[0].AsCurrency;
Close;
end;
AByyy := tblYytj.FieldByName('D_BYYY').AsCurrency;
tblYytj.Edit;
if AByyyda<>0 then
tblYytj.FieldByName('D_SYTQB').AsFloat := (AByyy-AByyyda)/AByyyda
else
tblYytj.FieldByName('D_SYTQB').AsFloat := 0;
tblYytj.Post;
tblYytj.Next;
end;
finally
qryJz.Close;
qryZd.Close;
end;
end;
//獲取房金總額
function TYjshForm.GetFjze: Currency;
var
s : string;
aZe,aJe: Double;
begin
//edit by ls.2002.11.02
s := 'select sum(D_JJFJ+D_SJFJ) from KFZT';
//s := 'select sum(D_JJFJ+D_SJFJ) from BQJ';
aJe := HotelData.SumJe(s);
aZe := aJe;
//edit by ls.2003.05.22
s := 'select sum(D_XFJE) from KRZD where (D_BZ like "%雜單錄入%")and(D_YSRQ is null)and(D_XMBH="'+XMBH_FJ+'")';
aJe := HotelData.SumJe(s);
aZe := aZe + aJe;
s := 'select sum(D_XFJE) from KRZD where (D_ZDLB="'+ZDLB_FYK+'")and(D_YSRQ is null)and(D_XMBH="'+XMBH_FJ+'")';
aJe := HotelData.SumJe(s);
aZe := aZe + aJe;
Result := aZe;
end;
{
//獲取當天的間接房價
function TYjshForm.GetJjfj: Currency;
var
s: string;
begin
s := 'select sum(D_JJFJ) from KFZT where D_KFBZ="'+KFBZ_FT+'"';
Result := HotelData.SumSysJe(s);
end;
}
{
//獲取已經結算但是沒有夜審的房價
function TYjshForm.GetYjfj: Currency;
var
s: string;
begin
//edit by ls. 20020824 d_xfje>0 不統計預先結帳的房價
s := 'select sum(D_XFJE) from KRZD where ((D_JSBZ="'
+JS_YES+'") or (D_JSBZ="'
+JS_WJ +'") or (D_JZBZ="'
+JZ_YES+'"))and(D_JZBZ<>"'+JZ_YX+'")and(D_YSRQ is null)and(D_XMBH="'
+XMBH_FJ+'")';
Result := HotelData.SumJe(s);
end;
}
//累加散客房價、電話費
procedure TYjshForm.AddSkfj(AKfxx: TKfxx);
var
ADhf: Currency;
begin
ADhf := HotelData.GetDhf1(AKfxx.AKfbh,AKfxx.ADdrq,AKfxx.ADdsj);
HotelData.InsertKrzd(AKfxx.AZdbh,AKfxx.AZdlb,AKfxx.AKrbh,AKfxx.AYjbh,
AKfxx.AKfbh,XMBH_FJ,JZ_NO,JS_NO,FBmbh,
ZDBZ_SK+AKfxx.AKfbh,AKfxx.AZdhh,AKfxx.ASjfj,0);
if ADhf <> 0 then
HotelData.InsertKrzd(AKfxx.AZdbh,AKfxx.AZdlb,AKfxx.AKrbh,AKfxx.AYjbh,
AKfxx.AKfbh,XMBH_DHF,JZ_NO,JS_NO,FBmbh,
ZDBZ_SK+AKfxx.AKfbh,AKfxx.AZdhh+1,ADhf,0);
//修改總單
HotelData.AddKrzdZdXfje(AKfxx.AZdbh,AKfxx.ASjfj+ADhf);
end;
//累加團隊房價、電話費
procedure TYjshForm.AddTdfj;
var
AKrbh,s : string;
AFjTotal: Currency;
ASjfj : Currency;
ADhf,ADhfTotal : Currency;
AKfbh : string;
ADdrq,ADdsj: TDateTime;
ATdxx : TTdxx;
AHh : Integer;
begin
AFjTotal := 0;
ADhfToTal := 0;
qryKrxxtd.First;
while not qryKrxxtd.Eof do
begin
AKrbh := qryKrxxtd.FieldByName('D_KRBH').AsString;
ATdxx := HotelData.GetTdxx(AKrbh);
qryZd.Close;
qryZd.SQL.Clear;
s := 'select * from KRZD where (D_KRBH="'+AKrbh+'")and(D_XMBH="'+XMBH_FJ+'")and(D_JZBZ="'+JZ_NO+'")and(D_SJFJ<>0)';
qryZd.SQL.Add(s);
qryZd.Open;
qryZd.First;
AHh := 0;
while not qryZd.Eof do
begin
ASjfj := qryZd.FieldByName('D_SJFJ').AsCurrency;
AKfbh := qryZd.FieldByName('D_KFBH').AsString;
ADdrq := qryZd.FieldByName('D_XFRQ').AsDateTime;
ADdsj := qryZd.FieldByName('D_XFSJ').AsDateTime;
ADhf := HotelData.GetDhf1(AKfbh,ADdrq,ADdsj);
//插入電話費
if ADhf<>0 then
begin
HotelData.InsertKrzd(ATdxx.AZdbh,ZDLB_TD,ATdxx.AKrbh,ATdxx.AYjbh,
'',XMBH_DHF,JZ_NO,JS_NO,FBmbh,
ZDBZ_TD+ATdxx.AKrxm,ATdxx.AZdhh+AHh,ADhf,0);
Inc(AHh);
end;
ADhfTotal := ADhfTotal + ADhf;
AFjTotal := AFjTotal + ASjfj;
qryZd.Next;
end;
qryZd.Close;
//累加所有房價
s := 'update KRZD set D_XFJE=D_XFJE+D_SJFJ where (D_KRBH="'+AKrbh+'")and(D_XMBH="'+XMBH_FJ+'")and(D_JZBZ="'+JZ_NO+'")and(D_SJFJ<>0)';
HotelData.ExecSql(s);
//修改總單
HotelData.AddKrzdZdXfje(ATdxx.AZdbh,AFjToTal+ADhfToTal);
qryKrxxtd.Next;
end;
FTdfj := AFjTotal;
end;
//更新散客的客房狀態
procedure TYjshForm.UpdateKfztSk;
var
AKfxx: TKfxx;
s : string;
begin
FSkfj := 0;
qryKfztsk.First;
while not qryKfztsk.Eof do
begin
//獲取客房信息
AKfxx := HotelData.GetKfxx(qryKfztsk.FieldByName('D_KFBH').AsString);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -