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

📄 realtyc42b.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit RealtyC42B;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
  StrUtils, ExtDlgs, ComCtrls, math, ImgList, Menus, ToolWin;

type
    Tf_RealtyC42B = class(TForm)
    GroupBox1: TGroupBox;
    ListView2: TListView;
    TreeView1: TTreeView;
    Button1: TButton;
    Button3: TButton;
    Button2: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Label3: TLabel;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    GroupBox2: TGroupBox;
    ListView1: TListView;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    DateTimePicker3: TDateTimePicker;
    Label4: TLabel;
    Label7: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label8: TLabel;
    DateTimePicker2: TDateTimePicker;
    Button10: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ListView2CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);


    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure ListView1Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
     bMod:bool;
     sTable:string;
     cols:integer;
     sNum:string;
     bOk:bool;
  end;
  
var
  f_RealtyC42B: Tf_RealtyC42B;
implementation
uses data, main,RealtyPrint1;
{$R *.dfm}

//Init*********************************
procedure Tf_RealtyC42B.FormCreate(Sender: TObject);
begin
    getStructure(TreeView1);
    datetimepicker1.date:=date;
    datetimepicker2.date:=date;
    datetimepicker3.date:=date;
end;

procedure Tf_RealtyC42B.TreeView1Click(Sender: TObject);
Var
    query,query1,query2:TADOQuery;
    nLevel:integer;
    s,s1,s2,s3,s4:string;
    r1:string;
begin
    listview1.Items.Clear;

    nLevel:=treeview1.Selected.Level;

    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query1:=TADOQuery.Create(nil);
    Query1.Connection:=DataModuleADO.ADOConnection1;
    Query2:=TADOQuery.Create(nil);
    Query2.Connection:=DataModuleADO.ADOConnection1;

    if nLevel=0 then
    begin
        s:='select * from 公摊仪表 where 编号 like ''%'+Edit1.text;
        s:=s+'%'' order by 编号 asc';

        query.SQL.Clear;
        Query.SQL.Add(s);
        Query.Open ;
        while not Query.Eof do
        begin
            s:='select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value;
            s:=s+''' and 名称 like ''%'+edit2.Text+'%''';
            query1.SQL.Clear;
            query1.SQL.Add(s);
            query1.open;
            if query1.RecordCount>0 then
            begin
                with ListView1.Items.Add do
                begin
                    Caption:=Query.FieldByName('编号').Value;
                    SubItems.Add(mainform.getName('管理区',Query.FieldByName('管理区').Value));

                    SubItems.Add(mainform.getName('收费项目',Query.FieldByName('收费项目').Value));
                    SubItems.Add(mainform.getName('收费标准',Query.FieldByName('收费标准').Value));

                    SubItems.Add(Query.FieldByName('分摊方式').Value);
                    SubItems.Add(Query.FieldByName('总表').Value);

                    SubItems.Add(Query.FieldByName('公摊仪表类型').Value);
                    SubItems.Add(Query.FieldByName('倍率').Value);
                    SubItems.Add(Query.FieldByName('回程').Value);
                    SubItems.Add(Query.FieldByName('损耗率').Value);
                    SubItems.Add(Query.FieldByName('读数日期').Value);
                    SubItems.Add(Query.FieldByName('当前读数').Value);
                    SubItems.Add(Query.FieldByName('备注').Value);
                end;
            end;
            query.Next;
        end;
    end;

    if nLevel>0 then
    begin
        s:='select * from 组织机构 where 名称 = '''+treeview1.Selected.Text+'''';

        query.SQL.Clear;
        Query.SQL.Add(s);
        Query.Open ;
        if query.RecordCount>0 then
        begin
            s1:=Query.FieldByName('stampt').Value;

            s:='select * from 组织机构 where 组织机构类别='''+'管理处';
            s:=s+''' and stampt like '''+s1+'%''';

            query1.SQL.Clear;
            Query1.SQL.Add(s);
            Query1.Open ;
            while not Query1.Eof do
            begin
                s:='select * from 公摊仪表 where 编号 like ''%'+Edit1.text;
                s:=s+'%'' order by 编号 asc';

                query.SQL.Clear;
                Query.SQL.Add(s);
                Query.Open ;
                while not Query.Eof do
                begin
                    s:='select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value;
                    s:=s+''' and 管理处 ='''+query1.fieldbyname('编号').Value;
                    s:=s+''' and 名称 like ''%'+edit2.Text+'%''';

                    query2.SQL.Clear;
                    query2.SQL.Add(s);
                    query2.open;
                    if query2.RecordCount>0 then
                    begin
                        with ListView1.Items.Add do
                        begin
                            Caption:=Query.FieldByName('编号').Value;
                            SubItems.Add(mainform.getName('管理区',Query.FieldByName('管理区').Value));

                            SubItems.Add(mainform.getName('收费项目',Query.FieldByName('收费项目').Value));
                            SubItems.Add(mainform.getName('收费标准',Query.FieldByName('收费标准').Value));

                            SubItems.Add(Query.FieldByName('公摊仪表类型').Value);
                            SubItems.Add(Query.FieldByName('倍率').Value);
                            SubItems.Add(Query.FieldByName('回程').Value);
                            SubItems.Add(Query.FieldByName('损耗率').Value);
                            SubItems.Add(Query.FieldByName('读数日期').Value); 
                            SubItems.Add(Query.FieldByName('当前读数').Value);
                            SubItems.Add(Query.FieldByName('备注').Value);
                            SubItems.Add(Query.FieldByName('分摊方式').Value);
                            SubItems.Add(Query.FieldByName('总表').Value);
                        end;
                    end;
                    query.Next;
                end; 
                query1.Next;
            end;
        end;
    end; 
    query.close;
    query.Free;
    query1.close;
    query1.Free;
    query2.close;
    query2.free;

    if listview1.Items.Count>0 then listview1.Items.Item[0].Selected:=true;
end;




//Tab *********************************
procedure Tf_RealtyC42B.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
        Begin
            key:=0;
            perform(WM_NEXTDLGCTL,0,0);
        end
    else if key=VK_ESCAPE then close;
end;

//freeform*******************************
procedure Tf_RealtyC42B.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action := caFree;
end;

//highlight**********************************
procedure Tf_RealtyC42B.ListView2CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
    if   Item.Selected = true then
    begin
          Sender.Canvas.Brush.Color   :=   clMenuHighlight;
          (Sender   as   TListView).Canvas.Font.Color   :=  clWhite;
    end;
end;


procedure Tf_RealtyC42B.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
     if Node.Selected then
     begin
         Sender.Canvas.Brush.Color:=clhighlight;
         (Sender as TCustomTreeView).Canvas.Font.Color:=clwhite;
     end;
end;

procedure Tf_RealtyC42B.Button4Click(Sender: TObject);
var
    Query:TADOQuery;
begin
    If (ListView2.SelCount = 0) Then exit;


    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+''' and 审核='''+'Y'+'''');
    query.Open;
    if query.RecordCount>0 then
    begin
        showmessage('已经审核,不能删除');
        query.Close;
        query.Free;
        exit;
    end;

    if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=1) then
    begin
        DataModuleADO.ADOConnection1.BeginTrans;
        Query.SQL.Text:='delete from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+'''';
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;
        Query.Close;
        Query.Free;
        ListView2.Selected.Delete ;
        if listview2.Items.Count = 1 then ListView2.Items.Item[0].Selected := True;
    end;
end;

procedure Tf_RealtyC42B.Button6Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyC42B.Button7Click(Sender: TObject);
VAR
    query:TADOQuery;
    s,s1,s2,s3,sItem:string;
begin
    if listview2.SelCount=0 then exit;

    if(Application.MessageBox(PChar('确认要审核所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=2) then exit;

    query:=TADOQuery.Create(nil);
    query.Connection:=datamoduleado.ADOConnection1;

    query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+''' and 审核='''+'Y'+'''');
    query.Open;
    if query.RecordCount>0 then
    begin
        showmessage('已经审核!');
        query.Close;
        query.Free;
        exit;
    end;


    query.SQL.Clear;
    Query.SQL.Add('select * from 抄表费用公摊 where 单号='''+listview2.Selected.Caption+'''');
    Query.Open ;
    if Query.RecordCount>0 then
    begin
        s:='update 抄表费用公摊 set 审核='''+'Y';
        s:=s+''' where 单号='''+listview2.Selected.Caption+'''';

        query.sql.Clear ;
        DataModuleADO.ADOConnection1.BeginTrans;
        Query.SQL.Text:=s;
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;

        showmessage('审核操作成功!');
    end;


    sItem:='公摊抄表项目:'+listview2.Selected.SubItems[10];
    s:='select * from 应收款 where 单号='''+listview2.Selected.Caption;
    s:=s+''' and 款项类别='''+sItem+'''';

    query.SQL.clear;
    Query.SQL.Add(s);
    query.open;
    if query.RecordCount=0 then
    begin
        s:='insert into 应收款(单号,客户名称,发生日期,应收金额,已收金额,已退金额,';
        s:=s+'未收金额,承诺付款日期,联系人,联系电话,款项类别,付款类别,应收日期) values(:s1,';
        s:=s+':s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13)';

        s1:='-';
        s2:='-';
        query.SQL.Clear;
        query.SQL.add('select * from 客户资料 where 客户代码='''+listview2.Selected.SubItems[1]+'''');

⌨️ 快捷键说明

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