楼盘销售管理系统设计与实现随着国内楼市的发展,涌现了越来越多的房地产开发商。
在房地产开发工程中,楼盘销售是非常重要的环节,也是房地产开发的关键环节。
如何提供楼盘销售服务质量,也显得非常迫切。
而通过管理系统,可以来规范和管理销售过程的各个环节,并提供相关的信息。
这样,可以极大提高服务质量和效率。
本章将全面地介绍系统的功能特性,并对系统进行需求分析和数据建模,实现一个完整的楼盘销售管理系统。
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 楼房信息表2.房间信息表房间信息表负责维护房间信息,主要包括房间号、楼房号、位置、房间大小、适用户型、销售状态、简介、成本价、销售价、折扣率等,表结构如表3-2所示。
表2 房间信息表3.客户信息表客户信息表主要用于维护客户的基本信息,主要包括客户编号、姓名、性别、出生日期、婚否、家庭成员数、职位、身份证号、经济收入、备注等,表结构如表3所示。
表3 客户信息表4. 销售记录表销售记录表用于对房间进行销售,记录销售记录,主要包括销售ID、房间号、楼房号、客户编号、成本价、销售价、折扣率、利润、付款方式、交易日期、备注等,表结构如表4所示。
表4 销售记录表创建表关联通过SQL Server 企业管理器可以得到数据库的关联图,使用连线来表示事物相互关系。
在数据库中,各个表之间的关系是通过使用外键来维护的,所有的主表和外键表对Insert 和Update 具有强制性,同时具有级联删除相关记录的特征。
4 关键技术本节结合楼盘销售管理系统,详细叙述如何使用ListView控件和TreeView控件,以及如何构建SQL多条件查询语句这些关键技术,下面分别叙述。
4.1 使用ListView控件显示数据ListView控件是一个Windows公共控件。
作为一个增强功能的列表框,它可以显示更多的信息。
ListView控件可以使用4种不同视图显示项目,通过这些控件,可将项目组成有或没有列标头的列,并显示伴随的图标和文本,这样可以直观而方便地浏览各个对象的数据。
ListView控件并不是默认的工具箱的配置项目,必须手工添加引用部件。
单击【工程】|【部件】命令,在【部件】对话框中选择Microsoft Windows Common Controls6.0(sp6)选项,单击【确定】按钮,就可以将ListView控件添加到工具箱中了。
在【楼房管理】界面中,添加一个ListView1控件和一个ImageList1控件。
ImageList1控件用来存放图标,在插入每一个图标后会自动获得一个索引,供ListView1控件引用。
右击ListView1控件,单击【属性】命令,弹出【属性页】对话框。
单击【图象列表】标签,将【普通】设为ImageList1,建立与ImageList1的关联,这样ImageList1引用的图标就可以在ListView1上面显示出来了。
然后通过代码来控制ListView控件与数据库关联,其代码如下所示。
Private Sub LoadData()‘装载数据Dim list As ListItemDim key As StringSet Rs = NothingSQLStr = “SELECT * FROM 楼房信息表ORDER BY buildingID”Set rs = SelectSQL(SQLStr, msg) ‘查询楼房信息ListView1.ListItems.Clear ‘清空ListView控件If rs.RecordCount = 0 Then ‘若没有楼房信息,添加按钮可用,其他按钮不可用CmdAdd.Enabled = True : CmdModify.Enabled = False : CmdDelete.Enabled=FalseCmdCancel.Enabled = False: CmdSave.Enabled = FalseElsers.MoveFirstDo Until rs.EOFKey = rs.Fields(“buildingID”) & rs.Fields(“bdname”)Set list = ListView1.ListItems.Add(, , key, 1)rs.MoveNextLoop‘编辑控件可用性‘CmdAdd.Enabled = True:CmdModify.Enabled = True:CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = Falsers.MoveFirst ‘返回到第一条记录End If……End Sub用户单击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对象的位图和图标。
首先为当前工程引用部件。
单击【工程】|【部件】命令,在【部件】对话框中选择Microsoft Windows Common Controls 6.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控件关联数据,其代码如下所示。