📄 mc_fysq.~pas
字号:
begin
BitBtn3.Caption:='交费';
BitBtn5.Enabled:=False;
DBEdit2.BorderStyle:=bsNone;
DBEdit2.Color:=ClScrollBar;
DBEdit2.Enabled:=False;
DateTimePicker2.Enabled:=False;
DBEdit7.Color:=ClScrollBar;
DBEdit7.BorderStyle:=bsNone;
DBEdit7.Enabled:=False;
Table3.Cancel;
end;
end;
procedure TFYSQ.BitBtn6Click(Sender: TObject);
begin
if BitBtn6.caption='交费' then
begin
Table4.Edit;
BitBtn6.Caption:='保存';
BitBtn7.Enabled:=True;
DBEdit10.Enabled:=True;
DBEdit10.BorderStyle:=bssingle;
DBEdit10.Color:=clWhite;
DateTimePicker4.Enabled:=True;
DBEdit15.Enabled:=True;
DBEdit15.Color:=ClWhite;
DBEdit15.BorderStyle:=bssingle;
DBEdit10.SetFocus;
end
else
begin
if (Length(Table4.FieldByName('计费终止日期').AsString)=0)
or (Length(Table4.FieldByName('实收金额').AsString)=0) then
begin
Showmessage('请将信息添全');
end
else
begin
BitBtn6.Caption:='交费';
BitBtn7.Enabled:=False;
DBEdit10.BorderStyle:=bsNone;
DBEdit10.Color:=ClScrollBar;
DBEdit10.Enabled:=False;
DateTimePicker4.Enabled:=False;
DBEdit15.Color:=ClScrollBar;
DBEdit15.BorderStyle:=bsNone;
DBEdit15.Enabled:=False;
Table4.FieldByName('本月余额').AsFloat:=Table4
.FieldByName('实收金额').AsFloat-Table4
.FieldByName('应收金额').AsFloat;
Table4.Post;
end;
end;
end;
procedure TFYSQ.BitBtn7Click(Sender: TObject);
begin
BitBtn6.Caption:='交费';
BitBtn7.Enabled:=False;
DBEdit10.BorderStyle:=bsNone;
DBEdit10.Color:=ClScrollBar;
DBEdit10.Enabled:=False;
DateTimePicker4.Enabled:=False;
DBEdit15.Color:=ClScrollBar;
DBEdit15.BorderStyle:=bsNone;
DBEdit15.Enabled:=False;
Table4.Cancel;
end;
procedure TFYSQ.BitBtn8Click(Sender: TObject);
begin
if BitBtn8.caption='交费' then
begin
Table5.Edit;
BitBtn8.Caption:='保存';
BitBtn9.Enabled:=True;
DBEdit18.Enabled:=True;
DBEdit18.BorderStyle:=bssingle;
DBEdit18.Color:=clWhite;
DateTimePicker6.Enabled:=True;
DBEdit23.Enabled:=True;
DBEdit23.Color:=ClWhite;
DBEdit23.BorderStyle:=bssingle;
DBEdit18.SetFocus;
end
else
begin
if (Length(Table5.FieldByName('计费终止日期').AsString)=0)
or (Length(Table5.FieldByName('实收金额').AsString)=0) then
begin
Showmessage('请将信息添全');
end
else
begin
BitBtn8.Caption:='交费';
BitBtn9.Enabled:=False;
DBEdit18.BorderStyle:=bsNone;
DBEdit18.Color:=ClScrollBar;
DBEdit18.Enabled:=False;
DateTimePicker6.Enabled:=False;
DBEdit23.Color:=ClScrollBar;
DBEdit23.BorderStyle:=bsNone;
DBEdit23.Enabled:=False;
Table5.FieldByName('本月余额').AsFloat:=Table5
.FieldByName('实收金额').AsFloat-Table5
.FieldByName('应收金额').AsFloat;
Table5.Post;
end;
end;
end;
procedure TFYSQ.BitBtn9Click(Sender: TObject);
begin
BitBtn8.Caption:='交费';
BitBtn9.Enabled:=False;
DBEdit18.BorderStyle:=bsNone;
DBEdit18.Color:=ClScrollBar;
DBEdit18.Enabled:=False;
DateTimePicker6.Enabled:=False;
DBEdit23.Color:=ClScrollBar;
DBEdit23.BorderStyle:=bsNone;
DBEdit23.Enabled:=False;
Table5.Cancel;
end;
procedure TFYSQ.DateTimePicker2CloseUp(Sender: TObject);
begin
Table3.FieldByName('计费终止日期').AsDateTime:=DateTimePicker2.Date;
end;
procedure TFYSQ.DateTimePicker4CloseUp(Sender: TObject);
begin
Table4.FieldByName('计费终止日期').AsDateTime:=DateTimePicker4.Date;
end;
procedure TFYSQ.DateTimePicker6CloseUp(Sender: TObject);
begin
Table5.FieldByName('计费终止日期').AsDateTime:=DateTimePicker6.Date;
end;
procedure TFYSQ.DBGrid3ColExit(Sender: TObject);
begin
{if DBGrid3.SelectedIndex=5 then
if Query2.Modified then
if Query2.FieldByName('减免金额').AsFloat<>0 then
begin
Query2.FieldByName('本次余额').AsFloat:=(Query2
.FieldByName('实收金额').AsFloat+Query2
.FieldByName('减免金额').AsFloat)
-Query2.FieldByName('应收金额').AsFloat);
Query2.Post;
end
else
begin
Query2.FieldByName('本次余额').AsFloat:=Query2
.FieldByName('实收金额').AsFloat-Query2
.FieldByName('应收金额').AsFloat;
Query2.Post;
end;
if DBGrid3.SelectedIndex=7 then
if Query2.Modified then
if Query2.FieldByName('减免金额').AsFloat<>0 then
begin
Query2.FieldByName('本次余额').AsFloat:=(Query2
.FieldByName('实收金额').AsFloat+Query2
.FieldByName('减免金额').AsFloat)
-Query2.FieldByName('应收金额').AsFloat;
Query2.Post;
end;}
end;
procedure TFYSQ.DBGrid3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_UP then
begin
if Query2.FieldbyName('户主姓名').AsString='' then
begin
Query2.Cancel;
Abort;
end;
end;
if key=VK_DOWN then
begin
if Query2.FieldbyName('户主姓名').AsString='' then
begin
Query2.Cancel;
Abort;
end;
end;
if key=VK_Insert then Abort;
end;
procedure TFYSQ.DBGrid4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_UP then
begin
if Query3.FieldbyName('户主姓名').AsString='' then
begin
Query3.Cancel;
Abort;
end;
end;
if key=VK_DOWN then
begin
if Query3.FieldbyName('户主姓名').AsString='' then
begin
Query3.Cancel;
Abort;
end;
end;
if key=VK_Insert then Abort;
end;
procedure TFYSQ.BitBtn1Click(Sender: TObject);
begin
if BitBtn1.Caption='统计指定时间内的[常用费用]信息' then
begin
GroupBox7.Visible:=True;
BitBtn1.Caption:='关闭[常用费用]信息';
end
else
begin
Query4.Close;
GroupBox7.Visible:=False;
BitBtn1.Caption:='统计指定时间内的[常用费用]信息';
end;
end;
procedure TFYSQ.BitBtn2Click(Sender: TObject);
begin
if BitBtn2.Caption='统计指定时间内的[其它费用]信息' then
begin
BitBtn2.Caption:='关闭[其它费用]信息';
GroupBox8.Visible:=True;
end
else
begin
Query5.Close;
GroupBox8.Visible:=False;
BitBtn2.Caption:='统计指定时间内的[其它费用]信息';
end;
end;
procedure TFYSQ.BitBtn11Click(Sender: TObject);
begin
with Query5 do
begin
Close;
SQL.Clear;
SQL.Add('Select 费用科目,应收金额,实收金额,剩余金额,减免金额,本次余额 From 历史其它费用');
SQL.Add('where 计费起始日期>=:A and 计费终止日期<=:B and 收费编号=:C');
SQL.Add('ORDER BY 费用科目 ASC');
ParamByName('A').AsDateTime:=DateTimePicker9.Date;
ParamByName('B').AsDateTime:=DateTimePicker10.Date;
ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
Open;
end;
end;
procedure TFYSQ.BitBtn10Click(Sender: TObject);
begin
with Query4 do
begin
Close;
SQL.Clear;
SQL.Add('Select 费用科目,应收金额,实收金额,剩余金额,减免金额,本次余额 From 历史常用费用');
SQL.Add('where 计费起始日期>=:A and 计费终止日期<=:B and 收费编号=:C');
SQL.Add('ORDER BY 费用科目 ASC');
ParamByName('A').AsDateTime:=DateTimePicker7.Date;
ParamByName('B').AsDateTime:=DateTimePicker8.Date;
ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
Open;
end;
end;
procedure TFYSQ.FormShow(Sender: TObject);
var a : Integer;
begin
if Table1.RecordCount<>0 then
begin
with Query6 do
begin
Close;
SQL.Clear;
SQL.Add('Select Max(单元) From 房屋信息表 Where 大楼名=:A');
ParamByName('A').AsString:=Table1.FieldByName('大楼名称').AsString;
Open;
end;
For a:=1 to Query6.Fields[0].AsInteger do
begin
ComboBox1.Items.Add(IntToStr(a));
end;
end;
Query6.Close;
if MainForm.Query1.Locate('使用选项','实收收费登记管理',[loCaseInsensitive]) then
begin
if MainForm.Query1.FieldByname('读写').asString='读' then
begin
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=False;
BitBtn3.Enabled:=False;
BitBtn6.Enabled:=False;
BitBtn8.Enabled:=False;
end;
end;
end;
procedure TFYSQ.ComboBox1Change(Sender: TObject);
begin
Table2.Filter:='单元 = '''+ComboBox1.Items[ComboBox1.ItemIndex]+'''';
Table2.Filtered:=True;
end;
procedure TFYSQ.Query2BeforePost(DataSet: TDataSet);
begin
Try
//if DBGrid3.SelectedIndex=5 then
//if Query2.Modified then
if LENGTH(Query2.FieldByName('计费终止日期').AsSTRING)>0 then
begin
Query2.FieldByName('应收金额').AsFloat:=SJ(Query2.FieldByName('计费起始日期').AsDateTime,
Query2.FieldByName('计费终止日期').AsDateTime,
Query2.FieldByName('收费金额').AsFloat);
end;
if Query2.FieldByname('剩余金额').AsFloat>Query2.FieldByName('应收金额').AsFloat then
Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('应收金额').AsFloat
else
Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('剩余金额').AsFloat;
if Query2.FieldByName('减免金额').AsFloat<>0 then
begin
Query2.FieldByName('本次余额').AsFloat:=(Query2
.FieldByName('实收金额').AsFloat+Query2
.FieldByName('减免金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)
-Query2.FieldByName('应收金额').AsFloat;
end
else
begin
Query2.FieldByName('本次余额').AsFloat:=(Query2
.FieldByName('实收金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)-Query2
.FieldByName('应收金额').AsFloat;
end;
{if DBGrid3.SelectedIndex=7 then
if Query2.Modified then
if Query2.FieldByName('减免金额').AsFloat<>0 then
begin
Query2.FieldByName('本次余额').AsFloat:=(Query2
.FieldByName('实收金额').AsFloat+Query2
.FieldByName('减免金额').AsFloat+Query2.FieldbyName('本次补交').AsFloat)
-Query2.FieldByName('应收金额').AsFloat;
end;}
Except
End;
end;
procedure TFYSQ.Query3BeforePost(DataSet: TDataSet);
begin
Try
//if DBGrid4.SelectedIndex=5 then
// if Query3.Modified then
if LENGTH(Query2.FieldByName('计费终止日期').AsSTRING)>0 then
begin
Query2.FieldByName('应收金额').AsFloat:=SJ(Query2.FieldByName('计费起始日期').AsDateTime,
Query2.FieldByName('计费终止日期').AsDateTime,
Query2.FieldByName('收费金额').AsFloat);
end;
if Query2.FieldByname('剩余金额').AsFloat>Query2.FieldByName('应收金额').AsFloat then
Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('应收金额').AsFloat
else
Query2.FieldByName('实收金额').AsFloat:=Query2.FieldByName('剩余金额').AsFloat;
if Query3.FieldByName('减免金额').AsFloat<>0 then
begin
Query3.FieldByName('本次余额').AsFloat:=(Query3
.FieldByName('实收金额').AsFloat+Query3
.FieldByName('减免金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
-Query3.FieldByName('应收金额').AsFloat;
end
else
begin
Query3.FieldByName('本次余额').AsFloat:=(Query3
.FieldByName('实收金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
-Query3.FieldByName('应收金额').AsFloat;
end;
{if DBGrid4.SelectedIndex=7 then
if Query3.Modified then
if Query3.FieldByName('减免金额').AsFloat<>0 then
begin
Query3.FieldByName('本次余额').AsFloat:=(Query3
.FieldByName('实收金额').AsFloat+Query3
.FieldByName('减免金额').AsFloat+Query3.FieldbyName('本次补交').AsFloat)
-Query3.FieldByName('应收金额').AsFloat;
end;}
Except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -