楼盘销售管理系统设计与实现.docx

上传人:b****9 文档编号:26365987 上传时间:2023-06-18 格式:DOCX 页数:58 大小:60.39KB
下载 相关 举报
楼盘销售管理系统设计与实现.docx_第1页
第1页 / 共58页
楼盘销售管理系统设计与实现.docx_第2页
第2页 / 共58页
楼盘销售管理系统设计与实现.docx_第3页
第3页 / 共58页
楼盘销售管理系统设计与实现.docx_第4页
第4页 / 共58页
楼盘销售管理系统设计与实现.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

楼盘销售管理系统设计与实现.docx

《楼盘销售管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《楼盘销售管理系统设计与实现.docx(58页珍藏版)》请在冰豆网上搜索。

楼盘销售管理系统设计与实现.docx

楼盘销售管理系统设计与实现

楼盘销售管理系统设计与实现

随着国内楼市的发展,涌现了越来越多的房地产开发商。

在房地产开发工程中,楼盘销售是非常重要的环节,也是房地产开发的关键环节。

如何提供楼盘销售服务质量,也显得非常迫切。

而通过管理系统,可以来规范和管理销售过程的各个环节,并提供相关的信息。

这样,可以极大提高服务质量和效率。

本章将全面地介绍系统的功能特性,并对系统进行需求分析和数据建模,实现一个完整的楼盘销售管理系统。

1系统需求

楼盘销售管理系统主要负责管理房屋信息,并对房屋进行定价,然后进行销售,为用户提供不同信息的统计分析,满足管理人员的需要。

该系统主要包括房屋信息管理和销售信息管理两部分。

●房屋信息管理:

主要负责管理房屋的基本信息,包括楼房信息和房间信息。

●销售信息管理:

主要负责客户信息、房屋定价、房屋销售以及统计分析。

楼盘销售管理系统是为了满足用户进行楼盘销售而开发的。

所以,楼盘销

售管理系统应达到以下目标:

●减少人工的参与和基础信息的录入,具有良好的自治功能和信息循环。

●能够方便地管理客户资料。

●能够根据市场变化对房屋进行定价。

●能够管理所有的房屋信息,包括楼房信息和房间信息。

●能够快速地进行房屋信息的查询。

2系统分析

根据对楼盘销售管理系统的需求分析,一个标准的楼盘销售管理系统应该包含房屋信息管理和销售信息管理,如图1所示。

每一个功能模块都包含了一系列的子功能。

 

图1楼盘销售管理系统功能

2.1房屋信息管理

房屋信息管理模块以来管理楼盘信息和房间信息,它包括楼房管理、房间管理和信息查询3个子功能,如图2所示。

 

图2房屋信息管理模块

楼房管理功能实现对楼房信息的维护。

这类信息主要包括楼房号、楼名、所处位置、地面积、总投资、层数、房间数、简介等。

该模块提供对信息的增加、修改和删除功能。

房间管理功能实现对房间信息的维护。

这类信息主要包括房间号、楼房号、位置、房间大小、适用户型、销售状态、简介、成本价、销售价、折扣率等。

该模块提供增加、修改、删除功能。

信息查询功能实现对楼房信息和房间信息的查询。

该模块提供模式匹配和多条件查询。

2.2销售信息管理

销售信息管理模块主要用来管理楼盘销售情况,包括客户信息、房屋定价、房屋销售、统计分析4个子功能,如图3所示。

 

图3销售信息管理模块

1.客户信息

客户信息功能主要实现客户基本信息的维护。

这类信息主要包括客户编号、姓名、性别、出生日期、婚否、家庭成员数、职位、身份证号、经济收入、备注。

2.房屋定价

房屋定价功能主要实现对房间的统一定价,涉及的信息包括成本价、销售价、折扣率。

成本价是指房屋的成本价格;销售价是指房屋待销售的价格;折扣率是指楼盘销售时的折扣率。

3.房屋销售

房屋销售功能实现对房屋销售信息的记录。

记录的信息包括销售ID、房间号、楼房号、客户编号、成本价、销售价、折扣率、利润、付款方式、交易日期、备注等。

销售ID为标识种子,自增为1;销售价是指打折后的销售价格;利润=销售价-成本价。

4.统计分析

统计分析功能主要实现楼盘销售信息的统计分析。

它通过多条件进行分析,分析条件主要有楼房号、利润、付款方式。

3数据库设计

根据系统需求分析,需要建立4张表,即楼房信息表、房间信息表、客户信息表和销售记录表。

3.1数据表设计

下面依次说明这4个数据表的具体构成。

在实际应用中,读者可以根据需要更改各个数据的长度。

1.楼房信息表

楼房信息表负责维护楼房信息,主要包括楼房号、楼名、所处位置、占地面积、总投资、层数、房间数、简介等,表结构如表1所示。

表1楼房信息表

字段名称

含义

数据类型

可否为空

说明

buildingID

楼房名

Char(4)

主键

楼房号为4位

bdname

楼名

Nvarchar(50)

NotNull

楼房名称

bdposition

所处位置

Nvarchar(200)

Null

楼房所处位置

area

占地面积

Float(8)

Null

楼房占地面积,单位平方米

investment

总投资

Float(8)

Null

楼房总投资额,单位元

layers

层数

Int(4)

Null

楼房层数

roomN

房间数

Int(4)

Null

房间数目

bdintroduction

简介

Text(16)

Null

楼房简单介绍

2.房间信息表

房间信息表负责维护房间信息,主要包括房间号、楼房号、位置、房间大小、适用户型、销售状态、简介、成本价、销售价、折扣率等,表结构如表3-2所示。

表2房间信息表

字段名称

含义

数据类型

可否为空

说明

roomID

房间号

Char(4)

联合主键

房间号为4位及4位以下

buildingID

楼房号

Char(4)

联合主键,外键

父表为楼房信息表

rmposition

位置

Nvarchar(200)

Null

房间具体位置

rmsize

房间大小

Float(8)

Null

房间大小,单位平方米

type

适用户型

Char(8)

NotNull

居民用房、商业用房

status

销售状态

Char(6)

NotNull

已销售、未销售

rmintroduction

简介

Text(16)

Null

房间的简单介绍

cost

成本价

Float(8)

Null

成本价

price

销售价

Float(8)

Null

销售价

discountrate

折扣率

Float(8)

Null

折扣率

3.客户信息表

客户信息表主要用于维护客户的基本信息,主要包括客户编号、姓名、性别、出生日期、婚否、家庭成员数、职位、身份证号、经济收入、备注等,表结构如表3所示。

表3客户信息表

字段名称

含义

数据类型

可否为空

说明

customerID

客户编号

Char(4)

主键

客户编号为4位

name

姓名

Nvarchar(50)

NotNull

客户姓名

sex

性别

Char

(2)

NotNull

客户性别:

男、女

birth

出生日期

Datetime(8)

Null

出生日期

marital

婚否

Char(4)

NotNull

已婚、未婚

members

家庭成员数

Int(4)

Null

家庭成员数

jobs

职位

Nvarchar(50)

Null

所在职位

identification

身份证号

Char(18)

NotNull

身份证号码为18位

income

经济收入

Float(8)

Null

个人或家庭经济收入

telephone

电话

Nvarchar(50)

Null

电话号码

address

住址

Nvarchar(50)

Null

住址

remarksc

备注

Text(16)

Null

备注

4.销售记录表

销售记录表用于对房间进行销售,记录销售记录,主要包括销售ID、房间号、楼房号、客户编号、成本价、销售价、折扣率、利润、付款方式、交易日期、备注等,表结构如表4所示。

表4销售记录表

字段名称

含义

数据类型

可否为空

说明

saleID

销售ID

Numeric(9)

主键

标识种子1、自增1

roomID

房间号

Char(4)

外键

父表为房间信息表

buildingID

楼房号

Char(4)

外键

父表为房间信息表

customerID

客户编号

Char(4)

外键

父表为客户信息表

cost

成本价

Float(8)

NotNull

成本价

price

销售价

Float(8)

NotNull

销售价为折扣之后的价格

discountrate

折扣率

Float(8)

NotNull

折扣率

profit

利润

Float(8)

NotNull

利润=销售价-成本价

payment

付款方式

Nvarchar(10)

NotNull

付款方式“一次性付款,分期付款”

datetransaction

交易日期

Datetime(8)

NotNull

交易日期

remarkssale

备注

Text(16)

Null

备注

创建表关联

通过SQLServer企业管理器可以得到数据库的关联图,使用连线来表示事物相互关系。

在数据库中,各个表之间的关系是通过使用外键来维护的,所有的主表和外键表对Insert和Update具有强制性,同时具有级联删除相关记录的特征。

4关键技术

本节结合楼盘销售管理系统,详细叙述如何使用ListView控件和TreeView控件,以及如何构建SQL多条件查询语句这些关键技术,下面分别叙述。

4.1使用ListView控件显示数据

ListView控件是一个Windows公共控件。

作为一个增强功能的列表框,它可以显示更多的信息。

ListView控件可以使用4种不同视图显示项目,通过这些控件,可将项目组成有或没有列标头的列,并显示伴随的图标和文本,这样可以直观而方便地浏览各个对象的数据。

ListView控件并不是默认的工具箱的配置项目,必须手工添加引用部件。

单击【工程】|【部件】命令,在【部件】对话框中选择MicrosoftWindowsCommonControls6.0(sp6)选项,单击【确定】按钮,就可以将ListView控件添加到工具箱中了。

在【楼房管理】界面中,添加一个ListView1控件和一个ImageList1控件。

ImageList1控件用来存放图标,在插入每一个图标后会自动获得一个索引,供ListView1控件引用。

右击ListView1控件,单击【属性】命令,弹出【属性页】对话框。

单击【图象列表】标签,将【普通】设为ImageList1,建立与ImageList1的关联,这样ImageList1引用的图标就可以在ListView1上面显示出来了。

然后通过代码来控制ListView控件与数据库关联,其代码如下所示。

PrivateSubLoadData()

‘装载数据

DimlistAsListItem

DimkeyAsString

SetRs=Nothing

SQLStr=“SELECT*FROM楼房信息表ORDERBYbuildingID”

Setrs=SelectSQL(SQLStr,msg)‘查询楼房信息

ListView1.ListItems.Clear‘清空ListView控件

Ifrs.RecordCount=0Then‘若没有楼房信息,添加按钮可用,其他按钮不可用

CmdAdd.Enabled=True:

CmdModify.Enabled=False:

CmdDelete.Enabled=False

CmdCancel.Enabled=False:

CmdSave.Enabled=False

Else

rs.MoveFirst

DoUntilrs.EOF

Key=rs.Fields(“buildingID”)&rs.Fields(“bdname”)

Setlist=ListView1.ListItems.Add(,,key,1)

rs.MoveNext

Loop

‘编辑控件可用性

‘CmdAdd.Enabled=True:

CmdModify.Enabled=True:

CmdDelete.Enabled=True

CmdCancel.Enabled=False:

CmdSave.Enabled=False

rs.MoveFirst‘返回到第一条记录

EndIf

……

EndSub

用户单击ListView的ListItem来触发ListView的Click事件,并通过查询语句查询所需要单击的ListView对应的楼房数据,最后用Text文本显示出来。

这样,ListView很好地发挥了图形的功能,让界面更有人性化。

4.2使用TreeView控件显示结构

TreeView控件为用户提供了一种层次结构显示信息的方式。

它包含了称做节点(node)的条目列表。

每一个节点都可以有自己的节点,从而提供一种更深层的数据定义。

每个节点都可以折叠起来,从而允许访问者在一个TreeView控件中查找,只查看所感兴趣的那一级的数据,如某一楼房的各个房间数据。

Node对象是TreeView控件中的一项,它包含图象和文本。

Node集合包含一个或多个Node对象,语法如下。

teeview.Nodes,treeview,Nodes.Item(index)

用户可以使用标准的集合方法(例如,Add和Remove方法)操作Node对象。

用户也可以按其索引或存储在Key属性中的唯一键来访问集合中的每个元素。

如果选择指定的Node对象,必须通过它的Index属性或Key属性的值去引用它。

TreeView控件用来显示信息的分级视图,控件中的各项信息都有一个与之相关联的Node对象。

每个Node对象均由一个标签和一个可选的位图组成,TreeView控件可以使用ImageList属性指定的ImageList控件,来显示Node对象的位图和图标。

首先为当前工程引用部件。

单击【工程】|【部件】命令,在【部件】对话框中选择MicrosoftWindowsCommonControls6.0(sp6)选项,单击【确定】按钮,这样就可以使用TreeView控件了。

1.添加项

向TreeView中添加项的方法如下所示。

TreeView.Nodes.Add“Relative”,Relationship,“Key”,“Text”,“Image”,“SelectedImage”

●Relative:

代表相关联的亲属,用关键字表示。

●Relationship:

代表亲属之间的关系,tvwChild表示亲属间为父子关系,tvwNext表示为平等关系。

●Key:

代表某一节点的关键字,区别于其他节点。

●Text:

代表节点显示的文本。

●Image:

表示节点被选中时的图标。

●SelectedImage:

表示节点展开时的图标。

2.构建树形结构

在【房间管理】界面中,添加一个TreeView1控件和一个ImageList1控件。

在ImageList1控件中插入楼房和房间的图标。

在插入每一个图标后都会自动获得一个索引,供TreeView1控件引用。

右击TreeView1控件,单击【属性】命令,弹出【属性页】对话框,单击【图像列表】标签,将【普通】设为ImageList1,建立与ImageList1的关联,这样ImageList1引用的图标就可以在TreeView1上面显示出来了。

然后对TreeView1控件关联数据,其代码如下所示。

PrivateSubTree()

‘构造树操作

DimrstAsADODB.Recordset‘定义记录集

DimmsAsADODB.Recordset

Dimnod1AsNode‘定义Node对象

Dimnod2AsNode‘定义Node对象

DimF_keyAsString‘保存父节点的关键字

DimF_textAsString‘保存父节点的文本

DimC_keyAsString‘保存子节点的关键字

DimC_textAsString‘保存子节点的文本

Setrst=Nothing

Setms=Nothing

SQLStr=“SELECTbuildingID,bdnameFROM楼房信息表ORDERBYbuildingID”

Setrst=SelectSQL(SQLStr,msg)

Ifrst.RecordCount=0Then‘如果没有楼房信息

MsgBox“没有楼房信息,请先建立楼房信息!

ExitSub

Else

rst.MoveFirst

TreeView1.Nodes.Clear‘清空TreeView控件

DoUntilrst.EOF

‘添加父节点(楼房节点)

F_key=Trim(rst.Fields(“buildingID”)&rst.Fields(“bdname”))

F_text=Trim(rst.Fields(“bdname”))

Setnod1=TreeView1.Nodes.Add(,,F_key,F_text,1)

‘查询相应楼房所包含的房间

SQLStr=“SELECT*FROM房间信息表where”

SQLStr=SQLStr&“buildingID=’”&Left(F_key,4)&“‘ORDERBYbuildingID,roomID”

Setms=SelectSQL(SQLStr,msg)

Ifms.RecordCount〈〉0Then‘如果该楼房包含房间

Ms.MoveFirst

DoUntilms.EOF

‘添加子节点(房间节点)

C_key=Trim(ms.Fields(“buildingID”)&ms.Fields(“roomID”))

C_text=Trim(ms.Fields(“roomID”))

Setnod2=TreeView1.Nodes.Add(F_key,tvwChild,C_key,C_text2)

Ms.MoveNext

Loop

EndIf

rst.MoveNext

Loop

EndIf

EndSub

其中,SetNOD1=TreeView1.Nodes.Add(,,F_key,F_text,1)语句把各楼房名称添加到TreeView的Node上面;Setnod2=TreeView1.Nodes.Add(F_key,tvwChild,C_key,C_text2)语句把相应的楼房下的所有房间添加到对应的Node的下一层Node上面。

当用户单击树形结构中的房间时,将触发TreeView1_NodeClick事件,得到当前节点的关键字。

其代码如下所示。

通过查询语句查询所单击的当前节点对应的房间数据,最后用Text文本显示出来。

PrivateSubTreeView1_NodeClick(ByValNodeAsMSComct1Lib.Node)

‘显示房间的具体信息

DimkeyAsString‘保存当前节点的关键字

key=Trim(TreeView1.SelectedItem.key)

‘查询当前节点的信息

SQLStr=“SELECT*FROM房间信息表where”

SQLStr=SQLStr&“buildingID=’”&Left(Trim(key),4)&“‘androomID=’”&Mid(Trim(key),5)&”’”

Setrs=SelectSQL(SQLStr,msg)

CallShowData‘重新显示数据

EndSub

这样,TreeView很好地发挥了图形的结构功能,清楚地显示了房间和所属的楼房关系,用户可以方便地查看喜欢的楼房的房间信息了。

4.3SQL多条件查询语句构建

在统计分析模块中,需要通过多条件进行分析。

分析条件主要有楼房号、利润以及付款方式。

实现该功能,只需要把各个查询语句连接起来,构造SQL语句,其代码如下所示。

PrivateSubCmdQuery_Click()

‘分析销售信息,构造SQL语句

SQLStr=“select*from销售记录表where1=1”

IfChkBuildingId.Value=1Then‘如果通过楼房号来进行分析

IfTrim(CobBuildingId.Text)〈〉“所有”Then

SQLStr=SQLStr&“andbuildingID=’”&Left(Trim(CobBuildingId.Text),4)&”’”

EndIf

EndIf

IfChkMethod.Value=1Then‘如果通过付款方式来进行分析

SQLStr=SQLStr&“andpayment=’”&Trim(CobMethod.Text)&”’”

EndIf

IfChkprofit.Value=1Then‘如果通过利润来进行分析

SQLStr=SQLStr&“andprofitbetween”&txtRoomArea1&“and”&txtRoomArea2

EndIf

Setrs=SelectSQL(SQLStr,msg)

SetDatagridl.DataSource=rs

Datagridl.Refresh

EndSub

5系统主界面

系统主界面主要用于构建系统的主窗体,并编写一些公共模块,方便其他子窗体的构建和调用。

5.1系统主窗体

系统主窗体主要由窗体本身和菜单构成。

首先建立一个工程,然后创建系统主窗体、主窗体的菜单,并在主窗体中添加窗体代码,来处理各个子窗体的关系。

在项目资源管理器中为项目添加一个MDI窗体作为系统主窗体将其Name属性改为frmmain,Caption属性改为【楼盘销售管理系统】,主要控件的属性如表5所示。

表5主窗体属性设置

控件

属性

属性值

楼盘销售管理系统(Form)

Name

Frmmain

Caption

楼盘销售管理系统

BackColor

&H8000000C&

StartUpPosition

0_Manual

WindowState

0_Normal

右击【楼盘销售管理系统】窗体,选择【菜单编辑器】命令,弹出【菜单编辑器】对话框,菜单结构按照功能划分进行创建。

在主窗体中调用、切换不同界面,进行相应功能的实现,其代码如下所示。

PrivateSubbuilding_Click()

Frmbuilding.Show‘打开楼房管理界面

EndSub

PrivateSubcustom_Click()

Frmcustomer.Show‘打开客户信息界面

EndSub

PrivateSubinto_Click()

Frminto.Show‘打开信息查询界面

EndSub

PrivateSubmnuEnd_Click()

UnloadMe‘结束

EndSub

PrivateSubprice_Click()

Frmprice.Show‘打开房屋定价界面

EndSub

PrivateSubroom_Click()

Frmroom.Show‘打开房

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1