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

📄 realtye11.pas

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

interface

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

type
    Tf_RealtyE11 = class(TForm)
    GroupBox1: TGroupBox;
    ListView1: TListView;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Button1: TButton;
    Label2: TLabel;
    TreeView1: TTreeView;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Label8: TLabel;
    Button8: TButton;
    Button9: TButton;
    ImageList1: TImageList;
    Label3: TLabel;
    Edit3: TEdit;
    Button10: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);

    procedure FormCreate(Sender: TObject);

    procedure GetData;
    procedure TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure TreeView1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private
    { Private declarations }
  public
    { Public declarations }
     bMod:bool;
     sTable:string;
     cols:integer;
     bOk:bool;
     sNum,sName:string;
  end;

var
  f_RealtyE11: Tf_RealtyE11;
implementation
uses data, main,RealtyE11A;
{$R *.dfm}

//Init****************************************
procedure Tf_RealtyE11.FormCreate(Sender: TObject);
var
    Query,query1,query2:TADOQuery;
    i,ii,iii:integer;
    FirstNode,Node,tmpNode,tmpNode1,tmpNode2,tmpNode3,tmpN,tmpN1: TTreeNode;
    sNum,s,s1,s2:string;
begin
    treeview1.images:=ImageList1;

    FirstNode := treeview1.Items.GetFirstNode;
    Node:=treeview1.Items.AddChild(firstNode,'所有组织机构');
    Node.ImageIndex:=1;

    i:=0;

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


    Query.SQL.Add('select top 1 * from 组织机构 order by level1 desc');
    Query.Open ;
    if query.RecordCount > 0 then i:=Query.FieldByName('level1').AsInteger;

    if i>0 then
    begin
        for ii:=1 to i do
        begin
            query.SQL.Clear;
            Query.SQL.Add('select * from 组织机构 where level1='+inttostr(ii));
            Query.Open ;
            while not query.Eof do
            begin
                if ii=1 then
                begin
                    sNum:=query.fieldbyname('名称').Value;
                    tmpN:=treeview1.Items.AddChild(Node,sNum);
                    tmpN.ImageIndex:=1;

                    s1:= query.fieldbyname('编号').Value;

                    s:='select * from 管理区 where 管理处='''+s1;
                    s:=s+''' order by 编号 asc';

                    query1.SQL.clear;
                    query1.SQL.Add(s);
                    query1.Open;
                    while not query1.Eof do
                    begin
                        sNum:=query1.fieldbyname('名称').Value;
                        tmpNode2:=treeview1.Items.AddChild(tmpN,sNum);
                        tmpNode2.ImageIndex:=2;

                        s2:= query1.fieldbyname('编号').Value;

                        s:='select * from 楼宇 where 管理处='''+s1;
                        s:=s+''' and 管理区='''+s2;
                        s:=s+''' order by 编号 asc';

                        query2.sql.clear;
                        query2.sql.Add(s);
                        query2.Open;
                        while not query2.Eof do
                        begin
                              sNum:=query2.fieldbyname('名称').Value;
                              tmpNode3:=treeview1.Items.AddChild(tmpNode2,sNum);
                              tmpNode3.ImageIndex:=3;
                              query2.Next;
                        end;

                        query1.Next;
                    end;
                end
                else
                begin
                    for iii:=0 to TreeView1.Items.Count-1 do
                    begin
                        if TreeView1.Items[iii].Text = Query.FieldByName('所属机构').Value then
                        begin
                            tmpNode:=treeview1.Items[iii];


                            sNum:=query.fieldbyname('名称').Value;
                            tmpN:=treeview1.Items.AddChild(tmpNode,sNum);


                            s1:= query.fieldbyname('编号').Value;

                            s:='select * from 管理区 where 管理处='''+s1;
                            s:=s+''' order by 编号 asc';

                            query1.SQL.clear;
                            query1.SQL.Add(s);
                            query1.Open;
                            while not query1.Eof do
                            begin
                                sNum:=query1.fieldbyname('名称').Value;
                                tmpNode2:=treeview1.Items.AddChild(tmpN,sNum);
                                tmpNode2.ImageIndex:=2;

                                s2:= query1.fieldbyname('编号').Value;

                                s:='select * from 楼宇 where 管理处='''+s1;
                                s:=s+''' and 管理区='''+s2;
                                s:=s+''' order by 编号 asc';

                                query2.sql.clear;
                                query2.sql.Add(s);
                                query2.Open;
                                while not query2.Eof do
                                begin
                                      sNum:=query2.fieldbyname('名称').Value;
                                      tmpNode3:=treeview1.Items.AddChild(tmpNode2,sNum);
                                      tmpNode3.ImageIndex:=3;
                                      query2.Next;
                                end;
                                query1.Next;
                            end;
                            break;
                        end;
                    end;
                end;
                query.Next;
            end;
        end;
    end;

    treeview1.FullExpand;

    query.SQL.Clear;
    Query.SQL.Add('select * from 组织机构 where level1=1');
    Query.Open ;
    while not query.Eof do
    begin
        for iii:=0 to TreeView1.Items.Count-1 do
        begin
            if TreeView1.Items[iii].Text = Query.FieldByName('名称').Value then
            begin
                treeview1.Items[iii].Expanded:=false;
            end;
        end;
        query.Next;
    end;

    Treeview1.Items[0].Selected := True;
end;

//GetData**************************************
procedure Tf_RealtyE11.GetData;
Var
    Query,query1:TADOQuery;
    s1,s2:string;
begin
    ListView1.Items.Clear;

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

    Query.SQL.Add('select * from 房间 order by 编号 ASC');
    Query.Open ;
    while not Query.Eof do
    begin
        query1.SQL.Clear;
        query1.SQL.Add('select * from 管理区 where 编号='''+query.fieldbyname('管理区').Value+'''');
        query1.Open;
        if query1.RecordCount>0 then  s1:=query.fieldbyname('名称').Value;

        query1.SQL.Clear;
        query1.SQL.Add('select * from 楼宇 where 编号='''+query.fieldbyname('楼宇').Value+'''');
        query1.Open;
        if query1.RecordCount>0 then s2:=query.fieldbyname('名称').Value;


        with ListView1.Items.Add do
        begin
            Caption:=Query.FieldByName('编号').Value;
            SubItems.Add(s1);
            SubItems.Add(s2);
            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);
            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;
        query.Next;
    end;
    query.Close;
    query.Free;
    if listview1.Items.Count > 0 then ListView1.Items.Item[0].Selected := True;
end;



//Tab***************************************
procedure Tf_RealtyE11.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 ********************************


//highlight********************************
procedure Tf_RealtyE11.ListView1CustomDrawItem(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_RealtyE11.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
    if Node.Selected=true then
    begin
        Sender.Canvas.Brush.Color := clMenuHighlight;
        (Sender as TTreeView).Canvas.Font.Color := clWhite;
    end;
end;

procedure Tf_RealtyE11.TreeView1Click(Sender: TObject);
Var
    query,query1,query2,query3:TADOQuery;
    nLevel:integer;
    s,s1,s2,s3,s4: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;
    Query3:=TADOQuery.Create(nil);
    Query3.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 ''%'+edit3.Text+'%''';
            query1.SQL.Clear;
            query1.SQL.Add(s);
            query1.Open;
            if query1.RecordCount>0 then
            begin
                s1:=query1.fieldbyname('名称').Value;
                s:='select * from 楼宇 where 编号='''+query.fieldbyname('楼宇').Value;
                s:=s+''' and 名称 like ''%'+edit2.Text+'%''';
                query2.SQL.Clear;
                query2.SQL.Add(s);
                query2.Open;
                if query2.RecordCount>0 then
                begin
                    s2:=query2.fieldbyname('名称').Value;
                    with ListView1.Items.Add do
                    begin
                        Caption:=Query.FieldByName('编号').Value;
                        SubItems.Add(s1);
                        SubItems.Add(s2);
                        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);
                        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;
            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;

⌨️ 快捷键说明

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