食品进销存管理系统Word文档下载推荐.docx
《食品进销存管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《食品进销存管理系统Word文档下载推荐.docx(58页珍藏版)》请在冰点文库上搜索。
致谢46
第1章课题简介
1.1开发背景
在我国数量众多的食品批发公司中,中小食品批发公司占了绝大多数,这些食品批发公司也不可避免地要加入国际化食品批发公司的竞争行列,而实现食品批发公司信息化是参与竞争的必要条件,但是中小食品公司的多样性及其灵活多变的经营方式,加上其资金投入量的限制,使得很多中小食品批发公司没能进行信息化建设。
实际上大部分中小食品批发公司需要的只是能解决食品进、销、存管理和财务管理等的基础软件。
因此,开发基于中小食品批发公司应用的进销存管理系统尤为重要。
而随着社会的不断发展,计算机被广泛应用于各行各业之中。
用计算机管理软件对公司业务进行管理更是一种行业发展趋势,也是衡量一个国家技术发展水平的标志。
利用计算机管理不但可以提升工作效率,还可以节省人力物力,增强数据准确性、实时性和有效性。
因此在食品批发公司使用计算机管理软件进行进货、销售、库存等管理是非常必要的。
当前,随着经济的全球化以及中国经济改革的逐渐深入,食品批发业面临着越来越激烈的竞争,改善公司内部以及整个供应链各个环节的管理、调度及资源配置,具备迅速适应客户的新需求和市场新机遇的能力,是中国公司赢得竞争胜利的决定性因素。
为了适应发展需要设计本系统。
1.2研究内容
高科技的发展,软件管理系统成为工作的得力助手。
今天,计算机价格越来越大众化,管理软件性能越来越优秀,逐渐被应用于众多领域。
管理软件广泛普及应用的原因主要有以下几个方面:
第一,计算机行业本身发展迅速;
第二,计算机可以代替人工进行繁杂和重复性的工作;
第三,管理软件可以节省许多资源;
第四,管理软件可以提高人们的工作效率;
第五,管理软件便于管理人员的管理。
本食品进销存管理系统是基于先进的软件和高速、大容量的硬件基础上的新的进销存管理模式,做到通过集中式的信息数据库,将公司的进货、销售、存储等经营业务有机的结合起来,大大减少公司管理部门的劳动量,改善公司内部以及整个供应链各个环节的管理、调度及资源配置,使得管理合理规范。
系统尽量合理的控制物流,尤其是食品库存的控制,将食品数量控制到只在需要的时候向需要的部门按需要的数量提供所需要的食品,也就是说,它既防止食品供应滞后于对他们的需求,也防止食品过早地进货,以免增加库存,造成物资和资金的积压,实现食品销售的全方面管理。
通过系统实现从基础数据维护、进货直到销售后利润统计的一系列功能。
简化手工劳动的繁杂性、降低人工劳动强度、提高数据的时效性、提高工作效率、降低经营成本,为管理层决策提供强有力的支持。
本系统还要考虑到经济、技术和运行环境等方面的条件,来确定系统的总体结构和系统各组成部分的技术方案,把系统用户与订单、食品的关系确定好。
将系统用户的权限限制为单一独立的,这样可以让权限在分配的时候互不干扰。
第2章需求分析
根据对一般中小食品批发公司的调查研究,其对系统的日常经营管理需求分析为:
批发公司准备进货时由进货员制作进货订单,制单时先选择食品,输入食品数量,之后选择食品供应商,最后确认制单。
进货的食品到货后仓库员再入库,并对食品数量进行调整,然后财务员付款完成交易。
食品订货商予订购食品时,通过电话与批发公司的销售员联系,由销售员制作销售订单,制单时先选择食品、输入数量,之后选择订货商确认制单。
制单完成后仓库员发货,发货后对食品数量进行调整,之后销售员送货并收款,最后财务员确认收款完成交易。
仓库管理中,对食品库存、食品库存金额进行记录。
记录供应商及订货商中消费金额或积分。
1.具体任务
根据调查分析,该系统完成如下具体任务:
(1)系统用户管理:
系统用户信息管理、分配系统用户角色。
(2)进货订单流程:
进货员选择食品,选择供应商,仓库管理员入库,制单员确认完成交易。
(3)销售订单流程:
销售员选择订货商,选择食品、仓库管理员发货、分销员确认付款、收款员确认收款、交易完成。
(4)食品管理:
管理食品类别信息、食品品牌信息、食品名称、食品数量和食品单价信息、食品库存
(5)订货商管理:
用于维护订货商的编号、名称、联系人、地址、电话、积分额度等基本信息。
(6)供应商管理:
用于维护供应商的编号、名称、地址、电话、消费金额等的基本信息。
2.系统用例模型
用例模型是面向对象分析与设计的概念模型,一般用于前期的需求研究以及项目范围的控制、功能的分析,主要描述系统用户可以对哪些模块或者子模块进行操作[1]。
根据上面的任务分析,绘制本系统用例模型,本系统的用例模型如图2—1所示。
图2—1食品进销存管理系统用例模型
第3章总体设计
经过需求分析之后,进入总体设计阶段。
总体设计其目标是产生一个模块化的程序结构,根据需求分析阶段的工作,从用例模型得出可行方案,同时确定系统中每个程序由哪些模块组成及其相互关系[2]。
经分析,系统共分为RBAC管理菜单、进货订单管理、销售订单管理、客户管理、仓库管理5大模块。
以上各模块按层次划分子模块,每个子模块完成相应功能,且每个子模块具有单独入口单独出口。
3.1系统模块设计
1.RBAC管理菜单模块包括用户管理一个子模块。
实现对系统用户登录账号、密码、用户姓名、性别、激活状态信息进行增加、修改、删除、查询、设置用户角色功能。
此模块中封装角色权限。
RBAC管理菜单模块功能结构图如图3—1所示。
图3—1RBAC管理菜单模块功能结构图
2.进货订单管理模块包括进货订单、入库管理、经理操作三个子模块。
进货订单实现创建进货订单、编辑订单、查询个人创建的订单。
在创建订单时,进货员先选择食品、输入食品个数,之后选择供应商完成订单的创建。
入库管理实现进货订单明细查询、入库确认。
经理操作实现所有订单的查看和创建进货订单。
进货订单管理模块功能结构图如图3—2所示。
图3—2进货订单模块功能结构图
3.销售订单管理模块包括订单管理、订单发货管理、确认订单交易、经理操作四个子模块。
订单管理实现创建销售订单、修改订单、查询个人订单、确认付款功能。
创建销售订单时需要操作员选择食品、输入食品数量,之后选择分销商完成订单创建。
订单发货管理实现销售订单查询、发货确认。
确认订单交易实现订单检索、确认此订单交易完成。
经理操作实现所有销售订单查询、确认订单交易完成。
销售订单管理模块功能结构图如图3—3所示。
图3—3销售订单管理模块功能结构图
4.客户管理模块包括供应商管理和订货商管理两个子模块。
其中供应商管理实现查询供应商、修改供应商信息、新增供应商、删除供应商。
订货商管理实现查询订货商、修改订货商信息、新增订货商、删除订货商。
客户管理模块功能结构图如图3—4所示。
图3—4客户管理模块功能结构图
5.仓库管理模块包括食品管理、食品销售记录、食品类别、食品品牌四个子模块。
食品管理实现对食品的查询、新增、删除、编辑、食品明细,食品明细实现查询显示该食品的进货订单信息。
食品销售记录实现对该食品的销售订单查询。
食品类别实现食品类别的查询、新增、修改、删除功能。
食品品牌实现食品品牌的查询、新增、修改、删除功能。
仓库管理模块功能结构图如图3—5所示。
图3—5仓库管理模块功能结构图
3.2数据库设计
数据库系统的使用过程是将现实世界的数据经过人为加工和计算机处理之后,又为现实世界提供信息的过程[3]。
根据前面的分析,对本系统进行如下数据库设计。
1.PURCHASEORDERDETAILSID(进货订单详细信息表):
用于存储进货订单详细信息,表结构如表3—1所示。
表3—1PURCHASEORDERDETAILSID
字段名
字段类型
长度
小数位数
是否允许空
字段说明
PURDETAILSID
NUMBER
38
—
否
详细进货订单id
PURCHASERID
进货商
PRODUCT
食品
PRODUCTQUERY
订货数量
PRODUCTPRICE
7
2
食品单价
PRODUCTMONEY
订单总价
SFRK
VARCHAR2
6
是否入库
PURCHASEORDERID
进货订单编号
QRRKY
是
入库员
JHY
进货员
JYZT
订单状态
2.PRODUCT(食品信息表):
用于存储食品基本信息,表结构如表3—2所示。
表3—2PRODUCT
PRODUCTID
食品id
PRODUCTNUM
20
食品编号
PRODUCTSELLPRICE
销售单价
PRODUCTSURPLUS
库存量
CATEGORY
类别
PRODUCTNAME
50
食品名称
3.ORDER(销售订单信息表):
用于存储销售订单信息,表结构如表3—3所示。
表3—3ORDER
ORDERID
订单id
ORDERNUM
16
订单编号
ORDERTIME
DATE
制单时间
ORDERMONEY
9
CUSTOMNAME
订货商
ORDERACTIVATE
ORDERCONSIGNOR
发货员
PAYMONEY
是否付款
EMPLOYEE
制单员
ORDERTIMEDELIVERY
发货时间
ORDERACTUALCOSTMONEY
实际付款金额
PAYMONETEMP
确认收款员
交易状态
4.ORDERDETAILSID(销售订单详细信息表):
用于存储销售订单详细信息,表结构如表3—4所示。
表3—4ORDERDETAILSID
ORDERDET
详细订单id
食品类型
BRAND
食品品牌
PRODUCTBRAND
5.PURCHASEORDER(进货订单信息表):
用于存储进货订单信息,表结构如表3—5所示。
表3—5PURCHASEORDER
PURCHASEID
进货订单id
进货订单号
PURCHASEMONEY
订单总额
PURCHASETIME
PURCHASER
PURCHASERACTIVATE
PUREMPLOYEE
QUERENEMP
确认人
6.EMPLOYEE(系统用户表):
用于存储系统用户信息,表结构如表3—6所示。
表3—6EMPLOYEE
ID
用户id
EID
17
用户登录名
ENAME
—-
用户名
PASSWORD
12
密码
BIRTHDAY
出生日期
GENDER
VARCHAR
性别
ACTIVATE
1
用户状态
VISIT
上次登录时间
WORKBIRTHDAY
入职时间
YJ
8
业绩
DEPT
30
部门
ROLE
角色
AUTH
权限
7.PURCHASER(供应商信息表):
用于存储供应商的基本信息,表结构如表3—7所示。
表3—7PURCHASER
PID
供应商id
PURNAME
供应商名称
PURUSER
10
联系人
PURTEL
电话
PURADD
200
地址
8.CUSTOMER(订货商信息表):
用于存储订货商的信息,表结构如表3—8所示。
表3—8CUSTOMER
CUSTOMID
订货商id
姓名
CUSTOMTEL
CUSTOMADD
JF
积分
XY
3
信用评价
9.BRAND(食品品牌信息表):
用于存储食品品牌信息,表结构如表3—9所示。
表3—9BRAND
BID
食品品牌id
BRANDNAME
食品品牌名称
10.GATEGORY(食品类别表):
用于存储食品的类别,表结构如表3—10所示。
表3—10GATEGORY
CATEGORYID
食品类别id
CATEGORYNAME
食品类别名称
第4章详细设计
4.1系统登录界面设计
系统设计过程中采用了jsp技术,jsp技术是目前企业级应用网络管理系统最流行的技术之一[4]。
登录界面的设计过程是先创建一个名为login.jsp的页面,然后在页面中添加一个表格,在表格中添加两个文本框用于输入用户名和密码,将文本框的id和name属性分别设置为loginname和password,并提供一个登录按钮用于让用户提交表单。
在后台,创建个LoginAction的Struts2控制器类,用于处理用户登录,通过struts2功能,取出loginname和password的值,之后把值添加到hql语句中去数据库查询,在LoginAction中设置一个名为error的域成员,用于登录失败时提示用户,如果登录,将用户的id,及用户拥有的权限全部存入到session中,用于权限分配。
系统登录界面如图4—1所示。
图4—1系统登录界面
4.2系统主界面设计
系统主界面是系统用户登录后进入的界面,设计过程是先新建一个名为main.jsp的页面,通过框架对界面进行设计。
左面引用的界面为menu.jsp,用于显示当前登录用户名称的标签,及本系统的各个功能模块的入口链接。
当用户单击左侧各个功能模块时,架框右则会通过超链接跳转到各自相应的操作界面。
系统主界面如图4—2所示。
图4—2系统主界面
4.3功能模块设计
系统后台设计过程中采用了java语言设计,java语言的优点是一次编译到处运行,可移植能力非常强,只需开发人员在自己的计算机上编译后,在其它计算机上就可以运行[5]。
1.进货订单管理界面
进货订单管理界面为purorder/list.jsp。
在页面中插入一个表格,用于显示进货订单相应信息,每一行提供“修改”、“完成”和“配置”的超链接按钮以进行相对应操作。
后台创建PurchaseOrderAction的Struts2控制器类,该类定义了检索、修改、创建订单、配置订单的供应商功能。
条件检索功能由PurchaseOrderAction中的域成员对应检索条件,单击“检索”时ddbh(订单编号)、dddate(制单日期)、wcdate(完成日期)通过struts2进行赋值,之后把值添加到hql语句中去数据库检索,可进行单一条件或多条件检索。
系统中进货订单编号是由后台PurOrderAction类完成的,前两位“jh”表示进货订单,之后八位为当天日期,最后四位为当日订单个数。
进货订单管理界面如图4—3所示。
图4—3进货订单管理界面
2.进货订单经理操作界面
进货订单经理操作界面为purorder/jlcz.jsp。
在页面中插入一个表格,用于显示所有进货订单相应信息,每行提供“修改”、“完成”和“配置”的超链接按钮以进行相对应操作。
后台创建PurchaseOrderAction的Struts2控制器类,该类定义了检索、修改、创建订单,配置订单的供应商等。
进货订单管理经理操作界面如图4—4所示。
图4—4进货订单管理经理操作界面
3.进货订单创建界面
单击进货订单管理界面中的“创建订单”进入进货订单创建界面。
进货订单创建界面为purorder/table.jsp。
使用ajax技术实现选择食品,每行提供“删除”按钮,通过ajax技术实现异步刷新,单击“删除”后该行直接删除。
单击“保存”按钮,执行PurchaseOrderAction中的save方法,来确认保存订单食品。
进货订单创建界面如图4—5所示。
图4—5进货订单创建界面
4.进货食品选择界面
单击进货订单创建界面中的“选择食品”进入进货食品选择界面。
进货食品选择界面为purorder/selectTable.jsp。
在页面中插入一个表格,表格显示食品的相应信息,通过ajax来传递到进货订