您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页基于Django的高校合同制人员管理系统

基于Django的高校合同制人员管理系统

来源:二三娱乐
第S1期 2015年3月 华东师范大学学报(自然科学版) Journa1 of East China Normal University(Natural Science) NO.S1 Mar.201 5 文章编号:1000—5641(2015)S1—0464—07 基于Dj ango的高校 合同制人员管理系统 陈红茜 孟超英 , 邱小彬 , 王笑娟 , 李 辉 (1.中国农业大学网络中心,北京100083; 100083) 2.中国农业大学信息与电气工程学院,北京摘要:提出一种网络环境下的高校合同制人员管理系统.该系统采用Django开源框架,集成了 现有的高校合同制人员和社保基础数据,实现对高校合同制人员和社保的有效管理和精确计 算.分析了管理系统的设计思路,提出该系统的体系结构,分析系统的主要功能和技术特点. 关键词:合同制人员;管理系统;Django 中图分类号:TP311.52 文献标识码:A DOI:10.3969/j.issn.1000—5641.2015.z1.075 Contract personnel management system in college based on Dj ango framework CHEN Hong—qian , MENG Chao—ying。, QIU Xiao—bin , WANG Xiao—juan ,LI Hui。 (1.NetCenter,ChinaAgricultural University'Beijing 100083,China; 2.College of In rmation and Electrical Engineering,China Agricultural University,Beijing 100083,China) Abstract:The system was proposed under a network environment.It uses Django open source framework,integrates the basic data of contract personnel and social security information,and realizes the effective management of contract personnel in college and accurate calculation of SO— cial security data.This paper analysed the design idea of the system based on Diango framework and proposed the structure,main function and technical features of the system. Key words: contract personnel; management system;Django 0 引 言 “高校合同制人员”主要是指经双方协商后被学校或学校内部单位聘用,由学校或学 校内部单位支付报酬,签订劳动合同,提供劳动服务的事业编制外工作人员 .随着我国 高校规模的不断壮大,以及社会经济的快速发展,高校各领域的工作已经无法仅仅依赖在编 收稿日期:2014—10 通信作者:陈红茜,女,工程师,研究方向为信息系流开发,数据库技术.E-mail:chenhongqian@cau.ed.en. 第二作者:孟超英,女,教授,研究方向为信息系流.E-mail:mcy@cau.edu.en. 第三作者:邱小彬,男,工程师,研究方向为信息系流.E—mail:qxb@cau.edu.cn. 第四作者:王笑娟,女,助理工程师,研究方向为网络工程.E~mail:wxjuan@cau.edu.cn. 第五作者:李辉,男,讲师,研究方向为信息系统.E-mail:caulihui@cau.edu.cn. 第S1期 陈红茜,等:基于Django的高校合同制人员管理系统465 人员,为了学校更好地发展,将大量聘用各类专业的合同制人员.高校通过聘用劳动合同制 人员可以有效解决人力资源总量不足问题,保证教学、科研和后勤等工作的顺利开展. 近年来高校中合同制人员队伍不断庞大,管理上的问题日益突出,虽然这些人员信息以 纸质的形式登记在册,但由于该类人员流动性极大,通过纸质文件的方式很难做到及时有效 的管理.而且目前部分高校建设的合同制人员管理系统大多采用的c/s(client/server)模 式,功能单一,造成系统的维护升级不方便、系统资源冗余,影响着信息处理的效率.近年来 发展起来的B/Stbrower/server)模式扩充了信息处理和交换共享上的灵活性,为不同系统 的集成提供了一种途径,利用它可以实现跨平台、可互操作的分布式应用,并且可以兼顾现 有系统的可重用性. 同时,网络技术的发展使Web语言发展迅速,Django框架所具有的平立性等特性 使其具有更广泛的访问范围、平衡高效的计算负荷以及良好的可扩展性等,可以实现与 Web中的其他信息服务进行无缝集成,建立灵活多样的应用,并可实现移动化的访问l2]. 本文设计并实现了基于Django框架的高校合同制人员管理系统,以强大的开源框架和 MVC模式为支持,通过B/S模式实现了人员基础信息管理、人员变动流程管理和社保管理 等功能. 1 Django框架概述 Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,即 模型M、视图V和控制器C[3].Python是开源、跨平台、面向对象和解释型的动态脚本语 言,它有强大的标准库,还拥有Python社区贡献的功能丰富的第三方模块_4]. Django框架的主要特点 . (1)可插入(Plug—in)管理的Application:Django提供了一个强大的命令行工具 ̄ango- admin可以帮用户完成大量的初始化及有关数据库方面的工作. (2)对象相关的映射:完全在Python中定义数据模型.可以免费得到一个丰富的,动态 访问数据库的API——但如果需要仍然可以写SQL语句. (3)URL分发:URL的设计漂亮,cruft—free没有框架的特定限定. (4)模版系统:用Django强大而可扩展的模板语言来分隔设计、内容和Python代码. (5)Cache系统:可挂在内存缓冲或其他的框架实现超级缓冲——实现所需要的粒度. (6)支持多种数据库:已经支持Postgresql、MySQL、SQLite3和Oracle等数据库. 2 系统设计 目前,高校劳动合同制人员规模庞大,人员复杂,岗位分散,流动性强,且无法沿用传统 事业单位人员管理模式,统一管理难度极大 ].为了进一步规范和加强合同制人员基本信 息和社保信息管理,开发了基于Django的高校合同制人员管理系统,借助最新的计算机网 络技术和信息技术为合同制人员管理工作提供了强有力的支持. 2.1系统业务流程 高校合同制人员类型较多,但基本采用两级管理模式,即人事处管理员和单位管理员. 下面以高层次人才派遣人员为例说明流程(见图1). 466 华东师范大学学报(自然科学版) 各单位需要进人时,先填写进人审批表, 高层次人才派遣人员流程 单位管理员 人事处管理员 说明进人理由、岗位、人数等,通过系统提交 给人事处管理员审核,若审核不通过,各单位 再按照规定提交新的进人审批表,如果通过 不自 IJZI: 填写《高层次人l 才派遣计划1. 审批表》 l 审核,用人单位即可在线导人或录入新进合 卤 /审核审\ ●\ /   It 同制人员信息,由人事处管理员审核该人员 信息并补充其他相关信息.该新进人员正式 人校后,各单位管理员可以导出并打印合同 制人员名单,人事处管理员可以按月维护合 人 同制人员的工资和保险信息.该人员离校 后,将其移动至已退人员库中,但其所有的相 Ⅱ 关信息和缴费记录都会记录在案. { { 2.2系统功能结构 离入或录入l 层次人员f‘ I 值息 I 该系统实现的功能目标如下: 人 核人 过 (1)严格高校各类合同制人员的管理流 程,确保管理的规范化和制度化 通过建立人员审批表管理模块和人员管 理模块,对整个人员管理流程实行统一化规 补充其他 相关信息 范化的管理,同时确保每类人员都能够按照 流程办事,单位管理员填写审批表、人员基本 信息,人事处管理员审核审批表和人员信息, ’ 出并打印I NA. ̄gI l 望 l 切实做到集中规范管理. (2)实现单位管理和在线网上办公 l 按月维护工资、 保险等信息 对于单位管理员来说,可以直接通过系 统完成审批表的上报,各类人员信息的填写, 并能实现对填写字段的自动校验,确保输入 人员辞职,将 该人员移动至 已遐人员库中 的规范和正确.人事处管理员能够直接从网 上对各项信息进行审核,真正实现了在线办 公. 图1 高层次人才派遣业务流程 (3)详尽完备的人员查询和汇总功能,充 分复杂的人力劳动 合同制人员的流动性特别大,如果人工对各类人员信息进行查询汇总工作是相当复杂 的,同时要详细查找某个单位的特定人员情况也相当麻烦,通过此系统就能够方便的根据这 个人的姓名,身份证号等个人信息找到相关人员,查看他的详细信息. (4)提升系统数据库的安全性 采用可靠的安全策略,采用B/S三层架构,实现用户层、业务逻辑、数据资源层的分离, 并采用先进的登录身份认证机制,大大降低系统被攻击的可能性,保证系统的安全性. 系统各功能模块如下图所示: 第s1期 陈红茜,等:基于I)jango的高校合同制人员管理系统467 图2功能结构图 2.3系统体系结构 分层是现代软件系统的基本架构,通过分层可以达到良好的可扩展性和可维护性.在 分层架构中。每一个层都是一个相对的逻辑层面,专注于实现系统某一个方面的功能, 并且拥有一个较为清晰和严格的逻辑边界.层与层之间既相互又相互联系,下层为上 层提供服务 层调用下层的服务并为它的上层提供服务,一个层的变化对其他层是透明 的,从而实现了系统的高内聚、低耦合.本系统采用分层思想进行设计,充分考虑了未来扩 展的可能性,有利于系统的维护和升级. 系统结构的设计结合了Django开源框架、B/s模式、Ajax、RIA各种开源框架,层次结 构如下图所示,分别为:表示层、业务逻辑层、数据持久层和数据资源层. 图3系统体系结构 (1)表示层是用户界面层,webU1采用ExtJS类库进行开发,通过Ajax与服务器端交 468 华东师范大学学报(自然科学版) 互,实现单页面web应用程序(所有的业务功能在一个页面实现),具有很强的交互性和用 户友好性.用户通过Web浏览器来与服务器进行交互,获得自己所需的信息. (2)业务逻辑层是系统的核心层次,完成系统的所有业务功能,主要是Web服务器,同 时还包括合同制人员管理所需要的专业化的服务和构件,包括:人员管理构件、信息查询统 计构件、审批表管理构件和用户权限管理构件. (3)数据持久层是对底层数据库的抽象,是一个专注于数据持久化的逻辑层面,向业务 逻辑层提供对底层数据库访问的统一的接口. (4)数据资源层集成各种异构数据源向上层提供数据,是数据承载的实体.包括用户权 限数据库、人员信息数据库、审批表信息数据库以及各类文件. 3 系统实现 由于开源软件具有自由分发、自由集成、公布源代码等优点,为了做大限度的降低风险 和提高质量,系统应用了诸多开源框架,并对这些开源框架进行扩展、定制. 系统完全基于MVC模式,将业务逻辑、显示逻辑和数据逻辑完全解耦,有利于系统的 维护和扩展.在WebUI方面,采用ExtJS框架,增强了系统的交互性和展现能力.选用 Django作为Web框架,便于和其他框架集成,同时可以利用其提供的基础设施加速开发. 数据持久层使用SQLAlchemy框架,通过ORM简化开发过程,同时内置数据库连接池,可 以减少与数据库的交互,同时框架对数据库抽象,便于在多种不同数据库问迁移.由于系统 涉及大量的基础数据,因此在数据库系统方面选用业界认可的MySQL.系统会有大量的动 态计算以及页面渲染,所以通过Memcached分布式缓存减少此类开销.同时,对于系统涉 及到的各种列表等,通过引入K—V存储redis进行解决. 3.1 ExtJS模块按需加载机制 ’ 基于效率和资源优先的原则,WebUI的所有模块都是按需加载的,所有的模块的源文 件只有在调用该模块时,才会通过Ajax向服务器请求,进行加载,这样充分利用了网络带 宽,又降低了客户端浏览器的资源负载. 首先,将每个组件划分成一个模块,存于一个jS文件,通过json格式的配置文件(或者 是配置字符串)对系统的各个模块进行配置.每个模块对应一个菜单项,当点击该菜单项 时,如果该模块尚未加载,则通过Ajax请求后端,返回后进行渲染并将该组件添加到主容器 中;如果该模块已经加载,那么该组件已在当前用户虚拟机中,直接实例化即可. 上图是json格式的模块配置文件,每个模块具有一个id,用以标识该模块.同时,leaf 字段指定是否为子菜单,通过将其设置为false支持多级菜单.text是菜单项的名字. LinkUrl是该菜单项对应的模块的文件的请求路径,在菜单项是一个远程模块时有效.type 表示该菜单项的类型,取值包括:constructor,remote,constructor表示模块对应的文件已经 加载,直接初始化即可,remote表示需要远程请求该模块文件.最后,params是模块对应的 初始化参数. 通过上述模块机制,可以大幅提高模块的复用性,同时也便于实现模块的按需加载. 3.2审批表和人员审批实现 当一个对象的状态涉及到多张数据表时,那么此对象的更新和查询都会变得相对复杂 一些,所以需要一张简洁的方式来实现此类对象的更新和查询. 第S1期 陈红茜,等:基于Django的高校合同制人员管理系统469 本系统中,人员的审批状态就存在于多张表中,包括审批表数据表、人员数据表和保险 数据表.为了集中处理,采用MySQL的bin log监控的方式实现数据更新.通过开源的py— thon—mysql—replication库实现对mysql监控,然后将数据写入redis列表. 图4 json配置文件 图5 mysql bin log监控示意图 如上图所示,监控3张表的变化,模块以事件方式实现,需要注册某个表事件发生时的 处理器.与触发器类似,对于数据表的insert事件将插入的数据传人,对于update事件会传 人修改前和修改后的数据.在相应表的事件处理器中,根据数据变化修改redis列表.前端 的查询不直接操作mysql,而是更轻量级的redis,更加高效. 通过上述方式,实现对分散在多张表状态的更新、查询,相对于直接操作MySQI ,更加 直观、高效. 2.3人员信息导入 为了便于和其他系统对接,系统支持人员信息的导人,支持excel文件,并且支持数据 类型校验和数据范围校验. 通过字段信息描述导人的文件,具体如下: 470 华东师范大学学报(自然科学版) 图6导入代码 每个字段会有一个字典用于描述其元信息,包括:index该字段在excel表格中的列下 标,type该字段的类型,range该字段的取值范围. 在遍历excel的每一行时,依次遍历所有字段信息,获取对应列的值,进行类型转换,然 后判断是否在取值范围内.所有行遍历完后,将出错信息返回给前端. 4 总 结 本文提出了基于Django的高校合同制人员管理系统设计和实现,在此基础上结合目前 高校合同制人员管理的需求开发了该系统.与目前现有合同制人员管理系统相比,本系统 采用Django框架开发,不仅大大提升了开发效率,而且降低了客户端的负载,实现了面向 Internet的分布式计算,有利于高校领导层快速获取到学校合同制人员的基本信息和保险 等多方面信息.本系统以合同制人员科学管理为导向,结合了合同制人员结构复杂的特点, 利用高校对多类型合同制人员进行统筹管理. ‘目前该系统已经在多个高校应用,结果表明本系统在提高工作效率、科学管理等方面发 挥了较好的作用. [参 考 文 献] [1]周强,周敏.高校临时聘用人员管理现状及对策[J].高教高职研究,2009(9):188—190. [2]徐旭明.Django web开发指南[M].北京:机械工程出版社,2009. [3]http://zh.wikipedia.org/wiki/Diango. [4]Wesley J Chun.Core Python Programming[M].USA:Prentice Hall,2007;卜823. [5]王晓斌,闫果.基于Diango开发的桥梁健康监测数据查询的web应用[J].电子技术与软件工程,2(109,24(4) 231. [6] 陈静源.高校非事业编制职工劳动关系若干问题探究E3].浙江师范大学学报(社会科学版),2010(7):23—24. (责任编辑王善平) 

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

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

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

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