




免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基于 Java 的室内装修管理系统 学生姓名:段鹦鹉 指导教师:张宁 摘要:系统基于 JSP、HTML、Mysql、Servlet 等技术,采用 MVC 分层设计模式编写应用程序。 系统使用 Mysql 创建 4 张数据表,分别保存用户,材料,订单,订单细节信息。系统分为业务员和 管理员两种用户。业务员实现的功能有:对客户基本信息的增、删、改、查操作;订单的制作、查 询操作。管理员除了实现业务员的功能外还实现对材料信息的材料增、删、改、查操作。系统可以 随时更新剩余材料的数量,制作订单时可以动态计算客户的总费用。相对于传统的办公模式,本系 统的开发应用能够提高公司的运营效率,带来良好的经济效益,提高公司的科学管理水平。 关键词: JSP HTML Mysql Servlet 室内装修管理 1 前言 1.1 选题背景 计算机的出现给人们的日常生活带来了极大的方便,人们的日常办公也逐渐实现无纸化,电子化。 办公电子化提高了办公效率,节约了劳动力,减少了生产成本,改变了公司的管理模式,使公司的管 理更加快捷,更加科学。近年来,随着我国经济的高速发展,人们的生活水平日益提高,室内装修的 需求也急剧增长。传统的客户业务员面对面笔纸交流,业务员翻阅账本进行库存材料查询已经满足不 了当前的市场需求。为了适应新形势的发展,开发一个室内装修综合管理系统就显得十分必要。此系 统一方面可以对公司现有的材料进行管理,更重要的一方面是可以高效的为客户提供优质的服务,即 节省了业务员的时间,也节省了客户的时间。在这里我进行了这一系统的初步设计工作,希望在不久 的将来它能够运用到实际当中,进而发挥其高效,快捷,安全的作用。 2 系统设计 2.1 方案论证 该管理系统主要采用 JSP、HTML 语言、Mysql 数据库、Servlet 等技术,采用 MVC 分层设计模式, 整体设计遵循软件工程的方法,经过需求分析、功能模块划分、数据库设计、页面设计和系统实现等 几个阶段。下面就本系统所用到得技术做一个简要介绍。 (1) Servlet 技术介绍 Servlet(Server Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端 程序。Servlet 运行于支持 Java 的应用服务器中。从实现上讲, Servlet 可以响应任何类型的 请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。 (2) JSP 技术介绍 Jsp 技术实际上是在标准的 HTML 文件中嵌入 Java 代码。 2 (3)Mysql 的介绍 Mysql 是一个小型关系型数据库管理系统,开发者为瑞典Mysql AB 公司。目前 Mysql 被广 泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放 源码这一特点。 Mysql 数据库的特点: 使用 C 和 C+编写,并使用了多种 编译器进行测试,保证源代码的可移植性。 支持多线程,充分利用 CPU 资源。 优化的 SQL 查询算法,有效地提高查询速度。 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌 入到其他的软件中提供多语言支持。 2.2 需求分析 根据装修管理的基本要求,室内装修管理系统需要完成以下任务。 (1)本系统有管理员和业务员两种不同的用户,不同的用户身份拥有不同的功能。管理员拥有本 系统所能实现的所有功能,包括对材料的,客户的以及客户订单的综合管理。业务员拥有本系统的部 分权限,只能对客户及客户订单进行管理,对数据库中所有的材料进行查询操作,不能对材料信息进 行添加、修改等操作。 (2)首先管理员要把所有的材料的基本信息添加到数据库当中,基本信息包括材料的类别、品牌、 单价及数量。添加成功后管理员可以对材料的基本信息进行查询、修改及删除操作,业务员只能对材 料信息进行查询。 (3)给客户提供服务的主要是业务员,在提供服务前,业务员需要先记录客户的基本信息,包括 客户的姓名、联系方式、家庭住址及房子大小,添加客户记录成功后,可以对客户信息进行查询、修 改、删除操作。管理员也拥有此权限。 (4)客户服务是本系统的核心,此功能模块也主要有业务员实现。客户服务需要实现的是:为某 个指定的客户提供装修选材的工作服务,包括选择材料的种类、数量、所选所有材料的费用并生生一 张报表,并可以对生成的订单进行查看、修改、删除操作。管理员也拥有该权限。 2.3 可行性分析 可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系的开 发从技术、经济、社会的方面进行分析和研究,该系统的可行性分析包括以下几个方面的内容。 (1)经济可行性 目前公司采用纯人工方式完成业务,进行客户订单制作,对数据进行综合分析等,所以耗时多, 且效率比较低。目前公司人员每天的工资成本为,元。这还不算因效率低下而给公司带来的经济损 失,如果把这一部分也看做成本,那将远超出目前的计算数额。而如果开发出一个能满足业务要求的 室内装修管理系统,共需人工成本元,各种软硬件成本元,日常维护费用元,共计成本费用 元。同样,我们也无法估算出由于系统的开发应用使公司运营效率提高而带来的经济效益。由此可见, 开发此系统在经济上是完全可行的。而且,由于系统能在未来较长的一段时期内稳定地发挥作用,这 对于公司提高管理水平有很大的帮助。 (2)技术上的可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要 等。该管理系统采用了当前新兴的 B/S 模式进行开发,结合了 Jsp 技术。数据库选用 Mysql 数据库, 3 它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用 性为数据库编程提供了良好的条件。本系统开发所应用的软件在实际的开发当中已经被大量的应用, 技术上都比较成熟,因此开发本系统在技术上是可行的。 (3)操作上的可行性 在这之前公司的员工未使用过类似的室内装修管理系统,但是 Windows 系统拥有友好的操作界面, 公司员工在系统实施人员的帮助下,能够很快的掌握系统的使用方法。另外,系统可以附带详细的 “用户操作说明书” 。同时,在开发过程中,我们还可以尽量给用户以方便,考虑到用户需求的实际情 况,帮助用户尽快掌握本系统的使用方法。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系 统的开发是完全可行的。 2.4 系统模块分析 用户进入本系统前,需要通过选择相应的角色登录,如果用户选择了不匹配的角色,将禁止进入 该系统。室内装修管理系统共分为 2 个大的模块,分别为:业务员模块和管理模块。业务员模块包括 4 个子模块,分别为:查询客户、添加客户、管理客户和客户服务。管理员模块包括 3 个子模块,分 别为:显示材料、添加材料和管理材料。如果用户要退出系统,点击“退出”即可。 系统模块的结构图: 2.5 系统流程图 室内专修管理系统 登录模块 注册模块 业务员模块 管理员模块 业务员登录 管理员登录 业务员注册 管理员注册 查询客户 管理客户 添加客户 客户服务 查询材料 添加材料 管理材料 查询材料 修改材料 单个查询 总体查询 订单查看 删除材料 添加订单 订单查询 图 1 系统模块结构图 4 2.6 功能设计 业务员注册 是否业务员 开始 是否用户 是否管理员员 注册 管理员注册 管理员登陆 录入材料信息 查询修改删除材料信息 查询修改删除客户信息 添加客户信息 添加订单 查看订单 退出 业务员登陆 查询材料信息 是 否 否 是 是 否 图 2 系统流程图 5 (1)注册模块 用户在登录使用本系统前,需要先进行注册。本系统由于存在两种不用身份的用户,所以针对业 务员和管理员两种不同身份的人分别设计不同的注册界面。 (2)登录模块 此模块实现不同身份的用户进入系统前,只有输入正确的用户名和密码并选择正确的角色才能够 进入系统进行各种操作。否则系统将提示“输入的用户名或密码错误”或者“所选角色错误” 。当用户 输入正确的用户名、密码并选择正确的身份时,点击登录,将跳转到与用户身份相对应的界面。 (3)业务员模块 此模块为业务员用户登录到的界面,该模块实现对公司现有材料的查询,对客户信息进行记录、 查询、修改、删除,并为客户提供服务。服务的内容为按照客户的意愿选择客户所需的专修材料,包 括材料的名称、数量、价格等信息并最终生成一张客户订单。业务员对生成到订单有查看、删除的权 限。 (4)管理员模块 此模块为管理员身份的用户登录到的界面。管理员除了拥有业务员的所有的权限外,还拥有对材 料的信息进行录入、修改的权限。 3 数据库的设计 本系统使用 MySQL 数据库,它完全能够满足系统的需求。且 MySQL 数据库具有良好的夸平台性, 所以该系统可以在 Windows 或者 Linux 平台下使用。 3.1 数据库的 E-R 图 (1)业务员模块 E-R 图 (2)管理员模块 E-R 图 n n 1 n 1 1 1 业务员 用户名 密码 用户角色 用户编号 管理 制作 订单 编号 订单 生成 日期 订单 明细订单 状态 订单 客户 用户名 用户角色 性别 用户编号 联系电话 家庭住址 选择 图 3 业务员模块 E-R 图 6 管理员由于拥有业务员所有的权限,所以管理员 E-R 图包含业务员 E-R 图的所有关系。此外管理 员还拥有对材料的管理关系。以下为管理员和材料之间的关系: 3.2 数据库表设计 为了满足系统需要,本例共建立了 4 个数据表,分别是人员信息表(t_user) 、材料信息表 (t_goods) 、订单表(t_order) 、订单明细表(t_item)。下面是对各个数据表的结构及相关信息的 说明。 (1)人员信息表(t_user) 人员信息表(t_user)主要存储业务员、管理员与客户的基本信息,其机构如表 3-1 所示。 表 3-1 人员信息表 字段名数据类型长度描述 IdBigint20 人员编号(主键) UsernameVarchar20 用户名 userPasswordVarchar20 密码 SexVarchar20 性别 TelephoneVarchar20 联系方式 AddressVarchar100 地址 sysRoleVarchar30 系统角色 (2)材料信息表(t_goods) 材料信息表(t_goods)用来存放管理员录入的材料的基本信息,如:类别,品牌,数量及单价, 客户 用户名 用户角色 性别 用户编号 联系电话 家庭住址 管理员 用户名 密码 用户角色 用户编号 1 管理 n 1 图 4 管理员模块 E-R 图 7 其结构表如 3-2 所示。 表 3-2 材料信息表 字段名数据类型长度描述 IdBigint20 材料编号(主键) GoodstypeVarchar20 材料种类 BrandVarchar20 材料品牌 PriceDouble 材料单价 goodscountInt11 材料数量 (3)订单表(t_order) 订单表用来存放业务员为客户选择的材料信息,即生成的客户订单信息。包括订单号、用户 id、 总金额 、订单产生日期、订单状态(失效 正常)、备注。其结构表如 3-3 所示。 表 3-3 订单表 字段名数据类型长度描述 Idbigint20 订单号(主键) UseridBigint20 用户 ID TotalmoneyDouble 总金额 OrdertimeTimestamp 订单产生日期 StatusVarchar20 订单状态 remarkesText 备注 (4)订单明细表(t_item) 订单明细表(t_item)用来存放客户订单的一些信息,包括:数据库编号,订单号,材料编号, 数量。其结构如表 3-4 所示。 表 3-4 订单明细表 字段名数据类型长度描述 IdBigint20 编号(主键) OrderidBigint20 订单号 GoodsidBigint20 材料编号 countsint11 数量 3.3 表之间的关系 人员信息表 t_user 的主键 ID(人员编号)为订单表 t_order 的 Userid(用户 ID)外键。订单表 t_order 的主键 Id(订单号)为订单明细表 t_item 的 Orderid(订单号)的外键。 4 系统功能详细设计 8 4.1 系统总体设计 系统采用MVC分层设计模式,MVC把应用程序分成3个模块:模型,视图和控制器。其中模型是应用 程序的核心功能,负责处理用户的数据,实现业务逻辑;视图主要指与用户交互的界面,即应用程序 的外观,同时视图还负责展现模型传递给用户的数据,当后台模型更新数据库时,视图也应当随之更 新它的显示,系统中查询,修改,添加订单等多处操作使用视图进行更新显示操作;控制器负责接收 用户的请求和数据,接着它会判断将请求和数据交由哪一个模型来处理,最后调用视图来显示模型返 回的数据。 在一次程序的运行过程中,首先是视图和用户打交道,它接收来自用户的数据和请求,并将它发 往控制器。控制器接收到了用户的请求,对请求进行判断,并选择合适的业务处理模块来完成用户请 求。当请求处理完成以后,模型通知控制器,并选择合适的视图来向用户呈现处理结果。 本系统MVC具体实现思想:View+Action+Dao。各层使用到得技术分别为:View用到的技术有 jsp、javascript、css;Action层主要用到servlet;Dao主要用到factory思想、dao思想、 jdbc、sql。 系统多处都用到数据库的连接,所以编写一个数据库工具类DBUtil.java,来封装对数据库的连接 操作,系统采用两种连接选择:tomcat的dbcp连接池和本地数据库。数据库访问完毕以后,要及时关 闭,关闭数据库调用DBUtil.java类中的closeAll方法。以下为tomcat的dbcp连接池的部分代码: public static Connection getTomcatConnection() Context context; try context = new InitialContext(); DataSource ds=(DataSource)context.lookup (java:comp/env/jdbc/mysql);/ 连接数据库 Connection con=ds.getConnection(); return con; catch (Exception e) e.printStackTrace(); return null; 4.2 过滤器设计 用户如果不登陆就无法进入系统,编写一个SysFilter类,该类实现接口Filter。该类相当于一个 过滤器,该过滤器主要负责:检查用户是否登陆,如果用户没有登陆转到登陆页面;字符编码的设置。 其主要代码如下: public class SysFilter implements Filter public void destroy() System.out.println(filter destroy .); 9 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)res; request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8); System.out.println(doFilter); if(request.getServletPath().equals(/login.action) | request.getServletPath().equals(/loginout.action) chain.doFilter(request, response); else if(HttpServletRequest)request).getSession().getAttribute(user)=null) System.out.println(you are not login); (HttpServletResponse)response).sendRedirect(request.getContextPath()+/index.j sp); else chain.doFilter(request, response); public void init(FilterConfig arg0) throws ServletException System.out.println(filter init .); 4.3 登录、注册模块的设计 if(login.equals(action)/login login(request, response, basePath); return; if(logout.equals(action)/login loginout(request, response, basePath); return; private void login(HttpServletRequest request, HttpServletResponse response, String basePath) throws ServletException, IOException /txtloginName txtpassword userType String username=request.getParameter(txtloginName); String password=request.getParameter(txtpassword); 10 String userType=request.getParameter(userType); System.out.println(username+t+password+t+userType); UserDao userdao=new UserDao(); User user=userdao.getUserByUserNameAndPassword(username, password); System.out.println(user); if(user=null) System.out.println(用户名和密码错误!); /转发至原页面 request.setAttribute(txtloginName, username); request.setAttribute(userType,userType); request.setAttribute(message, 用户名和密码错误!); request.getRequestDispatcher(/index.jsp).forward(request, response); return; else if(User.MANAGER.equals(userType) request.getSession().setAttribute(user, user); System.out.println(basePath+/index2.jsp); response.sendRedirect(basePath+/index2.jsp); return; else if(User.SALESMAN.equals(userType) request.getSession().setAttribute(user, user); response.sendRedirect(basePath+/index1.jsp); return; else /角色错误 转发至原页面 System.out.println(角色错误); request.setAttribute(txtloginName, username); request.setAttribute(userType,userType); request.setAttribute(message, 角色错误!); request.getRequestDispatcher(/index.jsp).forward(request, response); return; 注册模块设计 11 if(chooseRegist.equals(action) /选择客户请求 String sysRole=request.getParameter(sysRole); /得到页面信息 String page=null; if(M.equals(sysRole) /如果选择业务员跳转到czhuc.jsp页面 page=/czhuc.jsp; else if(S.equals(sysRole) page=/yzhuc.jsp; response.sendRedirect(basePath+page); return; if(addMS.equals(action) /注册请求 String username=request.getParameter(username); String password=request.getParameter(password); String sysRole=request.getParameter(sysRole); UserDao dao=new UserDao(); User user=new User(); /添加注册信息到数据库 user.setUserName(username); user.setUserPassword(password); user.setSysRole(sysRole); user.setManagerid(0L); dao.addUser(user); request.setAttribute(message, 注册成功!登陆); request.getRequestDispatcher(/message.jsp).forward(request, response); return; 4.4 系统的添加、修改、删除客户和材料信息的设计 实现本系统为了简单和实现方便,总体编写一个Servlet类CenterAction,该类负责接收来自页 面的所有动态请求并且做出响应。用户登录调用login方法。添加用户操作时,先编写一个JSP页面, 输入相应的参数,调用Servlet类中的addUser方法,同理修改调用updateUser方法,删除调用 deleteUser方法,查询调用serchUser方法(输入用户编号进行单个查询和不输入任何信息进行全部信 息查询调用的方法相同)。类GoodsDao.java,类OrderDao.java,类UserDao.java分别负责为数据库 对材料信息,订单信息,用户信息进行增删改查。对用户信息的操作和对材料信息的操作调用方法类 似。下面简单介绍添加用户的addUser方法: private void addUser (HttpServletRequest request, HttpServletResponse response, String basePath) throws ServletException, IOException /从页面接收输入的数据 12 String realName=request.getParameter(realName); String sex=request.getParameter(sex); String telephone=request.getParameter(telephone); String address=request.getParameter(address); String hosesize=request.getParameter(hosesize); String sysRole=request.getParameter(sysRole); Long managerid=(User)request.getSession().getAttribute(user).getID(); UserDao dao=new UserDao(); /创建一个UserDao类对象dao. User user=new User(); user.setRealName(realName);/输入的信息保存到数据库中 user.setSex(sex); user.setHosesize(hosesize); user.setTelephone(telephone); user.setAddress(address); user.setManagerid(managerid); user.setSysRole(sysRole); dao.addUser(user); Long id=dao.getUser(realName).getID(); /得到注册编号并显示出来 request.setAttribute(message, 添加成功!客户编号为+id); request.getRequestDispatcher(/message.jsp).forward(request, response); return; 查询材料方法: public List queryGoods(QueryGoodsCondition qgc) Connection con=null; PreparedStatement st=null; ResultSet rs=null; List gs=new ArrayList(); String sql=select id,goodstype,brand,price,goodscount from t_goods where goodstype like ?; /查询的sql语句 try con=DBUtil.getConnection(); /连接数据库 st=con.prepareStatement(sql); if(qgc.getGoodstype()=null) st.setString(1,%); else st.setString(1,%+qgc.getGoodstype()+%); rs=st.executeQuery(); /查询结果 while(rs.next() /查询结果不为空,显示查询结果 Goods g=new Goods(); g.setId(rs.getLong(1); 13 g.setGoodstype(rs.getString(2); g.setBrand(rs.getString(3); g.setPrice(rs.getDouble(4); g.setGoodscount(rs.getInt(5); gs.add(g); catch (Exception e) e.printStackTrace(); throw new SysException(get goods fail); finally DBUtil.closeAll(con, st, rs); /关闭数据库 return gs; 4.5 客户服务模块 本模块实现的查询,删除,修改客户订单信息的原理同(3)中介绍过的原理相同。添加订单部 分,调用Servle类中的addOrder方法。 private void addOrder(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException String useridstr=request.getParameter(userid); /获得输入的用户编号 Long userid=Long.parseLong(useridstr); Order order=new Order(); /创建一个 order对象 order.setUserid(userid); Double totalmoney=0.0; Enumeration names=request.getParameterNames(); while(names.hasMoreElements() String name=names.nextElement(); String value=request.getParameter(name); System.out.println(name+=+value); if(on.equals(value) /页面请求,显示材料信息 Long goodsid=Long.parseLong(name); Integer count=Integer.parseInt(request.getParameter(count_+name); Double price=Double.parseDouble(request.getParameter(price_+name); Item item=new Item(goodsid,count); /jiaru order order.getItems().add(item); totalmoney=totalmoney+count*price; 14 order.setTotalmoney(totalmoney); /计算总金额 order.setOrdertime(new Timestamp(new Date().getTime(); /获得订单生成时间 System.out.println(servlet:order+order); /输出订单 OrderDao dao=new OrderDao(); Long orderid=dao.addOrder(order); order=dao.getOrder(orderid); request.setAttribute(order, order); request.getRequestDispatcher(/showOrder.jsp).forward(request, response); return; private void (HttpServletRequest request, HttpServletResponse response, String basePath) throws ServletException, IOException String id_str=request.getParameter(id); String goodstype=request.getParameter(goodstype); String brand=request.getParameter(brand); String pirce_str=request.getParameter(price); String goodscount_str=request.getParameter(goodscount); try Long id=Long.parseLong(id_str); Double price=Double.parseDouble(pirce_str.trim(); Integer goodscount=Integer.parseInt(goodscount_str.trim(); GoodsDao dao=new GoodsDao(); dao.updateGoods(new Goods(id,goodstype, brand, price, goodscount); request.setAttribute(message, 修改成功!); request.getRequestDispatcher(/message.jsp).forward(request, response); return; catch (Exception e) e.printStackTrace(); request.setAttribute(message, 修改失败!失败原因:+e.getMessage(); request.getRequestDispatcher(/message.jsp).forward(request, response); return; 5 系统测试 5.1 登录页面 15 用户在进入系统之前,首先需打开登录页面index.jsp。 用户需要在用户名,密码文本框中输入密码并选择相应的系统角色后,单击“登录”按钮,首先 系统会检测输入的用户名和密码是否为空,若用户没有输入用户名或密码,系统会弹出提示对话框提 示用户输入用户名和密码并选择角色。 输入用户名和密码并选择角色后,单击“登录”按钮,系统会根据用户输入的信息进行判断。若 用户信息与数据库中保存的信息不符,系统将会给出如图3提示信息,若用户填写的用户名和密码正确 但选择的角色错误系统给出的提示信息为“角色错误,实现效果系统提示“用户名和密码错误”类似。 如果想重新输入信息,单击“重置”按钮。 图5 5.2 注册页面设计 本系统包括两种不同身份的用户注册,分别为业务员身份和管理员身份。不同的用户身份注册对 应于不同的界面。点击首页面的“注册”按钮,首先跳转到选择用户身份进行注册界面,为图 4。只 有选择相应的身份后才能够进行注册。 图 6 业务员注册界面: 如果用户选择注册的用户类型为业务员,点击“下一步”按钮,将会跳转到业务员注册页面 yzhuc.jap。用户再输入注册的用户名和密码后,点击“注册” ,系统会把用户填写的用户名和密码保 存到数据库的 t_user 表中,若想重新输入注册信息,点击“清空”按钮,注册成功后,系统将会给出 提示,如图 5,点击后面的“登录”将会跳转到首页面 index.jsp。管理员注册界面中选择用户类型为 16 管理员,其他的与业务员注册界面类似,这里将不再介绍。 图 7 5.3 业务员主页面设计 (1)主页面 主页面是用户通过身份验证后进入的页面,主页面分为业务员主页面和管理员主页面。两个主页 面得设计模式类似,都是采用上方固定,左侧嵌套的框架即进行布局。业务员主页面为 index1.jsp(管理员主页面为 index2.jsp)的上方为 top.jsp(top2.jsp) ,左侧为 left.jsp(left2.jsp) ,中间为 main.jsp(main2.jsp) ,所对应的框架分别为 topFrame,leftFrame,mainFrame。 左侧为菜单栏,菜单栏所对应的链接在 mainFrame 框架中打开。 主页面的实现效果为图 6。 图 8 (2)添加客户 添加客户是业务员对客户进行管理的第一步。只有把客户的信息添加到系统数据库,业务员才能 对客户信息进行一系列的查询、修改和删除,才能通过客户服务为客户提供必须的室内装修选材,并 形成预算的服务。添加客户时分别在对应的文本框中输入客户的用户名、联系方式、家庭住址、房子 大小并选择客户的性别,效果图如 7。添加客户成功后,系统将会自动生成客户编号,如图 8 客户编 号非常重要,当业务员为客户提供服务时,唯一的识别用户的方法就是通过输入用户编号。 17 图 9 图 10 (3)查询客户 查询客户界面与管理客户界面类似,只是少了修改信息的功能。在客户编号中输入用户编号点击 查询,可以查询出对应的客户的信息,包括客户基本信息,客户的订单详细状况等。若不输入用户编 号,直接点击查询按钮,将会查询到所有用户的信息,如图 9。 图 11 (4) 管理客户 管理客户实现的功能为:业务员既可以通过输入客户的编号查询单个的客户也可以通过不输入任 何数据查询所有的客户,并且可以对查询到得客户进行修改和删除操作。如图 10 为不输入任何信息, 直接点击“查询”按钮的效果,11 为查询到用户信息以后点击右边的“删除”或“修改”的提示,点 击“确定”后,系统将会跳转到修改用户信息界面,修改界面与添加界面类似。查询客户界面与管理 18 客户界面类似这里就不做介绍。 图 12 图 13 (5) 客户服务 此模块为本系统的核心,菜单栏中选择“客户服务” ,将会显示客户服务的界面,如图 4-3-6。 若想为一个新增的用户添加订单信息,可点击图 12 页面上的“添加订单”此时页面会跳转到为用户添 加订单页面,如图 13。为用户添加订单服务时,首先在用户编号对应的文本框中输入该用户的编号, 选中用户所需要的材料并填写所需材料的数量,系统将会根据材料的单价、数量、种类数量进行总价 格的计算。所选材料的数量要小于库存数量,库存材料的剩余量会根据原有数量减去用户所选数量进 行动态的计算。点击提交按钮后,系统会跳转到生成的订单页面,订单页面包括订单编号、用户编号、 总金额、生成时间、订单状态以及材料明细等信息。效果图如:14 19 图 14 图 15 图 16 5.4 管理员主页面设计 管理员拥有业务员所有的功能权限,所以业务员主界面有的信息管理员界面也都有,相同的部分 这里就不再介绍。相比业务员,管理员还有对材料信息管理的权限。首先管理员需要把公司所有的材 料信息都录入的数据库当中,这样业务员的一系列的工作才能展开。本系统添加的材料信息比较的简 单,实际的应用当中可视情况再增加材料的基本信息。添加材料界面与业务员添加客户界面类似。管 理员在添加材料之后可以对数据库中所有的材料进行查询、修改、删除操作,其具体的操作界面与实 现原理同业务员对客户信息的查询、修改、删除操作类似。由于对材料信息的管理工作与前面介绍过 20 的对客户信息的管理工作类似,这里将给出初始登录时的页面效果,如图:15。 图 17 6 结束语 本系统现阶段完成了系统的规划和各功能模块的页面设计,在功能上实现了对客户的综合管理和 对公司材料的综合管理。因技术不成熟、缺乏实战经验等关系,本系统还有许多需要完善的地方,比 如能够各业务员只能查询到自己名下的客户,添加材料时能够添加相应的图片、材料说明等,系统的 安全性也需要考虑。各个功能模块尽可能的达到企业的要求,使系统能真正成为一个供公司使用并进 行科学化管理的平台。此外,在页面设计方面比较的简单,在以后的设计过程中还需要改进。 【参考文献】: 1 戴志诚 赵国峰 JSP 信息化系统建设案例 人民邮电出版社 2006.12 2 良葛格 Java 学习笔记 清华大学出版社 2006.8 3 Douglas A.lyon 著朱剑平、汪青青译 Java for Programmers Java 程序员指南 清华大学出版 社 2005.8 4 王晓悦 精通 Java-JDK 数据库系统开发 web 开发 人民邮电出版社 2007.2 5 张洪伟 Tomcat web 开发与整合 清华大学出版社 2006.2 6 (美)Y.Daniel Liang 著王镁等译 Java 语言程序设计基础篇 机械工业出版社 2006.8 7 萨师煊 王珊 数据库系统概论 高等教育出版社 2007.3 8 牛向华等 Velocity 与 JSP 技术在 portlet 开发中的研究及对比分析J 刊名:微计算机信 息 卷号:2005 年 10 月 3 日 162 期 164.卷 9 (美)Mary Campione,Kathy Walrath,Alison Huml Java 语言导学(英文版,第 3 版) 机械工业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学英语能力测试试题及答案
- 2025年粮食安全与农业发展考试试题及答案
- 2025年国家安全法相关知识测试卷及答案
- 2025年公共英语等级考试试卷及答案
- 2025年供应链金融理论与实践考试试题及答案
- 物资管理计划管理制度
- 物资验收安全管理制度
- 特殊员工工时管理制度
- 特殊学生安全管理制度
- 特殊气体存放管理制度
- 地理-2025年中考终极押题猜想(全国卷)
- 2024年广东省新会市事业单位公开招聘辅警考试题带答案分析
- 广安2025年上半年广安市岳池县“小平故里英才”引进急需紧缺专业人才笔试历年参考题库附带答案详解
- 派特灵用于女性下生殖道人乳头瘤病毒感染及相关疾病专家共识(2025年版)解读
- 数字化转型背景下制造业产业链协同创新机制研究
- 贵州大学语文试题及答案
- 公司主体变更劳动合同补充协议7篇
- 早产儿经口喂养临床实践专家共识(2025)解读
- 汽车快修连锁加盟商业计划书
- DB33T 1376-2024乡镇(街道)应急消防管理站建设与运行规范
- 2025年粮油仓储管理员(高级)职业技能鉴定参考试题库(含答案)
评论
0/150
提交评论