ASP.NETMVC - 山东省职称申报评审系统

《山东省职称申报评审系统》项目研发总结
作者:LXT
本次任务完成时间:2017年08月15日~2017年11月27日
开发工具与关键技术:Visual Studio 2015、SQL Server - ASP.NETMVC
完成模块功能: 整个系统功能
目录
1、软件概述 3
1.1、目的和意义 3
1.2、功能概述 3
2、运行环境 3
2.1、硬件 3
2.2、支持软件 4
3、使用说明 4
3.1、软件部署 4
4、总体设计 5
4.1系统总体设计: 5
4.2、数据库总体设计 7
5、详细设计 17
5.1.1 业务流程图 17
5.1.2 操作说明 17
5.1.3 表和关系 42
5.1.4 核心代码 43
6、项目总结 48

1、软件概述
1.1、目的和意义
根据学校的课程安排,我们学完了MVC的基础课程,学校给我们安排项目实训,根据项目的分配来看,我发现有一些项目是两人完成的,有一些项目是多人完成的,更有一些是一个人完成的,用我们的说法就是(单飞),而我就是其中的一员,激动的同时又有点害怕。山东省专业技术人员职称申报评审系统,是山东省人力资源和社会保障厅为深化职称制度改革,进一步做好山东省职称评审工作,更好地满足山东省职称评审工作需求,本系统在认真总结单机版评审系统使用经验的基础上,深入分析我省职称评审工作的特点和需求,充分利用先进的网络及信息化技术,设计开发了集申报、评审、咨询服务为一体的综合性职称服务平台,实现了职称评审全过程的网络化管理,节约了工作成本、降低了工作强度、提高了工作效率,方便了专业技术人员申报,最大限度的保证了职称评审工作的规范、统一、公平、公正、公开,确保整个评审过程有序进行。
1.2、功能概述
在满足用户需求的前提下,对职称评审工作流程进行分析,从而得到系统需要实现的具体功能。该系统包括如下十个主要模块:职称申报、一览表预览及打印、信息上报、用户注册、用户登录、用户管理、申报系列、申报路径、审核上报、发布公告。
2、运行环境
2.1、硬件
CPU:Intel Core i5系列
内存:4GB
硬盘:120GB可用空间
输入:键盘、鼠标
输出:显示器
2.2、支持软件
(1)、Microsoft Windows 7及其以上版本;
(2)、Visual Studio 2015;
(3)、Microsoft SQL Server 2014;
3、使用说明
3.1、软件部署
1、点击“Windows”键进入“开始”菜单,点击“所有应用”,在所有应用菜单里点击“Windows系统”里的“控制面板”。
2、在控制面板对话框里点击“程序”。
3、在“程序”对话框里点击“启用或关闭Windows功能”。
4、在“Windows功能”对话框里选中,选择框里根据你的需要选择你需要的功能,选择完成后,点击确定。
5、Windows功能开始下载并安装你要的功能的程序,直到出现“Windows已完成请求的更改”,点击重启电脑。
6、点击“Windows”键进入“开始”菜单,在搜索框中输入iis,然后点击Internet Information Services(IIS)管理器。
7、选择你发布的网站,点击鼠标右键添加网站输入网站名称(自定义)选择项目路径类型默认http输入IP地址端口默认:80 点击确定。
8、选中你的网站名鼠标点击右键编辑权限选择安全,在下方点击编辑点击添加在输入框中输入everyone点击确定在everyone权限中全部勾选点击确定选中你发布的网站鼠标点击右键刷新几遍即可。
9、然后打开浏览器,输入IP地址能打开,就代表安装成功了。
4、总体设计
4.1系统总体设计:
(1)职称申报。主要包含了基础信息、基本信息、工作经历、工作成绩、成果奖励、论文作品等操作模块的功能。
(2)一览表预览、打印。主要包括职称申报的多个操作模块的主要申报信息进行打印上报,系统将会自动生成PDF文档进行下载,下载完成即可打印的功能。
(3)信息上报。主要是申报人浏览完《专业技术人员申报评审职称情况一览表》,确认无误后点击上报按钮,进行上报,一旦上报不可更改,个人申报信息即可上报至申报人所在单位,经单位审核后,逐级上报至评委会办事机构。
(4)单位用户注册。主要包括基本注册信息以及组织机构代码、动态令牌、动态令牌号、动态口令、其中动态口令需要联系主办单位进行购买。购买成功后,获得动态口令方能登录进入到后台服务管理。
(5)单位用户登录。主要是根据注册信息,获取已购买的动态令牌口令进行登录,如果用户名、密码、动态令牌口令有其中任何一项经过验证不正确的,将无法登录。
(6)单位用户管理。主要是单位信息维护、审核人员管理、工作人员管理、修改密码等操作模块的新增、删除、查询、修改,其中的工作人员管理可以进行密码重置,可以选择一条数据进行密码重置,也可以选择多条数据,支持工作人员导出等功能。
(7)单位申报系列。主要是此项功能针对评委会办事机构,根据年度开启或关闭决定申报状态系列、申报等级的开启、关闭、新增、删除等功能操作,关闭或已删除的,则不能进行申报选择。
(8)设置申报路径。主要包括了申报路径申请、代理路径申请、申报路径审核、代理路径审核等操作模块的设置和审核等功能。
(9)数据审核上报。主要包括查询、编号、审核、批量审核、导出花名册、导出一览表、上报、全部上报、审核通知等操作模块的一系列功能。审核通知主要是向申报人反馈信息、无论是否申报成功,都给用户反馈信息以示通知。
(10)发布公告。主要是发布审核业务指南、通知公告、相关政策、常见问题、关于我们、任职资格、工作流程等发布类型、以便申报人及时知道最新消息、以及最新规定,方便申报人进行整理上报所需要的资料以及信息的功能。
对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如下所示的系统功能模块图如图1所示。

5、详细设计
5.1.1 业务流程图
ASP.NETMVC - 山东省职称申报评审系统
5.1.2 操作说明
1、职称申报:见图1,是基础信息模块实现界面。
ASP.NETMVC - 山东省职称申报评审系统
图1
2、职称申报:见图2,是基本信息模块实现界面。
ASP.NETMVC - 山东省职称申报评审系统
图2
3、职称申报:见图3,是工作经历模块实现界面。是用来验证你的从事工作经验。
ASP.NETMVC - 山东省职称申报评审系统
图3
4、职称申报:见图4,是工作成绩模块实现界面。工作以来各年度获得的认可与证明自己所创造的价值。
ASP.NETMVC - 山东省职称申报评审系统
图4
5、职称申报:见图5,是成果奖励模块实现界面。每录入完一条“成果奖励”信息后,请点击页面右下方的【增加】按钮,则“成果表列表”即可显示出所录入的信息。如录入有误时,选中信息列表中要修改的信息记录进行修改,修改完成后,点击【修改并保存】按钮,如需删除,选中信息列表中要删除记录,点击【删除】按钮即可。
ASP.NETMVC - 山东省职称申报评审系统
图5
6、职称申报:见图6,是论文作品模块实现界面。每录入完一条“论文作品”信息后,请点击页面右下方的【增加】按钮,则“论文作品表列表”即可显示出所录入的信息。如录入有误时,选中信息列表中要修改的信息记录进行修改,修改完成后,点击【修改并保存】按钮,如需删除,选中信息列表中要删除记录,点击【删除】按钮即可。
ASP.NETMVC - 山东省职称申报评审系统
图6
7、一览表预览、打印:见图7,是预览、打印模块实现界面。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
图7
8、单位用户注册:见图8,是用户注册模块实现界面。
(1)单位用户注册:带*号的项目是必填项不能为空。
(2)动态令牌:申报人所在单位暂不使用动态令牌。呈报单位及评委会办事机构注册时必须使用动态令牌。
(3)动态口令:需要联系主办单位购买。
(4)动态令牌同步:注册时使用动态令牌点击动态令牌同步获取绑定动态令牌号,反之亦然。
ASP.NETMVC - 山东省职称申报评审系统
图8
9、单位用户登录:见图9,是用户登录模块实现界面。主要是根据注册信息,获取已购买的动态令牌口令进行登录,如果用户名、密码、动态令牌口令有其中任何一项经过验证不正确的,将无法登录。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
图9
10、单位用户管理:见下图,是用户管理模块实现界面。单位管理包括:单位信息维护、审核人员管理、工作人员管理、修改密码。主要是单位信息维护、审核人员管理、工作人员管理、修改密码等操作模块的新增、删除、查询、修改,其中的工作人员管理可以进行密码重置,可以选择一条数据进行密码重置,也可以选择多条数据,支持工作人员导出等功能。
单位信息维护:
ASP.NETMVC - 山东省职称申报评审系统
审核人员管理:
ASP.NETMVC - 山东省职称申报评审系统
工作人员管理:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
修改密码:
ASP.NETMVC - 山东省职称申报评审系统
11、单位申报系列:见图10、图11,是单位申报系列模块实现界面。主要是此项功能针对评委会办事机构,根据年度开启或关闭决定申报状态系列、申报等级的开启、关闭、新增、删除等功能操作,关闭或已删除的,则不能进行申报选择。
ASP.NETMVC - 山东省职称申报评审系统
图10
ASP.NETMVC - 山东省职称申报评审系统
图11
12、设置申报路径:如下图所示,是申报路径模块实现界面。其中包括:申报路径申请、代理路径申请、申报路径审核、代理路径审核。
申报(代理)路径申请:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
申报(代理)路径审核:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
13、数据审核上报:如下图所示,是审核上报模块实现界面。
主要包括查询、编号、审核、批量审核、导出花名册、导出一览表、上报、全部上报、审核通知等操作模块的一系列功能。审核通知主要是向申报人反馈信息、无论是否申报成功,都给用户反馈信息以示通知。
条件查询:
ASP.NETMVC - 山东省职称申报评审系统
编号:可以根据学历、申报方式、专业技术职称来进行排序。
ASP.NETMVC - 山东省职称申报评审系统
审核:勾选中的数据才能审核,未勾选的不能审核、已审核的可以重新审核,防止操作上有失误,带来不必要的麻烦。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
批量审核:
ASP.NETMVC - 山东省职称申报评审系统
导出花名册、导出一览表:导出花名册可以全部导出,导出一览表操作一次只能导出一条数据。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
上报、全部上报:勾选数据才能上报,未勾选的不能上报、未审核的不能上报、已上报的不能上报,可以上报一条数据、也可以上报多条数据。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
审核通知:主要是针对申报人进行反馈结果的一个功能。无论申报是否成功,都会向申报客户反馈结果信息。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
14、发布公告:如下图所示,是发布公告模块实现界面。
ASP.NETMVC - 山东省职称申报评审系统
新增公告:
ASP.NETMVC - 山东省职称申报评审系统
修改公告:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
删除公告:
ASP.NETMVC - 山东省职称申报评审系统
点击详情按钮跳转到详情页面。
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统

发布到前台首页进行显示:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
前台首页:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
5.1.3 表和关系
(一)、设置申报路径:
ASP.NETMVC - 山东省职称申报评审系统
图7
(二)数据审核上报
ASP.NETMVC - 山东省职称申报评审系统
图8
5.1.4 核心代码
(1)、上传图片代码:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
(2)、清理公告文件代码:
ASP.NETMVC - 山东省职称申报评审系统
(3)、附件文件上传代码:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
(4)、发送短信验证码代码:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
(5)、审核通知:邮件发送(反馈信息)代码:
ASP.NETMVC - 山东省职称申报评审系统
ASP.NETMVC - 山东省职称申报评审系统
图9
6、项目总结
由8月15日开始至11月27日结束,在这段做项目期间以来,生活感觉很充实,每天都给自己定一个小任务,每天按照任务前进着,今天的任务绝不留给第二天,逼着自己今天完成今天的任务,随着每一天的任务完成之后,感觉每一天都在进步,这种感觉很美妙、每一天都让自己充满自信,充满动力,当然了,做项目并不是和想的那样一路通畅的,有时候遇到问题,真的是一件特别痛苦的事,小bug还好,当真正遇到难题时,有时候真的抓破脑袋都想不出来,但是同时又觉得很刺激,因为做项目以来有很多的增删查改,做的有点乏味,不可否认增删查改也有更高深地方,只是我还没遇到罢了,所以遇到难题的时候感觉充满了挑战、充满了动力,真的是痛苦并快乐着。
要想做好一个项目思路真的很重要,没有思路,你将寸步难行,不知道该怎么继续做下去。个人感觉做项目真的很好,做项目过程中可以不断总结,不断巩固自己所学的东西,把自己所学到知识应用到项目中然后再加深理解,理解之后再不断的完善,不断的把代码升级,只有这样才能把自己所学的东西用到实际生活中,也只有这样自己所学的东西才有价值,才有意义。
做项目就是这样,遇到不会的,如果你不去尝试,你就永远也不会,只有努力去思考,去尝试才可能学会,像老师们经常说,作为程序员,只有想不到的,没有做不到的。老师这句话始终鼓舞着我们迎难而上,只有这样不断去尝试才可以让我们不断突破思维,不断提升自己的价值。想想刚开始做项目不久的时候就遇到了一个我认为的难题,想了一天都想不出来,该怎么去实现这个功能,后来就去问了同学,把思路告诉他之后,他说这个这么简单不要问我,叫我自己思考去,结果我觉得很丢脸所以就没有去问任何人了,然后就自己不断的去尝试,做了3天才做了出来,那时候心情别提多高兴了,结果到了第四天,先前我问他的那个同学,过来问我做出了没有,我说我做出了,结果他说是吗,后来他跟我说他也不会,我也是醉了,所以这件事告诉了自己,只要自己真的用心思考,去尝试了,才能把难题解决掉,而不能遇到难题就去找同学老师,当然了,做人也不可以那么死脑筋的,如果一个问题都卡住你十天半个月了,还解决不了,当然得去问,毕竟该问的还是要问嘛。要不然别人都把项目做完了,你还卡在那里,这样就得不偿失了,所以也需要灵活变通才行,做项目后半阶段,也遇到了不少难题,也去问了同学,无论别人怎么说,只要自己能把别人的方法学会了,再用到自己的项目中就变成自己的知识了。所以做项目的好处是:可以把自己所学的东西进行巩固、加深了理解,也可以学到老师在课堂上没有讲到的知识。