基于ASP.NET MVC的企业OA系统的研究和实现

时间:2022-07-18 11:14:29

基于ASP.NET MVC的企业OA系统的研究和实现

摘要:在当今世界计算机技术、通信技术和网络技术的高速发展下,企业无纸化办公是未来的一个趋势,它的使用将有助于推动企业的发展。此系统是基于 MVC架构的研究与开发。

关键词:OA系统; MVC框架

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)01-0086-02

随着互联网的发展,高速,绿色,高效率办公成为未来办公的趋势,随之而来诞生了各种管理系统,而OA系统无疑使发展较为成功,应用比较广泛。OA系统即Office Automation的缩写,是办公自动化的系统。OA系统是利用互联网和OA软件一起所构建的企业办公的平台,是一个辅助企业内部管理的办公系统。

1 OA系统的模块分析

OA系统是企业办公平台,能完成企业内部的邮件来往,文件批复,文档管理,工作流程自动化等功能。由于企业中不同人员的职位或部门不同,又为此分配了不同的权限和功能。此OA系统主要包括:个人模块,部门经理模块,总经理模块。个人模块是每个人所拥有的,用于员工的办公,交流等。部门经理模块实现不同部门经理之间所拥有只属于本部门经理的权利。总经理模块是管理和协调各个部门之间的正常运转的功能。

1.1 个人办公模块的设计

员工的个人办公模块主要功能有:添加日程,新闻,修改个人资料,发送邮件,上传文件,申请经费,请假事物,个人文件管理。

1)添加日程:员工在此系统中可以添加自己的日常任务。拥有添加,删除,编写等功能。

2)消息:员工可以公司的新闻,新闻可以是部门新闻,也可以是公司新闻,本部门员工可看公司新闻但只能看本部门的新闻。

3)修改个人信息:部门员工有修改登录本系统的密码及在此系统的资料。

4)发送邮件:本部门员工可相互之间发送邮件,可给本部门经理,总经理发送邮件。部门经理之间可以跨部门发送邮件。员工之间不可跨部门发送。

5)上传文件:员工有上传公司内部文件的功能,以便于公司内部交流。

6)申请经费:员工出差办公拥有申请经费的能力,申请交由财务部审批,审批后交由总经理审批,审批都通过后,方可申请成功。

7)请假事物:员工请假时不超过三天,部门经理审批就行,超过三天需总经理审批,通过后方可算请假。

8)个人文件管理:员工有管理个人文件的功能,如删除,编辑等。

1.2 部门经理模块的设计

不同的部门经理之间拥有不同的功能。1)财务部:审核,比对,统计公司的财务信息,发放工资,计算效益。2)人事部:安排人员的调动,办理人员的离职,入职等。3)销售部:管理客户的信息,统计部门销售信息。部门经理都拥有管理本部门员工的消息,上传的文件,批复请假事物等功能。部门经理请假需总经理批准。

1.3 总经理模块的设计

总经理是公司权限最大的,总经理可以管理各个部门,可以审批公司员工所办理的事物,可以查看公司各个部门的新闻,文件,并可以对此进行各种操作。总经可以查看公司的账单,人员的信息,客户的信息,公司新闻,部门新闻。并可以对此进行相关的操作。

2 基于 MVC的OA系统的实现

2.1 MVC 简介

在中 MVC是指的得是:Model (模型) 表示应用程序核心模型就像是使用了某种工具的数据访问层(Data Access Layer) 这种工具包括实体框架(Entity Framework)或者与包含特定域业务逻辑的自定义代码组合在一起的NHibernate;View(视图)一个动态生成HTML页面的模板;Controller(控制器)一个协调试图和模型之间关系的特殊类。它响应用户的输入,与模型进行对话,并决定呈现哪个视图。

图1

2.2 OA系统的功能实现

1) 登录功能的实现

OA系统是公司内部所用,所以开始要有身份验证,需要登录。在Controller中添加对应的控制器,在View中对应的页面添加相对应的文本框。添加登录按钮。用Single()方法查找输入的用户名存不存在,密码正不正确,部分代码如下:

Staff staffLogin =db.Staff.Single(p => p.SName == model.SName);

if (model.pwd != staffLogin.pwd)

return Content("alert(“密码错误”;window.location.href='http://../Account/Login'");

else

{

//登陆成功|

return RedirectToAction("UserIndex", "Home");

};

这样就能实现只允许公司内部人员登录。

2) 到功能实现

员工登录系统时签到,签到时既要判断是迟到,还是旷工,又要判断是否已签到,而且不能重复签到

var Signed = from stsf in db.StaffSign where stsf.SID == SID &&stsf.StrUserOne ==timee select stsf;

if (Signed.ToList().Count()!=0)

{ return Content("alert('已签到');window.location.href='http://../Index/IndexSchedule'");}判断是否上班状态时

取到签到时的小时和分钟,与规定的时间做差,进行判断。

3) 分页功能和搜索功能的实现

员工在查看文件是为了方便查询和整理,需要添加此功能分页时需要引用MVCPager.dll

来达到分页功能的实现例如:

共 @Model.TotalItemCount 条记录

在View视图中:@Model.CurrentPageIndex/@Model.TotalPageCount 页 @Html.Pager(Model, new PagerOptions { PageIndexParameterName = "PageIndex", AlwaysShowFirstLastPageNumber = true, FirstPageText = "首页", LastPageText = "末页" })

在控制器中:PagedList list = Schedulelist.ToPagedList(pageindex, pagesize);

搜索功能用的ViewBag实现例如:

在控制器中 if (!string.IsNullOrEmpty(keyword))

{

Schedulelist = Schedulelist.Where(m => m.STitle.Contains(keyword));

ViewBag.keyword = keyword; }

4)导出Excel功能的实现

导出时使用的事FileContentResult

var sbHtml = new StringBuilder();

sbHtml.Append("");

sbHtml.Append("");

byte[] fileContents=Encoding.UTF8.GetBytes(sbHtml.ToString());

本系统中可根据ID查找所对应此员工的角色。显示角色的所对应的功能,以及不同角色所的权限。员工有请假,编写自己的日程,申请,签到等功能。不同部门人员之间有不同的办公职能。

4 结束语

随着高效率,简便办公的理念越来越深入,无纸化办公将会占据不可替代的位置。在未来会越用越广泛。OA系统所特有的办公理念将会在未来发展中越来越重要。此OA系统是基于 MVC 框架上的开发。OA系统的使用会使公司的管理更加方便,提高公司的工作效率,减少纸张的使用,更突出了无纸化办公,绿色办公的理念。

参考文献:

[1] Galloway. MVC3 高级编程[M].孙远帅,译.北京:清华大学出版社,2012.

上一篇:会呼吸的包装 下一篇:基于RFID的汽车零件销售策略支持模型