食品进销存管理系统.doc_第1页
食品进销存管理系统.doc_第2页
食品进销存管理系统.doc_第3页
食品进销存管理系统.doc_第4页
食品进销存管理系统.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 中小食品批发公司在我国经济发展中具有重要的地位 目前我国的中小食品批发 公司数量多 随着全球经济一体化的发展和电子商务的兴起 中小食品批发公司之间 的竞争越来越激烈 很多食品批发商为了资金周转灵活 都以多频率小货量的方式来 进货 因此带来大量工作量及成本等的增加 为了提高工作效率降低成本 减少工作 量 开发本系统 本系统使用 JSP 编写 采用 Ajax JQuery 异步刷新技术和 Struts2 Hibernate Spring 三大框架 使用 Oracle 设计数据库 该系统主要实现系统 用户管理 食品管理 供应商和订货商管理 销售订单的制单 发货和进货订单的制 单 入库 关键词 食品 订单 管理 Abstract The development of small and medium enterprises in China s a large number of SME s companies appear with the development of global economic integration and the rise of e commerce the companies between small and medicem sized enterprises seems more and more fiere To make the cash flow quickly many distributors choose to use more frequencies but small amount to purchase due to it which brings a large workload and add much money on prime cost To improve the work the efficiency and reduce the workload so explore this system The system is written in JSP the main application of the Ajax Jquery and Strust2 Hibernate Spring these three framework and the Oracle design database The software mainly healizes the Aolministor Management Food Management Suppliers and Orders management making Sales order s deliver and stock goods finally put in storage Key words food order manage 目 录 摘 要 I Abstract II 第 1 章 课题简介 1 1 1 开发背景 1 1 2 研究内容 1 第 2 章 需求分析 3 第 3 章 总体设计 5 3 1 系统模块设计 5 3 2 数据库设计 7 第 4 章 详细设计 11 4 1 系统登录界面设计 11 4 2 系统主界面设计 12 4 3 功能模块设计 13 第 5 章 测试 28 总 结 30 参考文献 31 附录 1 核心源代码 32 附录 2 用户操作方法 44 致 谢 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 1 RBAC 管理菜单模块功能结构图 2 进货订单管理模块包括进货订单 入库管理 经理操作三个子模块 进货订单 实现创建进货订单 编辑订单 查询个人创建的订单 在创建订单时 进货员先选择 食品 输入食品个数 之后选择供应商完成订单的创建 入库管理实现进货订单明细 查询 入库确认 经理操作实现所有订单的查看和创建进货订单 进货订单管理模块 功能结构图如图 3 2 所示 图 3 2 进货订单模块功能结构图 3 销售订单管理模块包括订单管理 订单发货管理 确认订单交易 经理操作四 个子模块 订单管理实现创建销售订单 修改订单 查询个人订单 确认付款功能 RBAC 管理菜单用户管理 进货订单管理 经理操作 入库管理 进货订单 创建销售订单时需要操作员选择食品 输入食品数量 之后选择分销商完成订单创建 订单发货管理实现销售订单查询 发货确认 确认订单交易实现订单检索 确认此订 单交易完成 经理操作实现所有销售订单查询 确认订单交易完成 销售订单管理模 块功能结构图如图 3 3 所示 图 3 3 销售订单管理模块功能结构图 4 客户管理模块包括供应商管理和订货商管理两个子模块 其中供应商管理实现 查询供应商 修改供应商信息 新增供应商 删除供应商 订货商管理实现查询订货 商 修改订货商信息 新增订货商 删除订货商 客户管理模块功能结构图如图 3 4 所示 图 3 4 客户管理模块功能结构图 5 仓库管理模块包括食品管理 食品销售记录 食品类别 食品品牌四个子模块 食品管理实现对食品的查询 新增 删除 编辑 食品明细 食品明细实现查询显示 该食品的进货订单信息 食品销售记录实现对该食品的销售订单查询 食品类别实现 食品类别的查询 新增 修改 删除功能 食品品牌实现食品品牌的查询 新增 修 改 删除功能 仓库管理模块功能结构图如图 3 5 所示 销售订单管理 经理操作 订单发货管理 订单管理 确认订单交易 客户管理 订货商管理 供应商管理 仓库管理 食品品牌 食品销售记录 食品管理 食品类别 图 3 5 仓库管理模块功能结构图 3 2 数据库设计 数据库系统的使用过程是将现实世界的数据经过人为加工和计算机处理之后 又 为现实世界提供信息的过程 3 根据前面的分析 对本系统进行如下数据库设计 1 PURCHASEORDERDETAILSID 进货订单详细信息表 用于存储进货订单 详细信息 表结构如表 3 1 所示 表 3 1 PURCHASEORDERDETAILSID 字段名字段类型长度小数位数是否允许空字段说明 PURDETAILSIDNUMBER38 否详细进货订单 id PURCHASERIDNUMBER38 否进货商 PRODUCTNUMBER38 否食品 PRODUCTQUERYNUMBER38 否订货数量 PRODUCTPRICENUMBER72否食品单价 PRODUCTMONEYNUMBER72否订单总价 SFRKVARCHAR26 否是否入库 PURCHASEORDERIDNUMBER38 否进货订单编号 QRRKYNUMBER38 是入库员 JHYNUMBER38 否进货员 JYZTNUMBER38 否订单状态 2 PRODUCT 食品信息表 用于存储食品基本信息 表结构如表 3 2 所示 表 3 2 PRODUCT 字段名字段类型长度小数位数是否允许空字段说明 PRODUCTIDNUMBER38 否食品 id PRODUCTNUMVARCHAR220 否食品编号 PRODUCTSELLPRICENUMBER72否销售单价 PRODUCTSURPLUSNUMBER38 是库存量 CATEGORYNUMBER38 否类别 PRODUCTNAMEVARCHAR250 否食品名称 3 ORDER 销售订单信息表 用于存储销售订单信息 表结构如表 3 3 所示 表 3 3 ORDER 字段名字段类型长度小数位数 是否允许空字段说明 ORDERIDNUMBER38 否订单 id ORDERNUMVARCHAR216 否订单编号 ORDERTIMEDATE 否制单时间 ORDERMONEYNUMBER92否订单总价 CUSTOMNAMENUMBER38 否订货商 ORDERACTIVATEVARCHAR26 否订单状态 ORDERCONSIGNORNUMBER38 否发货员 PAYMONEYVARCHAR26 否是否付款 EMPLOYEENUMBER38 否制单员 ORDERTIMEDELIVERYDATE 否发货时间 ORDERACTUALCOSTMONEYNUMBER92否实际付款金额 PAYMONETEMPNUMBER38 否确认收款员 JYZTVARCHAR26 否交易状态 4 ORDERDETAILSID 销售订单详细信息表 用于存储销售订单详细信息 表结构如表 3 4 所示 表 3 4 ORDERDETAILSID 字段名字段类型长度小数位数是否允许空字段说明 ORDERDETNUMBER38 否详细订单 id ORDERNUMNUMBER38 否订单编号 PRODUCTNAMENUMBER38 否食品 PRODUCTQUERYNUMBER38 否订货数量 PRODUCTPRICENUMBER72否食品单价 PRODUCTMONEYNUMBER72否订单总价 CATEGORYNUMBER38 否食品类型 BRANDNUMBER38 否食品品牌 PRODUCTBRANDNUMBER38 否食品品牌 5 PURCHASEORDER 进货订单信息表 用于存储进货订单信息 表结构如 表 3 5 所示 表 3 5 PURCHASEORDER 字段名字段类型长度小数位数是否允许空字段说明 PURCHASEIDNUMBER38 否进货订单 id PURCHASEIDVARCHAR216 否进货订单号 PURCHASEMONEYNUMBER92否订单总额 PURCHASETIMEDATE 否制单时间 PURCHASERNUMBER38 否进货商 PURCHASERACTIVATEVARCHAR26 否订单状态 PUREMPLOYEENUMBER38 否制单员 JYZTVARCHAR26 否交易状态 QUERENEMPNUMBER38 否确认人 6 EMPLOYEE 系统用户表 用于存储系统用户信息 表结构如表 3 6 所示 表 3 6 EMPLOYEE 字段名字段类型长度小数位数是否允许空字段说明 IDNUMBER38 否用户 id EIDVARCHAR217 否用户登录名 ENAMEVARCHAR216 否用户名 PASSWORDVARCHAR212 否密码 BIRTHDAYDATE 否出生日期 GENDERVARCHAR2 否性别 ACTIVATENUMBER1 否用户状态 VISITDATE6 否上次登录时间 WORKBIRTHDAYDATE6 否入职时间 YJNUMBER82是业绩 DEPTVARCHAR230 否部门 ROLEVARCHAR230 否角色 AUTHVARCHAR230 否权限 7 PURCHASER 供应商信息表 用于存储供应商的基本信息 表结构如表 3 7 所示 表 3 7 PURCHASER 字段名字段类型长度小数位数是否允许空字段说明 PIDNUMBER38 否供应商 id PURNAMEVARCHAR250 否供应商名称 PURUSERVARCHAR210 是联系人 PURTELVARCHAR250 是电话 PURADDVARCHAR2200 是地址 8 CUSTOMER 订货商信息表 用于存储订货商的信息 表结构如表 3 8 所 示 表 3 8 CUSTOMER 字段名字段类型长度小数位数是否允许空字段说明 CUSTOMIDNUMBER38 否订货商 id CUSTOMNAMEVARCHAR250 否姓名 CUSTOMTELVARCHAR250 是电话 CUSTOMADDVARCHAR250 是地址 JFNUMBER38 是积分 XYNUMBER3 是信用评价 9 BRAND 食品品牌信息表 用于存储食品品牌信息 表结构如表 3 9 所示 表 3 9 BRAND 字段名字段类型长度小数位数是否允许空字段说明 BIDNUMBER38 否食品品牌 id BRANDNAMEVARCHAR250 否食品品牌名称 10 GATEGORY 食品类别表 用于存储食品的类别 表结构如表 3 10 所示 表 3 10 GATEGORY 字段名字段类型长度小数位数是否允许空字段说明 CATEGORYIDNUMBER38 否食品类别 id CATEGORYNAMEVARCHAR250 否食品类别名称 第 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 控制器类 该类定义了检索 修改 创 建订单 配置订单的供应商等 条件检索功能由 PurchaseOrderAction 中的域成员对应 检索条件 单击 检索 时 ddbh 订单编号 dddate 制单日期 wcdate 完成日 期 通过 struts2 进行赋值 之后把值添加到 hql 语句中去数据库检索 可进行单一条 件或多条件检索 进货订单管理经理操作界面如图 4 4 所示 图 4 4 进货订单管理经理操作界面 3 进货订单创建界面 单击进货订单管理界面中的 创建订单 进入进货订单创建界面 进货订单创建 界面为 purorder table jsp 使用 ajax 技术实现选择食品 每行提供 删除 按钮 通 过 ajax 技术实现异步刷新 单击 删除 后该行直接删除 单击 保存 按钮 执行 PurchaseOrderAction 中的 save 方法 来确认保存订单食品 进货订单创建界面如图 4 5 所示 图 4 5 进货订单创建界面 4 进货食品选择界面 单击进货订单创建界面中的 选择食品 进入进货食品选择界面 进货食品选择 界面为 purorder selectTable jsp 在页面中插入一个表格 表格显示食品的相应信息 通过 ajax 来传递到进货订单创建界面 并且用 PurchaseOrderAction 中的 productIds 域 成员来保存食品 id 将选过的食品框变为不可选 防止用户重复选择食品 之后通过 PurchaseOrderDetailsAction 中 save 方法保存订单 进货食品选择界面如图 4 6 所示 图 4 6 进货食品选择界面 5 销售订单管理界面 销售订单管理界面为 order list jsp 在页面中插入一个表格 表格显示销售订单相 应信息 条件检索功能由 OrderAction 中的域成员对应检索条件 单击 检索 时 ddbh 订单编号 dddate 制单日期 wcdate 发货日期 customId 订货商 employeeId 发货员 通过 struts2 进行赋值 之后把值添加到 hql 语句中去数据库查询 可单一条件伙伴多条件检索 销售订单编号是由后台 OrderAction 的类完成的 dd 表示销售订单 之后八位是当天日期 最后四位是当日销售订单个数 在查询时 OrderAction 中获取 session 中的登录 id 只查询该 id 创建的订单 销售订单管理界面 如图 4 7 所示 图 4 7 销售订单管理界面 6 销售订单编辑界面 系统设计过程中采用了 Ajax 技术 其作用是提供网页浏览者与网页内容的交互 并可以进行信息验证 可实现异步刷新页面 6 单击销售订单管理界面中的 编辑 进入销售订单编辑界面 销售订单编辑界面 为 order table jsp 在页面中插入一个表格 表格显示销售订单明细信息 当输入购买 数量时使用 ajax 技术自动取出食品单价与食品数量的值并算出所需金额 单击 保存 时通过 OrderDetailsAction 中的 save 方法来保存该订单 保存订单时从 session 中取出 该用户 id 销售订单编辑界面如图 4 8 所示 图 4 8 销售订单编辑界面 7 订单发货管理界面 订单发货管理界面为 dispathorder list jsp 在页面中插入一个表格 表格显示销售 订单相关信息 上方检索功能由后台 DispathOrderAction 中的域成员对应检索条件 单击 检索 时 ddbh 订单编号 dddate 制单日期 custom 订货商 employee 发货员 activate 订单状态 paymoney 付款状态 wczt 交易状态 条件通过 struts2 功能自动对其赋值 单击每行订单时 DispathOrderAction 的类中的 orderList 域成员的信息可在其下面显示 再次单击则隐藏 订单发货管理界面如图 4 9 所示 图 4 9 订单发货管理界面 8 销售订单经理操作界面 销售订单经理操作界面为 dispathorder jlcz jsp 在页面中插入一个表格 表格显 示所有销售订单相应信息 上方检索功能由后台 DispathOrderAction 中的域成员对应 检索条件 单击 检索 时 ddbh 订单编号 dddate 制单日期 custom 订货商 employee 发货员 activate 订单状态 paymoney 付款状态 wczt 交易状态 fdate 发货日期 fxyId 分销员 skyId 收款员 条件通过 struts2 功能自动对其赋值 可按单一或多条件进行检索 单击每行订单时 检索其明细在下面显示 再次单击则 隐藏 销售订单经理操作界面如图 4 10 所示 图 4 10 销售订单经理操作界面 9 供应商管理界面 供应商管理界面为 purchaser list jsp 在页面中插入一个表格 表格显示供应商信 息 后台使用 PurchaserAction 类中的 add edit list delete 等方法来实现对供应商的 新增 修改 删除 检索 供应商管理界面如图 4 11 所示 图 4 11 供应商管理界面 10 新增供应商界面 单击供应商管理界面中的 新增供应商 进入新增供应商界面 新增供应商界面 为 purchaser edit jsp 在页面中插入一个表格插入三个文本框 设置其 id 和 name 属性 单击 保存 按钮时 purchasername 供应商名称 purchasertel 供应商电话 purchaseradd 供应商地址 通过 struts2 的功能赋值 将值传到后台 PurchaserAction 类中的相对应域成员中 之后用 save 方法保存供应商 新增供应商界面如图 4 12 所 示 图 4 12 新增供应商界面 11 订货商管理界面 订货商管理界面为 custom list jsp 在页面中插入一个表格 表格显示供应商信息 后台使用 CustomAction 类中的 add edit delete list 方法来实现对订货商的新增 修改 删除 检索 订货商管理界面如图 4 13 所示 图 4 13 订货商管理界面 12 新增订货商界面 单击订货商管理界面中的 新增订货商 进入新增订货商界面 新增订货商界面 为 custom edit jsp 在页面中插入一个表格插入三个文本框 设置其 id 和 name 属性 单击 保存 按钮时 customname 订货商名称 customtel 订货商电话 customadd 订货商地址 通过 struts2 的功能赋值 将值传到后台 CustomAction 类中 的相对应域成员中 之后用 save 方法保存订货商信息 新增订货商界面如图 4 14 所 示 图 4 14 新增订货商界面 13 食品管理界面 食品管理界面为 product list jsp 在页面中插入一个表格 表格显示食品信息 在 后台建立 ProductAction 的类 使用里面的 list add edit mingxi delete 方法来实现 对食品信息的检索 新增 编辑 明细查询 删除操作 上方检索功能由后台 ProductAction 中的域成员对应检索条件 单击 检索 时 productname 商品名称 category 食品类型 brand 食品品牌 productquery 商品数量 条件通过 struts2 功能自动对其赋值 可按单一或多条件进行食品检索 食品管理界面如图 4 15 所示 图 4 15 食品管理界面 14 食品销售记录界面 食品销售记录界面为 product profit jsp 在页面中插入一个表格 表格显示食品销 售信息 单击每行时 在后台使用 ProductAction 类中的 spxiaoshou 的方法在该行下 方显示该食品的销售订单 再单击则隐藏 上方检索功能由后台 ProductAction 中的 域成员对应检索条件 单击 检索 时 productname 商品名称 category 食品类 型 brand 食品品牌 pxff 排序方法 条件通过 struts2 功能自动对其赋值 可按 单一或多条件进行食品检索 食品销售记录界面如图 4 16 所示 图 4 16 食品销售记录界面 15 员工管理界面 员工管理界面为 employee list jsp 在页面中插入一个表格 表格显示员工信息 在后台使用 EmployeeAction 类中的 list edit save delete saverole 方法来实现对员 工的检索 编辑 保存 删除 设置角色操作 上方检索功能由后台 EmployeeAction 中的域成员对应检索条件 单击 检索 时 empname 员工名 条件通过 struts2 功能 自动对其赋值 最后访问时间是在退出登录的时候通过后台的 logoutAction 类来修改 的 员工管理界面如图 4 17 所示 图 4 17 员工管理界面 16 员工新增界面 单击员工管理界面中的 增加员工 进入员工新增界面 员工新增界面为 employee edit jsp 单击 新增员工 按钮时通过 Employee 类中的 edit 方法弹出该界 面 在页面中插入一个表格三个文本框 一个单选按钮和一个 select 下拉列表 并且 分别设置其 id 和 name 属性 手动输入用户信息单击 保存 时 通过 struts2 功能将 值传入后台 EmployeeAction 类中的 loginname password empname gender activate 域成员 再调用 save 方法来保存员工信息 员工新增界面如图 4 18 所示 图 4 18 员工新增界面 第 5 章 测试 系统测试的重要性体现在它是保证系统质量与可靠性的最后关口 是对整个系统 开发过程包括系统分析 系统设计和系统实现的最终审查 系统测试的对象显然不仅 仅是源程序 而应是整个软件 它把系统分析 系统设计 以及程序设计各阶段的开 发文档 都作为测试的对象 软件测试不等于程序测试 它是根据软件开发各个阶段 的规格说明和程序的内容结构而精心设计的一批测试用例 并利用这些用例去运行程 序 以发现程序错误的过程 7 单元测试是指程序中的一个模块或一个子程序 是程序运行的最小单元 或是程 序最小的独立编译单位 单元测试是软件开发过程中进行的最低级别的测试活动 其 目的是要检测程序模块中有无故障 1 创建销售订单测试 测试数据 可口可乐的购买数量 5 统一绿茶的购买数量不填 测试界面如图 5 1 所示 图 5 1 创建销售订单测试界面 测试结果 可口可乐购买数量下方提示 此货物购买数量不能大于库存量 统 一绿茶购买数量下方提示 食品个数必须填写 测试结果与预期结果相符 2 新增用户测试 测试数据 所有数据全部正确填写 全部不填写或部分填写 测试结果 所有数据全部正确填写后单击 提交 可以成功新增加一新用户 全 部不填写或部分填写不能成功增加用户 并给出相应的提示信息 与预期结果相符 数据均不填写的测试界面如图 5 2 所示 图 5 2 新增员工测试界面 3 用户登录测试 测试数据 填写正确用户名和密码 错误用户名和错误密码 测试结果 正确时点击登录 进入系统主界面 用户名密码错误时 密码下方提 示 登录失败 登录失败提示界面如图 5 3 所示 图 5 3 登录失败提示界面 本系统对所有模块都进行了单元测试 经测试各模块均可以完成预期的相应功能 总 结 短暂的毕业设计结束了 我在这次设计过程中实现了对过去所学知识的回顾 总 结和应用 本管理系统能够实现数据的输入 查询 修改 删除 统计等功能 能够追朔到 数据的始终 完成了食品进销存管理系统从需求方面的开发和应用 达到预期的目的 不可否认 该系统的功能还不完善 仍存在许多的缺点和不足 例如 在计算利润时 是以平均价格来进行计算利润 用库存金额除以库存数量 之后用售出单价减去平均 进价来计算 正规方法应该是在食品进货订单中加标注 卖出的食品到相对应的进货 订单中检索出进货价格 进行计算利润 还有用户部门没有进行分配 这个缺点是在 需求分析时没有写进去 之后总体设计的时候也没有考虑到 导致用户没有部门的缺 陷 但是此缺陷可以在今后升级中修复 另外在选择供应商时候 应该可以查询出该 供应商都能供应哪些食品 这个缺陷是当时调研时未考虑到 经过老师指点才发现的 此缺陷也可在升级程序过程中修复 参考文献 1 张俊兰 王文发 冯伍 软件工程 第一版 M 西安 西安交通大学出版社 2009 41 44 2 刘竹林 软件工程案例开发与实践 M 北京 清华大学出版社 2009 26 29 3 王立福 数据库系统概论 第三版 M 北京 北京大学出版社 2009 8 9 4 刘晓华 JSP 应用开发详解 M 北京 电子工业出版社 2007 7 5 赵毅 跨平台程序设计语言 Java M 西安 西安电子科技大学出版社 2006 15 6 阮文江 Ajax 程序设计应用 M 北京 人民邮电出版社 2010 356 359 7 宫云战 软件测试教程 M 北京 机械工业出版社 2008 9 11 附录 1 核心源代码 1 application xml Spring 配置文件 这个文件主要是用来配置系统数据库连接等信息 classpath com material hbm hbm xml hibernate dialect org hibernate dialect OracleDialect hibernate show sql true hibernate cache use second level cache true hibernate cache use query cache true hibernate cache provider class org hibernate cache EhCacheProvider 2 Struts xml Struts2 配置文件 这个文件主要是用来配置页面转发 main master jsp orders list jsp 1 list jsp 1 edit jsp 1 add jsp orders uptable jsp purchaseOrder uptable jsp orders table jsp 1 selectTable jsp purchaseOrder bccg jsp 1 bccg jsp 1 profit jsp purchaseOrder table jsp modules auth jsp role roleAuth jsp employee empRole jsp distributor distRole jsp operateResult czcg jsp operateResult ddcg jsp operateResult jycg jsp login jsp operateResult fhcg jsp dispatchOrder jywcList jsp dispatchOrder jinglicaozuo jsp dispatchOrder notAlreadyList jsp 1 qhlist jsp product autoOrder jsp login jsp orders selectOD jsp orders mingxi jsp purchaseOrder peizhitable jsp purchaseOrder queren jsp purchaseOrder wancheng jsp purchaseOrder ruku jsp purchaseOrder rukucg jsp purchaseOrder jlcz jsp product jhxq jsp product jhxq2 jsp login jsp 3 LoginAction java 用户登录验证 package com material action Scope prototype Controller public class LoginAction extends ActionSupport private LoginService loginService private Service service public void setService Service service this service service public void setLoginService LoginService loginService this loginService loginService public String execute String path dlsb Map String List authMap new HashMap String List id loginService get loginname password type id authMap if id null user Employee commonDao get Employee class Integer parseInt id path login else err 登录失败 ActionContext getContext getSession put user user ActionContext getContext getSession put AUTHS authMap ActionContext getContext getSession put id id return path private String id private String type private Employee user private String loginname private String password private String savepasswd private String err private CommonDao commonDao 订货商集合 private List customList new ArrayList 发货员集合 private List fhyList new ArrayList public List getFhyList return fhyList public void setFhyList List fhyList this fhyList fhyList public List getCustomList return customList public void setCustomList List customList this customList customList public CommonDao getCommonDao return commonDao public void setCommonDao CommonDao commonDao monDao commonDao public LoginService getLoginService return loginService public Service getService return service public String getId return id public void setId String id this id id public String getType return type public void setType String type this type type public String getErr return err public void setErr String err this err err public String getLoginname return loginname public void setLoginname String loginname this loginname loginname public String getPassword return password public void setPassword String password this password password public String getSavepasswd return savepasswd public void setSavepasswd String savepasswd this savepasswd savepasswd public Employee getUser return user public void setUser Employee user this user user 4 login jsp 用户登录页面 My JSP login jsp starting page link href rel stylesheet type text css media all script src type text javascript 食品进销存管理系统 用户名 密码 err 记住密码 5 order list jsp 销售订单及发货页面 库存管理业务系统 function add1 var distId document getElementById distId value location href distId function add location href function edit orderid if confirm 确定此订单要发货 location href dispatchOrderAction action method edit return t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论