基于Jsp和Mysql的电子产品销售管理系统
1 绪论
随着科技水平的飞速发展,计算机走进了千家万户,人们开始越来越多地利用计算机解决和日常生活相关的各种问题。因此,开发一个界面友好,易于操作的电子产品销售管理软件进行产品销售管理程序自动化处理变得十分必要。本系统采用B/S模式[1],使用Eclipse、SQL数据库等工具设计开发。系统分为超级管理员、普通管理员与员工三个部分,超级管理员使用账号密码登录成功后,可以对管理平台的用户,商品信息,供应商信息,库存信息,利润信息,客户信息,个人信息,员工信息,员工考勤信息,员工工资信息,退货信息,数据备份信息,相关表单信息的打印等进行管理。普通管理员不可修改用户管理信息。员工可查看修改个人信息,查看个人考勤信息与工资信息。
1.1 背景
随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。电子产品销售管理是商业信息管理的重要部分面对大量的商品信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的销售管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
一套比较系统的电子产品销售管理理念,并建立了一整套比较规范的销售管理方法。在积极建立商业现代商业管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,商品部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内大商业的手机销售管理信息系统,作为实现目标和提高现有水平的一种重要手段! 电子产品销售管理系统是一个公司不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
1.2 国内外现状
当今社会已经进入信息社会时代,信息已经受到社会的广泛关注,被看做社会和科学的技术发展的三大支柱。信息管理的基础,是进行决策的基本依据。在一个组织里,信息已经被作为人力、物力、财力之外的第四种能源[2],占有重要的地位。然而,信息是一种非物质的,有别于基本资源的新形势的资源。信息也是管理的对象,必须进行管理和控制。
“电子产品销售管理系统”开发的主要任务是对各种电子商店销售、员工、仓库的数据进行修改、查询、插入等管理。开发功能完善及可靠的管理系统,运用计算机进行信息处理。能有效的提高资源利用率、快速准确的获取重要的信息,有利于数据分析,有利于提高工作效率、充分发挥人员的工作潜力,从而根据市场需求制定合理的计划。
现在电子产品越来越普及,越来越多的有购买电子产品的打算。所以,电子产品的市场需求量是很大的。而对于一个电子产品的大商场,会有多家电子产品品牌的若干机型。售价、库存、进货、销售、员工和客户等这些信息量庞大而繁琐。如果单靠人工记录和管理这些信息,不仅工作量大,而且效率低下。设计出符合商场实际情况的电子产品销售数据库系统,能够有效、快速、简单、准确的管理这些信息。
1.3 系统开发的目标与意义
1.3.1 系统开发目标
建立健全产品销售管理体制,解决销售管理简单化问题,开发出一项具有实用价值和功能的电子产品销售管理系统,最大化的满足管理者的需求。
设计如下的系统开发目标:
-
电子产品销售管理系统分为三个角色:超级管理员、普通管理员、员工
-
超级管理员功能模块有:管理员用户管理、商品类别添加与查询、商品信息添加与查询、供应商添加与查询、入库记录添加与查询、出库记录添加与查询、库存查询、利润出现、客户添加与查询、修改密码、员工信息添加与查询、考勤记录添加与查询、员工工资添加与查询、退货记录添加与查询、数据备份,相关表单信息的打印
-
普通管理员不可修改用户管理信息
-
员工可查看修改个人信息,查看个人考勤信息与工资信息
1.3.2 意义
电子产品销售管理系统是一个公司不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
2 开发技术背景
本系统的完成主要采用了Java语言、JDBC、JavaBean、Popup[3]弹框 JS库、LigerUI js库、JavasScript、JSP和Mysql数据库。下面对这几项技术进行详细说明。
2.1 Java语言
Java是一种可以实现跨平台的面向对象的程序设计语言[4],是由Sun公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性;广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网[5]。在全球云计算和移动互联网的产业环境下,Java具备了显著优势和广阔前景。
Java 不同于一般的编译执行或解释执行计算机语言[5]。它首先将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性[6]。
一句话概括:Java编程语言是个简单的面向对象、分布式、健壮、解释性、安全与系统无关、高性能、可移植[7]、多线程和动态的语言。
2.2 JDBC
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类[8]和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
2.3 Mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统[9]之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性[10]。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策[11],分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP [12]和 Apache [13]可组成良好的开发环境。
2.4 JavaBean
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。
2.5 JavasScript
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
-
是一种解释性脚本语言[14](代码不进行预编译)
-
主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为
-
可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离
-
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)
Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
2.6 JSP
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.7 Popup
Popup.js 是一个很不错的javaScript 弹出窗口js库。POPUP是弹窗的意思。弹窗是指打开网页的时候,自动弹出的窗口,目前主要流行的弹出式是快速进入网页游戏的快捷形式。
弹窗形式有:
-
普通弹出式 :用户上线时分时段主动推送广告窗口(网页、flash、流媒体)
-
定向性弹出式 :用户访问特定的网址时弹出广告窗口
-
强制性弹窗 :
- DNS劫持,弹出广告页面(DNS强制弹窗) 用户访问网页时,运营商已经在DNS域名系统上做了手脚,DNS服务器会先给用户发一个广告IP地址,5到10秒后才重新发送真正应该返回的IP地址
- 会话劫持(TCP弹窗) 它的出现没有时间规律,经常在用户上网的无意之间出现这类广告。这种强制广告会根据用户上网的活跃度自动增减弹出数
2.8 LigerUI
liger ui,是基于jQuery开发的一系列控件组[15],包括表单、布局、表格等等常用UI控件,使用LigerUI可以快速创建风格统一的界面效果。
LigerUI视图简洁明了,操作较为简便,采用json格式传递数据。具有不错的grid表格处理能力。甚至可以达到web桌面的能力。
2.9 开发环境
2.9.1 JDK软件
我们要开发Java EE的系统,需要安装的是Java SE。Java SE的JDK是开发任何Java系统必须安装的工具包。我选用1.7的版本进行开发。
2.9.2 Web服务器Tomcat
Tomcat是Apache-Jarkarta的一个子项目,是一个免费的、开源[16]的、支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat是一个小型的轻量级应用服务器,是开发和调试JSP程序的首选。
在本系统中选用稳定版本Tomcat7.0进行开发。
2.9.3 Eclipse开发工具
Eclipse企业级工作平台(Eclipse Enterprise Workbench)。利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大地提高工作效率。Eclipse是一个十分优秀的用于开发J2EE、Java的Eclipse 插件集合。Eclipse的功能十分强大,支持也非常广泛,尤其对各种开源产品的支持十分不错。
本系统中我将选用eclipse-jee-mars-2作为开发工具。
3 系统需求分析和设计
随着销售量增多,公司销售的规模不断扩大,传统的管理模式存在着很大的缺陷,若是人为的处理销售管理记录的信息,这个速度是非常慢的,并且更新信息速度也慢,不能保证信息的及时与有效,人工计算大量信息势必会影响到信息的准确性;管理者想统计、查询起来是很困难的并且不能够分类查询,不方便对信息进行统计分析,因此传统的管理方式已经不能适应现代公司销售管理的发展趋势。为了能够更好的提高管理员的效率,使得管理的开销缩减,并对产品销售管理信息进行方便的管理等多方面的考虑,通过网络的应用,建立完善的电子产品销售管理系统,提高管理者的效率。鉴于上述理由我选择使用Eclipse以及Mysql等设计实现了一个电子产品销售管理系统。
3.1 系统的基本需求
结合现阶段互联网技术的发展和产品销售管理者的需求,《电子产品销售管理系统》应具有合理科学的管理员管理系统,通过管理员完善的信息更新和处理,能够更好、更快的管理电子产品销售管理系统。超级管理员能够管理用户管理、商品类别添加与查询、商品信息添加与查询、供应商添加与查询、入库记录添加与查询、出库记录添加与查询、库存查询、利润出现、客户添加与查询、修改密码、员工信息添加与查询、考勤记录添加与查询、员工工资添加与查询、退货记录添加与查询、数据备份,相关表单信息的打印等操作。普通管理员不能对用户管理进行操作。员工可查看修改个人信息,查看个人考勤信息与工资信息。
3.2 系统的设计思想
设计要求系统功能全面,同时操作简单。系统页面作为与用户交互的重要界面,在考虑实现页面功能的同时也要考虑到操作的可行性和方便性,主要目的是让管理者能够享受到网上查询信息与处理相关事务的快乐与便利。
3.3 系统功能需求分析
本系统适用于管理员通过网络进行电子产品销售管理相关事务的处理,对管理员而言,实现了系统设置、商品信息管理、供应商管理、库存管理、客户管理、个人资料管理、员工信息管理、退货管理、系统数据备份管理,相关表单信息的打印等功能。
在需求分析的基础上,结合电子产品销售管理系统的总体目标,从信息系统目标、系统功能、技术性能等方面进行分析,最终确定了可行的、合理的系统功能需求。系统主要功能需求如下:
-
登录功能 :输入用户名、密码,进行登录验证
-
超级管理员用户管理 :超级管理员可对系统普通管理员的添加与删除
-
商品类别添加/查询 :管理员可对商品类别进行添加,查询,删除、修改与打印
-
商品信息添加/查询 :管理员可对商品信息进行添加,查询,删除、修改与打印
-
供应商添加/查询 :管理员可对供应商信息进行添加,查询,删除、修改与打印
-
入库/出库的添加/查询 :管理员可对入库/出库记录进行添加,查询,删除、修改与打印
-
库存查询 :管理员可对库存进行查询与打印
-
利润查询 :经过对入库出库的比较,管理员可对销售利润进行查询与打印
-
客户的添加/查询 :管理员可对客户进行添加,查询,删除、修改与打印
-
修改密码 :管理员可对当前登录密码进行修改
-
员工信息添加/查询 :管理员可对员工信息进行添加,查询,删除、修改与打印
-
考勤记录添加/查询 :管理员可对员工考勤记录进行添加,查询,删除、修改与打印
-
员工工资添加/查询 :管理员可对员工的工资记录进行添加,查询,删除、修改与打印
-
客户退货记录添加/查询 :管理员可对退货记录进行添加,查询,删除、修改与打印
-
数据备份 :管理员可对当前系统数据进行快捷备份
-
员工查看 :查看修改个人信息,查看个人考勤信息与工资信息
3.4 系统的功能模块
电子产品销售管理系统由登录、系统管理、员工模块三部分组成。
-
查看登录功能模块 :超级管理员、普通管理员与员工
-
系统管理功能模块 :系统设置、商品信息管理、供应商管理、库存管理、客户管理、个人资料管理、员工信息管理、退货管理、系统数据备份管理等功能
-
员工模块 :个人资料管理、我的考勤、我的工资
电子产品销售管理系统框架图如图3.1所示。
3.5 系统的工作流程
电子产品销售管理系统的工作流程如图3.2所示。
3.6系统模块详细设计
3.6.1 登录
3.6.2 管理员用户管理
3.6.3 修改密码
3.6.4 出库记录添加
3.6.5 退货记录添加
4 数据库设计
4.1 数据库需求分析
在本系统中,数据库发挥着重要的作用,设计好数据库能够增加系统的运行效率,优化用户浏览网页的效果。数据库应当解决如下需求:
-
利用数据库保存用户信息
-
利用数据库保存退货信息
-
利用数据库保存出库信息
-
利用数据库保存入库信息
-
利用数据库保存供应商信息
-
利用数据库保存员工考勤信息
-
利用数据库保存客户信息
-
利用数据库保存商品类别信息
-
利用数据库保存商品信息
-
利用数据库保存员工工资信息
-
利用数据库保存员工信息
4.2 数据表的结构设计
通过数据库需求分析,该系统需要创建十一个数据表:
allusers表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | username | VarChar | 50 | 是 | 255 |
3 | pwd | VarChar | 50 | 是 | 255 |
4 | cx | VarChar | 50 | 是 | 255 |
5 | addtime | DateTime | 8 | 是 | 23 |
chukujilu表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | mingcheng | VarChar | 50 | 是 | 255 |
4 | kucun | VarChar | 50 | 是 | 255 |
5 | chukushuliang | VarChar | 50 | 是 | 255 |
6 | kehu | VarChar | 50 | 是 | 255 |
7 | beizhu | VarChar | 50 | 是 | 255 |
8 | caozuoyuan | VarChar | 50 | 是 | 255 |
9 | addtime | DateTime | 8 | 是 | 23 |
gongyingshangxinxi表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | gongsimingcheng | VarChar | 50 | 是 | 255 |
4 | dianhua | VarChar | 50 | 是 | 255 |
5 | chuanzhen | VarChar | 50 | 是 | 255 |
6 | youxiang | VarChar | 50 | 是 | 255 |
7 | dizhi | VarChar | 50 | 是 | 255 |
8 | zhuyingchanpin | VarChar | 50 | 是 | 255 |
9 | beizhu | VarChar | 50 | 是 | 255 |
10 | addtime | DateTime | 8 | 是 | 23 |
kehuxinxi表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | xingming | VarChar | 50 | 是 | 255 |
4 | gongsimingcheng | VarChar | 50 | 是 | 255 |
5 | dianhua | VarChar | 50 | 是 | 255 |
6 | chuanzhen | VarChar | 50 | 是 | 255 |
7 | youxiang | VarChar | 50 | 是 | 255 |
8 | dizhi | VarChar | 50 | 是 | 255 |
9 | beizhu | VarChar | 50 | 是 | 255 |
10 | addtime | DateTime | 8 | 是 | 23 |
rukujilu表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | mingcheng | VarChar | 50 | 是 | 255 |
4 | kucun | VarChar | 50 | 是 | 255 |
5 | rukushuliang | VarChar | 50 | 是 | 255 |
6 | gongyingshang | VarChar | 50 | 是 | 255 |
7 | beizhu | VarChar | 50 | 是 | 255 |
8 | caozuoyuan | VarChar | 50 | 是 | 255 |
9 | addtime | DateTime | 8 | 是 | 23 |
shangpinleibie表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | leibiemingcheng | VarChar | 50 | 是 | 255 |
3 | addtime | DateTime | 8 | 是 | 23 |
shangpinxinxi表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | mingcheng | VarChar | 50 | 是 | 255 |
4 | leibie | VarChar | 50 | 是 | 255 |
5 | tupian | VarChar | 50 | 是 | 255 |
6 | beizhu | VarChar | 50 | 是 | 255 |
7 | addtime | DateTime | 8 | 是 | 23 |
8 | jiage | VarChar | 50 | 是 | 255 |
9 | kucun | Int | 4 | 是 | 10 |
baosunjilu表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | bianhao | VarChar | 50 | 是 | 255 |
3 | mingcheng | VarChar | 50 | 是 | 255 |
4 | sunhuaichengdu | VarChar | 50 | 是 | 255 |
5 | sunhuaishiyin | text | 是 | ||
6 | sunhuaishuliang | VarChar | 50 | 是 | 255 |
7 | caozuoren | VarChar | 50 | 是 | 255 |
8 | xingming | VarChar | 50 | 是 | 255 |
9 | addtime | datetime | 8 | 是 | 23 |
kaoqinjilu表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | gonghao | VarChar | 50 | 是 | 255 |
3 | xingming | VarChar | 50 | 是 | 255 |
4 | kaoqin | VarChar | 50 | 是 | 255 |
5 | riqi | VarChar | 50 | 是 | 255 |
6 | beizhu | VarChar | 50 | 是 | 255 |
7 | addtime | datetime | 8 | 是 | 23 |
yuangonggongzi表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | gonghao | VarChar | 50 | 是 | 255 |
3 | xingming | VarChar | 50 | 是 | 255 |
4 | nianfen | VarChar | 50 | 是 | 255 |
5 | yuefen | VarChar | 50 | 是 | 255 |
6 | gongzi | VarChar | 50 | 是 | 255 |
7 | beizhu | VarChar | 50 | 是 | 255 |
8 | addtime | datetime | 8 | 是 | 23 |
yuangongxinxi表
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 |
---|---|---|---|---|---|
1 | ID | Int | 4 | 自增编号 | 10 |
2 | gonghao | VarChar | 50 | 是 | 255 |
3 | xingming | VarChar | 50 | 是 | 255 |
4 | xingbie | VarChar | 50 | 是 | 255 |
5 | chushengnianyue | VarChar | 50 | 是 | 255 |
6 | dianhua | VarChar | 50 | 是 | 255 |
7 | youxiang | VarChar | 50 | 是 | 255 |
8 | addtime | datetime | 8 | 是 | 23 |
9 | jiguan | VarChar | 50 | 是 | 255 |
10 | zhaopian | VarChar | 50 | 是 | 255 |
11 | shenfenzheng | Text | 是 | ||
12 | mima | VarChar | 50 | 是 | 255 |
5 系统实现与编码
5.1 管理员角色模块实现
5.1.1 登录页面
登录页面用于管理员与员工的登录,管理员、员工输入账号,密码信息进行登录。登录成功自动转入主页面,失败则提示。登录主页面如图5.1所示,账号密码输入错误页面如图5.2所示,权限类型错误页面如图5.3所示。
登录主页面
管理员权限类型选择错误
账号密码输入错误
不同用户类型登录判断的设计的关键代码如下:
java
if(!RS_result.next())
{
out.print("<script>alert('你输入的用户不存在或密码错误,请重新登录!');window.history.go(-1);</script>");
}
else{
if(cx.equals("员工"))
{
session.setAttribute("username",uid);
session.setAttribute("cx","员工");
response.sendRedirect("main.jsp");
}
else
{
System.out.println(cx.trim());
System.out.println(RS_result.getString("cx").trim());
if(cx.trim().equals(RS_result.getString("cx").trim())){
session.setAttribute("username",uid);
session.setAttribute("cx",RS_result.getString("cx"));
response.sendRedirect("main.jsp");
}
else{
out.print("<script>alert('你输入的权限类型不符,请重新登录!');window.history.go(-1);</script>");
}
5.1.2 管理员首页页面
系统主界面简洁,最上方显示的是系统名称与当前登录用户及当前时间信息。紧接着左边为管理员操作业务导航,右边为显示信息。系统主页面如图5.4所示。
系统主页的业务导航关键代码如下:
java
function showsubmenu(sid)
{
whichEl = eval("submenu" + sid);
if (whichEl.style.display == "none")
{
eval("submenu" + sid + ".style.display=\"\";");
}
else
{
eval("submenu" + sid + ".style.display=\"none\";");
}
}
5.1.3 管理员用户管理
点击业务导航“系统设置”,下方显示出管理员用户管理功能条。修改管理员用户信息页面如图5.5所示,普通管理员无此权限如图5.6所示。
管理员用户管理
普通管理员无此权限
管理员用户管理关键代码如下:
java
if (request.getSession().getAttribute("cx").equals("超级管理员"))
{
}
else
{
out.print("<script>alert('对不起,您没有这个权限!!');history.back();</script>");
}
String username=request.getParameter("username");
String pwd=request.getParameter("pwd1");
ResultSet RS_result=connDbBean.executeQuery("select * from allusers where username='"+username+"'");
5.1.4 商品类别添加/查询/修改/删除
点击业务导航“商品信息管理”,下方显示出商品类别添加与查询功能条。添加商品类别页面如图5.7所示,商品类别查询修改删除如图5.8所示。
添加商品类别
商品类别查询修改删除
商品类型查询页面关键代码如下:
java
String sql="";
sql="select * from shangpinleibie where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and leibiemingcheng like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.5 商品信息添加/查询/修改/删除
点击业务导航“商品信息管理”,下方显示出商品信息添加与查询功能条。添加商品信息页面如图5.9所示,商品信息查询修改删除如图5.10所示。
添加商品信息
商品信息查询修改删除
商品信息添加上传关键代码如下:
java
var pop=new Popup({ contentType:1,isReloadOnClose:false,width:300,height:50});
pop.setContent("contentUrl","upload.jsp?Result="+tt);
pop.setContent("title","文件上传");
pop.build();
pop.show();
int file_size = myFile.getSize(); //取得文件的大小 (单位是b)
file_name=myFile.getFileName();
System.out.println("文件大小:"+file_size+"文件名称:"+file_name);
newFile1Name=new Date().getTime()+file_name.substring(file_name.indexOf("."));
System.out.println("新文件名称:"+newFile1Name);
String saveurl = request.getSession().getServletContext().getRealPath("upload");
saveurl = saveurl+"/"+newFile1Name;
myFile.saveAs(saveurl, mySmartUpload.SAVE_PHYSICAL);
5.1.6 供应商信息添加/查询/修改/删除
点击业务导航“供应商管理”,下方显示出供应商信息添加与查询功能条。添加供应商信息页面如图5.11所示,供应商信息查询修改删除如图5.12所示。
添加供应商页面
供应商查询修改删除页面
供应商查询关键代码如下:
java
sql="select * from gongyingshangxinxi where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and gongsimingcheng like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.7 入库记录信息添加/查询/修改/删除
点击业务导航“库存管理”,下方显示出入库记录添加与查询功能条。添加入库记录信息页面如图5.13所示,入库记录信息查询修改删除如图5.14所示。
添加入库记录
入库记录查询修改删除
入库记录关键代码如下:
java
sql="select * from rukujilu where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and mingcheng like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.8 出库记录信息添加/查询/修改/删除
点击业务导航“库存管理”,下方显示出出库记录添加与查询功能条。添加出库记录信息页面如图5.15所示,出库记录信息查询修改删除如图5.16所示。
添加出库记录
出库记录查询修改删除
出库记录关键代码如下:
java
sql="select * from chukujilu where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and mingcheng like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.9 库存查询
点击业务导航“库存管理”,下方显示出库存查询功能条。库存查询信息页面如图5.17所示。
库存查询关键代码如下:
java
$("#riqi").ligerDateEditor({format: "yyyy-MM-dd", width:133});
sql="select * from shangpinxinxi where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and mingcheng like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.10 利润查询
点击业务导航“库存管理”,下方显示出利润查询功能条。利润查询信息页面如图5.18所示。
利润查询关键代码如下:
java
sql="select * from rukujilu where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and mingcheng like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
5.1.11 客户添加/查询/修改/删除
点击业务导航“客户管理”,下方显示出客户添加与查询功能条。客户添加信息页面如图5.19所示。客户信息查询修改删除页面如图5.20所示。
客户添加
客户信息查询修改删除
客户信息关键代码如下:
java
sql="select * from kehuxinxi where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and bianhao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and xingming like '%"+new
5.1.12 个人资料管理
点击业务导航“个人资料管理”,下方显示出修改密码功能条。修改密码页面如图5.21所示。
修改密码关键代码如下:
java
if(pwd.equals(ymm))
{
String sql="update allusers set pwd='"+xmm1+"' where username='"+request.getSession().getAttribute("username")+"'";
connDbBean.executeUpdate(sql);
out.print("<script>alert('修改成功!!');window.history.go(-1);</script>");
}
else
{
out.print("<script>alert('对不起,您的原密码不正确,请重试!');window.history.go(-1);</script>");
}
5.1.13 员工信息添加/查询/修改/删除
点击业务导航“员工信息管理”,下方显示出员工信息添加与查询功能条。员工信息添加信息页面如图5.22所示。员工信息查询修改删除页面如图5.23所示。
员工信息添加
员工信息查询修改删除
员工信息关键代码如下:
java
$(function() {
$("#chushengnianyue").ligerDateEditor({format: "yyyy-MM-dd", width:133});
});
5.1.14 员工考勤添加/查询/修改/删除
点击业务导航“员工信息管理”,下方显示出员工考勤添加与查询功能条。员工考勤添加信息页面如图5.24所示。员工考勤查询修改删除页面如图5.25所示。
员工考勤信息添加
员工考勤信息查询修改删除
员工考勤关键代码如下:
java
sql="select * from kaoqinjilu where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and gonghao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and xingming like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
if(request.getParameter("kaoqin")=="" ||request.getParameter("kaoqin")==null )
{}
else
{
sql=sql+" and kaoqin like '%"+new String(request.getParameter("kaoqin").getBytes("8859_1"))+"%'";
}
sql=sql+" order by id desc";
5.1.15 员工工资添加/查询/修改/删除
点击业务导航“员工信息管理”,下方显示出员工工资添加与查询功能条。员工工资添加信息页面如图5.26所示。员工工资查询修改删除页面如图5.27所示。
员工工资添加
员工工资查询修改删除
员工工资关键代码如下:
java
sql="select * from yuangonggongzi where 1=1";
if(request.getParameter("bianhao")=="" ||request.getParameter("bianhao")==null )
{}
else
{
sql=sql+" and gonghao like '%"+new String(request.getParameter("bianhao").getBytes("8859_1"))+"%'";
}
if(request.getParameter("mingcheng")=="" ||request.getParameter("mingcheng")==null )
{}
else
{
sql=sql+" and xingming like '%"+new String(request.getParameter("mingcheng").getBytes("8859_1"))+"%'";
}
if(request.getParameter("nianfen")=="" ||request.getParameter("nianfen")==null )
5.1.16 退货记录添加/查询/修改/删除
点击业务导航“退货管理”,下方显示出退货记录添加与查询功能条。退货记录添加信息页面如图5.28所示。退货记录查询修改删除页面如图5.29所示。
退货记录添加
退货记录查询修改删除
退货记录关键代码如下:
java
int curpage=1;//当前页
int page_record=10;//每页显示的记录数
int zgs=0;
int zys=0;
//用下面的方法(sql查询完成,速度快)
String hsgnpage=request.getParameter("page");
String fysql="select count(id) as ss from baosunjilu";
ResultSet RS_resultfy=connDbBean.executeQuery(fysql);
5.1.17 数据备份
点击业务导航“系统管理”,下方显示出数据备份功能条。数据备份成功页面如图5.30所示。
数据备份关键代码如下:
java
System.out.println("开始.....");
String command = "c:\\mysqldump -uroot -proot jspspxsglqe> D:/jspspxsglqe.sql";
//mysqldump -h[host] -u[name] -p[pass] --opt[option] [database]>[path]
//我试过mysqldump -h 127.0.0.1 --opt test > c:/test.txt -u -p *** 这样虽然能通过,但是里面是没有代码的。
Runtime.getRuntime().exec("cmd /c "+command);
System.out.println("备份成功");
out.print("<script>alert('操作成功!!,您的数据库已成功备份于D:/jspspxsglqe.sql');location.href='sy.jsp';</script>");
5.2 员工模块实现
5.2.1 个人资料管理
点击业务导航“个人资料管理”,下方显示出个人资料管理功能条。个人资料管理页面如图5.31所示。
5.2.2 我的考勤
点击业务导航“我的考勤”,下方显示出我的考勤功能条。我的考勤页面如图5.32所示。
5.2.3 我的工资
点击业务导航“我的工资”,下方显示出我的工资功能条。我的工资页面如图5.32所示。
6 系统测试
6.1 界面测试
界面测试是系统测试中最基本的部分,主要包括以下两个方面的内容:
-
内容布局是否合理,系统界面是否美观,是否符合用户需求
-
页面在窗口中的显示是否正确,表单样式大小、格式是否合适
6.2 功能测试
登录账号密码校验测试页面如图6.1所示。
登录管理员权限测试页面如图6.2所示。
添加普通管理员用户名已存在测试页面如图6.3所示。
修改密码原密码输入错误测试页面如图6.4所示。
出库库存不足测试页面如图6.5所示。
Popup弹框图片上传成功并重命名测试页面如图6.6及6.7所示。
图片上传成功并重命名测试页面1
图片上传成功并重命名测试页面2
数据库数据备份成功测试页面如图6.8及6.9所示。
数据库数据备份成功测试1
数据库数据备份成功测试2
利润打印测试页面如图6.10所示。
7 总结
经过两个多月的努力,系统已经基本开发完毕。虽然本系统只是一个电子产品销售管理系统,但是也实现了许多基本功能,比如本系统能够实现管理员对公司产品的信息,供应商,入库,出库,客户,员工,数据等信息进行维护。员工可登录系统进行查询个人信息,考勤,工资等信息。但是毕竟个人能力有限,系统仍然存在许多不完善的地方,比如功能实现不够全面,用户界面不太美观等,仍都有待改进提高。在整个毕业设计的过程中,我又重新回顾了Web等相关方面的知识,进一步了解了需求分析的重要性;丰富了我软件开发的经验,加深了我对书本知识的掌握程度,同时也学到了许多新的知识。
随着互联网技术的不断发展,生活必将和Web越来越紧密的联系起来。电子产品销售管理系统是新时代的产物,同时也是互联网技术高速发展的有力证据,以后的发展也必将更加趋于完美。
参考文献
[1] 刮代玉.房地产销售管理系统设计与实现[D].成都:电子科技大学,2014.
[2] 刘鹏.中铁二局房地产楼盘销售管理系统的设计与实现[D]. 成都:电子科技大学,2015.
[3] 林莹.某公司信息管理之销售管理系统的设计与实现[D]. 成都:电子科技大学,2014.
[4] 余强.基于B/S的房屋中介系统的设计与实现[D]. 成都:电子科技大学,2014.
[5] 宗良平.基于JavaEE构架的房产公司销售管理系统设计与实现[D].成都:电子科技大学,2014.
[6] 赵卓媛.房屋销售管理信息系统[D].长春:吉林大学,2014.
[7] 姜萍.基于MySqlServer的房地产销售管理系统设计与开发[D].长春:吉林大学,2014.
[8] 刘伟.楼盘销售管理系统的设计与实现[D]. 长春:吉林大学,2014.
[9] 孙德忠,徐鸣.新时期房地产管理系统应用与研究[J].信息与电脑(理论版),2016,01:51-52.
[10] 成琳.不动产登记与房屋交易管理[J].中国房地产,2015,31:33-35.
[11] 周俊男.房地产销售管理系统的设计与实现分析[J/OL].电脑知识与技术,2016(06).http://www.cnki.net/kcms/detail/10.14004/j.cnki.ckt.2016.0687.html
[12] 张雨.房屋销售管理信息系统之探微[J].科技风,2015,02:258-259.
[13] 刘世杰.中小型房地产企业销售管理系统的设计和实现[D].兰州:兰州大学,2013.
[14] 蔡海杰.移动售楼系统的设计与实现[D]. 长春:吉林大学,2014.
[15] 刘喆.基于Web的三维立体可视化房地产销售管理信息系统[D].天津:天津大学,2014.
[16] 史肖杏.基于ADDIE模式的企业快速网络课程研究[D].上海:上海外国语大学,2014.
参考文献
- 网上购物模拟系统(吉林大学·郭秋野)
- 基于JSP的雄霸天下游戏网的后台操作系统的开发设计(电子科技大学·张璇)
- 基于JSP平台的汽车网站的研究与开发(中国海洋大学·盛锦玉)
- 基于Web产品销售管理系统的设计与实现(电子科技大学·应圣伟)
- 福利彩票业务监控系统的设计与实现(中国科学院大学(工程管理与信息技术学院)·刘晖)
- 某银行电子商业汇票系统的设计与实现(吉林大学·梁凯)
- 旅游景点网上售票系统的设计与实现(电子科技大学·庞勃)
- 彩购网电子商务系统的设计与开发(东华大学·宋汉征)
- 福彩网上信息管理系统的设计与实现(西安电子科技大学·李百星)
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 用JSP技术开发基于WEB的房地产网络管理信息系统(大连理工大学·齐鲲鹏)
- 基于.NET的销售管理系统的设计与实现(大连理工大学·付淑娟)
- 基于JSP的雄霸天下游戏网的后台操作系统的开发设计(电子科技大学·张璇)
- 福利彩票业务监控系统的设计与实现(中国科学院大学(工程管理与信息技术学院)·刘晖)
- 彩票投注平台的设计与实现(上海交通大学·侯清沁)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码工坊 ,原文地址:https://bishedaima.com/yuanma/35226.html