计算机科学与技术毕业论文进销存管理系统毕业论文.doc_第1页
计算机科学与技术毕业论文进销存管理系统毕业论文.doc_第2页
计算机科学与技术毕业论文进销存管理系统毕业论文.doc_第3页
计算机科学与技术毕业论文进销存管理系统毕业论文.doc_第4页
计算机科学与技术毕业论文进销存管理系统毕业论文.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

2011 届届毕业设计说毕业设计说明明书书 进销存管理系统 系 、 部: 计算机与信息科学系 学生姓名: 指导教师: 职称 讲师 专 业: 计算机科学与技术 班 级: 计本 0701 班 完成时间: 2011.06 摘 要 随着时代的发展、科学的进步,信息时代已经遍布全球,计算机已广泛地 深入各行各业,起着越来越巨大的作用。随着市场商品的不断增加,管理这些 庞大的数据是非常困难的,因为商品的进销存信息是随时变化的,因此必须对 商品的进销存信息进行动态的管理,而这对于一个管理人员来说是一件比较复 杂的事情,存储,查询,更新,删除是必不可少的业务。为了能让管理员从繁 重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有商品 的进销存信息进行管理,并且准确无误,轻松自如。因此开发一个进销存管理 系统软件是当务之急,也是本论文选题的重要意义和研究宗旨。 由于 java 语言的简易,便用简便,服务器空间成本相对较低,并且有 mircosoft 的支持,使得很多中小型的 web 系统采用此语言,而面向对象的优势 也使得开发应用程序变得非常容易,所以本系统采用 java 语言来编写,开发环 境采用 eclipse,数据库采用 sql server2000。 本文简单介绍了进销存管理系统的基本信息管理、销售管理、进货管理、 库存管理、系统管理的业务流程,结合管理信息系统开发的理念,开发了进销 存管理信息系统。 关键词:管理系统;信息管理;java;sql server2000 abstract with the development, scientific progress, the information age has been all over the world, the computer has been widely used in variety of fields, played an increasingly significant role. with the increasing market commodity,managing these large data become very difficult, because the commodity purchasing-sales-inventory information is subject to change, so we have to management the dynamic information, which is a complexthing for a administrator, storage, query, update, delete is essential for business.in order to allow administrators to work freed from the heavy, let administrators in the use of a software is extremely easy to be able to manage the information of all the purchasing-sales-inventory information, and accurate, easier.therefore, a purchasing-sales-inventory information management system software development is a priority, but also the significance of this thesis topics and research purposes. because java is a simple language, they can be simplely used, relatively low cost of server space, and there mircosofts support, making many small and medium sized web system use this language, but also makes the advantages of object-oriented application development much easier, therefore, this program is writed with java language,and i use eclipse as development environment, sql server2000 as database. this paper briefly describes the the basic inventory management system, information management, sales management, purchasing management, inventory management, system management, business processes, combined with the concept of management information systems development, the development of the inventory management information systems. key words management system;information management;java;sql server2000 目 录 1 前言 .1 1.1 课题的目的和意义.1 1.2 国内外发展现状.1 1.2.1 国外研究现状1 1.2.2 国内研究现状1 1.2.3 本人见解2 1.3 课题主要工作.2 1.3.1 基于 java 的进销存管理系统主要功能.2 1.3.2 系统主模块图3 2 相关技术 .4 2.1 extjs.4 2.2 dwr5 2.3 struts5 2.4 hibernate6 3 系统分析 .7 3.1 可行性分析.7 3.1.1 经济性7 3.1.2 技术性7 3.2 需求分析及系统功能.7 3.2.1 销售子系统功能的需求7 3.2.2 库管子系统功能的需求8 3.2.3 进货子系统功能的需求9 3.2.4 基本信息管理子系统功能的需求10 3.2.5 系统管理子系统功能的需求11 4 系统总体设计 .12 4.1 系统总体架构与设计.12 4.1.1 设计原则12 4.1.2 模块划分12 4.2 系统 e-r 图.13 4.3 数据库设计.13 5 功能模块详细设计及实现 .16 5.1 系统主界面.16 5.2 基本信息管理.16 5.2.1 功能分析16 5.2.2 实现原理16 5.2.3 核心代码18 5.3 销售管理.19 5.3.1 功能分析19 5.3.2 实现原理19 5.3.3 核心代码20 5.4 进货管理.21 5.4.1 功能分析21 5.4.2 实现原理22 5.4.3 核心代码23 5.5 库存管理.24 5.5.1 功能分析24 5.5.2 实现原理24 5.5.3 核心代码25 5.6 系统管理.26 5.6.1 功能分析26 5.6.2 实现原理27 5.6.3 核心代码28 6 系统测试 .29 6.1 系统开发环境.29 6.2 系统测试.29 6.2.1 测试项目说明29 6.2.2 测试评价30 总结与展望 .31 参考文献 .32 致谢 .33 1 1 前言 1.1 课题的目的和意义 在市场经济中,销售是企业运行的重要环节。为了更好地推动销售,不少 企业建立了分公司和代理制,通过分公司或代理把产品推向最终用户。这些分 公司或代理商大都分布在不同的地理位置,跨时空,跨时间的频繁业务信息交 流是这些企业业务的活动的主要特点。在这种形式下,传统的依靠管理人员人 工传递信息和数 据的管理方式就无法满足企业日益增长的业务需求了。课题研 究目的通过进销存管理系统,利用信息化手段把先进的企业管理方法引入企业 的实践,为企业的管理改革提供切实易行的途径。更重要的是,进销存管理系 统可以及时通过信息技术把企业数据快速转化为企业信息,进而为相关管理者 提供决策依据。 1.2 国内外发展现状 1.2.1 国外研究现状 国外目前做的进销存管理系统,虽然产品都已经比较成熟,但由于中西文 化的差异,进销存系统中的财务管理模块根本无法在企业中使用。国外原先选 择的进销存产品,跟他们的财务管理实际流程相差很多。如在他们的财务管理 模块中,增值税发票与应收帐款是合在一起管理的。但是在国内,大部分企业 都是先产生应收帐款,然后再进行开票。而且,有时候需要把几笔应收帐款和 在一起进行开票。现在把增值税发票与应收帐款和在一起的话,财务人员在实 际工作中就很难操作。另外在报表的格式上也有很大的差异,国外项目很难直 接拿到中国企业中使用。 1.2.2 国内研究现状 根据目前从网上可查到的信息,国内进销存管理系统多种多样,如美萍商 业进销存管理系统 9.7,其中包含商品销售管理系统 ,库存管理系(仓库管理 系统) 。软件界面设计简洁, 美观,其人性化的软件流程,使普通用户不需培 训也能很快掌握软件操作使用方法,上手极易,但是基于 c/s 结构,系统维护 维护,升级开销很大。 2 1.2.3 本人见解 在各种先进技术中,基于 web 的进销存管理系统方便与用户交互,升级, 界面设计需要简洁,美观,人性化的软件流程,才能吸引更多的用户。 1.3 课题主要工作 1.3.1 基于 java 的进销存管理系统主要功能 本系统是根据人们在日常生活中的实际需求而开发的,完全能够实现人们 对各类商品信息及各类信息查询的功能,通过本系统可以达到以下目标: (1)系统最大限度地实现了易使用性、易维护性; (2)系统运行稳定,安全可靠; (3)操作灵活,界面友好,充分满足各类企业的进销存管理需求; (4)实施规范的进、销、存一体化业务管理; (5)强大的查询分析功能; (6)灵活、细分的权限控制功能。 本系统是一款将进货、销售、库存进行一体化管理的系统。系统由基本信 息、进货管理、销售管理、库存管理和系统管理等模块组成。特规划功能模块 如下: (1)基本信息 基础信息模块:商品信息、供应商信息、客户信息。 (2)进货管理 进货管理:商品进货、进货退货。 (3)销售管理 销售管理:商品销售、客户退货。 (4)库存管理 库存管理:库存查询、库存盘点。 (5)系统管理 系统管理模块:用户管理、更改资料。 3 1.3.2 系统主模块图 基 基 本 信 息 管 理 进 进 货 管 理 系 系 统 管 理 销 销 货 管 理 库 存 货 管 理 基于java进销存管理 系统 图 1 系统主模块图 4 2 相关技术 2.1 extjs ext js(下简称 ext)是以 html 作为控件的骨干、css 作为样式的表现、 以 javascript 作为粘合语言,可应用于 ie/firefox/opera 等的浏览器上的 ajax ui 组件库。 ext 的产生,最早是在 yui 的库的基础上扩展开来,因此 ext 早期名字是 yui-ext。在 2005 年下半年的时候,jack slocum 有一个 ajax 项目需要维护, 他选择了 yui 库作为底层库,经历半年的时间都围绕着 yui 进行开发。但是当 yui 变得越来越大,功能需求也越来越多,他逐渐发觉维护 yui 并不是一件容 易的事情。在工作的同时,又接触了 swing,java 平台上的 ui 库,他用了极少 的时间研究并着手改写 yui,使之呈现较先进的 swing ui 理念。经过一边写技 术博客,一边以 yui-ext 的形式开放自己写的 ui,包括 grid、tree 等呼声很高 的 ui 组件。在 jack 一手开发和社区营造下,此时 yui-ext 已经成为一个成熟 的 ajax ui 框架,而且是独立的框架,可不受 yui 的影响并且兼容 jquery/prototype.js 的其他 js 库。其时改名为 ext js(april 15th 2007)。 在 2007 年 2 月,ext 获得刚成立的公司的财务支持,因此又增加了许多强 力的功能。到 ext 2.0 的时候已经具备了 swing 很多的特性,即 components/containers/layouts 等的概念纷纷应用在内。ext 2.0 是一个真正成熟 的框架,各方面的完善程度较高,即使升级到后来的 3.0 无论底层结构还是配 置代码均无须太大改动。3.0 增加了 ext direct、datawriters、accessibility (aria)等更多的增强功能。 时至今日,ext 已经广为人知,并且有越来越多人参与了 /forum 这个讨论社群,一同交换意见,改进 ext,而且 ext 在使用及扩展上也越趋便利。 较代表性的有基于 google gwt 的 gxt 和可视化设计师 desinger,因此越来越 多用户声称,就算不了解 javascipt 编程,只要透过 desinger ide,通过鼠标的 操作就可以拥有一个 ajax 界面。另外一方面,许多人基于 ext 的基础上演进了 不同后台的整合方案,甚至手机上也可以运行 ext! 5 2.2 dwr dwr(direct web remoting)是一个开源的类库,可以帮助开发人员开发包 含 ajax 技术的网站.它可以允许在浏览器里的代码使用运行在 web 服务器上 的 java 函数,就像它就在浏览器里一样。 它包含两个主要的部分:允许 javascript 从 web 服务器上一个遵循了 ajax 原则的 servlet 中获取数据。另外一方面一个 javascript 库可以帮助网站开发人 员轻松地利用获取的数据来动态改变网页的内容。 dwr 采取了一个类似 ajax 的新方法来动态生成基于 java 类的 javascript 代码.这样 web 开发人员就可以在 javascript 里使用 java 代码就像它 们是浏览器的本地代码(客户端代码)一样;但是 java 代码运行在 web 服务器 端而且可以自由访问 web 服务器的资源.出于安全的理由,web 开发者必须 适当地配置哪些 java 类可以安全的被外部使用。 这个从 java 到 javascript 的远程功能方法给 dwr 的用户带来非常像传统 的 rpc 机制,就像 rmi 或者 soap 一样,而且拥有运行在 web 上但是不需要 浏览器插件的好处。 dwr 不认为浏览器/web 服务器协议是重要的,而更乐于保证编程界面的简 单自然.对此最大的挑战就是把 ajax 的异步特性和正常 java 方法调用的同步 特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被 异步访问获取到.dwr 允许 web 开发人员传递一个回调函数,来异步处理 java 函数调用过程。 2.3 struts struts 只是一个 mvc 框架(framework),用于快速开发 java web 应用。 struts 实现的重点在 c(controller),包括 actionservlet/requestprocessor 和我们 定制的 action,也为 v(view)提供了一系列定制标签(custom tag) 。但 struts 几 乎没有涉及 m(model),所以 struts 可以采用 java 实现的任何形式的商业逻辑。 struts 是一种 mvc(model view controller)模式框架。它是 apache 基金会 jakarta 项目组中的一个 open source 项目,它能够很好地帮助 java 开发者通过 j2ee 开发 web 应用程序。struts 是基于面向对象设计的,它的实现重点在控制 器(c)上,同时也为视图提供了一系列定制标签功能。基于 struts 构架的 web 应 用程序基本上符合 jsp model 2 的设计标准,可以说是传统 mvc 设计模式的 一种变化类型。 6 2.4 hibernate hibernate 是一个开放源代码的对象关系映射框架,它对 jdbc 进行了非常 轻量级的对象封装,使得 java 程序员可以随心所欲的使用对象编程思维来操纵 数据库。 hibernate 可以应用在任何使用 jdbc 的场合,既可以在 java 的客户 端程序使用,也可以在 servlet/jsp 的 web 应用中使用,最具革命意义的是, hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 hibernate 的核心接口一共有 5 个,分别为: session、sessionfactory、transaction、query 和 configuration。这 5 个核心接口 在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还 能够进行事务控制。下面对这五的核心接口分别加以介绍。 session 接口:session 接口负责执行被持久化对象的 crud 操作(crud 的 任务是完成与数据库的交流,包含了很多常见的 sql 语句。)。但需要注意的 是 session 对象是非线程安全的。同时,hibernate 的 session 不同于 jsp 应用中 的 httpsession。这里当使用 session 这个术语时,其实指的是 hibernate 中的 session,而以后会将 httpsesion 对象称为用户 session。 sessionfactory 接口:sessionfactroy 接口负责初始化 hibernate。它充当数 据存储源的代理,并负责创建 session 对象。这里用到了工厂模式。需要注意的 是 sessionfactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一个 sessionfactory 就够,当需要操作多个数据库时,可以为每个数据库指定一个 sessionfactory。 configuration 接口:configuration 接口负责配置并启动 hibernate,创建 sessionfactory 对象。在 hibernate 的启动的过程中,configuration 类的实例首 先定位映射文档位置、读取配置,然后创建 sessionfactory 对象。 transaction 接口:transaction 接口负责事务相关的操作。它是可选的,可 发人员也可以设计编写自己的底层事务处理代码。 query 和 criteria 接口:query 和 criteria 接口负责执行各种数据库查询。 它可以使用 hql 语言或 sql 语句两种表达方式。 7 3 系统分析 3.1 可行性分析 通过计算机网络对对中小企业进行全面的管理,满足中小企业现代化管理需求。 3.1.1 经济性 中小企业运行过程中信息的系统化管理,数据统计,为中小企业的经营决 策提供了大量的数据:强大的库存盘点功能,简化了员工的日常工作,提高了 员工的工作效率,也提高了中小企业的经济效益。 3.1.2 技术性 在高系统配置,高网络带宽服务的情况下,各个级别的管理员很容易通过 网站对其操作范围内的系统内容信息进行操作管理,完成满足日常经营、管理 的要求。 系统简单易学,方便实用。界面在设计过程中要充分考虑管理人员和使用 人员的习惯,操作要简单,数据录入要迅速,规范可靠,统计要准确,制表要 灵活,适应性强等。 3.2 需求分析及系统功能 通过调研和分析,本文将系统分成销售,进货,库管,基本信息管理,系 统管理五大子模块。 其操作范围内的系统内容信息进行操作管理,完成满足日常经营、管理的 要求。 3.2.1 销售子系统功能的需求 (1)用户登录 要进入系统的用户都要进行登陆才能进入系统界面, 用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系 统。 8 注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密 码的权限。 (2)商品销售 此用户具有查看并填写销售业务单,查看历史销售业务单,并可以更改, 删除本用户负责的销售单。 (3)客户退货 此用户具有查看并填写客户退货单,查看历史客户退货单,并可以更改, 删除本用户负责的客户退货单。 综上所述,此子系统的功能需求可用如下图表示: 销售管理子系统 基 用 户 登 陆 系 客 户 退 货 管 理 销 销 售 管 理 图 2 销售管理字系统的主要功能图 3.2.2 库管子系统功能的需求 (1)用户登录 要进入系统的用户都要进行登陆才能进入系统界面, 用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系 统。 注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密 码的权限。 (2)仓库盘点 此用户具有查看并填写,删除,修改其负责仓库产品入库,出库的功能。 (3)仓库管理 9 管理员具有查看并填写,删除,修改仓库的功能。 综上所述,此子系统的功能需求可用如下图表示: 仓库管理子系统 基 用 户 登 陆 系 仓 库 管 理 销 仓 库 盘 点 图 3 仓库管理模块功能图 3.2.3 进货子系统功能的需求 (1)用户登录 要进入系统的用户都要进行登陆才能进入系统界面, 用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系 统。 注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密 码的权限。 (2)进货管理 此用户具有查看并填写进货单,查看历史进货单,并可以更改,删除本用 户负责的进货单。 (3)进货退货单 此用户具有查看并填写进货退货单,查看历史进货退货单,并可以更改, 删除本用户负责的进货退货单。 综上所述,此子系统的功能需求可用如下图表示: 10 进货管理子系统 基 用 户 登 陆 系 退 货 管 理 销 进 货 管 理 图 4 进货模块功能图 3.2.4 基本信息管理子系统功能的需求 (1)用户登录 要进入系统的用户都要进行登陆才能进入系统界面, 用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系 统。 注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密 码的权限。 (2)产品基本信息管理 用户具有查看并填写产品基本信息单,查看产品基本信息单,并可以更改, 删除的产品基本信息单。 (3)客户基本信息管理 用户具有查看并填写客户基本信息单,查看客户基本信息单,并可以更改, 删除的客户基本信息单。 (4)供应商基本信息管理 用户具有查看并填写供应商基本信息单,查看供应商基本信息单,并可以 更改,删除的供应商基本信息单。 综上所述,此子系统的功能需求可用如下图表示: 11 基本信息管理子 系统 基 用 户 登 陆 产 品 基 本 信 息 管 理 供 应 商 基 本 信 息 管 理 客 户 基 本 信 息 管 理 图 5 基本信息功能图 3.2.5 系统管理子系统功能的需求 (1)用户登录 要进入系统的用户都要进行登陆才能进入系统界面, 用户打开登陆框,输入用户名和密码:用户名和密码输入正确方可进入系 统。 注:此用户名和密码都是管理员事先分配好的,此用户只能有更改自己密 码的权限。 (2)用户管理 管理员可以查询并填写、修改、删除用户的功能。 综上所述,此子系统的功能需求可用如下图表示: 12 用户管理子系统 基 用 户 登 陆 系 用 户 管 理 图 6 用户管理模块的功能 13 4 系统总体设计 4.1 系统总体架构与设计 4.1.1 设计原则 根据商品贸易原则,实现买卖双方有效交易,特别在销售,库存,以及进 货这三个模块之间实现互联,以达到对产品信息进行及时更新及记录。 4.1.2 模块划分 整个系统的模块划分如下: 图 7 各模块在导航栏的体现 14 4.2 系统 e-r 图 图 8 进销存管理系统 e-r 图 4.3 数据库设计 本系统采用微软公司的 sql server2000 数据库管理系统,下面就该系统的 数据库表做如下设计(主键都是自动增长): 产品基本信息表:产品的信息,与销售,库存,进货产品之间的信息一一 对应,product_id 用来标记产品编号,产品 id 不一样则无法进行该产品的进货, 销售,库存功能,表结构如下 表 1 产品基本信息表(product) 字段名(理论) 字段名(物 理)字段类型长度非空 默 认主键 外 键 关联的表.字段 名 产品 id product_idint- 是 - 是 - 产品类型 id pptype_idint- 是 - 是 ptype.ptype_id 产品名称 pnamevarchar50 是 - 条形码 pisdnvarchar30 否 - 生产厂商 pmadevarchar50 是 - 产品进价 pinpriceint20 否 - 15 产品类型表:产品的类型,字段 ptype_id 与产品基本信息表的字段 pptype_id 相匹配,作为其外键,表结构如下 表 2 产品类型表(ptype) 字段名(理论) 字段名(物理) 字段类型长度非空 默 认主键 外 键 关联的表.字段 名 类型 idptype_idint-是-是- 类型名ptnamevarchar50是- 表 3 客户基本信息表(customer) 字段名(理论) 字段名(物理) 字段类型长度非空 默 认主键 外 键 关联的表.字段 名 客户 idcustomer_idint-是-是- 客户名称cunamevarchar20是- 客户地址 cuaddressvarchar50否- 标志flagint-是1- 客户电话 cutelvarchar20否- 表 4 供应商信息表(supply) 字段名(理论) 字段名(物理) 字段类型长度非空 默 认主键 外 键 关联的表.字段 名 供应商 id supply_idint-是-是- 供应商名称sunamevarchar20是- 供应商地址 suaddressvarchar50否- 供应商电话 sutelvarchar20否- 标志flagint-是1- 表 5 操作员表(user) 字段名(理论) 字段名(物理) 字段类型长度非空 默 认主键 外 键 关联的表.字段 名 操作员 id user_idint-是-是- 操作员名称usernamevarchar20是- 操作员密码userpwdvarchar50否- 操作员权限 userauthorint-是- 16 表 6 销售单(sale) 字段名(理 论)字段名(物理)字段类型长度非空 默 认主键外键关联的表.字段名 销售单 idsale_idint-是-是- 操作员 idsauser_idint-是-是user.user_id 产品 id saproduct_idint-是-是pduct_id 客户 idsacustomer_idint-是-是customer.customer_id 销售数量 sanumberint-是- 销售日期sadatevarchar20否- 标志flagint-是1- 表 7 进货单(purchase) 字段名(理 论) 字段名(物理) 字段类型长度非空默认 主 键 外 键关联的表.字段名 进货单 idpurchase_idint-是-是- 操作员 id puuser_idint-是-是user.user_id 产品 id pproduct_idint-是-是pduct_id 供应商 idpsupply_idint-是-是supply.supply_id 进货数量punumberint-是- 进货日期pudatevarchar20否- 标志flagint-是1- 17 5 功能模块详细设计及实现 5.1 系统主界面 模块是本系统的界面,在本界面上集成了本系统的所有功能,共有五个功 能菜单和 10 个子菜单(功能模块) ,从而实现了本系统从销售管理,进货管理, 产品基本信息管理,库存管理,系统管理等系统的具体功能。系统主界面如图 所示。 图 9 系统主界面 5.2 基本信息管理 5.2.1 功能分析 方便用户对产品基本信息,客户信息,供应商信息进行多条件查询,增加, 修改,删除。 5.2.2 实现原理 用 hibernate 语句里的查询、增加、修改、删除语句,对数据库里对应的产 18 品信息表,供应商信息表,客户信息表进行相应的操作。 图 10 产品基本信息管理界面 图 11 客户信息管理界面 19 图 12 供应商信息管理界面 5.2.3 核心代码 /* * 数据库中获取所有 * param condtions 保存前台传递的数据 * return */ public listrange findall(map conditions) /数据库读出的所有顾客信息 list list=pojod.findall(); if(list.size()0) /转换成所需要的格式,传递到前台显示 infolist=convertformat(list); return pageshow.pagehandle(conditions,infolist); else infolist.add(new customer(); return new listrange(infolist.sublist(0,1).toarray(),infolist.size(); 20 5.3 销售管理 5.3.1 功能分析 销售货物时,用户可以填写销售单,并可以查看,修改,删除销售单,同 时仓库中该产品数量发生相应变动。 顾客退货时,用户可以填写销售退货单,并可以查看,修改,删除销售退 货单,同时仓库中产品数量发生相应变动。 5.3.2 实现原理 用 hibernate 语句里的查询、增加、修改、删除语句,对数据库里对应的销 售单信息,销售退货表信息,客户信息表进行相应的操作。同时对产品仓库表 中的产品数量进行相应变动。 图 13 销售登记界面 21 图 14 销售退货界面 图 15 填写销售单界面 5.3.3 核心代码 /* * 增加销售单 * param s * return 最后一个销售单 id 22 */ public int save(ios.web.form.sale.sale s) sale ss=new sale(); customer c=new customer(); /根据顾客 id 增加 c.setcustomerid(s.getsalcustomerid(); ss.setcustomer(c); /用户的 id 保存在 session 中,从 session 中获得 ios.pojo.sys.user u=new ios.pojo.sys.user(); u.setuserid(s.getsaluserid(); ss.setuser(u); ios.pojo.iosinfo.product p=new ios.pojo.iosinfo.product(); p.setproductid(s.getsalproductid(); ss.setproduct(p); ss.setsadate(s.getsadate(); ss.setsanumber(s.getsanumber(); sd.save(ss); /同时产品仓库表中相应的产品数量减少 storehandle.decrenum(p,u,s.getsanumber(); return sd.findlastid(); 5.4 进货管理 5.4.1 功能分析 进货时,用户可以填写进货单,并可以修改,查看,删除进货单,同时仓 库中相应产品信息发生相应变动。 进货退货时,用户可以填写进货退货单,并可以修改,查看,删除进货退 货单,同时仓库中相应产品信息发生相应变动。 23 5.4.2 实现原理 用 hibernate 语句里的查询、增加、修改、删除语句,对数据库里对应的进 货退货单信息表,进货信息表进行相应的操作。同时对产品仓库表中的产品数 量进行相应变动。 图 16 购买进货界面 图 17 进货退货界面 24 5.4.3 核心代码 /* * 更新 * param s * return */ public boolean saveorupdate(ios.web.form.purchase.purchase s) purchase ss=new purchase(); supply c=new supply(); /根据顾客 id 增加 c.setsupplyid(s.getpsupplyid(); ss.setsupply(c); ios.pojo.sys.user u=new ios.pojo.sys.user(); u.setuserid(s.getpuserid(); ss.setuser(u); ios.pojo.iosinfo.product p=new ios.pojo.iosinfo.product(); p.setproductid(s.getpproductid(); ss.setproduct(p); ss.setpudate(s.getpudate(); ss.setpunumber(s.getpunumber(); ss.setpurchaseid(s.getpurchaseid(); boolean issuccess = true; try pojod.saveorupdate(ss); catch (exception e) issuccess = false; e.printstacktrace(); system.out.println(“修改失败“); 25 return issuccess; 5.5 库存管理 5.5.1 功能分析 仓库盘点时,用户可以进行产品入库,产品出库,入库修改操作,同时可 以进行相应地查询。 仓库管理时,用户可以分配仓库,修改仓库,查询、删除仓库。 5.5.2 实现原理 用 hibernate 语句里的查询、增加、修改、删除语句,对数据库里对应的产 品仓库表,仓库表进行相应的操作。 图 18 仓库盘点界面 26 图 19 仓库管理界面 5.5.3 核心代码 /* * 根据条件查询 * param condtions * return */ public listrange getsalebyparames(map conditions) string productname=“; string username=“; /仓库名字 string dbasename=“; try productname=(conditions.get(“pname“) !=null )?(conditions.get(“pname“).tostring():“; username=(conditions.get(“username“) !=null)?(conditions.get(“username“).tostring() :“; dbasename=(conditions.get(“dbase“) !=null)?(conditions.get(“dbase“).tostring() :“; catch(exception ef) ef.printstacktrace(); 27 system.out.println(“-传递的 “+productname+username+dbasename); /条件 sql 语句 string sql=“from store as m where m.flag=1 and m.storeid !=0 “; if(!(“.equals(productname) sql=sql+“and duct.pname= “+productname+“ “; if(!(“.equals(dbasename) sql=sql+“and m.dbase.dbasename= “+dbasename+“ “; if(!(“.equals(username) sql=sql+“and m.user.username= “+username+“; system.out.println(“sql is:“+sql); list slist=pojod.findbypropertyssql(sql); if(slist.size()0) return pageshow.pagehandle(conditions,convertformat(slist); else infolist.add(new store(); return new listrange(infolist.sublist(0, 1).toarray(),infolist.size(); 5.6 系统管理 5.6.1 功能分析 管理员可以进行分配用户,修改用户信息,同时查看,删除用户信息。 28 5.6.2 实现原理 用 hibernate 语句里的查询、增加、修改、删除语句,对数据库里对应的用 户表进行相应的操作。 图 20 用户管理界面 图 21 分配操作员界面 29 5.6.3 核心代码 /* * 逻辑删除 * param ids 要删除的 id 存放在数组当中 * return */ public boolean delete(list ids) boolean issuccess=true; int saleid=0; try for(int i=0;iids.size();i+) saleid=(integer)ids.get(i); user s=pojod.findbyid(saleid); s.setflag(2); pojod.saveorupdate(s); catch (exception e) issuccess = false; e.printstacktrace(); system.out.println(“删除失败“); /返回产 id return issuccess; 30 6 系统测试 6.1 系统开发环境 操作系统:windows xp; 开发工具:myeclipse 6.0.1; 开发语言:uml; 应用数据库:sql server2000; 应用服务器:tomcat6.0; 6.2 系统测试 6.2.1 测试项目说明 测试是为了“发现程序中的错误而执行程序的过程” ,测试的目的就是在系 统投入生产性运行之前,尽可能多的发现系统中的错误。 在测试过程中对每个功能逐一测试,其具体操作如下: (1)测试是否能够正常登陆 当用户输入用户名不存在,或用户名与其所输入的密码不准确时,就无法正常 登陆。必须输入正确的用户名和密码。 (2)测试基本信息,销售,进货,仓库管理,系统管理五个模

温馨提示

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

评论

0/150

提交评论