毕业设计(论文)-OA办公自动化系统设计.doc_第1页
毕业设计(论文)-OA办公自动化系统设计.doc_第2页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

摘摘 要要 oa(office automation)又称办公自动化或自动化办公,是信息技术在组织 管理中最典型的应用,它基于网络技术,可以将跨地区的各个部门紧密的联系 在一起,从而达到信息实时共享,最大程度地发挥各级人员的工作效率,使办 公完全摆脱时间与空间的限制,完全实现信息自动化,有利于企业员工的办公 效率与公司综合管理效率的提高。 办公自动化系统利用计算机技术和网络技术使办公室部分工作逐步信息化, 从而形成办公室人员与办公设备共同构成服务于某种目标的人机信息处理系统, 是信息技术在企业管理中的典型应用。 不同的 oa 系统针对不同的组织业务在设计上会有不同,但一般的办公自 动化系统都包括对企业的员工与部门的管理、考勤制度、文件的传递、公告的 发布、网上交流及活动的设置等基本管理业务,该小型 oa 系统就是针对这些 基本的业务设计实现的。 关键词:office automation 办公自动化 信息实时共享 在线考勤 目 录 1引言 1 1.1办公自动化的历史演变.2 1.2办公自动化的发展方向.3 1.3办公自动化的研究目的与意义.3 2系统总体设计 4 2.1系统业务流程.4 2.2系统功能模块介绍.5 2.3开发工具介绍.7 2.4小组分工情况.7 3数据库设计 8 3.1数据库需求分析.8 3.2数据库概念结构设计.8 3.3数据库逻辑结构设计.12 3.4数据库物理结构设计.14 4系统设计与实现 .17 4.1实现登录功能.17 4.2实现文件传送功能.19 4.3实现在线考勤功能.20 4.4实现新员工注册功能.22 4.5实现发布公告功能.24 5遇到的问题及解决方法 .25 5.1问题一.25 5.2问题二.25 5.3问题三.26 总 结 27 致 谢 28 参 考 文 献29 1 1 引言 随着全球经济一体化进程的加快,世界经济已由工业化经济逐步进入网络 信息化时代,办公自动化就是信息革命的产物,也是社会信息化的重要技术保 证。在信息时代来临之季,各种先进的办公设备如雨后春笋般出现,为适应瞬 息万变、竞争激烈的时代要求,各企业都紧跟时代的脚步,转变着企业的经营 模式、管理模式,从传统的人工管理体制,向信息自动化管理体制过渡,与此 同时,企业的传统式的办公管理模式也在逐步向自动化办公管理模式转变,这 就体现在办公自动化系统的引入。办公自动化作为当前国际上飞速发展的一门 综合性新学科,已经越来越受到人们的重视。 信息时代的到来让人们尝到了“信息爆炸”的滋味,信息的大量拥入让企 业在信息处理方便应接不暇,传统的办公模式、对信息的处理方法,早已不能 满足企业对信息快速、准确的处理的要求。一个企业对信息数据的掌握程度、 处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决 定着企业的发展方向。从传统的办公模式向自动化办公管理模式转变,提高企 业的信息处理能力,以增强企业的市场竞争力,成了企业发展过程中的首要问 题。 办公自动化是信息化社会最重要的标志之一,它将人、计算机和信息三者 结合为一个办公体系,构成一个服务于办公业务的人机信息处理系统。通过提 高办公效率,使用先进的机器设备和技术,办公人员可以充分利用各种办公信 息资源,从而提高办公效率,使办公业务从事务层次进入管理层,甚至辅助决 策层,将办公和管理提高到一个崭新的水平。 1.1 办公自动化的历史演变 1.1.1 起步阶段 (1985 年1993 年):是以结构化数据处理为中心,基于文件系统或关系 型数据库系统,使日常办公也开始运用 it 技术,提高了文件等资料管理水平。 这一阶段实现了基本的办公数据管理(如文件管理、档案管理等) ,但普遍缺乏 办公过程中最需要的沟通协作支持、文档资料的综合处理等,导致应用效果不 佳。 1.1.2 应用阶段 (1993 年2002 年):随着组织规模的不断扩大,组织越来越希望能够打 2 破时间、地域的限制,提高整个组织的运营效率,同时网络技术的迅速发展也 促进了软件技术发生巨大变化,为 oa 的应用提供了基础保证,这个阶段 oa 的主要特点是以网络为基础、以工作流为中心,提供了文档管理、电子邮件、 目录服务、群组协同等基础支持,实现了公文流转、流程审批、会议管理、制 度管理等众多实用的功能,极大地方便了员工工作,规范了组织管理、提高了 运营效率。 1.1.3 发展阶段 (2002 年至今 ):oa 应用软件经过多年的发展已经趋向成熟,功能也由 原先的行政办公信息服务,逐步扩大延伸到组织内部的各项管理活动环节,成 为组织运营信息化的一个重要组织部分。同时市场和竞争环境的快速变化,使 得办公应用软件应具有更高更多的内涵,客户将更关注如何方便、快捷地实现 内部各级组织、各部门以及人员之间的协同、内外部各种资源的有效组合、为 员工提供高效的协作工作平台。 1.2 办公自动化的发展方向 办公自动化的发展方向应该是数字化办公。所谓数字化办公即几乎所有的 办公业务都在网络环境下实现。从技术发展角度来看,特别是互连网技术的发 展,安全技术的发展和软件理论的发展,实现数字化办公是可能的。从管理体 制和工作习惯的角度来看,全面的数字化办公还有一段距离,首先数字化办公 必然冲击现有的管理体制,使现有管理体制发生变革,而管理体制的变革意味 着权利和利益的重新分配;另外管理人员原有的工作习惯、工作方式和法律体 系有很强的惯性,短时间内改变尚需时日。尽管如此,全面实现数字化办公是 办公自动化发展的必然趋势。 1.3 办公自动化的研究目的与意义 internet/intranet 的迅猛发展,为信息的交流和共享,团队的协同运作提供 了技术的保证,同时也预示着网络化办公时代来临。利用网络通讯基础及先进 的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和办公自动化、 信息管理电子化系统,为管理部门提供现代化的日常办公条件及丰富的综合信 息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理 水平,实现企业各部门日常业务工作的规范化、电子化、标准化,增强档案部 3 门文书档案、人事档案、科技档案、 财务档案等档案的可管理性,实现信息的 在线查询、传送。最终实现“无纸”办公,从而彻底解决传统工作方式中的种种弊 端。企业建设自己的网站和网络办公系统已经成为开展业务、方便企业管理以 及扩大企业知名度的不可或缺的手段。 办公自动化系统是信息技术在公司管理中最典型的应用。传统的办公模式 基于纸张,效率低下,无法适用于当前分布办公的要求。oa 系统基于网络技 术,可以将跨地区的各个部门紧米的连接在一起,从而达到信息共享,可以最 大程度地发挥各级人员的工作效率。因此实现此系统的意义在于能够最大力度 的增加企业的工作效率。 办公自动化可以和一个企业的业务结合的非常紧密,甚至是定制的。因而 可以将诸如信息采集、查询、统计等功能与具体业务密切关联。操作人员只须 点击一个按钮就可以得到想要的结果,从而极大得方便了企业领导的管理和决 策。 办公自动化还是一个企业与整个世界联系的渠道,企业的 intranet 网络可 以和 internet 相联。一方面,企业的员工可以在 internet 上查找有关的技术资料、 市场行情,与现有或潜在的客户、合作伙伴联系;另一方面,其他企业可以通 过 internet 访问你对外发布的企业信息,如企业介绍、生产经营业绩、业务范 围、产品/服务等信息。从而起到宣传介绍的作用。随着办公自动化的推广,越 来越多的企业将通过自己的 intranet 网络联接到 internet 上,所以这种网上交流 的潜力将非常巨大。 办公自动化已经成为企业界的共识。众多企业认识到尽快 进行办公自动化建设,并占据领先地位,将有助于保持竞争优势,使企业的发 展形成良性循环。 2 系统总体设计 oa(office automation)即办公自动化,它是指利用计算机技术和网络技 术,使办公室部分工作逐步自动化,从而形成由办公室人员与办公设备共同构 成服务于某种目标的人机信息处理系统。随着网络的发展,办公自动化系统已 经成为公司、企业以及政府机关办公信息化管理的一个重要工具。 通过企业办公自动化管理系统对企业日常办公进行管理,满足了企业日常 办公管理各方面的需求,实现了企业员工之间的交流与管理,大大的方便了企 4 业内部人员沟通。网站提供的前后台的公告与公文信息的管理方便员工及时的 了解公司的动态,部门与员工管理也方便了管理者的管理,其他功能模块的设 置使企业的日常管理步入了科学系统管理的轨道上。 2.1 系统业务流程 一个系统是由 50%的业务和 50%的程序组成,可见对业务的分析好坏是系 统成败的关键。该系统根据一般企业的基本业务流程设计而成,其中包括企业 部门与员工的管理、在线考勤、员工之间传送文件以及浏览公告等功能。具体 的业务流程如下图: 图 2.1.1 系统业务流程图 2.2 系统功能模块介绍 在日常办公中,通常会遇到许多常用的数据,比如邮件地址、日程助手、 日常记事等,这些数据通常凌乱不堪,在需要时不知道存放在何处,从而影响 工作效率。因此,我们设计了能满足这种需求的系统小型 oa(办公自动 化)系统。办公自动化系统是一个完整的网络办公平台,在该系统中主要包括 用户登录用户和角色管理模块、用户考勤及其设置模块、我的文档管理模块、 交流管理平台以及公文流转模块等。 系统的登录分为管理员和普通员工两个级别,因此不同的登录对应的功能 模块不同,具体的模块如下图: 浏览公告/浏 览规章制度/ 活动投票 员工 员工 上下班考勤 发送短消息 传/接文件 统计迟到/早退次数 是否迟 到/早退 优秀员工评比 5 oa(办公自动化)系统 普通员工登录 系统主页 桌面 查 看 规 章 制 度 修 改 登 录 密 码 查 看 公 告 文件管理 传 送 文 件 接 收 文 件 删 除 文 件 交流管理 发 送 短 消 息 活 动 投 票 考勤管理 上 班 签 到 下 班 签 退 行政管理 部 门 及 职 责 员 工 联 系 方 式 管理员登录 系统管理主页 公 告 管 理 查 看 公 告 发 布 公 告 文 件 管 理 传 送 文 件 接 收 文 件 删 除 文 件 交 流 管 理 发 送 短 消 息 设 置 活 动 投 票 查 看 投 票 结 果 考 勤 管 理 考 勤 时 间 设 置 上 班 签 到 下 班 签 退 部 门 管 理 新 建 部 门 编 辑 部 门 信 息 员 工 管 理 添 加 员 工 信 息 编 辑 员 工 信 息 规 章 制 度 管 理 更 新 规 章 制 度 预 览 规 章 制 度 系 统 管 理 个 人 密 码 设 置 操 作 权 限 设 置 图 2.2.1 系统功能模块图 6 2.3 开发工具介绍 2.3.1 sql server 2000 的特点与作用 sql server 是一个功能完备的数据库管理系统。它包括支持开发的引擎、 标准的 sql 语言、扩展的特性(如复制、olap、分析)等功能,还包括存储过 程及触发器等特征。其特点有: 1)internet 集成。sql server 2000 数据库引擎提供完整的 xml 支持,它还具 有构成最大的 web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。 2)可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 microsoft windows 98 的便携式电脑,到运行 microsoft windows 2000 数据中 心版的大型多处理器服务器。 3)企业级数据库功能。sql server 2000 关系数据库引擎支持当今苛刻的数据 处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并 发修改数据库的用户的开销减到最小。 4)易于安装、部署和使用。 sql server 2000 中包括一系列管理和开发工具, 这些工具可改进在多个站点上安装、部署、管理和使用 sql server 的过程。 2.3.2 visual studio.net 2005 的功能及特点 visual studio.net 2005 是 microsoft 的第二代开发工具,用于构建和部署 功能强大而安全的连接 microsoft.net 的软件。visual studio.net 2005 包含 windows .net framework 的一个增强版本。windows .net framework 1.1 版 在前一版本的基础上增添了新的能力、功能增强和文档改进。通过对.net compact framework 的集成支持,visual studio.net 2005 将移动和嵌入式设备, 如 pocket pc 和其他采用 microsoft windows ce .net 操作系统的设备,带入. net。如今,开发人员能够使用同样的编程模型、开发工具及编程技能,来构 建应用范围广泛、从小设备到最大的数据中心的应用程序。包含了:microsoft visual basic .net、microsoft visual c+ .net、microsoft visual c# .net。 2.4 小组分工情况 本系统由我和李婷合作开发,李婷的主要工作是前台界面设计,在需求分 析阶段确定系统的整个色调,搜集、制作相关素材(包括图片、logo、flash 等) 7 ,初步设计系统各个页面的排版样式,确定命名规范以方便后面编写代码。我 的主要工作是后台数据库设计,在需求分析阶段完成后建立初步的数据库,主 要包括数据表及其关系的创建。后期工作主要是和李婷的分析讨论,实现数据 库与前台界面的绑定,测试运行系统,完善其功能。 3 数据库设计 3.1 数据库需求分析 公司为了扩大规模,增强企业的竞争力,必须向多元化发展,而传统的办 公模式对信息的处理方法早已不能满足企业对信息快速、准确处理的要求,一 个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度, 数据的真实性、准确性直接决定着企业的发展方向,从传统的办公模式向自动 化办公管理模式转变,提高企业的管理协作能力,以增强企业的市场竞争力, 成为企业发展过程中的首要问题。 对于企业办公自动化管理系统来说,提高企业的管理效率、方便企业职员 的协作是至关重要的,根据企业的一般办公需求及流程,我们总结出要开发的 办公自动化系统的主要需求如下: 1、公司公告及规章制度的发布与查看。 2、员工之间收发文件及短消息。 3、员工上下班考勤。 4、公司活动安排及员工投票。 5、公司部门及员工的管理。 6、用户个人信息设置。 7、系统分为两个用户级别管理员与普通员工,不同级别的用户对应的管理 权限也不同。 3.2 数据库概念结构设计 根据前面的需求分析可以抽象出一系列的人、物、事,即各种实体、属性 及实体关系,具体设计如下: 8 系统用户 员工信息 文件记事本 公告 部门信息 记录 属 于 收发 属 于 发布考勤 考勤情况 1 1 n 1 n 1 n mn n 1 1 图 3.2.1 实体间 e-r 图 1、员工信息: 员工编号 姓名性别 员工信息 出生年月 学历 职位 所属部门 级别 联系电话地址电子邮箱 状态 照片路径 图 3.2.2. 员工信息实体 e-r 图 2、部门信息: 部门编号部门名称职责描述 部门信息 9 图 3.2.3 部门信息实体 e-r 图 3、记事本: 流水号标题内容 记事本 时间记事者 图 3.2.4 记事本实体 e-r 图 4、文件信息: 文件编号发送者接受者 文件信息 文件标题 发送时间文件内容文件存放路 径 文件名 图 3.2.5 文件信息实体 e-r 图 5、公告信息: 流水号标题内容 公告 发出时间发布者 图 3.2.6 公告信息实体 e-r 图 6、规章制度: 编号内容 规章制度 10 图 3.2.7 规章制度实体 e-r 图 7、考勤设置: 流水号描述时间 考勤设置 图 3.2.8 考勤设置实体 e-r 图 8、考勤情况: 流水号时间被考勤者 考勤情况 是否迟到是否早退 图 3.2.9 考勤情况实体 e-r 图 9、活动投票: 活动内容 流水号活动标题 活动投票 票数 图 3.2.10 活动投票实体 e-r 图 10、系统用户信息: 11 用户编号用户名密码 系统用户 登录时间是否是管理员是否在线 图 3.2.11 系统用户实体 e-r 图 3.3 数据库逻辑结构设计 员工信息员工信息(员工编号、员工姓名、性别、出生年月、学历、级别、所属部门、 职位、联系电话、地址、电子邮箱、在职状态、照片路径) 部门信息部门信息(部门编号、部门名称、职责描述) 记事本记事本(流水号、标题、内容、时间、记事者) 文件信息文件信息(流水号、发送者、接收者、文件标题、发送时间、文件内容、存储 路径、接收状态、文件名) 公告公告(流水号、公告标题、发布者、发布时间、公告内容) 规章制度规章制度(流水号、内容) 考勤设置考勤设置(流水号、考勤描述、时间设置) 考勤情况考勤情况(流水号、考勤时间、被考勤者、是否迟到、是否早退) 活动投票活动投票(流水号、活动标题、活动内容、票数) 系统用户系统用户(用户编号、用户名、密码、登录时间、是否是管理员、是否在线) 表表 3.3.1 员工信息表员工信息表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 idint4 namevarchar20 是 sexvarchar6 birthdaysmalldatetime4 learnvarchar20 postvarchar10 deptvarchar50 12 jobvarchar50 telvarchar20 addressvarchar100 emailvarchar50 是 statevarchar20 photepathtext16 是 表表 3.3.2 部门信息表部门信息表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 idint4 namevarchar20 是 memotext16 是 表表 3.3.3 记事本表记事本表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 idint4 是 noticetitlevarchar50 是 noticepersontext16 是 noticetimedatetime8 是 noticecontentvarchar20 是 表表 3.3.4 文件信息表文件信息表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 fileidint4 filesendervarchar20 是 fileacceptervarchar20 filetitlevarchar50 filetimedatetime8 filecontenttext16 pathvarchar100 examinevarchar10 filenamevarchar50 表表 3.3.5 公告表公告表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 noticeidint4 是 noticetitlevarchar40 noticepersonvarchar20 noticetimedatetime8 noticecontenttext16 表表 3.3.6 规章制度表规章制度表 13 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 idint4 是 contenttext16 是 表表 3.3.7 考勤设置表考勤设置表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 signstateidint4 是 describestatevarchar20 timedatetime8 表表 3.3.8 考勤情况表考勤情况表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 singidint4 是 datetimedatetime8 employeenamevarchar20 latebit1 quitbit1 表表 3.3.9 活动投票表活动投票表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 idint4 是 votetitlevarchar20 是 votecontenttext16 是 voteqtyfloat8 是 表表 3.3.10 系统用户表系统用户表 列名列名数据类型数据类型长度长度允许空允许空是否为主键是否为主键 useridint4 是 usernamevarchar20 userpwdvarchar20 logintimedatetime8 是 systembit1 是 signbit1 是 3.4 数据库物理结构设计 数据库在实现时是通过手动建表的形式,生成的建库脚本位置: oaapp_data建库脚本.sql。 3.4.1 自定义基础类 execsql 方法 execsql 方法用来执行 sql 语句,返回值为 boolean 型,主要是对数据库 14 中数据进行添加、修改、删除等操作,相应功能执行成功后返回 true,否则返 回 false。execsql 方法实现代码如下: #region 执行sql语句 / / 用来执行sql语句 / / squerystring sql字符串 / 操作是否成功(truefalse) public boolean execsql(string squerystring) sqlconnection con = new sqlconnection(configurationmanager.appsettings“constr“); con.open(); sqlcommand dbcommand = new sqlcommand(squerystring, con); if (dbcommand.executenonquery() 0) con.close(); return true; else con.close(); return false; 3.4.2 自定义基础类 execprocnotice 方法 由于公告信息需要显示特殊的效果,难免要存储一些危险字符。为了安全 起见,通过存储过程来实现公告信息的添加。execprocnotice 方法通过参数向 存储过程中传值,最终实现公告信息的添加。 公告信息添加存储过程实现代码如下: create procedure inset_tb_notice (noticetitle varchar(40), noticeperson varchar(20), noticecontent text) as insert into db_oa.dbo.tb_notice (noticetitle, noticeperson, noticecontent) values (noticetitle, noticeperson, 15 noticecontent) go execprocnotice 方法实现代码如下: / / 公告信息添加 / / 标题 / 公告内容 / 发布公告人 / public boolean execprocnotice(string title, string content, string person) sqlconnection con = new sqlconnection(configurationmanager.appsettings“constr“); con.open(); sqlcommand cmd = new sqlcommand(“insert_tb_notice“, con); cmd.commandtype = commandtype.storedprocedure; /公告标题 sqlparameter ptitle = new sqlparameter(“noticetitle“, sqldbtype.varchar, 40); ptitle.value = title; cmd.parameters.add(ptitle); /公告内容 sqlparameter pcontent = new sqlparameter(“noticecontent“, sqldbtype.text, 0); /0为text默认存储的最大值 pcontent.value = content; cmd.parameters.add(pcontent); /公告人 sqlparameter pperson = new sqlparameter(“noticeperson“, sqldbtype.varchar, 20); pperson.value = person; cmd.parameters.add(pperson); /判断运行结果 if (cmd.executenonquery() 0) con.close(); return true; else con.close(); return false; #endregion 16 3.4.3 自定义基础类 getdataset 方法 getdataset 方法用来执行 sql 语句并且返回数据集,返回值为数据集 dataset 型,主要是对数据库中数据进行查询,执行成功后返回数据集。 getdataset 方法实现代码如下: #region 查询sql语句 / / 执行查询语句 / / squerystring sql字符串 / tablename 数据表名称 / public system.data.dataset getdataset(string squerystring, string tablename) sqlconnection con = new sqlconnection(configurationmanager.appsettings“constr“); /初始化数据适配器 sqldataadapter dbadapter = new sqldataadapter(squerystring, con); dataset dataset = new dataset(); dbadapter.fill(dataset, tablename); /填充dataset数据集 return dataset; #endregion 4 系统设计与实现 4.1 实现登录功能 4.1.1 前台界面 图 4.1.1 用户登录界面 4.1.2 后台代码 protected void btnlogin_click(object sender, eventargs e) if (txtpwd.text = “ return; 17 if (rdobtnadmin.checked) /系统管理员登录 dataset ds = bc.getdataset(“select count(*) from tb_sysuser where username=“ + txtname.text + “and userpwd=“ + txtpwd.text + “and system=1“, “tb_sysuser“); if (ds.tables0.rows.count 0) /登录成功后,设置登录时间和标识 bc.execsql(“update tb_sysuser set logintime=“ + datetime.now + “,sign=1 where username=“ + txtname.text + “); /存储登录用户名称 session“loginname“ = txtname.text; /登录成功后,进入系统主页 response.redirect(“/systemdefault.aspx“); else response.write(bc.messagebox(“用户名或密码错误!“); else /普通操作职员 dataset ds = bc.getdataset(“select count(*) from tb_sysuser where username=“ + txtname.text + “and userpwd=“ + txtpwd.text + “and system=0“, “tb_sysuser“); if (ds.tables0.rows.count 0) /登录成功后,设置登录时间和标识 bc.execsql(“update tb_sysuser set logintime=“ + datetime.now + “,sign=1 where username=“ + txtname.text + “); session“loginname“ = txtname.text; response.redirect(“/systemdefault.aspx“); else response.write(bc.messagebox(“用户名或密码错误!“); 18 4.2 实现文件传送功能 4.2.1 前台界面 图 4.2.1 文件传送界面 4.2.2 后台代码 protected void page_load(object sender, eventargs e) if (session“loginname“ = null) /判断是否非法登录 /如果非法登录,直接跳转到主页。 response.write(“this.parent.location.href=/default.aspx“); return; if (!ispostback) /绑定文件接收人,均为企业员工 ddlname.datasource = bc.getdataset(“select * from tb_employee“, “tb_employee“); ddlname.datatextfield = “name“; ddlname.datavaluefield = “name“; ddlname.databind(); protected void btnsend_click(object sender, eventargs e) /将附件路径 string str = this.fileupload1.postedfile.filename; /判断附件不能为空! if (str = string.empty) response.write(bc.messagebox(“上传文件不能为空!“); return; 19 /获取附件名称 string filename = str.substring(str.lastindexof(“) + 1); path = “file“ + filename; /设置附件上传到的服务 器路径 fileinfo fileinfo = new fileinfo(str); /获取文件信息 long filesize = (fileinfo.length / 1024) / 1024; /获取文件大小 if (filesize 10) /控制文件大小不能超 过10m response.write(bc.messagebox(“文件大小不能超过10m !“); return; /不能继续执行 /上传送文件的相关信息保存到服务器中 bool bl = bc.execsql(“insert into tb_file (filesender, fileaccepter, filetitle, filetime, filecontent, path,examine,filename) values(“ + convert.tostring(session“loginname“) + “,“ + ddlname.text + “,“ + txttitle.text + “,“ + datetime.today.tostring() + “,“ + txtcontent.text + “,“ + path + “,未接收,“ + filename + “) “); if (bl) response.write(bc.messagebox(“文件传送成功!“); else response.write(bc.messagebox(“网络故障,文件传送失败!“); return; this.fileupload1.postedfile.saveas(server.mappath(path); /将文件保存到 服务器上 4.3 实现在线考勤功能 4.3.1 前台界面 图 4.3.1 考勤界面 4.3.2 后台代码 public partial class communion_checkattendance_signin : system.web.ui.page 20 baseclass bc = new baseclass(); static string up; static string down; protected void page_load(object sender, eventargs e) if (session“loginname“ = null) response.write(“this.parent.location.href=/default.aspx“); return; lblstime.text = datetime.now.tostring(“hh:mm:ss“); /注意大小写 lblxtime.text = datetime.now.tostring(“hh:mm:ss“); dataset ds = bc.getdataset(“select * from tb_signstate“, “signstate“); datarow row = ds.tables0.select(“signstateid=1“); foreach (datarow rs in row) label1.text = “上班时间:“ + convert.todatetime(rs“time“). tostring(“hh:mm:ss“); up = convert.todatetime(rs“time“).tostring(“hh:mm:ss“); datarow rw = ds.tables0.select(“signstateid=2“); foreach (datarow rs1 in rw) label2.text = “下班时间:“ + convert.todatetime(rs1“time“). tostring(“hh:mm:ss“); down = convert.todatetime(rs1“time“).tostring(“hh:mm:ss“); if (request.querystring“id“.tostring() = “1“) btnsignout.enabled = false; else btnsignin.enabled = false; protected void button1_click(object sender, eventargs e) /上班进行考勤设置 if (datetime.compare(convert.todatetime(datetime.now.tostring(“hh:mm:ss“), convert.todatetime(up) = 0) bc.execsql(“insert into tb_sign (datetime, employeename, late, quit) values (“ + datetime.now + “,“ + session“loginname“.tostring() + “,0,0)“); else bc.execsql(“insert into tb_sign (datetime, employeename, late, quit) values (“ + datetime.now + “,“ + session“loginname“.tostring() + “,0,1)“); 4.4 实现新员工注册功能 4.4.1 前台界面 图 4.4.1 员工注册界面 22 4.4.2 后台代码 public partial class baseinfo_baseemployeeadd : system.web.ui.page baseclass bc = new baseclass(); static string path; /必须设置静态变量 才可以保存存储 上传 文件路径 protected void page_load(object sender, eventargs e) if (session“loginname“ = null) response.write(“this.parent.location.href=/default.aspx“); return; if (!ispostback) dldepartment.datasource = bc.getdataset(“select * from tb_department“, “department“); dldepartment.databind(); protected void imagebutton3_click(object sender, imageclickeventargs e) string str = this.file1.postedfile.filename; if (str = “) response.write(bc.messagebox(“请选择上传图片!“); return; string ss = str.substring(str.lastindexof(“) + 1); string s = server.mappath(“photo“ + ss); path = “photo“ + ss; if (file.exists(s) response.write(bc.messagebox(“该文件已经存在,请重新命名!“); return; this.file1.postedfile.saveas(s); image1.imageurl = path; protected void imgbtnsave_click(object sender, imageclickeventargs e) string str; str = “insert into tb_employee values(“ + txtname.text + “,“ + dlsex.text + “,“ + txtbirthday.text + “,“ + txtlearn.text + “,“ + txtpost.text + “,“ + dldepartment.text + “,“ + 23 dljob.text + “,“ + txttel.text + “,“ + txtaddress.text + “,“ + txtemail.text + “,“ + dlstate.text + “,“ + path + “)“; boolean bl; bl = bc.execsql(str); if (bl) response.write(bc.messagebox(“员工基础信息添加成功“); else response.write(bc.messagebox(“员工基础信息添加失败“); protected void imgbtnclear_click(object sender, imageclickeventargs e) txtname.text = “; txtbirthday.text = “; txtaddress.text = “; txtlearn.text = “; txtpost.text = “; txttel.text = “; txtemail.text = “; 4.5 实现发布公告功能 4.5.1 前台界面 图 4.5.1 发布公告界面 4.5.2 后台代码 public partial class baseinfo_basenoticeissuance : system.web.ui.page protected void page_load(object sender, eventargs e) 24 if (session“loginname“ = null) response.write(“this.parent.location.href=/default.aspx“); protected void imgbtnsave_click(object sender, imageclickeventargs e) baseclass bc = new baseclass(); bool bl = bc.execsql(“insert into tb_notice values(“ + txttitle.text + “,“ + datetime.today.tostring(“yyyy-mm-dd“) + “,“ + session“loginname“.tostring() + “,“ + freetextbox1.text + “)“); / bool bl = bc.execprocnotice(txttitle.text, freetextbox1.text, session“loginname“.tostring(); if (bl) response.write(bc.messagebox(“公告发布成功!“); else response.write(bc.messagebox(“公告发布失败!“); protected void imgbtnclear_click(object sender, im

温馨提示

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

评论

0/150

提交评论