您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页企业办公管理系统

企业办公管理系统

来源:帮我找美食网


哈尔滨师范大学

课程名称:

任课教师: 题 目: 姓 名: 学 号: 学 院: 系 别:

目 录

第一章 系统开发背景概述 ............................................................................................................. 1

1.1、系统开发背景 .................................................................................................................. 1 1.2、系统开发工具 .................................................................................................................. 1

1.1.1、Eclipse Mars.1 Release (4.5.1) ............................................................................... 1 1.1.2、MySQL5.0 .............................................................................................................. 1 1.1.3、JavaScript............................................................................................................... 2 1.1.4、CSS ......................................................................................................................... 2 1.1.5、JQuery ................................................................................................................... 2 1.1.6、JQuery EasyUI ........................................................................................................ 2 1.1.7、Jetty ....................................................................................................................... 2

第二章 总体规划 ............................................................................................................................. 2

2.1、系统需求分析 .................................................................................................................. 2

2.1.1、 管理员(领导) .................................................................................................. 3 2.1.2、普通用户(员工) .............................................................................................. 3 2.2、系统可行性分析 ............................................................................................................. 3

2.2.1、社会可行性分析 ................................................................................................... 3 2.2.2、技术可行性分析 .................................................................................................. 3 2.2.3、经济可行性分析 .................................................................................................. 3 2.3、系统设计目标与设计思想 .............................................................................................. 4

2.3.1、系统设计目标 ....................................................................................................... 4 2.3.2、开发设计思想 ....................................................................................................... 4

第三章 系统分析 ............................................................................................................................. 4

3.1、组织机构分析 .................................................................................................................. 4 3.2、数据流程分析 .................................................................................................................. 5 第四章 系统分析与设计 ................................................................................................................. 5

4.1、管理信息系统的总体架构设计 ...................................................................................... 6 4.2、管理信息系统基础设施的设计与选择 .......................................................................... 6 4.4、数据库设计 ...................................................................................................................... 7

4.4.1、管理员表(领导) ............................................................................................... 7 4.4.2、用户表(员工) ................................................................................................... 7 4.4.3、部门表 ................................................................................................................... 8 4.4.4、公告表 ................................................................................................................... 8 4.4.5、请假表 ................................................................................................................... 8 4.4.6、考勤表 ................................................................................................................... 8 4.5、创建数据库SQL语句 ..................................................................................................... 9 4.6、代码设计 ........................................................................................................................ 11

4.6.1、程序结构展示 ..................................................................................................... 11 4.6.2、部分代码展示 ..................................................................................................... 12 4.7、IPO设计(输入、处理、输出) ................................................................................. 23

4.7.1、输入输出界面设计结果 ..................................................................................... 23 4.7.2、处理描述 ............................................................................................................. 31

第五章 总结和体会 ....................................................................................................................... 33

第一章 系统开发背景概述

1.1、系统开发背景

由于企业规模进一步扩大,企业信息的管理也变得越来越复杂。为此,切实有效的把企业信息管理系统引入企业管理领域中,对于促进企业管理制度和提高企业质量有着显着意义。

Internet的发展使我们的企业越来越现代化,现在网上企业信息管理是我们现在企业管理中的一个热点。现在,员工跟公司的之间的信息传播只在一指之间。目前国家的企业管理也正处在不断改革、创新的阶段,我国的工商部门充分吸取国外优秀的管理模式,结合国内多年的企业管理经验,逐步探索出适合中国特色的企业管理形式。因此,企业信息管理软件应充分依托企业自身信息,实现企业信息的集中管理、分散操作、信息共享,、使传统的管理朝数字化无纸化、智能化、综合化的方向发展,并为进一步实现完善的信息系统打下良好的基础。由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。本企业信息系统,可以提高企业的信息管理效率。我们的目标是用本企业信息系统实现最快对企业信息的综合管理。在这里,运用计算机辅助管理,即能实时地对大量信息数据进行检验和统计,十分方便地输出管理结果,同时也避免了人工处理时容易产生的错误。

1.2、系统开发工具

1.1.1、Eclipse Mars.1 Release (4.5.1)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK),该版本是目前最新的版本。 1.1.2、MySQL5.0

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权(本词条“授权”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特

1

点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。 1.1.3、JavaScript

Javascript是一种继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,为客户提供更流畅的浏览效果。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。 1.1.4、CSS

CSS(Cascading Style Sheet)可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。 1.1.5、JQuery

Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的JS库(压缩后只有21k),它兼容CSS3,实现动画效果,并且方便地为网站提供AJAX交互。 1.1.6、jQuery EasyUI

jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。 1.1.7、Jetty

Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些运行(stand-alone)的Java应用提供网络和web连接。

第二章 总体规划

2.1、系统需求分析

我国不少企业都实行了企业信息管理系统,即把信息得到的自主权交给员工。在这里,员工得到信息时的制约因素比较复杂,工作量也很大,而且有些信息往往在较短的时间内就

2

会失效。运用计算机辅助管理,开发自主信息系统,即能实时地对大量信息数据进行检验和统计,十分方便的输出结果,同时也避免了人工处理时产生的错误。可以提高管理工作的效率、提高信息的开放性、改善员工对其最新信息查询的准确性。 通过对系统需求进行分析,我们确定系统中的二类用户:管理员(领导)、普通用户(员工)。各类用户的具体描述如下: 2.1.1、 管理员(领导)

描述:管理员维护整个系统,包括设置自身和员工的信息以及相应的企业信息。具有对公告、部门的添加、修改、删除、查看功能,以及对员工请假的审批,对员工考勤的汇总查看等功能。

2.1.2、普通用户(员工)

描述:普通用户(员工)负责查询企业相应的信息,以及自身的基本信管理。具有查看公告、部门详细信息,申请请假,查询个人请假情况,每日签到签退,以及对自己考勤的查看等功能。

2.2、系统可行性分析

2.2.1、社会可行性分析

由于办公自动化是基于现有的业务的,对现在的办公资源进行有效的整合,进行资源共享,实现“无纸化办公”。在以前的办公环境下,已经积累了丰富的办公经验及经验丰富的办公人员,所以对人员的培训在业务上已经没有什么问题,只需对人员进行计算机操作培训即可。这些知识、经验和人才的储备既是医院的财富,也是本项目成功的基础。 2.2.2、技术可行性分析

随着互联网的蓬勃发展,越来越多的机构将信息管理与Internet融合到一起,以方便企业信息管理。在这样一个社会背景下,采用B/S模式开发的利郎企业信息管理系统,将员工和企业有机地结合在一起,有效地提高管理水平和效率。随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。 2.2.3、经济可行性分析

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。主要解决资金可得性和经济合理性两个问题。作为开发本系统的主要的软件环境是eclipse和MySQL,这两个软件已经是市面上比较常见,技术上比较成熟的两个软件开发工具,因此,在软件上本系统的开发成本是可以被接受的。在外围设备方面,该系统只需要最常见的普通输出设备,如打印机。除

3

此之外,在系统投入运行后,能提高工作人员的工作效率,协同工作能力进一步的加强,时间效益得到进一步的提高,优化生产关系,提高生产力。

2.3、系统设计目标与设计思想

2.3.1、系统设计目标

本系统主要是对企业办公管理,对员工和管理员(领导)权限的设置,领导具有对公告、部门的添加、修改、删除、查看功能,以及对员工请假的审批,对员工考勤的汇总查看等功能,而已注册员工具有查看公告、部门详细信息,申请请假,查询个人请假情况,每日签到签退,以及对自己考勤的查看等功能,简单易于操作,很适合与企业的管理与办公。 2.3.2、开发设计思想

该系统才用了SpringMVC作为开发框架,SpringJDBC作为数据库连接,MySQL数据库以及使用了jQuery EasyUI作为页面。本次管理信息系统使用的是三层架构和MVC.所用到的三层,即BLL(业务逻辑层)、DAL(数据访问层)、UI(展示层)。这里UI层由MVC做,MVC包括Model(业务逻辑与数据库交互),Controller(捕获控制请求转发),View(显示提交数据)。MVC控制器采用SpringMVC注解开发。在进行数据提交的时候避免页面刷新,采用了Ajax异步提交表单的方式。

第三章 系统分析

3.1、组织机构分析

企业办公管理系统 后台登陆 公告管理 请假管理 部门管理 员工管理 考勤统计

4

图3-1 系统功能模块

3.2、数据流程分析

数据流图(Data Flow Diagram),是描述系统逻辑模型的主要工具之一,它是在对系统的业务流程图进行分析的基础上用少数几种符号综合地反映出信息在系统中的流动、存储和处理等情况,并能将信息处理功能和彼此之间的联系,自上而下,逐层分解,从逻辑上精确地描述出系统应具有的数据加工功能、数据输入输出、数据存储、数据来源和去向等项目。 数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。数据是信息的载体,是今后系统要处理的主要对象。因此必须对系统调查中所搜集的数据以及统计处理数据的过程进行分析和整理。数据与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础在这个阶段主要工作是收集基本数据以及数据处理的流程,为以后进一步设计一打下基础。需求分析主要解决两个问题:

内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。 处理要求。调查应用系统用户要求对数据库进行什么样的处理,理清数据库中各种数据之间的关系。

在数据库需求分析后,得到一个数据字典文档,包括3方面内容。

数据项。包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。 数据结构。若干个数据项的有意义的集合,包括名称、含义以及组成数据结构的数据项。概念结构是于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。

数据流。指数据中数据的处理过程,包括输入、处理和输出。

3.3、数据字典

管理员表:编号、账号名、密码

用户表(员工):编号、用户名、密码、性别、年龄、地址、电话、部门编号 部门表:编号、部门名称、部门主管、部门简介 公告表:编号、作者、发布时间、标题、内容

请假表:编号、员工编号、开始时间、返回时间、请假原因、申请人、审批人、审批状态 考情表:编号、签到时间、签退时间、用户名、签到类型、总计

第四章 系统分析与设计

系统分析是系统开发的重要阶段。系统分析的目的是要回答新系统将要“做什么”这个关键性问题。在这个阶段要集中精力,认真分析用户需求,用科学的方法来表达新系统的逻辑方案,建立新系统的逻辑模型。 系统分析工作开始与用户提出新系统的要求,进行初步调查与可行性分析后,确认新系统开发为可行即可进行详细调查与分析,提出新系统逻辑模型,最后写出系统分析报告。系统设计就是详细定义基于计算机的各种活动的解决方案。在系统设计阶段,把系统分析过程当中得到的逻辑模型结合相应的网络技术、数据库技术等详细的描述出来,并为系统实施阶段的各种工作准备必要的技术资料和有关文件。 系统设计的基本目标就是要使所设计的系统必须满足系统逻辑模型的各项功能要求,同时尽可能地提高系统的性能。系统设计的目标是评价和衡量系统设计方案优劣的基本标准,也是选自系统

5

设计方案的主要依据。评价与衡量系统设计目标实现程度的指标主要有以下方面:系统的效率、系统的工作质量、系统的可变更性、系统的通用性、系统的可靠性。

4.1、管理信息系统的总体架构设计

企业办公管理系统 后台登陆 公告管理 请假管理 部门管理 员工管理 考勤统计 管理员登录 员工登录 领导增删改 员工查看详情 员工请假申请 领导请假审批 领导增删改 员工查看 信息 领导查看、 删除 员工注册、修改周考勤统计 月考勤统计 季度考勤统计

图4.1 管理信息系统的总体架构设计

4.2、管理信息系统基础设施的设计与选择

通过研究目前市场最普遍的几种开发工具产品:eclipse,myeclipse,idea以及各种java 和数据库开发工具Oracle,Sybase,SQL Server 2000,MySQL,Access 2000等。考虑到硬件设备的兼容性以及所作相应软件环境的要求,本系统采用eclipse和MySQL作为开发工具,采用了Jetty作为web容器。

4.3、企业管理系统总体功能及详细设计

4.3.1、企业管理系统总体功能设计

本系统是针对企业办公,对员工和管理员(领导)权限的设置,领导具有对公告、部门的添加、修改、删除、查看功能,以及对员工请假的审批,对员工考勤的汇总查看等功能,而已注册员工具有查看公告、部门详细信息,申请请假,查询个人请假情况,每日签到签退,以及对自己考勤的查看等功能,简单易于操作,很适合与企业的管理与办公。

6

4.3.2、企业管理系统详细功能设计

登录管理:分为管理员登录和员工登录,进入相关登录页面后有管理员注册和员工注册。 公告管理:管理员具有对公告的添加、修改、删除和查询操作,员工具有对公告的查询、过滤查看功能。

请假管理:员工具有申请请假、查看请假记录等功能,管理员具有对员工请假的审批、对员工请假记录的查看以及对审批记录的查看功能。

部门管理:管理员具有对部门的添加、修改、删除和查询操作,员工具有对公告的查询、过滤查看功能。

员工管理:对员工的添加、删除、修改、查询功能,员工本身具有对自己信息的修改和查询操作,管理员具有对员工信息的查询和删除操作。

考勤管理:员工具有每日签到签退功能、对自己签到签退记录的查看功能以及分别按最近一季度、一月、一周查看自己的考勤统计。管理员具有对员工考勤统计的查看功能。

4.4、数据库设计

4.4.1、管理员表(领导) 字段名 id

adminName password bz1 bz2

4.4.2、用户表(员工) 字段名 id username password sex age address tel did bz1 bz2

字段描述 编号 用户名 密码 性别 年龄 地址 电话 部门编号 预留字段1 预留字段2

数据类型 Int Varchar Varchar Varchar Varchar Varchar Varchar Int Int Varchar

长度 10 30 30 5 5 100 20 10 20 200

备注 主键 外键

字段描述 编号 系统账号名 系统账号密码 预留字段1 预留字段2

数据类型 Int Varchar Varchar Int Varchar

长度 10 30 30 20 200

备注 主键

7

4.4.3、部门表 字段名 id depName depManager profile bz1 bz2

4.4.4、公告表

字段名 id author date title content bz1 bz2

4.4.5、请假表 字段名 id uid start_time back_time reason username approver flag bz1 bz2

4.4.6、考勤表

字段名 id

字段描述 编号

数据类型 Int

长度 10

备注 主键

字段描述 编号 员工编号 开始时间 返回时间 请假原因 申请人 审批人 审批状态 预留字段1 预留字段2

数据类型 Int Int Varchar Varchar Varchar Varchar Varchar Int Int Varchar

长度 10 10 50 50 100 30 30 10 20 200

备注 主键 外键

0未审批1审批

字段描述 编号 作者 发布时间 标题 内容 预留字段1 预留字段2

数据类型 Int Varchar Varchar Varchar Varchar Int Varchar

长度 10 30 50 30 500 20 200

备注 主键

字段描述 编号 部门名称 部门主管 部门简介 预留字段1 预留字段2

数据类型 Int Varchar Varchar Varchar Int Varchar

长度 10 30 30 200 20 200

备注 主键

8

comeTime leaveTime username flag coun bz1 bz2 签到时间 签退时间 用户名 类型 总计 预留字段1 预留字段2 Varchar Varchar Varchar Int Varchar Int Varchar 50 50 30 5 50 20 200

0签到,1签退

4.5、创建数据库SQL语句

/*

MySQL Backup

Source Server Version: 5.0.27 Source Database: company Date: 2015/11/16 12:12:25 */

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `admin` -- ----------------------------

DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` int(10) NOT NULL,

`adminName` varchar(20) default NULL, `password` varchar(50) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Table structure for `department` -- ----------------------------

DROP TABLE IF EXISTS `department`; CREATE TABLE `department` ( `id` int(10) NOT NULL,

`depName` varchar(50) default NULL, `depManager` varchar(20) default NULL, `profile` varchar(100) default NULL, `did` int(10) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

9

-- ----------------------------

-- Table structure for `leaving` -- ----------------------------

DROP TABLE IF EXISTS `leaving`; CREATE TABLE `leaving` ( `id` int(11) NOT NULL,

`start_time` varchar(50) default NULL, `back_time` varchar(50) default NULL, `reason` varchar(100) default NULL, `username` varchar(20) default NULL, `flag` int(5) default NULL,

`bz1` varchar(255) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Table structure for `news` -- ----------------------------

DROP TABLE IF EXISTS `news`; CREATE TABLE `news` ( `id` int(10) NOT NULL,

`author` varchar(20) default NULL, `date` varchar(50) default NULL, `title` varchar(50) default NULL, `content` varchar(255) default NULL, `bz1` varchar(255) default NULL, `bz2` varchar(255) default NULL, `bz3` varchar(255) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Table structure for `user` -- ----------------------------

DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(10) NOT NULL,

`username` varchar(20) default NULL, `password` varchar(30) default NULL, `level` int(5) default NULL, `sex` varchar(10) default NULL, `age` varchar(10) default NULL, `address` varchar(50) default NULL, `tel` varchar(20) default NULL,

10

`bz1` varchar(255) default NULL, `did` int(10) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Table structure for `work` -- ----------------------------

DROP TABLE IF EXISTS `work`; CREATE TABLE `work` ( `id` int(11) NOT NULL,

`comeTime` varchar(50) default NULL, `leaveTime` varchar(50) default NULL, `username` varchar(20) default NULL, `flag` int(5) default NULL,

`bz1` varchar(255) default NULL, `bz2` int(10) default NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.6、代码设计

4.6.1、程序结构展示

代码结构分为:模型层dao、业务层service、控制层action、实体domain、工具util

11

图4.2 程序代码结构图4.6.2、部分代码展示

***注:由于代码过多,在此只展示一个完整的模块。

(1) doamin:News.java (新闻实体类) /**

* @(#)News.java * Description: TODO 新闻实体类 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月10日 */

package com.zs.domain;

import java.io.Serializable;

import javax.persistence.Entity;

12

import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; /**

* TODO 新闻实体类 * @author 朱润华 */ @Entity

@Table(name=\"news\")

public class News implements Serializable { private static final long serialVersionUID = 4575225822935031021L;

//主键

private Integer id;

//作者

private String author;

//发布时间

private String date;

//新闻标题

private String title;

//新闻内容

private String content;

//预留字段1 private String bz1;

//预留字段2 private String bz2;

public Integer getId() { return id; } @Id

@GeneratedValue(generator=\"id\public void setId(Integer id) { this.id = id; }

13

public String getAuthor() { return author; }

public void setAuthor(String author) { this.author = author; }

public String getDate() { return date; }

public void setDate(String date) { this.date = date; }

public String getTitle() { return title; }

public void setTitle(String title) { this.title = title; }

public String getContent() { return content; }

public void setContent(String content) { this.content = content; }

public String getBz1() { return bz1; }

public void setBz1(String bz1) { this.bz1 = bz1; }

public String getBz2() { return bz2; }

14

public void setBz2(String bz2) { this.bz2 = bz2; } }

(2)dao:INewsDao.java (新闻模型层借口) /**

* @(#)INewsDao.java

* Description: TODO 填写文件作用简要说明 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月11日 */

package com.zs.dao;

import java.util.List;

import com.zs.domain.News; /**

* TODO 新闻模型层接口 * @author 朱润华 */

public interface INewsDao { List findNewsAll(); News findNewsById(Integer id); void deleteNews(Integer id); void updateNews(News news); void addNews(News news); News findNewsByTitle(String title); }

(3)dao :NewsDaoImpl.java (新闻模型层实现类) /**

* @(#)NewsDaoImpl.java * Description: TODO 填写文件作用简要说明 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月11日 */

15

package com.zs.dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.stereotype.Repository; import com.zs.domain.News; import com.zs.util.NewsMapper; /**

* TODO 新闻模型层实现类 * @author 朱润华 */

@Repository

public class NewsDaoImpl implements INewsDao { @Autowired private JdbcTemplate jt; public void setJt(JdbcTemplate jt) { this.jt = jt; } /** * 显示 */ public List findNewsAll() { String sql = \"SELECT * FROM NEWS WHERE 1=1\"; return jt.query(sql, new NewsMapper()); } /** * 查找 */ public News findNewsById(Integer id) { final News news = new News(); String sql = \"SELECT * FROM NEWS WHERE ID=? \"; jt.query(sql, new Object[]{id},new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { news.setId(rs.getInt(\"id\")); news.setAuthor(rs.getString(\"author\"));

16

} /**

news.setBz1(rs.getString(\"bz1\")); news.setDate(rs.getString(\"date\")); news.setTitle(rs.getString(\"title\")); news.setContent(rs.getString(\"content\")); } });

return news;

* 删除 */ public void deleteNews(Integer id) { String sql = \"DELETE FROM NEWS WHERE ID=?\"; jt.update(sql, new Object[]{id}); } /** * 更新 */ public void updateNews(News news) { String sql = \"UPDATE NEWS SET BZ1=?,AUTHOR=?,DATE=?,TITLE=?,CONTENT=? WHERE ID=?\"; jt.update(sql, new Object[]{news.getBz1(),news.getAuthor(),news.getDate(),news.getTitle(), news.getContent(),news.getId()}); } /** * 添加 */ public void addNews(News news) { String sql = \"INSERT INTO NEWS (ID,AUTHOR,DATE,TITLE,BZ1,CONTENT)VALUES(?,?,?,?,?,?)\"; jt.update(sql, new Object[]{news.getId(),news.getAuthor(),news.getDate(),news.getTitle(), news.getBz1(),news.getContent()}); } /** * 查找 by title * select * from news where title like '%qw%' */

17

}

public News findNewsByTitle(String title) { final News news = new News(); StringBuilder sql = new StringBuilder(); sql.append(\"select * from news where title like\").append(\" '%\") .append(title).append(\"%'\"); jt.query(sql.toString(),new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { news.setId(rs.getInt(\"id\")); news.setAuthor(rs.getString(\"author\")); news.setBz1(rs.getString(\"bz1\")); news.setDate(rs.getString(\"date\")); news.setTitle(rs.getString(\"title\")); news.setContent(rs.getString(\"content\")); } }); return news; }

(4)service: INewsService.java (新闻业务层借口) /**

* @(#)INewsService.java * Description: TODO 填写文件作用简要说明 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月11日 */

package com.zs.service;

import java.util.List;

import com.zs.domain.News; /**

* TODO 新闻业务层接口 * @author 朱润华 */

public interface INewsService { List findNewsAll();

18

News findNewsById(Integer id); void deleteNews(Integer id); void updateNews(News news); void addNews(News news); News findNewsByTitle(String title); }

(5) service: NewsServiceImpl.java (新闻业务层实现类) /**

* @(#)NewsServiceImpl.java * Description: TODO 填写文件作用简要说明 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月11日 */

package com.zs.service; import java.util.List;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zs.dao.INewsDao; import com.zs.domain.News; import com.zs.util.DateUtil; import com.zs.util.RandomInt; /**

* TODO 新闻业务层实现类 * @author 朱润华 */

@Service

public class NewsServiceImpl implements INewsService { @Autowired private INewsDao dao; public INewsDao getDao() { return dao; } /** * 显示 */ public List findNewsAll() { return dao.findNewsAll();

19

}

} /**

* 查找 */

public News findNewsById(Integer id) { return dao.findNewsById(id); } /**

* 删除 */

public void deleteNews(Integer id) { dao.deleteNews(id); } /**

* 更新 */

public void updateNews(News news) { dao.updateNews(news); } /**

* 添加 */

public void addNews(News news) { news.setId(RandomInt.getRandomInt()); news.setDate(DateUtil.getDate()); dao.addNews(news); }

/**

* 查找 */

public News findNewsByTitle(String title) { return dao.findNewsByTitle(title); }

20

(6) action: NewsAction.java (新闻控制层) /**

* @(#)NewsAction.java

* Description: TODO 填写文件作用简要说明 * Version : 0.0.0

* Copyright: Copyright (c) ZRH 版权所有 * Create by: 朱润华 2015年11月11日 */

package com.zs.action; import java.util.ArrayList; import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.zs.domain.News;

import com.zs.service.INewsService; /**

* TODO 新闻控制层 * @author 朱润华 */

@Controller

public class NewsAction { @Autowired private INewsService service; public void setService(INewsService service) { this.service = service; } /** * TODO 显示所有新闻信息 * @return */ @RequestMapping(\"showNews.do\") @ResponseBody public List showNews(){

21

List news = service.findNewsAll();

RequestAttributes ra = RequestContextHolder.getRequestAttributes(); HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest(); request.getSession().setAttribute(\"news\ return news;

} /**

* TODO 查找新闻 * @return */

@RequestMapping(\"findNewsById.do\") @ResponseBody

public News findNewsById(Integer id){ return service.findNewsById(id); } /**

* TODO 删除新闻 * @return */

@RequestMapping(\"deleteNews.do\") @ResponseBody

public void deleteNews(Integer id){ service.deleteNews(id); } /**

* TODO 修改新闻 * @return */

@RequestMapping(\"updateNews.do\") @ResponseBody

public void updateNews(News news){ service.updateNews(news); } /**

* TODO 添加新闻 * @return */

@RequestMapping(\"addNews.do\") @ResponseBody

public void addNews(News news){

22

}

service.addNews(news); } /**

* TODO 查找新闻 * @return */

@RequestMapping(\"findNewsByTitle.do\") @ResponseBody

public List findNewsByTitle(String title){ News news = service.findNewsByTitle(title); List lst = new ArrayList(); lst.add(news); return lst; }

4.7、IPO设计(输入、处理、输出)

4.7.1、输入输出界面设计结果

(1)登录页面选择(采用了相框展示的效果,相框中图片有滚动效果,图片是自己随意加的)

(2)管理员登录界面(点击管理员登录进入的界面)

23

(3)管理员主页面<页面简洁明了,操作简单。不同的角色进入,左侧菜单不同>

(4)添加员工页面

24

(5)新闻页面

(6)查看新闻详情

25

(7)管理员发布新闻

(8)管理员修改员工信息

26

(9)员工请假申请

(10)请假记录查看

(11)领导请假审批功能

27

(12)领导审批记录查看

(13)员工主页面

28

(14)员工签到功能

(15)员工签退功能

29

(16)领导员工考勤查询功能(可按周、月、季度查询)

(17)在发布新闻时支持图片的预览功能

30

4.7.2、处理描述

(1)登录时进行校验提醒

(2)添加和修改员工成功时进行成功提示(在右下角淡入淡出提示)

31

(3)添加员工时,对员工登录的用户名进行校验(数据库有相同的用户名则提示不可用)

32

具体的功能比较多,在此不能作一一展示,在开发过程中也遇到了较多问题,逐步一一解决了,对于页面的美观和样式的调整,还有待完善,在做实体时有些字段考虑的不够完善,如员工表应该加真实姓名、家庭成员等,总结经验,对以后的开发有很大的帮助。

第五章 总结和体会

通过几月的系统分析、设计、开发,系统编码完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性,此次开发用了SpringMVC+SpringJDBC+MySQL开发,在开发过程中,很好的熟悉了开发框架,对框架开发有了新的认识。

以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。 这次的设计开发,主要有以下几点收获:

1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提

33

高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。

2.通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。

3.本次管理信息系统使用的是三层架构和MVC.所用到的三层,即BLL(业务逻辑层)、DAL(数据访问层)、UI(展示层)。这里UI层由MVC做,MVC包括Model(业务逻辑与数据库交互),Controller(捕获控制请求转发),View(显示提交数据)。在进行数据提交的时候采用了Ajax异步提交表单的方式避免页面刷新。

4.在管理员登录界面。在控制器中建立返回页面视图的方法即显示登陆前台页面,将用户名密码等信息以表单的异步提交方式提交给控制器。再将接受的值传给业务逻辑层,再到数据层完成校验。

5.进入后台新闻显示中把信息都添加到表中,首先要进行分页。在业务逻辑端代码定义获取分页数据方法,其中涉及到天花板函数的相似做法。由当前页码值和每页显示的记录数来确定其实位置和终止位置。再由总记录数除每页记录数求分页数。将获取的分页数据方法List集合中放到Index视图中展示。

34

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务