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

📄 mc_cnfgl.~pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 ~PAS
字号:
unit MC_CNFGL;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBTables, Db, Grids, DBGrids, DBCtrls, StdCtrls, Mask, ComCtrls, Buttons,
  ExtCtrls;

type
  TCNFGL = class(TForm)
    GroupBox1: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    DataSource1: TDataSource;
    Query1: TQuery;
    Query1BDEDesigner: TStringField;
    Query1BDEDesigner2: TStringField;
    DataSource2: TDataSource;
    Table1: TTable;
    Table1BDEDesigner: TStringField;
    Table1BDEDesigner2: TStringField;
    Table1BDEDesigner7: TStringField;
    Table2: TTable;
    Table2BDEDesigner: TStringField;
    Table2BDEDesigner2: TStringField;
    Table2BDEDesigner3: TStringField;
    Table2BDEDesigner4: TStringField;
    Table2BDEDesigner6: TStringField;
    Table2BDEDesigner18: TStringField;
    DataSource3: TDataSource;
    GroupBox4: TGroupBox;
    DBGrid3: TDBGrid;
    Query2: TQuery;
    DataSource4: TDataSource;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Bevel1: TBevel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Query2BDEDesigner: TStringField;
    Query2BDEDesigner2: TStringField;
    Query2BDEDesigner3: TFloatField;
    Query2BDEDesigner4: TDateTimeField;
    Query2BDEDesigner5: TDateTimeField;
    Query2BDEDesigner6: TFloatField;
    Query2BDEDesigner7: TFloatField;
    Query2BDEDesigner8: TFloatField;
    Query2BDEDesigner9: TFloatField;
    Query2BDEDesigner10: TFloatField;
    Query2BDEDesigner11: TStringField;
    Query2BDEDesigner12: TStringField;
    Query3: TQuery;
    GroupBox5: TGroupBox;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    GroupBox6: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    Label10: TLabel;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    GroupBox7: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Edit2: TEdit;
    BitBtn12: TBitBtn;
    BitBtn13: TBitBtn;
    Label19: TLabel;
    Edit3: TEdit;
    Label20: TLabel;
    Edit4: TEdit;
    Query4: TQuery;
    Query2BDEDesigner13: TFloatField;
    Query2BDEDesigner14: TFloatField;
    Query2BDEDesigner15: TFloatField;
    Table2BDEDesigner5: TStringField;
    procedure Table1AfterScroll(DataSet: TDataSet);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn13Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  CNFGL: TCNFGL;

implementation

uses MC_CNFCSH, MC_MainForm;

{$R *.DFM}
procedure TCNFGL.FormShow(Sender: TObject);
begin
  if MainForm.Query1.Locate('使用选项','采暖费管理',[loCaseInsensitive]) then
  begin
    if MainForm.Query1.FieldbyName('读写').AsString='读' then
    begin
      BitBtn1.Enabled:=False;
      BitBtn2.Enabled:=False;
      BitBtn4.Enabled:=False;
      BitBtn5.Enabled:=False;
      BitBtn11.Enabled:=False;
    end;
  end;
end;
procedure TCNFGL.Table1AfterScroll(DataSet: TDataSet);   //当选择大楼名称时,显示相应大楼住户的采暖费信息
begin
  If Table1.RecordCount <> 0 Then   //大楼信息不为空
  begin
    Query2.Close;
    Query2.SQL.Clear;
    Query2.SQL.Add('Select * From 采暖费');
    Query2.SQL.Add('where 采暖费编号 in (Select 房间编号 From 房屋信息表');
    Query2.SQL.Add('Where 大楼名=:B)');
    Query2.ParamByName('B').AsString:=Table1.FieldByName('大楼名称').AsString;
    Query2.Open;  //打开相应大楼住户的采暖费信息
  end;
end;

procedure TCNFGL.DBGrid2DblClick(Sender: TObject); //选择房屋
begin
  If Query2.Active Then
  If Query2.RecordCount <> 0 Then   //如果大楼住户的采暖费信息不为空,显示相应房屋的采暖费信息
  if not Query2.Locate('采暖费编号',Table2.FieldByName('房间编号').AsString,[loCaseInsensitive]) then
     ShowMessage('对不起,没有找到!!');
end;

procedure TCNFGL.BitBtn2Click(Sender: TObject);  //初始化[采暖费]收费标准
begin
  If Not Assigned(CNFCSH) Then
  begin
    CNFCSH:=TCNFCSH.Create(Self);
    CNFCSH.ShowModal;  //调入[采暖费]收费标准窗口
  end;
  Query2.Close;
  Query2.Open;
end;

procedure TCNFGL.BitBtn3Click(Sender: TObject);  //更新小区的采暖起止日期
begin
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('update 采暖费 Set 计费起始日期=:A,计费终止日期=:B');
  Query3.ParamByName('A').AsDateTime:=DateTimePicker1.Date;
  Query3.ParamByName('B').AsDateTime:=DateTimePicker2.Date;
  Query3.EXEcSQL;
  GroupBox5.Visible:=False;
  Query2.Close;
  Query2.Open;
end;

procedure TCNFGL.BitBtn1Click(Sender: TObject);
begin
  if GroupBox5.Visible=False then GroupBox5.Visible:=True
  else GroupBox5.Visible:=False;
end;

procedure TCNFGL.BitBtn4Click(Sender: TObject);
begin
   GroupBox6.visible:=True;
   Edit1.SetFocus;
   Label7.Caption:=Query2.FieldByName('采暖费编号').AsString;
   Label8.Caption:=Query2.FieldByName('户主姓名').AsString;
   Label9.Caption:=Query2.FieldByName('应收金额').AsString;
   Label10.Caption:=Query2.FieldByName('余额').AsString;
end;

procedure TCNFGL.BitBtn7Click(Sender: TObject); //收取当前用户的采暖费
begin
   Query3.Close;
   Query3.SQL.Clear;
   Query3.SQL.Add('Update 采暖费 set 实收金额=:A,本年余额=:B');
   Query3.SQL.Add('where 采暖费编号=:C');
   Query3.ParamByName('A').AsFloat:=StrToFloat(Edit1.Text);
   Query3.ParamByName('B').AsFloat:=StrToFloat(Edit1.Text)-StrToFloat(Label9.Caption);
   Query3.ParamByName('C').AsString:=Label7.Caption;
   Query3.EXECSQL;
   Query2.Close;
   Query2.Open;
   GroupBox6.Visible:=False;
end;

procedure TCNFGL.BitBtn8Click(Sender: TObject);  //取消收取当前用户的采暖费
begin
   Groupbox6.Visible:=False;
end;

procedure TCNFGL.BitBtn9Click(Sender: TObject);  //更新当前楼的采暖起止日期
begin
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('update 采暖费 Set 计费起始日期=:A,计费终止日期=:B');
  Query3.SQL.Add('where 采暖费编号 in (Select 房间编号 From 房屋信息表');
  Query3.SQL.Add('Where 大楼名=:C)');
  Query3.ParamByName('A').AsDateTime:=DateTimePicker1.Date;
  Query3.ParamByName('B').AsDateTime:=DateTimePicker2.Date;
  Query3.ParamByName('C').AsString:=Table1.FieldByName('大楼名称').AsString;
  Query3.EXEcSQL;
  GroupBox5.Visible:=False;
  Query2.Close;
  Query2.Open;
end;

procedure TCNFGL.BitBtn10Click(Sender: TObject);   //更新当前住户的采暖起止日期
begin
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('update 采暖费 Set 计费起始日期=:A,计费终止日期=:B');
  Query3.SQL.Add('where 采暖费编号=:C');
  Query3.ParamByName('A').AsDateTime:=DateTimePicker1.Date;
  Query3.ParamByName('B').AsDateTime:=DateTimePicker2.Date;
  Query3.ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
  Query3.EXEcSQL;
  GroupBox5.Visible:=False;
  Query2.Close;
  Query2.Open;
end;

procedure TCNFGL.BitBtn12Click(Sender: TObject);  //特殊情况收取采暖费
begin
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('Update 采暖费 set 实收金额=:A,本年余额=:B,减免金额=:D,原因=:E where 采暖费编号=:C');
  Query3.ParamByName('A').AsFloat:=StrToFloat(Edit2.Text);
  Query3.ParamByName('D').AsFloat:=StrToFloat(Edit3.Text);
  Query3.ParamByName('E').AsString:=Edit4.Text;
  Query3.ParamByName('B').AsFloat:=StrToFloat(Edit3.Text)+StrToFloat(Edit2.Text)-StrToFloat(Label17.Caption);
  Query3.ParamByName('C').AsString:=Label15.Caption;
  Query3.EXECSQL;
  Query2.Close;
  Query2.Open;
  GroupBox7.Visible:=False;
end;

procedure TCNFGL.BitBtn5Click(Sender: TObject); //特殊情况收费情况登记
begin
  GroupBox7.visible:=True;
  Edit2.SetFocus;
  Label15.Caption:=Query2.FieldByName('采暖费编号').AsString;
  Label16.Caption:=Query2.FieldByName('户主姓名').AsString;
  Label17.Caption:=Query2.FieldByName('应收金额').AsString;
  Label18.Caption:=Query2.FieldByName('余额').AsString;
end;

procedure TCNFGL.BitBtn13Click(Sender: TObject);  //取消特殊情况采暖费收取
begin
  Groupbox7.Visible:=False;
end;

procedure TCNFGL.BitBtn11Click(Sender: TObject);  //导出采暖费信息
begin
  if MessageDLG('是否导出采暖费信息?',mtCustom,[mbYes,mbNo],0)=mryes then
  begin
    Query4.close;
    Query4.sQL.Clear;
    Query4.SQL.Add('Insert 采暖费历史表(采暖费编号,户主姓名,采暖费标准,计费起始日期,计费终止日期,建筑面积,应收金额,实收金额,余额,减免金额,原因,去年应交,去年实交,本年余额)');
    Query4.SQL.Add('Select 采暖费编号,户主姓名,采暖费标准,计费起始日期,计费终止日期,建筑面积,应收金额,实收金额,余额,减免金额,原因,去年应交,去年实交,本年余额 From 采暖费');
    Query4.ExecSQL;
    Query4.Close;
    query4.SQL.Clear;
    Query4.SQL.Add('update 采暖费 Set 实收金额=0,减免金额=0,原因=null,余额=余额+本年余额,本年余额=0');
    Query4.SQl.Add(',去年应交=应收金额,去年实交=实收金额');
    Query4.ExecSQL;   //执行信息导出
    ShowMessage('导出完毕!');
    Query2.Close;
    Query2.Open;
  end;
end;

procedure TCNFGL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   CNFGL.Release;
   CNFGL:=Nil;
end;

procedure TCNFGL.BitBtn6Click(Sender: TObject);
begin
  Close;
end;
end.

⌨️ 快捷键说明

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