《进销存管理系统课程设计报告.pdf》由会员分享,可在线阅读,更多相关《进销存管理系统课程设计报告.pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-可编辑南京理工大学泰州科技学院计算机科学与技术系软件工程专业班级课程名:桌面应用程序开发课程作业说明书姓名:学号:指导老师:曹红根设计地点:4206 教室起讫时间:2014.9 2014.12 完成报告书时间:2015 年 1 月15 日计算机科学与技术系编印2014 年 09 月-可编辑参考文献情况序号名称编著者出版社1C#项目案例分析明日科技清华大学出版社2数据库系统概论萨师煊高等教育出版社345-可编辑一、设计课题二、设计目的三、设计过程(设计内容及主要程序模块)四、心得-可编辑一、设计课题及内容课题名称:进销存管理系统的设计与实现内容:完成进销存管理系统的背景分析(课题的选题背景)、
2、系统概要设计(系统功能结构图)、数据库设计(数据库概念结构设计-数据库逻辑结构设计-数据库的备份与恢复)、完成进销存系统主界面及主程序的设计与实现。二、设计目的熟悉数据库的设计流程;熟悉C#项目开发流程;掌握数据库中系统 ER图的设计及二维表设计;了解进销存系统的开发流程及设计思想。-可编辑三、设计过程-可编辑3 系统实现3.1 公共操作部分DataBase类该类主要实现数据库的连接与关闭功能,连接操作步骤如下:首先,创建一个sqlconnection连接对象,然后对该对象附连接数据库的语句。接着打开数据库连接。关闭操作:判断连接对象是否为空,然后关闭数据库,并释放资源。BaseInfo类该类
3、主要是各种对数据库操作的函数聚集,具体函数名及函数功能如下: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 列内容。Find
4、UserName:选择 tb_power表中的 sysusername列内容。GetAllStock:获取 tb_stock 表中的所有内容。GetStock:获取 tb_stock 表中的 tradecode列内容。FindStockByProduce:获取 tb_stock 表中的 produce列内容。FindStockByFullName:获取 tb_stock 表中的 fullname列内容。GetLowerLimit:设置库存下限。-可编辑GetUpperLimit:设置库存上限。setStockStatus:获取 tb_stock表中的 qty 列。UpdateStockLimi
5、t:更新 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_sto
6、ck 表中的所有内容。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_em
7、ployee表内的所有内容。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 表内所有内容。FindUnitsByLinkM
8、an:依靠 linkname选择 tb_units 表内所有内容。FindUnitsByName:依靠 code 选择 tb_units表内的所有内容。GetAllBill:选择 tb_warehouse_detailed表内的所有内容。AddTableWarehouseMain:在 tb_warehouse_main表插入新的列内容。FindMain:选择主表内的billcoade列内容AddTableDetailedWarehouse:在 tb_warehouse_detailed表内插入新的列内容BuyStockSumDetailed:进货明细表的显示。BuyStockSum:选择 tb
9、_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表内插入新的列内容。FindS
10、ellStock:依靠 billdate选择 tb_sell_main表内的所有内容。SellStockSumDetailed:依靠 billdate选择 tb_sell_detailed表内的所有内容。SellStockStatusSum:多表操作,求qty,tsum和。GetTSumDesc:多表操作,按销售金额排行查询数据。GetQtyDesc:多表操作,按销售数量排行查询数据。GetDetailedkByBillCode:依靠 billcaode选择 tb_sell_detailed表内列内容。GetStockByTradeCode:依靠 tradecode选择 tb_stock表内的
11、所有内容。-可编辑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表内插入新的
12、列内容。GetUnitsList:选择 tb_currentaccount表内 units,sum(sddgathering),sum(reducegathering)列内容。FindCurrentAccountDate:由 units 和billdate选择 tb_currentaccount表内的所有内容。AddCurrentAccount:在 tb_currentaccount表中插入新的列内容。SellStockDetailed:由 billdate选择表内的列内容。BuyAllStockAnalyse:依靠 tradecode,fullname选择 tb_wareehouse_det
13、ailed表内的列内容。BuyStockAnalyse:多表操作,进退货分析。cCurrentAccount:定义进货单的数据结构。cCurrentAccount:定义过账单的数据结构。cCurrentAccount:定义权限,本单位信息设置和公司职员以及库存商品的数据结构。3.2模块设计3.2.1 登录模块打开进销存的登录页面这后,单击登录菜单,输入用户名“mr”和密码“mrsoft”,在单击登录按钮,系统将用户输入的用户名和密码与系统中数据进行验证,如若无误则登录到系统中,否则登录失败。如图3.2.1 所示:-可编辑图 3.2.1 用户登录页面开开开 开开 开 开开开开开开开开开开开开开开
14、开开开开开开开开开开/开开开开开开开开开开开开/开开开开开开YY开开开ENTER 开开开开开开开开开开Break开开NNNY3.2.2 进销存系统主界面进入进销存系统的主界面,主界面提供各种功能的链接。主要由进货管理,销售管理,库存管理,基础数据,系统维护这几个主要模块组成。如图3.2.2 所示.-可编辑图 3.3.2 进销存系统主界面3.2.3 进货单页面设计进入进货单的页面后,选择经手人,可以选择如“小灰”,然后选择供货单位,可以选择如“三星专卖店”,可以在摘要栏写一些与该进货单相关的注解的内容。接着双击商品编号表,可以选择进货任意一款商品,比如“电池”,在数量栏里填写相应的进货数量,接着
15、,在下面填写相应的实付金额,系统会自动计算差额。最后,按保存按钮,出现保存成功的提示框退出即可,如图 3.2.3 所示。图 4.2.3 进货单管理页面-可编辑开 开开 开开 开 开 开开 开 开 开 开开 开开 开 开 开开 开开开开 开 开 开 开 开开开 开开 开 开 开 开开 开开 开+1 开 开开 开 开开开 开开 开 开 开 开开 开开开 开 开开/开开 开开/开开 开开YN开 开 开 开/开开 开 开开 开 开开 开 开开 开 开开开开 开 开开 开 开开开开开 开 开 开 开 开开开 开 开 开 开 开开开 开 开开 开 开-开 开 开开开 开开 开 开 开 开 开开开 开开 开
16、 开 开开 开 开 开 开 开开开 开 开 开 开 开开开 开 开 开 开 开开开开 开 开YNNYYN开 开开 开 开 开 开开开 开 开 开-可编辑3.2.4 进货退货单页面进入进货退货单的页面后,选择经手人,可以选择如“小王”,然后选择供货单位,可以选择如“新新有限公司”,可以在摘要栏写一些与该进货单相关的注解的内容。接着双击商品编号表,可以选择进货任意一款商品,比如“电脑”,在数量栏里填写相应的进货数量,接着,在下面填写相应的实付金额,系统会自动计算差额。最后,按保存按钮,出现保存成功的提示框退出即可,如图3.2.3 所示。图 3.2.4 进货退货单管理页面-可编辑开 开开开开 开开开
17、开开开开 开开开开开 开开开 开开开开开 开开开 开开开开开开 开开开开开开开+1 开开开开开开开开开开开 开开开开开开开开开 开/开开开开/开开开开开开 开开开 开开开开开 开开开开开开开/开 开开开 开开开开 开开开 开开开开开开 开开开 开开开开 开开开 开开开 开开开 开开开开开开 开开开 开开开开 开开开开开 开开开开 开开开 开开开开 开开开开 开开 开开开 开开开开开 开开开 开开开开开开 开开开 开开开开 开开-开开开 开YNYNNYNY开开-可编辑3.2.5 进货分析页面进入进货分析页面后,可以单击分析进货商品按钮,就可以显示进货商品的商品编号,商品名称,进货价格,进货数量以
18、及合计金额这些数据。同样的,单击分析进货退货商品按钮,及可以显示进货退货商品的商品编号,名称,价格等数据。最后,单击退出进货分析按钮,及可以退出进货分析页面。如图3.2.5 所示图 3.2.5 进货分析页面-可编辑开 开开开 开 开开 开 开开 开 开 开开开 开开开 开 开开 开 开 开开开 开开开 开开 开 开 开开开开 开 开开 开 开开开 开 开开 开 开YbreakbreakbreakNYNN开开Y3.2.6 进货统计(不含退货)页面进入进货统计页面,可以选择往来单位与经手人以及一段日期,这样就可以对这段时间内进行详细统计,也可以进行统计所有,最后,单击页面右上角的“x”关闭页面。如
19、图3.2.6 所示。图 3.2.6 进货统计页面-可编辑开开开开开开开开开开开开开开开开 开开开开开开开/开开开开开开开开开开开开开开开开开开开开Y开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开NYYNBREAKN3.2.7 往来单位列表进入往来单位列表页面,就可以看到各个单位的应收增加和应收减少的账目,选择任意单位双击鼠标后,可以看到一个选择查询日期的选项框,填写相应的日期后,及可以看到这段时间内,该单位的进货与退货情况,以及相应的应收增加和应收减少的具体金额。如图3.2.7 所示。-可编辑图 3.2.7 往来单位列表结束开始显示往来单位列表鼠标是否双击任意
20、行显示查询日期选择框输入查询日期日期前后顺序是否合法提示:您输入的日期不合法该日期段是否有记录提示:没有符合条件的记录显示往来对账表YYNNYN3.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 销售统计-可编辑打开月销售统计页面,可以填写往来单位以及经手人选项,在选择一段日期,然后即可进行详情统计。也可以统计所有。统计完毕后,可以单击生成图按钮,就可以看到
21、图表。如图3.2.10所示。图 3.2.10 销售统计页面开始输入往来单位/经手人往来单位/经手人是否为空提示:往来单位与经手人不合法销售商品详情统计并显示是否统计所有所有销售商品统计并显示创建图获取数据生成图显示NYYN结束-可编辑3.2.11 商品销售成本表打开商品销售成本表,可以选择一段时间来查询这段时间内的详细商品销售情况。如图3.2.11 所示。图 3.2.11 商品销售成本表开始创建表头日期是否合法提示:日期前后输入不合法商品销售详情录入表格并显示结束N输入日期Y-可编辑3.2.12 商品销售排行榜打开商品销售排行榜页面,填写往来单位与经手人,填写日期,来进行按销售数量或者按销售金
22、额的排行。如图3.2.12 所示。图 3.2.12 商品销售排行榜开 开开 开 开 开 开开/开 开 开/开 开开 开开 开 开 开开 开开 开 开 开开 开 开 开开 开开 开 开 开开 开 开开 开 开 开 开 开 开开 开 开 开 开 开开开 开 开开 开 开 开 开开开 开 开开 开 开 开 开开开 开YNYN-可编辑3.2.13 月销售状况打开月销售状况页面,可以查看所有商品的销售数量和销售金额以及退货数量和退货金额,也可以选择一段日期查看这段时间内商品的销售数量和销售金额。如图3.2.13 所示。图 3.2.13 月销售状况-可编辑开 开开 开 开 开 开 开 开 开开 开 开 开
23、 开 开开 开开 开 开 开开 开 开 开 开 开开 开 开 开 开 开 开 开开 开开 开 开 开 开 开 开 开开 开 开开 开 开 开 开EXCEL开 开 开 EXCEL开 开 开 EXCEL开 开开 开 开YNYNY开 开N3.2.14 库存状况打开库存状况表,可以看到当前库存的商品,可以进行库存上下限报警设置。单击生成图按钮可以生成柱形图,按生成报表按钮可以生成报表。如图3.2.14 所示。-可编辑图 3.2.14 库存状况-可编辑开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开/开开开开开开开开开开开开开开开开开开开开开开开开
24、world开开开开开excel开开开开开开开开开开开开开开开开开开开开开开开开开开开world开开开开开开World 开开开开excel开开开开Excel 开开开开YYYNYYYNNNNN-可编辑3.2.15 库存盘点进入库存盘点页面,可以对库存商品进行快速查询和更改盘点数量操作。如图3.2.15 所示。图 3.2.15 库存盘点-可编辑开 开开 开 开 开开 开 开 开 开 开 开 开开 开 开 开 开 开开 开开 开 开 开 开 开 开 开开 开 开 开 开 开 开 开开 开 开 开 开开开 开 开 开 开 开开 开 开开 开 开 开 开开 开 开 开开 开 开 开 开 开开 开 开开 开
25、 开 开 开开 开 开 开 开开 开开 开 开 开 开 开开 开 开开 开 开 开 开开 开 开 开 开开 开 开 开开 开 开 开 开 开开 开开 开 开 开 开 开开开 开 开 开 开 开 开 开开 开 开 开 开 开 开 开开 开 开 开 开开开 开 开 开 开 开 开Y开 开NNNYYY开 开 开 开 开 开NYYN-可编辑3.2.16 系统管理设置进入系统管理设置页面,可以管理用户名以及用户名的权限。如图3.2.16 所示。图 3.2.16 系统管理设置-可编辑开 开开 开 开 开开 开 开 开 开开 开 开/开 开 开开 开 开开 开 开 开 开/开 开开 开 开 开 开 开 开
26、开开 开 开 开 开 开 开 开NYID 开 开 开 开 开开 开N开 开 开 开 开 开 开/开开 开 开 开Y开 开 开 开 开 开开 开 开 开 开 开开 开N开 开 开 开 开 开 开开 开 开 ID开 开 开 开 开 开 开BREAKNYY开 开-可编辑3.2.17 公司职员管理页面进入公司职员管理页面,可以查询职员的详细详细信息,也可以管理职员,如添加,更改职员信息等等。如图3.2.17 所示。图 3.2.17 公司职员管理页面-可编辑开 开开 开 开开开开 开开 开ID 开 开 开开 开开 开开 开 开开 开 开 开 开开 开Y开 开 开开开开 开 开 开 开开 开开开开 开 开
27、 开 开开 开 开 ID开 开 开开开 开 开YY开 开开 开 开 开开开 开开 开开 开 开开NNYBREAKN开 开 开 开开 开开 开 开 开开 开开 开开开开 开开 开开开 开 开 开 开开 开 开开 开 开开 开 开开 开开开 开 开 开开开NYNYN开 开 开开 开 开-可编辑四、心得在老师的带领下,经过这几个月的学习以及个人实践,终于一步一步把课程设计完成了,回顾一下这次学习与实践的历程,下面我将简要叙述一下在开发进销存管理系统过程中所遇到的问题和解决问题的方法以及个人从中得到的一点体会。对于开始的 Login 页面和 main 页面基本没有遇到问题,对于login 页面中双击
28、ENTER 键即可让鼠标下移,只需使用if的判断语句和focus()聚焦即可。对于进货管理的进货页面,遇到如下过问题:单击经手人或者供货单位,他们均在一个文本框内显示。经过检查发现,二者分别调用了 frmselecthandle和frmselectunits页面,后又发现,在 frmselectunits页面出现数据传递到了错误的文本框,经改正后,页面正常。然后再双击进货表后,发现商品库存表错乱,商品编号,商品名称与数据不匹配,经过检查后发现调用了frmselectstock页面,接着找到了数据库中的列没有与grateview表对应好,调整好列名与表后,页面正常。在接下来的往来对账页面,也遇到
29、了问题:在选择好查询日期后,相同的进货不能够显示在一起,然后经过参考和学习,使用订单号来判断是否有相同的货物进货或者退货,如果相同,则通过动态创建表格的方法,将他们显示在一起,并且需要一同计算相应的应收增加的和,实际增加的和,应收减少和实际减少的和。在系统管理设置的页面中,遇到了如下的问题:鼠标不能够在用户表上随便点击,当点击到用户表的最后一行,即末尾的空行时,系统会报错,报错类型是超过索引的值,后经过分析,嵌套一个if的判断语句,判断单击当前行时,该值是否有效,只有当有效的时候,才继续传递数据到文本框。在库存状况页面中,也遇到了一些问题,该页面中有一项把当前库存表生成报表的功能无法实现。检查过后无果,依然无法显示,故决定从新按顺序重做一次,首先创建数据集,指定好数据集后在创建报表,接着在库存状况页面中创建reportview控件以显示报表,最后编写事件,即指定报表使用哪一个数据集。经过排查发现这个极其微小的错误,原来是指定数据集时,事件里写的数据集的名称和文件里数据集的名称不相吻合,所以导致了报表无法显示的问题。还有一些相对于比较简单或者相类似的错误就不在详细的叙述-可编辑
限制150内