当前位置:文档之家› 软件工程-课程设计-销售管理系统

软件工程-课程设计-销售管理系统

销售管理系统一.项目简介随着计算机技术的迅猛发展,存在于网络的企业销售管理系统将逐步代替传统的管理模式进入企业。

为了更高效得完成销售方面的工作,也可以有更多的时间处理更多的别的事务,企业也将摆脱原有的管理形势完全进入信息化管理。

销售管理系统在企业的管理过程中起着巨大的作用二.功能需求一个销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,客户管理的功能。

客户登录销售管理系统进行售后服务查询,销售员可以对销售的产品进行登记,并将销售情况反馈给数据库。

为管理的方便性和信息传递的快速性提供了一个很好的平台。

系统开发的总体任务是实现售后服务及销售登记自动化。

总之,销售管理系统要实现登陆验证、商品销售管理、商品销售报表管理、客户信息管理四大部分。

1.客户对功能的需求1>查看自己的信息,了解自己近期的购买情况。

2>查看产品的信息,熟悉产品情况。

2>查看售后服务信息。

2.销售人员对功能的需求1>查看自己的信息,了解自己近期的销售情况。

2>查看产品的信息,熟悉产品情况。

3>登记销售产品。

4>添加新产品,并填写产品相关信息。

3.售后服务人员对功能的需求1>查看售后服务信息。

2>添加售后服务信息。

三.分析模型时序图销售管理系统顶层图1.客户管理第三层DFD图客户管理子系统2.销售管理第三层DFD图销售管理子系统3.售后服务管理第三层DFD图售后服务管理子系统4.客户登录动态时序图为四.模块活动图,登录流程图1.注册、登陆模块1>模块功能描述该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成系统的混乱和崩溃,严重影响其安全性和有效性。

所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图用户注册模块程序流程图登录模块程序流程图活动图为:2.客户管理模块1>模块功能描述显示客户的基本信息。

库户可以查看自己的等级和交易次数。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图3-8。

客户管理模块流程图活动图为:3.销售管理模块1 >模块功能描述在这个模块可以登记销售记录。

并且在提交记录时,更新数据库:(1)更新客户信息。

如果是“老客户”系统会按照客户等级给出对应的优惠价。

(2)更新产品信息。

主要是更新该产品数量。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图销售管理模块流程图活动图为五.数据库设计1.客户信息表khid khname zhg 客户编号客户简称采购主管Int VarChar gyshjchzhugteladr khtel 客户名称采购主管联系方式客户地址客户电话VarChar 传真bzhnChar nchar VarChar VarChar VarChar 备注fax text字段数据类型说明是否是主键是否为空否是是否否否是是否是否否否否否否否是2.商品进货表字段数据类型说明jhbh shpmch xdw 进货编号商品名称首拼小单位VarChar Char Char shpshp jhchb xshjg jhshul gysh jhrq bzh商品名称进货成本销售价格进货数量numeric 备注进货日期供应商numeric intVarChar VarCharsmalldatetimeint 否否否否否否否否否是否否是否是否是否否否是否是主键是否为空大单位ddw Char 否否3.商品销售表xshbhshpmchxshjg销售编号商品名称首拼销售价格IntNumericshpshpxshshlxshryxshrq商品名称销售数量销售人员销售日期VarChar客户简称khIntSmalldatetimeVarCharVarCharVarChar字段数据类型说明是否是主键是否为空否是是否否否是是否否否否否否否是bzh text否是备注六.运行界面与代码1.登陆窗口Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetPrivate Sub CmdOk_Click()If UserName.Text <> "" And PassWord.Text <> "" ThenSet conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"rs.Open "select * from usermanage where username='" & UserName.Text & "'", conn, 1, 1If Not rs.EOF ThenIf rs("password") = PassWord.Text ThenMain.ShowUnload MeElseMsgBox "非法登录,密码错误!", vbOKOnly, "警告"End IfElseMsgBox "非法登录,找不到该用户!", vbOKOnly, "警告"End IfElseMsgBox "用户名或密码不能为空!", vbOKOnly, "提示"End IfEnd SubPrivate Sub PassWord_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCall CmdOk_ClickEnd IfEnd SubPrivate Sub UserName_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCall CmdOk_ClickEnd IfEnd Sub`2.主界面Private Sub Cmd_Click(Index As Integer) Select Case IndexCase 0GoodsIn.ShowMe.Enabled = FalseCase 1Saler.ShowMe.Enabled = FalseCase 2SaleData.ShowMe.Enabled = FalseCase 3SaleTotal.ShowMe.Enabled = FalseCase 4UserM.ShowMe.Enabled = FalseEnd SelectEnd Sub`进货管理Private Sub Cmd_Click(Index As Integer) Select Case IndexCase 0 '第一条Adodc1.Recordset.MoveFirstCase 1 '上一条If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious End IfCase 2 '下一条If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNextEnd IfCase 3 '最尾条Adodc1.Recordset.MoveLastCase 4 '添加Adodc1.Recordset.AddNewFor i = 0 To 7GoodText(i).Enabled = TrueNextCmd(6).Enabled = TrueCase 5 '修改For i = 0 To 7GoodText(i).Enabled = TrueNextCmd(6).Enabled = TrueCase 6 '保存Adodc1.Recordset.UpdateFor i = 0 To 7GoodText(i).Enabled = FalseNextMsgBox "更新记录成功!", vbOKOnly, "提示"Cmd(6).Enabled = FalseCase 6 '删除If MsgBox("确定删除当前记录,数据将不可恢复?", vbOKCancel, "提示") = vbOK ThenAdodc1.Recordset.DeleteEnd IfEnd SelectEnd SubPrivate Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"Adodc1.RecordSource = "select * from save"For i = 0 To 6Set GoodText(i).DataSource = Adodc1GoodText(i).DataField = Adodc1.Recordset.Fields(i).NameNextAdodc1.RefreshSet DataGrid1.DataSource = Adodc1End SubPrivate Sub Form_Unload(Cancel As Integer)Main.Enabled = True`销售管理Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetPublic id As StringPublic action As StringPrivate Sub Cmd_Click(Index As Integer) Select Case IndexCase 0 '第一条If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirstEnd IfCase 1 '上一条If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious End IfCase 2 '下一条If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNextEnd IfCase 3 '最尾条If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd IfCase 4 '添加action = "add"ManageSale.ShowMe.Enabled = FalseCase 5 '修改action = "modify"id = Adodc1.Recordset.Fields("id")ManageSale.ShowMe.Enabled = FalseCase 7 '删除If MsgBox("确定删除当前记录,数据将不可恢复?", vbOKCancel, "提示") = vbOK ThenSet conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"rs.Open "select goodcount from save where goodnum='" & GoodText(0).Text & "'", conn, 1, 3rs("goodcount") = rs("goodcount") + GoodText(5).Textrs.Updaters.CloseAdodc1.Recordset.DeleteEnd IfEnd SelectEnd SubPrivate Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"Adodc1.RecordSource = "select * from sale order by id"For i = 0 To 6Set GoodText(i).DataSource = Adodc1GoodText(i).DataField = Adodc1.Recordset.Fields(i + 1).NameNextAdodc1.RefreshSet DataGrid1.DataSource = Adodc1End SubPrivate Sub Form_Unload(Cancel As Integer)Main.Enabled = TrueEnd Sub添加修改销售记录Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetPublic salecount As LongPrivate Sub Combo1_Change()End SubPrivate Sub Cmd_Click(Index As Integer)Select Case IndexCase 0Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"If GoodText(0) = "" Or GoodText(3) = "" Or GoodText(4) = "" ThenMsgBox "数据没有输入完整,请重新输入!", vbOKOnly, "提示"Exit SubEnd IfIf SaleData.action = "add" Thenrs.Open "select * from sale", conn, 1, 3rs.AddNewElsers.Open "select * from sale where id=" & SaleData.id, conn, 1, 3End Ifrs("Goodnum") = GNum.Textrs("goodname") = GoodText(1).Textrs("danwei") = GoodText(2).Textrs("outdate") = GoodText(3).Textrs("danjia") = GoodText(4).Textrs("outcount") = GoodText(0).Textrs("salename") = SaleName.Textrs.Updaters.Closers.Open "select * from save where goodnum='" & GNum.Text & "'", conn, 1, 3 '在库存表中将库存数量减去已售出的数量If SaleData.action = "add" Thenrs("goodcount") = rs("goodcount") - GoodText(0).TextElsers("goodcount") = rs("goodcount") - (GoodText(0).Text -salecount)End Ifrs.Updaters.CloseMsgBox "数据更新成功!", vbOKOnly, "提示"SaleData.Adodc1.RefreshUnload MeCase 1Unload MeEnd SelectEnd SubPrivate Sub Form_Load()Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"Dim saleman As StringIf SaleData.action = "add" Thenrs.Open "select goodnum from save order by goodnum", conn, 1, 1Do While Not rs.EOFGNum.AddItem rs(0)rs.MoveNextLoopGNum.Text = GNum.List(0)Elsers.Open "select * from sale where id=" & SaleData.id, conn, 1, 1GNum.AddItem rs("goodnum")GoodText(1).Text = rs("goodname")GoodText(2).Text = rs("danwei")GoodText(3).Text = rs("outdate")GoodText(4).Text = rs("danjia")GoodText(0).Text = rs("outcount")saleman = rs("salename")GNum.Text = GNum.List(0)GNum.Enabled = Falsers.Closers.Open "select * from save where goodnum='" & GNum.Text & "'", conn, 1, 1SaleNum.Max = GoodText(0).Text + rs("goodcount")salecount = GoodText(0).TextEnd Ifrs.Closers.Open "select salename from saler order by id", conn, 1, 1Do While Not rs.EOFSaleName.AddItem rs(0)rs.MoveNextLoopIf SaleData.action = "add" ThenSaleName.Text = SaleName.List(0)ElseSaleName.Text = salemanCmd(0).Caption = "保存修改"End Ifrs.CloseEnd SubPrivate Sub Form_Unload(Cancel As Integer)SaleData.Enabled = TrueEnd SubPrivate Sub GNum_Click()Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\人事.mdb;Persist Security Info=False"rs.Open "select * from save where goodnum='" & GNum.Text & "'", conn, 1, 1If Not rs.EOF ThenGoodText(1).Text = rs("goodname")GoodText(2).Text = rs("danwei")SaleNum.Max = rs("goodcount")End IfEnd Sub。

相关主题