超市进销存管理系统设计与实现.docx
超市进销存管理系统设计与实现书目 超市进销存管理系统的设计与实现 1 摘 要 2 Supermarkets Invoicing Management System 3 Abstract 3 Key Words: Invoicing JSP MySQL1 绪论 3 1.1 背景分析 4 1.2 国内外超市进销存管理系统探讨现状 4 1.2.1 国外探讨现状 4 1.2.2 国内探讨现状 5 1.3 本文主要探讨内容及主要贡献 5 1.4 本章小结 5 2 系统开发环境及工具介绍 6 2.1 应用架构 6 2.2 JSP技术 6 2.3 数据库MySQL 7 2.4 Tomcat运行原理简介 7 2.5 本章小结 7 3 系统需求分析 8 3.1 可行性分析 8 3.2 用户的需求分析 8 3.3 系统用例分析 9 3.4 系统数据关联图 10 3.5 本章小结 10 4 系统设计 11 4.1 系统模块结构设计 11 4.2 数据库设计 13 4.3 管理员业务流程图 20 4.4 本章小结 20 5 具体设计与系统实现 21 5.1 登录模块设计 21 5.2 系统管理模块设计 22 5.3 基本数据管理设计 23 5.4 选购管理模块设计 27 5.5 销售管理模块设计 28 5.6 库存管理模块设计 29 5.7 查询统计模块设计 32 5.8 本章小结 33 6 总结与展望 34 6.1 总结 34 6.2 展望 34 参考文献 35 超市进销存管理系统的设计与实现 摘 要 传统的进销存管理主要采纳的是人工清点、抄录入册的方式。传统的方式很简洁,工人也比较简单操作。但是社会、科技在不断地发展,陈旧的方式已经起先不能适应新的社会环境。所以,要利用新技术开发一个适用于小型超市的进销存管理系统最重要的一点就是提高工作效率,同时也要保证操作的简易性。本系统依托于Java平台和MySQL。系统的设计不仅仅是要满意管理人员在日常工作中对进销存的操作需求,也要体现设计理念的人性化,达到管理人员随时能对系统进行相关操作的要求。本文主要介绍了此次课题的来源、基本功能、创新点以及相关的解决方案。 关键词:进销存 JSP MySQL Supermarkets Invoicing Management System Abstract The traditional invoicing management is mainly used to check and copy the book of artificial way.The traditional way is very simple,and workers are also relatively easy to operate.But with the development of society and science and technology, the old way has not been able to adapt to the new social environment.Therefore, the use of new technology to develop a small supermarkets invoicing management system is the most important point is to improve work efficiency.At ths same time,it also has to ensure the simplicity of the operation. This invoicing management system is based on two kinds of technology,java platform and MySQL database.The design of system is not only to meet the needs of management personnel in the daily work of the invoicing, but also to reflect the design philosophy of human nature, to manage the system at any time to carry out the relevant operational requirements.This paper mainly introduces the source of the topic, the basic functions , innovation points aand the related solutions. Key Words: Invoicing JSP MySQL1 绪论 1.1 背景分析 随着现代社会发展的不断腾飞,科技前沿的不断推动,全球范围内计算机都起先被广泛运用,人们学会运用计算机对大量的数据进行处理和分析。主要是以计算机为核心,以数据库管理系统为背景进行日常工作事务的处理的信息管理系统得到广泛的应用,尤其是超市进销存管理的实际应用。 过去许多超市的管理模式中,大多数状况都是采纳手工计算,过程特别的麻烦。超市进销存的日常管理中商品的进库、出库等数量的改变须要经过若干道手续,采纳人工手动计算,不仅效率低下、简单出错,而且在统计和查询的时候极简单发生信息重复传递,数量出现不吻合的现象,所以对超市进销存的管理要实现信息化管理。我国近几年的发展快速,大型超市都拥有一个相对完善的管理系统,而许多社区里的小型超市由于地理位置优势生意也很好,却照旧采纳人工计算的方式耗费了大量的人力物力。所以开发一个针对小型超市好用的进销存管理系统是非常迫切的。本文的管理系统的开发大大提高了小型超市的工作效率,在计算机上运行系统,可以替代人工记录,查备货品数量等繁杂的工作。系统界面友好,功能全面,操作者易学易操作,运用便利。系统对用户登录设有权限,对部分敏感文档可以更加平安的保存,从而使系统的运用更具敏捷性和技巧性。为了可以很好的保证系统的信息平安,系统对其中的每一种用户角色都安排了属于他们自己的运用权限。1.2 国内外超市进销存管理系统探讨现状 1.2.1 国外探讨现状 1954年,美国首先将计算机应用到管理中来处理工资单。几十年来,计算机在信息管理及处理等方面发展快速。位居世界第一的零售企业“沃尔玛”连锁集团,在发展的过程中特殊重视管理的信息化,通过这样的方式来实现公司管理目标。在上世纪的70年头,沃尔玛公司就对总部以及各个分部逐步推广了管理信息化。80年头又放射了属于自己集团的通信卫星,建立了完善的卫星通信系统,后来又接连安装了连接总部与连锁店之间的可视电话、电脑网络以及卫星传播影像的通信系统,使连锁店间的进货数倍、供应配货、管理销售、资金周转以及科学决策等实现了刚好、牢靠的管理。用了几十年这么短的时间就从起初一家小单体折扣的商店,发展成了美国乃至全球零售业的“霸主”。1.2.2 国内探讨现状 随着计算机的不断发展,西方国家在超市信息化处理方面始终处于领先地位,几乎全部的超市都有了整套的进销存信息管理系统。我国近些年的发展,使得超市已经逐步发展为零售业的重要组成部分,城区、乡镇、甚至农村都可以看到各种规模、各种类型的超市。国内现有的超市进销存管理系统更多的是针对大型超市,而国内的中小型超市照旧不能采纳一个搞笑的现代化管理模式,大多数还在沿用传统的手工处理方式。随着经济高速发展,明显这种原始的管理方式将会无法应对这样困难的市场。为此,针对中小型超市进销存管理系统的设计与实现非常必要。1.3 本文主要探讨内容及主要贡献 本文第一章绪论,首先阐述了系统的开发背景与意义,描述手动管理超市进销存的不足和开发系统的必要性;然后描述系统的开发目的,主要工作;之后就对超市进销存管理系统的国内发呈现状与应用前景进行分析;最终说明本文的探讨内容。其次章主要是介绍系统的开发环境和工具,阐述选择的缘由。第三章系统需求分析,进行可行性分析、系统业务流程和需求分析等。第四章为概要设计,数据模型分析与设计,对系统功能图、数据库及数据库表、逻辑结构以及系统的实现等进行设计。第五章为具体设计与系统实现,分模块描述功能设计以及代码设计,展示各个功能实现过程。第六章是总结与展望。1.4 本章小结 第一章主要介绍了超市进销存管理系统到目前为止的所知晓的发展状况。从多个方面阐释了开发一个适用于小型超市的进销存管理系统的重要意义。2 系统开发环境及工具介绍 2.1 应用架构 2.1.1 B/S三层架构设计模式 其实阅读器/服务器结构就是人们常说的B/S结构。简洁来说就只安装和维护一个Server,而运用Browse的方式在客户端运行软件。在互联网技术不断革新的时代背景下,C/S结构的不断发展才有了现如今的B/S结构。在B/S结构的大多数系统中,用户一般可以通过PC端的阅读器向网络上的众多服务器发送一个恳求,服务器就能够对阅读器发送出来的恳求第一时间进行处理,然后用户所须要信息在处理之后会被快速的返回到PC端阅读器。与传统的C/S结构相比较,B/S结构的应用程序很明显要更加优化。 B/S结构的最显著的特点就是开发起来简洁并且共享性较强,维护操作也非常便利。2.1.2 B/S三层架构设计模式的优点 从开发和应用这两个方面来综合比较,三层架构有着双层或单层结构没有的突出优点。三层结构在团队开发中,每人可以有不同的分工,团队合作能够使效率得到极大的提高。开发三层应用架构的时候,能够有效的结合各方面的人才。这样的话只要少数人对系统有足够全面的了解,就可以从肯定程度上降低开发的难度。三层架构能够做到很简单的运用新的实现来代替原来层次的实现,从而降低层与层间彼此的依靠。同时B/S三层架构在后期运用维护的时候,能够极大地降低维护的成本,节约维护的时间。2.2 JSP技术 Java Server Pages其实就是JSP1绽开后的全称。当时正是因为Sun公司与其他众多的软件公司的合作才造就了JSP。许多时候JSP被人们用来衡量制作一个动态网页的详细标准。从本质上来讲,JSP就是一个简洁易懂的servlet2的程序模型。当我们在写超文本标记的程序时假如学会加入Java代码以及JSP标记,那么一个JSP页面就可以很轻松的编写完成了3。当然,JSP程序也具有广泛的适用性,并不是只能够在特定的平台上进行操作运行,编写出来的JSP程序既能够顺当的在微软的操作系统上运行,也能在其他的操作系统中具有适用性。新手在编写的JSP程序时,假如不能够充分理解其中的原理,经常会把它当成一个HTML网页。我们只有明确了代码的意义才会了解它就只是一个Servlet程序在运行。2.3 数据库MySQL MySQL是现在系统设计中开发者比较喜爱用的关系型数据库之一。MySQL能够实现依据数据之间的关联性推断存放的位置,把数据间没有联系的分别放在不同的表里面,而将数据之间相互联系的放在同一个表中。通过这样的方式来从肯定程度上增加访问方式的敏捷性,同时还可以提高系统的访问速度。1979年,一家小的软件公司着手设计了MySQL,原本是准备作为一个报表工具。后来MySQL被不断开发、优化,功能项也越来越完善,能够满意设计者的运用需求。当然,与Oracle等众多数据库相比较而言,MySQL存在了肯定程度的不足。但由于MySQL的功能之强大以及代码开源,在个人和小企业中照旧非常受欢迎。2.4 Tomcat运行原理简介 “Tomcat是由Sun公司和Apache开发小组共同提出的合作项目Apache Jakarta项目下的产品,是为了使Servlet/JSP能够与Apache服务器一起运行而开发的Server/JSP容器”。系统大致架构是Mysql+Tomcat+Jsp,Tomcat是Servlet的运行容器,它的工作原理如图所示: 图2-1 Tomcat工作原理图 2.5 本章小结 通过大致介绍了Mysql、JSP、Tomcat以及B/S模式的功能、特点以及选择缘由,为后续系统的设计、开发与实现打下了基础。 3 系统需求分析 3.1 可行性分析 现在我国已经开发出针对于大型超市较为完善的进销存管理系统,但是对于小型超市的并不适用。本次设计的系统是为了建立一个实效率高,精确性高,并且适用于小型超市的进销存管理系统。解决小型超市在货品管理方面存在的问题,可以利用现有的超市的硬件设备,完善超市的管理程序。 在技术可行性方面,我们采纳了mysql 数据库管理系统,是一种开放源代码的关系型数据库管理系统。同时选用了MyEclipse10.0作为开发平台,功能强大,给系统的运行提高了稳定的环境保障。在经济可行性方面,以成本效益来分析,支出方面包括了开发成本,主要通过估算代码、平均生产率、工人工资等几个方面来计算;收入方面主要包括了经济性效益,在前期开发完成后,后期的维护费用较低,所以投资回报率接近80%。另外,系统在法律、操作及运行等方面都验证是可行的,所以开发一个适用于小型超市的进销存管理系统是可行的。3.2 用户的需求分析 由于现在运用人工手动的方式来管理进销存很明显并不能很好的适应当下社会的信息化高速发展,所以我们应当顺应时代潮流,学会运用电子设备,如计算机等来对进销存进行现代化的信息管理 。运用计算机对信息数据进行管理可以大大提高了小型超市的工作效率,在计算机上运行系统,可以替代人工记录,查备货品数量等繁杂的工作。需求分析阶段要对系统管理的应用状况做一个相对全面的调查,这样才能够明确用户的需求并且做好我们的需求分析。总体来说系统需求和用户需求是用户对系统的需求最主要的两个方面。3.2.1 系统需求 在三层架构模式之下,我选择运用JSP+MySQL来开发适用于小型超市的进销存管理系统。全部的运作都显示在阅读器上,优化了操作界面,肯定程度上简化了流程,阅读器端的各种操作都变得非常便捷。3.2.2 性能需求 系统在处理数据时,数据是否能够精确、即时的传输和处理是一个超市进销存管理系统正常运行的重要衡量标准。所以我们在设计、开发系统的时候要选择最为合适的方法来确保系统数据传输、处理的精确和刚好,从而达到系统运行时高效、精准的的性能需求。3.2.3 运行需求分析 数据库管理系统软件:MySQL 系统开发平台:Myeclipse 10.0 运行平台:Windows 7 系统开发语言:JSP 运行环境:Tomcat 3.2.4 性能需求分析 本系统在设计中充分考虑了用户主要是一些文化程度不是很高的群体,所以系统要能够非常清楚的展示出访用方法,这样才能够让用户更快的学习并且娴熟操作。在开发中,就是要在各种冲突的规避与功能的实现中找寻平衡,使系统的设计、运用特性能够得到最大程度的体现,从而达到用户的需求。3.3 系统用例分析 3.3.1 管理员用例图 系统中的管理员在现实的超市管理中扮演的也是管理者的角色。他们在系统的运用中有比较多的权限,可以在系统上有比较全面的管理操作,比如新用户的注册,商品的信息管理、进销存等操作的日常管理,详细的如下图。 图3-1管理员用例图 3.4 系统数据关联图 首先从整体分析业务流程,然后依据分析结果进一步分析数据流,得出的顶层的数据关联图如下图。 图3-2数据关联图 3.5 本章小结 第三章主要对适用于小型超市的进销存管理系统的功能需求和其可行性分析做出简要的说明介绍。验证了此系统是可行的,这样才可以接着后续的开发;并且对系统所要实现的功能和业务进行了梳理,理清思路,为接下来的开发探讨打下基础。 4 系统设计 4.1 系统模块结构设计 4.1.1 概要设计 概要设计的主要就是将前期需求分析得到的系统扩展用例图转换成两个部分:软件结构和数据结构。软件结构设计的主要任务是把一个较为困难系统按功能进行划分模块、建立各个模块之间的清楚的层次结构及各模块之间调用关系,并且确定模块间的接口和人机界面等。数据结构设计的主要任务是包括描述数据特征、确定数据的结构特性以及后台数据库的设计。 在此管理系统中,各模块之间是相互独立的。但当模块在访问数据库的时候却可以说模块之间彼此的联系是非常紧凑的。虽然详细说来是每个模块所访问的表各不一样,但全部模块在访问的时候其实都是访问的相同的数据库,。依据前期的调查和需求分析之后确定了适用性较广的8个功能模块。4.1.2 模块展示 超市进销存管理系统 退出 查询统计 库存管理 销售管理 选购管理 基本数据管理 系统管理 登陆 图4-1 系统功能模块结构图 基本数据管理 仓库管理 商品资料管理 供应商管理 用户管理 图4-2 基本数据管理模块结构图 选购管理 选购退货 商品选购 图4-3 选购管理模块结构图 销售管理 销售退货 商品销售 图4-4 销售管理模块结构图 库存管理 库存预警信息 库存商品信息 出库退货 出库 入库退货 入库 图4-5 库存管理模块结构图 查询统计 利润统计 销售统计 出库统计 入库统计 图4-6 查询统计模块结构图 4.2 数据库设计 在整个系统设计过程当中,数据库设计的优良程度会干脆影响系统完成后的运行状况,所以在数据库设计时要花费大量的精力和时间。或许我们一起先并不能对于数据库的设计考虑的非常完整,但是也要一步步完善来,力求做到完备。因为假如数据库设计的不够完善甚至存在一些缺陷,那么想要在开发过程中进行修改等补救会是很困难的事情。同样的,后期系统假如用户须要对一些功能进行扩展,那么设计人员遇到的问题怕是难以解决的,从而影响整个系统。假如漏洞比较严峻的话将导致设计人员须要耗费大量的时间进行重新设计、调试。4.2.1 概念结构设计 在依据用户需求划分功能模块之后,确定了系统中的实体详细有4个,分别为管理员、客户、用户、供应商等。管理员的实体图如下图。 图4-7管理员实体图 客户的实体图如下图。 图4-8客户实体图 用户的实体图如下图。 图4-9用户实体图 供应商的实体图如下图。 图4-10供应商实体图 根据三范式的原则,整合各个实体之间的依靠关系,从而完成系统E-R图如下图。 图4-11系统E-R图 4.2.2 数据库表结构 本系统的数据库采纳MySQL管理软件来设计,合计12张表。这些表分别用来表示库存、管理员、客户等等不同的操作信息。数据库中各表名、功能如下列各表所示。 表4-1客户信息表 字段 类型 字段的说明 id int(10) 客户编号 customername varchar(50) 客户名称 zip char(6) 邮政编码 address varchar(50) 地址 mobile varchar(20) 手机 c_person varchar(20) 联系人 phone varchar(20) 联系电话 bank_name varchar(50) 开户行 bank_num varchar(50) 卡号 email varchar(50) 邮箱 fax varchar(20) 传真 age int(11) 年龄 表4-2库存信息表 字段 类型 字段的说明 id int(11) 主键 g_id int(11) 商品编号 total int(11) 库存数量 表4-3商品信息表 字段 类型 字段的说明 g_id int(11) 商品编号 g_name varchar(80) 商品名称 g_type varchar(50) 商品类别,对应字典表 base_price float 商品进价 spec varchar(30) 商品规格和规格单位 supplier_id int(11) 供应商编号 warehouse_id int(11) 仓库编号 kcsl int(11) 库存数量 kcbjl int(11) 库存报警量 表4-4入库信息表 字段 类型 字段的说明 i_id int(11) 入库编号 i_price float 入库价格 u_name varchar(50) 操作员 g_id int(11) 商品编号 s_id int(11) 供应商编号 i_num int(11) 入库数量 i_time datetime 入库时间 表4-5入库退货信息表 字段 类型 字段的说明 id int(11) 主键 i_id int(11) 入库编号 b_num int(11) 退货数量 icase varchar(200) 退货缘由 u_name varchar(50) 操作人 itime datetime 退货时间 表4-6出库信息表 字段 类型 字段的说明 o_id int(11) 出库编号 i_price float 出库价格 i_num int(11) 出库数量 i_time datetime 出库时间 c_id int(11) 客户编号 u_name varchar(50) 操作员 g_id int(11) 商品编号 s_id int(11) 供应商编号 表4-7出库退货信息表 字段 类型 字段的说明 id int(11) 主键 o_id int(11) 出库编号 b_num int(11) 退货数量 续表4-7 字段 类型 字段的说明 icase varchar(200) 退货缘由 u_name varchar(50) 操作人 itime datetime 退货时间 表4-8选购信息表 字段 类型 字段的说明 p_id int(11) 选购编号 g_id int(11) 商品编号 buy_num int(11) 选购数量 e_time datetime 到期日期 s_id int(11) 供应商编号 w_id int(11) 仓库编号 b_time datetime 选购日期 state int(11) 0表示未入库,1表示入库 is_back int(11) 0表示未退货,1表示选购退货 buy_money float 选购金额 c_time datetime 生成日期 表4-9销售信息表 字段 类型 字段的说明 s_id int(11) 销售编号 g_id int(11) 商品编号 sel_num int(11) 销售数量 sel_price float 销售价格 sel_money float 销售金额 sel_time datetime 销售时间 state int(11) 0表示正常,1表示销售退货 oper varchar(50) 操作员 表4-10供应商信息表 字段 类型 字段的说明 s_id int(11) 供应商编号 s_name varchar(100) 供应商名称 续表4-10 字段 类型 字段的说明 s_user varchar(50) 联系人 mobile varchar(24) 手机 tel varchar(50) 联系电话 address varchar(200) 联系地址 email varchar(50) 邮箱 bank_name varchar(100) 开户行 bank_num varchar(100) 银行卡号 表4-11用户信息表 字段 类型 字段的说明 id int(11) 用户编号 account varchar(50) 账号 password varchar(50) 密码 tel varchar(24) 电话 email varchar(50) 邮箱 fax varchar(20) 传真 name varchar(50) 中文名 role_name varchar(50) 角色信息 age int(11) 年龄 address varchar(150) 地址 mobile varchar(24) 手机 表4-12仓库信息表 字段 类型 字段的说明 w_id int(11) 仓库编号 w_name varchar(80) 仓库名称 user_name varchar(50) 管理员 address varchar(120) 仓库地址 4.3 管理员业务流程图 图4-12管理员业务流程图 4.4 本章小结 第四章介绍了超市进销存管理系统的功能模块的整体的设计状况以及数据库设计当中遇到的问题及解决方案,并且展示了系统中全部的数据库表。 5 具体设计与系统实现 依据之前需求分析和总体设计,现在起先对模块进行具体设计。对于所设计的进销存管理系统主要适用于小型超市的设计要求,我选择采纳单层架构进行设计,把一个系统分解成多个设计模块。 为了优化代码简化流程,避开一些不必要的错误,系统在运行时对于相关数据的增、删、改、查等操作主要实行数据源操作的方式。5.1 登录模块设计 登录模块在设计中主要是为了对即将进入系统的用户进行资格审查,假如用户的权限有问题那么就不能进入系统。通过检测的用户在进入系统后,系统会依据设置,对不同的用户开放相应的操作权限。系统登录主界面如下图。 图5-1 登录主界面 系统登陆实现代码如下: public String login() TbUser user = null; try user = loginService.login(username, password);/登陆,回调函数 if(null = user | StringUtils.isEmpty(user.getAccount()/推断用户名或密码 return “loginError“; /若用户名和密码为空,那么登录失败 this.getSeesion().setAttribute(“user“, user); catch (Exception e) e.printStackTrace(); /抛出异样信息 return “loginSuccess“;/登陆胜利 用户在登陆系统的时候,在登陆界面输入自己的账号密码,然后系统程序启动,将输入的数据与数据库中的数据进行推断、匹配。假如胜利,那么用户可以顺当的进入到系统当中进行下一步的相关操作。假如不胜利那么界面上会提示登陆失败,并要求用户重新核对自己的用户名以及密码后重新登陆。 进销存系统登录失败界面如图5-2所示: 图5-2 登录失败界面 5.2 系统管理模块设计 用户信息管理界面如下图: 图5-3 用户信息管理界面 在用户管理中,主要有新建用户,修改用户信息,修改用户密码,删除用户以及查询用户等几个操作,那么在界面布局时显示工具条的的实现代码如下。var toolbar = text:新建, iconCls:icon-add, handler:function() showUserWindow(save); ,-, text:修改, iconCls:icon-edit, handler:function() showUserWindow(update); , text:密码修改, iconCls:icon-edit, handler:function() showPwdWin(); ,-, text:删除, iconCls:icon-remove, handler:function() delUser(); ,-, text :查询, iconCls:icon-search, handler:function() showSelWin(); ; 5.3 基本数据管理设计 该模块主要包括对超市管理中最为主要的四个部分进行管理商品、客户、供应商和仓库。5.3.1 商品资料管理界面 商品资料管理界面如下图。 图5-4 商品资料管理界面 我们可以在商品资料管理中添加超市里新引进的商品,添加商品名称、类型以及单价、供应商等等,确认提交。 添加商品资料管理界面如下图。 图5-5添加商品资料管理界面 管理员添加商品时,商品类型设计为下拉选项,实现功能代码如下。 <td width=“20%“ align=“right“>商品类型:</td> <td width=“30%“ align=“left“> <select class=“easyui-combobox“ name=“goods.GType“ id=“gtypeInput“ data-options=“required:true“> <option value=“零食“>零食</option> <option value=“酒水“>酒水</option> <option value=“百货“>百货</option> <option value=“香烟“>香烟</option> <option value=“奶制品“>奶制品</option> <option value=“文具“>文具</option> <option value=“洗护“>洗护</option> <option value=“调味品“>调味品</option> <option value=“饮料“>饮料</option> </select> </td> 5.3.2 客户管理界面 超市的客户分为零售客户和协议客户,在系统中的客户指的是大型的协议客户,详细信息界面如下图。 图5-6客户管理界面 修改客户管理界面如下图。 图5-7修改客户管理界面 5.3.3 供应商管理界面 供应商管理界面如下图。 图5-8供应商管理界面 查询供应商管理界面如下图。 图5-9查询供应商管理界面 模糊查询功能是一个系统必需具备的基本功能之一,在此系统中选择关键字查询,实现功能代码如下。 function showSelWin() $(#selForm).form(clear); $(#selWindow).dialog( title :查询条件, width: 300, height: 150, closed: false, cache: false, modal: true ); 5.3.4 仓库管理界面 仓库管理界面如下图。 图5-10仓库管理界面 5.4 选购管理模块设计 选购管理包括商品选购和选购退货,下面有两个菜单项,分别是“商品选购”、“选购退货”,完成相应的添加、修改、删除等操作。 5.4.1 商品选购界面 假如要选购商品的话干脆在选购信息表中添加新的选购单。商品选购界面如下图。 图5-11商品选购界面 5.4.2 选购退货界面 假如选购的商品中存在质量问题,可以在选购退货中添加退货单,将商品退给供应商。 商品选购退货界面如下图。 图5-12商品选购退货界面 商品选购退货的界面是由HTML代码编写的,详细实现代码如下。 <!- 内容 -> <tr> <td> <table id=“userTab“ class=“easyui-datagrid“ style=“width:100%;height:100%;“ fit=“true“ url=“jxc!findPurchasesBackByPageSql.action“ title=“选购信息表“ rownumbers=“true“ pagination=“true“ fitColumns=“true“data-options=“toolbar:toolbar,singleSelect:true,pageSize:20,queryParams:colName:,colValue:“> <thead> <tr> <th field=“ck“ checkbox=“true“><br></th> <th field=“p_id“ width=“80“ align=“center“>退货编号</th> <th field=“g_id“ align=“center“>商品编号</th> <th field=“g_name“ align=“center“>商品名称</th> <th field=“buy_num“ align=“center“>退货数量</th> <th field=“buy_money“ align=“center“>退货金额</th> <th field=“c_time“ align=“center“ formatter = “timeFormatter“>生产日期</th> <th field=“e_time“ align=“center“ formatter = “timeFormatter“>到期日期</th> <th field=“b_time“ align=“center“ formatter = “timeFormatter“>退货日期</th> <th field=“s_id“ align=“center“ width=“100“>供应商编号</th> <th field=“s_name“ align=“center“ width=“200“>供应商名称</th> <th field=“w_id“ width=“120“ align=“center“>仓库编号</th> <th field=“w_name“ width=“200“