进销存管理系统课程设计报告.docx
- 文档编号:4808274
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:24
- 大小:1.39MB
进销存管理系统课程设计报告.docx
《进销存管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《进销存管理系统课程设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
进销存管理系统课程设计报告
南京理工大学泰州科技学院
计算机科学与技术系软件工程专业班级
课程名:
桌面应用程序开发
课程作业说明书
姓名:
学号:
指导老师:
曹红根
设计地点:
4206教室
起讫时间:
2014.9—2014.12
完成报告书时间:
2015年1月15日
计算机科学与技术系编印
2014年09月
参考文献情况
序号
名称
编著者
出版社
1
《C#项目案例分析》
明日科技
清华大学出版社
2
《数据库系统概论》
萨师煊
高等教育出版社
3
4
5
一、设计课题
二、设计目的
三、设计过程(设计内容及主要程序模块)
四、心得
一、设计课题及内容
课题名称:
进销存管理系统的设计与实现
内容:
完成进销存管理系统的背景分析(课题的选题背景)、系统概要设计(系统功能结构图)、数据库设计(数据库概念结构设计-数据库逻辑结构设计-数据库的备份与恢复)、完成进销存系统主界面及主程序的设计与实现。
二、设计目的
熟悉数据库的设计流程;
熟悉C#项目开发流程;
掌握数据库中系统ER图的设计及二维表设计;
了解进销存系统的开发流程及设计思想。
三、设计过程
3系统实现
3.1公共操作部分
DataBase类
该类主要实现数据库的连接与关闭功能,连接操作步骤如下:
首先,创建一个sqlconnection连接对象,然后对该对象附连接数据库的语句。
接着打开数据库连接。
关闭操作:
判断连接对象是否为空,然后关闭数据库,并释放资源。
BaseInfo类
该类主要是各种对数据库操作的函数聚集,具体函数名及函数功能如下:
Login:
对frmLogin的登录操作,获取tb_power表内的用户名和密码。
GetUser:
对frmmain的数据库操作,获取tb_power表内用户名。
GetAllUser:
获取tb_power表内所有内容。
AddSysUser:
对tb_power表插入用户名与密码。
UpdateSysUser:
更新tb_power表中sysusername,password,stock,venditionstorage,system,base,id列内容
DeleteSysUser:
删除tb_power表中id列内容。
FindUserName:
选择tb_power表中的sysusername列内容。
GetAllStock:
获取tb_stock表中的所有内容。
GetStock:
获取tb_stock表中的tradecode列内容。
FindStockByProduce:
获取tb_stock表中的produce列内容。
FindStockByFullName:
获取tb_stock表中的fullname列内容。
GetLowerLimit:
设置库存下限。
GetUpperLimit:
设置库存上限。
setStockStatus:
获取tb_stock表中的qty列。
UpdateStockLimit:
更新tb_stock表中的upperlimit,lowerlimit列内容。
GetStockLimitByTradeCode:
获取tb_stock中的tradecode列。
CheckStock:
更新tb_stock表,使stockcheck值为check列,tradecode值为tradecode。
AddStock:
在tb_stock表中插入新的列,并赋值。
UpdateStock:
对tb_stock表进行更新操作。
DeleteStock:
删除tb_stock表中的fullname列内容。
FindStockbyName:
靠fullname指选择tb_stock表中的所有内容。
FindStockbyProduce:
靠produce指选择tb_stock表中的所有内容。
FindstockName:
依靠fullname选择tb_employee表内的所有内容。
GetAllEmployee:
从tb_employee表中选择employee的内容。
AddEmployee:
在tb_employee表中插入新的列内容。
UpdateEmployee:
更新tb_employee表中的内容。
DeleteEmployee:
删除tb_employee表中的id列内容。
FindEmployeeByName:
依靠fullname选择tb_employee表内的所有内容。
FindEmployeeByPhone:
依靠phone选择tb_employee表内的所有内容。
FindEmployeeName:
选择tb_employee表内fullname列内容。
GetAllUnits:
选择tb_units表内的所有内容。
AddUnits:
在tb_units表内插入新的列内容。
UpdateUnits:
更新tb_units表内列的内容。
DeleteUnit:
删除tb_units表列内的id列内容。
FindUnitsName:
依靠fullname选择tb_units表内所有内容。
FindUnitsByLinkMan:
依靠linkname选择tb_units表内所有内容。
FindUnitsByName:
依靠code选择tb_units表内的所有内容。
GetAllBill:
选择tb_warehouse_detailed表内的所有内容。
AddTableWarehouseMain:
在tb_warehouse_main表插入新的列内容。
FindMain:
选择主表内的billcoade列内容
AddTableDetailedWarehouse:
在tb_warehouse_detailed表内插入新的列内容
BuyStockSumDetailed:
进货明细表的显示。
BuyStockSum:
选择tb_warehouse_detailed表内的tradecode,fullname,sum(qty),sum(tsum)列内容。
FindDetailde:
选择明细表内的billcoade列内容。
AddTableRewarehouseMain:
在tb_warehouse_main表内插入新的列内容。
AddTableDetailedRewarehouse:
在tb_warehouse_detailed表内插入新的列内容。
GetAllSellBill:
选择tb_sell_main表内的所有内容。
AddTableMainSellhouse:
在tb_sell_main表内插入新的列内容。
FindSellStock:
依靠billdate选择tb_sell_main表内的所有内容。
SellStockSumDetailed:
依靠billdate选择tb_sell_detailed表内的所有内容。
SellStockStatusSum:
多表操作,求qty,tsum和。
GetTSumDesc:
多表操作,按销售金额排行查询数据。
GetQtyDesc:
多表操作,按销售数量排行查询数据。
GetDetailedkByBillCode:
依靠billcaode选择tb_sell_detailed表内列内容。
GetStockByTradeCode:
依靠tradecode选择tb_stock表内的所有内容。
AddTableDetailedSell:
在tb_sell_detailed表内插入新的列内容。
SellStockSum:
选择tb_sell-detailed表内的tradecode,fullname,sum(qty),sum(tsum);列内容。
SellAllStockAnalyse:
由tradecode,fullname选择tb_sel-detailed表内的列内容。
AddTableMainReSellhouse:
在tb_resell_main表内插入新的列内容。
AddTableDetailedReSell:
在tb_resell_detailed表内插入新的列内容。
GetUnitsList:
选择tb_currentaccount表内units,sum(sddgathering),sum(reducegathering)列内容。
FindCurrentAccountDate:
由units和billdate选择tb_currentaccount表内的所有内容。
AddCurrentAccount:
在tb_currentaccount表中插入新的列内容。
SellStockDetailed:
由billdate选择表内的列内容。
BuyAllStockAnalyse:
依靠tradecode,fullname选择tb_wareehouse_detailed表内的列内容。
BuyStockAnalyse:
多表操作,进退货分析。
cCurrentAccount:
定义进货单的数据结构。
cCurrentAccount:
定义过账单的数据结构。
cCurrentAccount:
定义权限,本单位信息设置和公司职员以及库存商品的数据结构。
3.2模块设计
3.2.1登录模块
打开进销存的登录页面这后,单击登录菜单,输入用户名“mr”和密码“mrsoft”,在单击登录按钮,系统将用户输入的用户名和密码与系统中数据进行验证,如若无误则登录到系统中,否则登录失败。
如图3.2.1所示:
图3.2.1用户登录页面
3.2.2进销存系统主界面
进入进销存系统的主界面,主界面提供各种功能的链接。
主要由进货管理,销售管理,库存管理,基础数据,系统维护这几个主要模块组成。
如图3.2.2所示.
图3.3.2进销存系统主界面
3.2.3进货单页面设计
进入进货单的页面后,选择经手人,可以选择如“小灰”,然后选择供货单位,可以选择如“三星专卖店”,可以在摘要栏写一些与该进货单相关的注解的内容。
接着双击商品编号表,可以选择进货任意一款商品,比如“电池”,在数量栏里填写相应的进货数量,接着,在下面填写相应的实付金额,系统会自动计算差额。
最后,按保存按钮,出现保存成功的提示框退出即可,如图3.2.3所示。
图4.2.3进货单管理页面
3.2.4进货退货单页面
进入进货退货单的页面后,选择经手人,可以选择如“小王”,然后选择供货单位,可以选择如“新新有限公司”,可以在摘要栏写一些与该进货单相关的注解的内容。
接着双击商品编号表,可以选择进货任意一款商品,比如“电脑”,在数量栏里填写相应的进货数量,接着,在下面填写相应的实付金额,系统会自动计算差额。
最后,按保存按钮,出现保存成功的提示框退出即可,如图3.2.3所示。
图3.2.4进货退货单管理页面
3.2.5进货分析页面
进入进货分析页面后,可以单击分析进货商品按钮,就可以显示进货商品的商品编号,商品名称,进货价格,进货数量以及合计金额这些数据。
同样的,单击分析进货退货商品按钮,及可以显示进货退货商品的商品编号,名称,价格等数据。
最后,单击退出进货分析按钮,及可以退出进货分析页面。
如图3.2.5所示
图3.2.5进货分析页面
3.2.6进货统计(不含退货)页面
进入进货统计页面,可以选择往来单位与经手人以及一段日期,这样就可以对这段时间内进行详细统计,也可以进行统计所有,最后,单击页面右上角的“x”关闭页面。
如图3.2.6所示。
图3.2.6进货统计页面
3.2.7往来单位列表
进入往来单位列表页面,就可以看到各个单位的应收增加和应收减少的账目,选择任意单位双击鼠标后,可以看到一个选择查询日期的选项框,填写相应的日期后,及可以看到这段时间内,该单位的进货与退货情况,以及相应的应收增加和应收减少的具体金额。
如图3.2.7所示。
图3.2.7往来单位列表
3.2.8销售单管理
销售单页面与与3.2.3的进货单页面较相似,故不详细叙述,如图3.2.8所示。
图3.2.8销售单管理
3.2.9销售退货单
销售退货单页面与3.2.4的进货退货单页面较相似,故不详细叙述,如图3.2.9所示。
图3.2.9销售退货单页面
3.2.10销售统计
打开月销售统计页面,可以填写往来单位以及经手人选项,在选择一段日期,然后即可进行详情统计。
也可以统计所有。
统计完毕后,可以单击生成图按钮,就可以看到图表。
如图3.2.10所示。
图3.2.10销售统计页面
3.2.11商品销售成本表
打开商品销售成本表,可以选择一段时间来查询这段时间内的详细商品销售情况。
如图3.2.11所示。
图3.2.11商品销售成本表
3.2.12商品销售排行榜
打开商品销售排行榜页面,填写往来单位与经手人,填写日期,来进行按销售数量或者按销售金额的排行。
如图3.2.12所示。
图3.2.12商品销售排行榜
3.2.13月销售状况
打开月销售状况页面,可以查看所有商品的销售数量和销售金额以及退货数量和退货金额,也可以选择一段日期查看这段时间内商品的销售数量和销售金额。
如图3.2.13所示。
图3.2.13月销售状况
3.2.14库存状况
打开库存状况表,可以看到当前库存的商品,可以进行库存上下限报警设置。
单击生成图按钮可以生成柱形图,按生成报表按钮可以生成报表。
如图3.2.14所示。
图3.2.14库存状况
3.2.15库存盘点
进入库存盘点页面,可以对库存商品进行快速查询和更改盘点数量操作。
如图3.2.15所示。
图3.2.15库存盘点
3.2.16系统管理设置
进入系统管理设置页面,可以管理用户名以及用户名的权限。
如图3.2.16所示。
图3.2.16系统管理设置
3.2.17公司职员管理页面
进入公司职员管理页面,可以查询职员的详细详细信息,也可以管理职员,如添加,更改职员信息等等。
如图3.2.17所示。
图3.2.17公司职员管理页面
四、心得
在老师的带领下,经过这几个月的学习以及个人实践,终于一步一步把课程设计完成了,回顾一下这次学习与实践的历程,下面我将简要叙述一下在开发进销存管理系统过程中所遇到的问题和解决问题的方法以及个人从中得到的一点体会。
对于开始的Login页面和main页面基本没有遇到问题,对于login页面中双击ENTER键即可让鼠标下移,只需使用if的判断语句和focus()聚焦即可。
对于进货管理的进货页面,遇到如下过问题:
单击经手人或者供货单位,他们均在一个文本框内显示。
经过检查发现,二者分别调用了frmselecthandle和frmselectunits页面,后又发现,在frmselectunits页面出现数据传递到了错误的文本框,经改正后,页面正常。
然后再双击进货表后,发现商品库存表错乱,商品编号,商品名称与数据不匹配,经过检查后发现调用了frmselectstock页面,接着找到了数据库中的列没有与grateview表对应好,调整好列名与表后,页面正常。
在接下来的往来对账页面,也遇到了问题:
在选择好查询日期后,相同的进货不能够显示在一起,然后经过参考和学习,使用订单号来判断是否有相同的货物进货或者退货,如果相同,则通过动态创建表格的方法,将他们显示在一起,并且需要一同计算相应的应收增加的和,实际增加的和,应收减少和实际减少的和。
在系统管理设置的页面中,遇到了如下的问题:
鼠标不能够在用户表上随便点击,当点击到用户表的最后一行,即末尾的空行时,系统会报错,报错类型是超过索引的值,后经过分析,嵌套一个if的判断语句,判断单击当前行时,该值是否有效,只有当有效的时候,才继续传递数据到文本框。
在库存状况页面中,也遇到了一些问题,该页面中有一项把当前库存表生成报表的功能无法实现。
检查过后无果,依然无法显示,故决定从新按顺序重做一次,首先创建数据集,指定好数据集后在创建报表,接着在库存状况页面中创建reportview控件以显示报表,最后编写事件,即指定报表使用哪一个数据集。
经过排查发现这个极其微小的错误,原来是指定数据集时,事件里写的数据集的名称和文件里数据集的名称不相吻合,所以导致了报表无法显示的问题。
还有一些相对于比较简单或者相类似的错误就不在详细的叙述了。
这次课程设计,让我对用C#在C/S模式上开发项目的过程有了更深一步的了解,也让我对C#语言有了更新的认识。
这次课程设计给我的体会就是在做项目的项目的时候一定要细心,在排错的时候一定要有耐心,如果在开发的时候不够细心,就会在接下来的排错的过程中陷入泥潭,对于较为明显的错误,可以通过开发工具帮我们找出啦,可是,对于向我在上文遇到的诸如数据集名称写错这类微小的错误,就在很大程度上考验了我们的耐心,造成较大的情绪波动,容易产生厌烦的情绪,从而阻塞开发的进度。
最后,感谢老师的谆谆教诲以及不厌其烦的帮住我解决各种难题的耐心。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进销存 管理 系统 课程设计 报告