肖波
摘要:科技成果登记系统立足于当前药品监管科技成果管理要求,结合现有信息资源进行需求分析、系统功能设计、数据库设计,应用SpringMVC技术框架开发实现用户注册、审核、登录,以及成果登记、备案等在线管理功能,成果登记、备案采用三级逐层上报管理机制,优化了成果管理流程,满足国家药品监督管理局(简称“国家药监局”)科技成果管理需要。
关键词:成果登記;成果备案;成果系统;SpringMVC
1 引言
依据《国家食品药品监督管理总局科技计划项目管理办法》、《中华人民共和国促进科技成果转化法》、《总局关于促进科技成果转化的意见》等法规文件,为规范国家药监局科技成果登记工作,及时、准确和完整地统计科技成果,服务成果转化、成果奖励和科技决策,国家药监局提出建设科技成果登记系统,将科技成果登记工作纳入线上管理,实现数据共享目的。
2 需求分析
国家药监局组织科技成果登记工作,成果完成单位作为成果登记的主体,通过统一的系统进行登记,主管部门对上报的成果信息进行初审,国家药监局管理办公室(简称“管理办公室“”)完成上报成果信息的复审。科技成果已在相关科技管理部门登记的,将相关登记信息向国家药监局备案,不再重复登记。成果登记内容如下:
2.1成果登记信息
(1)封面信息,包括成果名称、第一完成单位、研究终止日期、推荐单位、批准登记单位、批准登记号;
(2)成果概况,包括成果名称、关键词、成果体现形式、成果水平、合作形式、学科分类、中图分类、战略性新兴产业、社会经济目标、成果应用行业;
(3)立项情况,包括课题来源、课题来源单位、课题立项名称、课题立项编号、经费实际投入额;
(4)评价情况,包括评价方式、评价单位、评价日期、评价报告编号;
(5)成果完成单位情况,包括成果第一完成单位的情况、转让意向与范围、成果合作完成单位情况、批准登记单位意见;
(6)提交的附件材料包括基础理论成果、应用技术成果、软科学研究成果等相关材料证明文件。
2.2成果备案信息
成果备案信息包括成果名称、完成单位名称、成果类型、成果年份、联系人、联系人电话、批准登记单位、批准登记号、批准登记日期、成果基本情况。提交在其他科技管理部门出具的《科技成果登记证书》等证明材料扫描件。
3 系统设计
3.1总体设计
科技成果登记系统根据业务需要,系统用户划分为4类,分别为成果完成单位、主管部门、管理办公室、平台建设运维单位,每类用户对应不同操作,系统总体框架如下图所示。
3.2系统功能设计
3.2.1业务流程图
成果完成单位:成果完成单位注册账号,账号审核通过后即可登录系统登记本单位成果信息,对于已经在其他部门登记了的成果需要备案。完成成果信息登记确认无误后进行上报,对于已经上报的成果信息可申请退回。成果完成单位是直属单位的可直接上报管理办公室。
省局单位:省局部门注册账号,账号审核通过后即可登录系统,查询上报的成果信息,审核无误后进行上报,对于信息有误、材料不全的的成果信息写明原因退回。对于已经上报的成果信息可申请退回,对于下级申请退回的成果信息经确认后退回。
管理办公室:管理办公室登录系统,审核用户提交的注册信息,查询上报的成果信息进行审核。对于信息有误、材料不全的的成果信息写明原因退回。
运维单位:运维单位负责系统的日常运维,包括管理系统用户,赋予用户特定操作权限,维护系统日志等。
3.2.2功能结构图
3.3数据库设计
4 系统实现
4.1用户注册
1、功能概述
成果完成单位或省级主管部门通过系统注册页面填写单位信息、个人账户信息,完成系统账号注册。
2、页面操作逻辑
(1)点击注册功能按钮,选择用户类型;
(2)在机构信息栏输入机构名称,若系统中已存在单位信息,从下拉列表中选择单位即可,若系统中不存在单位信息,需要提供系统中所需单位信息;
(3)在用户信息栏输入账户信息,包括登录名、用户名、登录密码等信息;
(4)输入完整信息点击注册,验证通过后注册成功。
3、代码实现
点击【注册】按钮调用controller层接口方法public ResultDto userRegister(User user),首先是对用户输入信息校验,通过校验后调用service层方法public int insert(User record)实现User数据模型封装,调用mapper层方法public int insert(User record)更新数据库完成用户账户注册,最后将结果以Json格式方式返回前端页面。
4.2用户登录
1、功能概述
成果完成单位或省级主管部门提交提交注册信息,通过账户审核后即可登录系统。
2、页面操作逻辑
(1)在登录页面输入用户名、密码和验证码,点击登录按钮登录系统;
(2)如登录失败,系统会给予相应提示,如忘记密码可通过找回密码功能设置新密码。
3、代码实现
点击【登录】按钮调用controller层接口方法public ResultDto adminLogin(HttpSession session,String uname,String pwd,String validateCode),首先是输入参数校验,校验通过后调用service层方法public ResultDto adminLogin(HttpSession session,String uname,String pwd,String validateCode)执行登录逻辑判断,通过后交于shiro进行用户认证和授权,认证通过获取用户菜单信息存入session中,最后将登录结果以json格式返回前端页面。
4.3成果登记
1、功能概述
成果完成单位登录系统,利用成果登记入口进行成果登记,包括成果信息新增、修改和删除操作,对于已经上报的成果信息可申请退回处理。审核不通过的成果可点击原因链接查看详情。
2、页面操作
(1)点击成果登记菜单,右侧查询已登记成果记录,根据需要查询成果信息;
(2)选择成果列表中的一条成果记录,点击成果名称,查看成果详细;
(3)点击【新增】按钮,在弹出的窗口中输入成果类型、成果名称、第一单位、成果登记号等,点击【确定】按钮新增成果信息;
(4)在成果列表中选择需要修改的成果记录,点击【修改】按钮在弹出窗口中修改成果信息,点击【确定】按钮完成修改;
(5)对于尚未上报的成果,选择成果记录点击【删除】按钮,删除录入的成果数据;
(6)完成成果信息录入点击【上报】按钮,向上级主管部门上报成果数据;
(7)对于已经上报的成果信息,点击【申请退回】按钮申请退回成果数据。
3.代码实现
成果登记页面输入全部成果信息,点击【提交】按钮调用controller层接口方法public ResultDto achievementCommit(Integer id),首先进行成果信息完整性校验,校验通过后调用service层方法public int updateSelective(Achievement achievement)进行模型数据封装,调用mapper层方法int updateSelective(Achievement achievement) 更新数据库,最后将结果以json格式返回前端页面。
4.4成果初审
1、功能概述
主管部门对成果完成单位上报的成果信息进行审核,未通过审核的成果写明原因退回,审核通过的成果进一步上报其上级部门。若已经上报的成果需要退回修改,需向上级部门发起退回申请。
2、页面操作
(1)主管单位登录系统,点击成果管理菜单,右侧可根据需要查询成果记录;
(2)点击成果列表中成果名称,查看成果登记详情;
(3)选择一条成果记录,点击【上报】按钮,将成果信息上报给上级单位;
(4)选择一条成果记录,点击【退回】按钮,将成果信息退回给下级单位;
(5)选择一条成果记录,点击【申请退回】按钮,向上级单位申请退回成果。
3.代码实现
选择一条成果信息点击【上报】按钮,调用controller接口方法public ResultDto achievementReport(Integer id),首先校验传入参数,校验通过后调用service层方法int update Selective (Achievement Status record)進行成果上报逻辑判断,已上报的成果不可重复上报,校验通过后调用mapper层方法public int update Selective (Achievement Status record)更新数据库完成成果上报操作,最后将结果以json格式返回给前端页面。
4.5成果复审
1、功能概述
国家药监局对主管部门上报的成果信息进行复审,审核通过的成果进入成果库,审核有异议的成果退回给下级部门处理,或直接审核不过并反馈下级部门。
2、页面操作
(1)点击成果审核菜单,右侧显示成果列表,根据需要查询成果信息;
(2)在成果列表中选择一条成果记录,点击成果名称查询成果详情;
(3)在成果列表中选择一条成果记录,点击【退回】按钮,将成果退回给下级部门;
(4)在成果列表中选择一条成果记录,点击【审核通过】按钮,将成果入库;
(5)在成果列表中选择一条成果记录,点击【审核不通过】按钮,输入不通过原因,点击【确定】按钮将审核结果反馈下级部门。
3、代码实现
选择一条成果信息点击【审核通过】或【审核未通过】按钮,调用controller方法public ResultDto check(Integer id,String type,String reason),首先进行必备参数校验,校验通过后调用server层方法public int updateSelective(Achievement achievement)封装Achievement数据模型,调用mapper层方法int update Selective (Achievement achievement)操作数据库更新审核结果,最后将结果以json格式返回前端页面。
5 结语
本文以国家药监局科技成果登记需求出发,研究了关于国家药监局科技成果登记政策、法规文件,参加了国家药监局相关部门组织的科技成果登记需求会议,通过整理、确认形成需求规格说明书,包括总体需求分析和用户用例分析;在分析需求的基础上进行了系统总体框架设计和技术框架设计;基于总体框架梳理了系统业务流程,规划了系统功能结构,逻列了每个功能模块具体功能,考虑实现功能模块的实体对象设计了相关数据库表;最后是对系统功能模块的具体实现,包括功能页面设计和功能代码实现。
科技成果登记系统采用目前较流行的springMVC框架开发,三层架构分工明确、结构清晰,易于功能开发;在系统安全上应用三权分立的思想,通过集成shiro安全框架实现系统的数据安全、操作安全;数据库基于mysql,通过集成mybatis实现持久层数据库操作;在系统部署上基于nginx服务器代理2台tomcat实现负载均衡。
在科技成果登记系统开发完成后,通过了功能测试、性能测试和稳定性测试,基本满足科技成果登记需要,最后根据统一规划进行了系统部署。
参考文献
[1]陈雪.高校科研成果管理系统的设计与实现[D].厦门:厦门大,2014年
[2]张艺锋.基于SpringMVC的高校信息综合管理系统设计与实现 [D].湖南:湖南大学,2016.
[3]李天赐.基于SSH框架卫生科技成果申报系统的设计与实现[J].软件,2018,39(7):84-88
[4]朱运乔.基于Spring+SpringMVC+hibernate框架的Web系统设计与实现[J].电脑知识与技术,2018,14(26):66-68
[5]张海藩,牟永敏.软件工程导论(第6版)[M].北京:清华大学出版社,2013:91-97.
[6]丁允超.MySQL网络数据库设计与开发(第2版)[M].北京:电子工业出版社,2018:16-19.