• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Django的高校合同制人員管理系統(tǒng)

      2015-12-02 03:00:24陳紅茜孟超英邱小彬王笑娟
      關(guān)鍵詞:審批表合同制開(kāi)源

      陳紅茜 孟超英, 邱小彬, 王笑娟, 李 輝

      (1.中國(guó)農(nóng)業(yè)大學(xué)網(wǎng)絡(luò)中心,北京 100083;2.中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083)

      0 引 言

      “高校合同制人員”主要是指經(jīng)雙方協(xié)商后被學(xué)?;?qū)W校內(nèi)部單位聘用,由學(xué)?;?qū)W校內(nèi)部單位支付報(bào)酬,簽訂勞動(dòng)合同,提供勞動(dòng)服務(wù)的事業(yè)編制外工作人員[1].隨著我國(guó)高校規(guī)模的不斷壯大,以及社會(huì)經(jīng)濟(jì)的快速發(fā)展,高校各領(lǐng)域的工作已經(jīng)無(wú)法僅僅依賴(lài)在編人員,為了學(xué)校更好地發(fā)展,將大量聘用各類(lèi)專(zhuān)業(yè)的合同制人員.高校通過(guò)聘用勞動(dòng)合同制人員可以有效解決人力資源總量不足問(wèn)題,保證教學(xué)、科研和后勤等工作的順利開(kāi)展.

      近年來(lái)高校中合同制人員隊(duì)伍不斷龐大,管理上的問(wèn)題日益突出,雖然這些人員信息以紙質(zhì)的形式登記在冊(cè),但由于該類(lèi)人員流動(dòng)性極大,通過(guò)紙質(zhì)文件的方式很難做到及時(shí)有效的管理.而且目前部分高校建設(shè)的合同制人員管理系統(tǒng)大多采用的C/S(client/server)模式,功能單一,造成系統(tǒng)的維護(hù)升級(jí)不方便、系統(tǒng)資源冗余,影響著信息處理的效率.近年來(lái)發(fā)展起來(lái)的B/S(brower/server)模式擴(kuò)充了信息處理和交換共享上的靈活性,為不同系統(tǒng)的集成提供了一種途徑,利用它可以實(shí)現(xiàn)跨平臺(tái)、可互操作的分布式應(yīng)用,并且可以兼顧現(xiàn)有系統(tǒng)的可重用性.

      同時(shí),網(wǎng)絡(luò)技術(shù)的發(fā)展使Web語(yǔ)言發(fā)展迅速,Django框架所具有的平臺(tái)獨(dú)立性等特性使其具有更廣泛的訪(fǎng)問(wèn)范圍、平衡高效的計(jì)算負(fù)荷以及良好的可擴(kuò)展性等,可以實(shí)現(xiàn)與Web中的其他信息服務(wù)進(jìn)行無(wú)縫集成,建立靈活多樣的應(yīng)用,并可實(shí)現(xiàn)移動(dòng)化的訪(fǎng)問(wèn)[2].

      本文設(shè)計(jì)并實(shí)現(xiàn)了基于Django框架的高校合同制人員管理系統(tǒng),以強(qiáng)大的開(kāi)源框架和MVC模式為支持,通過(guò)B/S模式實(shí)現(xiàn)了人員基礎(chǔ)信息管理、人員變動(dòng)流程管理和社保管理等功能.

      1 Django框架概述

      Django是一個(gè)開(kāi)源的Web應(yīng)用框架,由Python寫(xiě)成.采用MVC的軟件設(shè)計(jì)模式,即模型M、視圖V和控制器C[3].Python是開(kāi)源、跨平臺(tái)、面向?qū)ο蠛徒忉屝偷膭?dòng)態(tài)腳本語(yǔ)言,它有強(qiáng)大的標(biāo)準(zhǔn)庫(kù),還擁有Python社區(qū)貢獻(xiàn)的功能豐富的第三方模塊[4].

      Django框架的主要特點(diǎn)[5].

      (1)可插入(Plug-in)管理的Application:Django提供了一個(gè)強(qiáng)大的命令行工具djangoadmin可以幫用戶(hù)完成大量的初始化及有關(guān)數(shù)據(jù)庫(kù)方面的工作.

      (2)對(duì)象相關(guān)的映射:完全在Python中定義數(shù)據(jù)模型.可以免費(fèi)得到一個(gè)豐富的,動(dòng)態(tài)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的API——但如果需要仍然可以寫(xiě)SQL語(yǔ)句.

      (3)URL分發(fā):URL的設(shè)計(jì)漂亮,cruft-free沒(méi)有框架的特定限定.

      (4)模版系統(tǒng):用Django強(qiáng)大而可擴(kuò)展的模板語(yǔ)言來(lái)分隔設(shè)計(jì)、內(nèi)容和Python代碼.

      (5)Cache系統(tǒng):可掛在內(nèi)存緩沖或其他的框架實(shí)現(xiàn)超級(jí)緩沖——實(shí)現(xiàn)所需要的粒度.

      (6)支持多種數(shù)據(jù)庫(kù):已經(jīng)支持Postgresql、MySQL、SQLite3和Oracle等數(shù)據(jù)庫(kù).

      2 系統(tǒng)設(shè)計(jì)

      目前,高校勞動(dòng)合同制人員規(guī)模龐大,人員復(fù)雜,崗位分散,流動(dòng)性強(qiáng),且無(wú)法沿用傳統(tǒng)事業(yè)單位人員管理模式,統(tǒng)一管理難度極大[6].為了進(jìn)一步規(guī)范和加強(qiáng)合同制人員基本信息和社保信息管理,開(kāi)發(fā)了基于Django的高校合同制人員管理系統(tǒng),借助最新的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和信息技術(shù)為合同制人員管理工作提供了強(qiáng)有力的支持.

      2.1 系統(tǒng)業(yè)務(wù)流程

      高校合同制人員類(lèi)型較多,但基本采用兩級(jí)管理模式,即人事處管理員和單位管理員.下面以高層次人才派遣人員為例說(shuō)明流程(見(jiàn)圖1).

      圖1 高層次人才派遣業(yè)務(wù)流程

      各單位需要進(jìn)人時(shí),先填寫(xiě)進(jìn)人審批表,說(shuō)明進(jìn)人理由、崗位、人數(shù)等,通過(guò)系統(tǒng)提交給人事處管理員審核,若審核不通過(guò),各單位再按照規(guī)定提交新的進(jìn)人審批表,如果通過(guò)審核,用人單位即可在線(xiàn)導(dǎo)入或錄入新進(jìn)合同制人員信息,由人事處管理員審核該人員信息并補(bǔ)充其他相關(guān)信息.該新進(jìn)人員正式入校后,各單位管理員可以導(dǎo)出并打印合同制人員名單,人事處管理員可以按月維護(hù)合同制人員的工資和保險(xiǎn)信息.該人員離校后,將其移動(dòng)至已退人員庫(kù)中,但其所有的相關(guān)信息和繳費(fèi)記錄都會(huì)記錄在案.

      2.2 系統(tǒng)功能結(jié)構(gòu)

      該系統(tǒng)實(shí)現(xiàn)的功能目標(biāo)如下:

      (1)嚴(yán)格高校各類(lèi)合同制人員的管理流程,確保管理的規(guī)范化和制度化

      通過(guò)建立人員審批表管理模塊和人員管理模塊,對(duì)整個(gè)人員管理流程實(shí)行統(tǒng)一化規(guī)范化的管理,同時(shí)確保每類(lèi)人員都能夠按照流程辦事,單位管理員填寫(xiě)審批表、人員基本信息,人事處管理員審核審批表和人員信息,切實(shí)做到集中規(guī)范管理.

      (2)實(shí)現(xiàn)單位管理和在線(xiàn)網(wǎng)上辦公

      對(duì)于單位管理員來(lái)說(shuō),可以直接通過(guò)系統(tǒng)完成審批表的上報(bào),各類(lèi)人員信息的填寫(xiě),并能實(shí)現(xiàn)對(duì)填寫(xiě)字段的自動(dòng)校驗(yàn),確保輸入的規(guī)范和正確.人事處管理員能夠直接從網(wǎng)上對(duì)各項(xiàng)信息進(jìn)行審核,真正實(shí)現(xiàn)了在線(xiàn)辦公.

      (3)詳盡完備的人員查詢(xún)和匯總功能,充分解放復(fù)雜的人力勞動(dòng)

      合同制人員的流動(dòng)性特別大,如果人工對(duì)各類(lèi)人員信息進(jìn)行查詢(xún)匯總工作是相當(dāng)復(fù)雜的,同時(shí)要詳細(xì)查找某個(gè)單位的特定人員情況也相當(dāng)麻煩,通過(guò)此系統(tǒng)就能夠方便的根據(jù)這個(gè)人的姓名,身份證號(hào)等個(gè)人信息找到相關(guān)人員,查看他的詳細(xì)信息.

      (4)提升系統(tǒng)數(shù)據(jù)庫(kù)的安全性

      采用可靠的安全策略,采用B/S三層架構(gòu),實(shí)現(xiàn)用戶(hù)層、業(yè)務(wù)邏輯、數(shù)據(jù)資源層的分離,并采用先進(jìn)的登錄身份認(rèn)證機(jī)制,大大降低系統(tǒng)被攻擊的可能性,保證系統(tǒng)的安全性.

      系統(tǒng)各功能模塊如下圖所示:

      圖2 功能結(jié)構(gòu)圖

      2.3 系統(tǒng)體系結(jié)構(gòu)

      分層是現(xiàn)代軟件系統(tǒng)的基本架構(gòu),通過(guò)分層可以達(dá)到良好的可擴(kuò)展性和可維護(hù)性.在分層架構(gòu)中,每一個(gè)層都是一個(gè)相對(duì)獨(dú)立的邏輯層面,專(zhuān)注于實(shí)現(xiàn)系統(tǒng)某一個(gè)方面的功能,并且擁有一個(gè)較為清晰和嚴(yán)格的邏輯邊界.層與層之間既相互獨(dú)立又相互聯(lián)系,下層為上層提供服務(wù),上層調(diào)用下層的服務(wù)并為它的上層提供服務(wù),一個(gè)層的變化對(duì)其他層是透明的,從而實(shí)現(xiàn)了系統(tǒng)的高內(nèi)聚、低耦合.本系統(tǒng)采用分層思想進(jìn)行設(shè)計(jì),充分考慮了未來(lái)擴(kuò)展的可能性,有利于系統(tǒng)的維護(hù)和升級(jí).

      系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)結(jié)合了Django開(kāi)源框架、B/S模式、Ajax、RIA各種開(kāi)源框架,層次結(jié)構(gòu)如下圖所示,分別為:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)資源層.

      圖3 系統(tǒng)體系結(jié)構(gòu)

      (1)表示層是用戶(hù)界面層,WebUI采用ExtJS類(lèi)庫(kù)進(jìn)行開(kāi)發(fā),通過(guò)Ajax與服務(wù)器端交互,實(shí)現(xiàn)單頁(yè)面Web應(yīng)用程序(所有的業(yè)務(wù)功能在一個(gè)頁(yè)面實(shí)現(xiàn)),具有很強(qiáng)的交互性和用戶(hù)友好性.用戶(hù)通過(guò)Web瀏覽器來(lái)與服務(wù)器進(jìn)行交互,獲得自己所需的信息.

      (2)業(yè)務(wù)邏輯層是系統(tǒng)的核心層次,完成系統(tǒng)的所有業(yè)務(wù)功能,主要是Web服務(wù)器,同時(shí)還包括合同制人員管理所需要的專(zhuān)業(yè)化的服務(wù)和構(gòu)件,包括:人員管理構(gòu)件、信息查詢(xún)統(tǒng)計(jì)構(gòu)件、審批表管理構(gòu)件和用戶(hù)權(quán)限管理構(gòu)件.

      (3)數(shù)據(jù)持久層是對(duì)底層數(shù)據(jù)庫(kù)的抽象,是一個(gè)專(zhuān)注于數(shù)據(jù)持久化的邏輯層面,向業(yè)務(wù)邏輯層提供對(duì)底層數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的統(tǒng)一的接口.

      (4)數(shù)據(jù)資源層集成各種異構(gòu)數(shù)據(jù)源向上層提供數(shù)據(jù),是數(shù)據(jù)承載的實(shí)體.包括用戶(hù)權(quán)限數(shù)據(jù)庫(kù)、人員信息數(shù)據(jù)庫(kù)、審批表信息數(shù)據(jù)庫(kù)以及各類(lèi)文件.

      3 系統(tǒng)實(shí)現(xiàn)

      由于開(kāi)源軟件具有自由分發(fā)、自由集成、公布源代碼等優(yōu)點(diǎn),為了做大限度的降低風(fēng)險(xiǎn)和提高質(zhì)量,系統(tǒng)應(yīng)用了諸多開(kāi)源框架,并對(duì)這些開(kāi)源框架進(jìn)行擴(kuò)展、定制.

      系統(tǒng)完全基于MVC模式,將業(yè)務(wù)邏輯、顯示邏輯和數(shù)據(jù)邏輯完全解耦,有利于系統(tǒng)的維護(hù)和擴(kuò)展.在WebUI方面,采用ExtJS框架,增強(qiáng)了系統(tǒng)的交互性和展現(xiàn)能力.選用Django作為Web框架,便于和其他框架集成,同時(shí)可以利用其提供的基礎(chǔ)設(shè)施加速開(kāi)發(fā).?dāng)?shù)據(jù)持久層使用SQLAlchemy框架,通過(guò)ORM簡(jiǎn)化開(kāi)發(fā)過(guò)程,同時(shí)內(nèi)置數(shù)據(jù)庫(kù)連接池,可以減少與數(shù)據(jù)庫(kù)的交互,同時(shí)框架對(duì)數(shù)據(jù)庫(kù)抽象,便于在多種不同數(shù)據(jù)庫(kù)間遷移.由于系統(tǒng)涉及大量的基礎(chǔ)數(shù)據(jù),因此在數(shù)據(jù)庫(kù)系統(tǒng)方面選用業(yè)界認(rèn)可的MySQL.系統(tǒng)會(huì)有大量的動(dòng)態(tài)計(jì)算以及頁(yè)面渲染,所以通過(guò)Memcached分布式緩存減少此類(lèi)開(kāi)銷(xiāo).同時(shí),對(duì)于系統(tǒng)涉及到的各種列表等,通過(guò)引入K-V存儲(chǔ)redis進(jìn)行解決.

      3.1 ExtJS模塊按需加載機(jī)制

      基于效率和資源優(yōu)先的原則,WebUI的所有模塊都是按需加載的,所有的模塊的源文件只有在調(diào)用該模塊時(shí),才會(huì)通過(guò)Ajax向服務(wù)器請(qǐng)求,進(jìn)行加載,這樣充分利用了網(wǎng)絡(luò)帶寬,又降低了客戶(hù)端瀏覽器的資源負(fù)載.

      首先,將每個(gè)組件劃分成一個(gè)模塊,存于一個(gè)js文件,通過(guò)json格式的配置文件(或者是配置字符串)對(duì)系統(tǒng)的各個(gè)模塊進(jìn)行配置.每個(gè)模塊對(duì)應(yīng)一個(gè)菜單項(xiàng),當(dāng)點(diǎn)擊該菜單項(xiàng)時(shí),如果該模塊尚未加載,則通過(guò)Ajax請(qǐng)求后端,返回后進(jìn)行渲染并將該組件添加到主容器中;如果該模塊已經(jīng)加載,那么該組件已在當(dāng)前用戶(hù)虛擬機(jī)中,直接實(shí)例化即可.

      上圖是json格式的模塊配置文件,每個(gè)模塊具有一個(gè)id,用以標(biāo)識(shí)該模塊.同時(shí),leaf字段指定是否為子菜單,通過(guò)將其設(shè)置為false支持多級(jí)菜單.text是菜單項(xiàng)的名字.LinkUrl是該菜單項(xiàng)對(duì)應(yīng)的模塊的文件的請(qǐng)求路徑,在菜單項(xiàng)是一個(gè)遠(yuǎn)程模塊時(shí)有效.type表示該菜單項(xiàng)的類(lèi)型,取值包括:constructor,remote,constructor表示模塊對(duì)應(yīng)的文件已經(jīng)加載,直接初始化即可,remote表示需要遠(yuǎn)程請(qǐng)求該模塊文件.最后,params是模塊對(duì)應(yīng)的初始化參數(shù).

      通過(guò)上述模塊機(jī)制,可以大幅提高模塊的復(fù)用性,同時(shí)也便于實(shí)現(xiàn)模塊的按需加載.

      3.2 審批表和人員審批實(shí)現(xiàn)

      當(dāng)一個(gè)對(duì)象的狀態(tài)涉及到多張數(shù)據(jù)表時(shí),那么此對(duì)象的更新和查詢(xún)都會(huì)變得相對(duì)復(fù)雜一些,所以需要一張簡(jiǎn)潔的方式來(lái)實(shí)現(xiàn)此類(lèi)對(duì)象的更新和查詢(xún).

      本系統(tǒng)中,人員的審批狀態(tài)就存在于多張表中,包括審批表數(shù)據(jù)表、人員數(shù)據(jù)表和保險(xiǎn)數(shù)據(jù)表.為了集中處理,采用MySQL的bin log監(jiān)控的方式實(shí)現(xiàn)數(shù)據(jù)更新.通過(guò)開(kāi)源的python-mysql-replication庫(kù)實(shí)現(xiàn)對(duì)mysql監(jiān)控,然后將數(shù)據(jù)寫(xiě)入redis列表.

      圖4 json配置文件

      圖5 mysql bin log監(jiān)控示意圖

      如上圖所示,監(jiān)控3張表的變化,模塊以事件方式實(shí)現(xiàn),需要注冊(cè)某個(gè)表事件發(fā)生時(shí)的處理器.與觸發(fā)器類(lèi)似,對(duì)于數(shù)據(jù)表的insert事件將插入的數(shù)據(jù)傳入,對(duì)于update事件會(huì)傳入修改前和修改后的數(shù)據(jù).在相應(yīng)表的事件處理器中,根據(jù)數(shù)據(jù)變化修改redis列表.前端的查詢(xún)不直接操作mysql,而是更輕量級(jí)的redis,更加高效.

      通過(guò)上述方式,實(shí)現(xiàn)對(duì)分散在多張表狀態(tài)的更新、查詢(xún),相對(duì)于直接操作MySQL,更加直觀、高效.

      2.3 人員信息導(dǎo)入

      為了便于和其他系統(tǒng)對(duì)接,系統(tǒng)支持人員信息的導(dǎo)入,支持excel文件,并且支持?jǐn)?shù)據(jù)類(lèi)型校驗(yàn)和數(shù)據(jù)范圍校驗(yàn).

      通過(guò)字段信息描述導(dǎo)入的文件,具體如下:

      圖6 導(dǎo)入代碼

      每個(gè)字段會(huì)有一個(gè)字典用于描述其元信息,包括:index該字段在excel表格中的列下標(biāo),type該字段的類(lèi)型,range該字段的取值范圍.

      在遍歷excel的每一行時(shí),依次遍歷所有字段信息,獲取對(duì)應(yīng)列的值,進(jìn)行類(lèi)型轉(zhuǎn)換,然后判斷是否在取值范圍內(nèi).所有行遍歷完后,將出錯(cuò)信息返回給前端.

      4 總 結(jié)

      本文提出了基于Django的高校合同制人員管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),在此基礎(chǔ)上結(jié)合目前高校合同制人員管理的需求開(kāi)發(fā)了該系統(tǒng).與目前現(xiàn)有合同制人員管理系統(tǒng)相比,本系統(tǒng)采用Django框架開(kāi)發(fā),不僅大大提升了開(kāi)發(fā)效率,而且降低了客戶(hù)端的負(fù)載,實(shí)現(xiàn)了面向Internet的分布式計(jì)算,有利于高校領(lǐng)導(dǎo)層快速獲取到學(xué)校合同制人員的基本信息和保險(xiǎn)等多方面信息.本系統(tǒng)以合同制人員科學(xué)管理為導(dǎo)向,結(jié)合了合同制人員結(jié)構(gòu)復(fù)雜的特點(diǎn),利用高校對(duì)多類(lèi)型合同制人員進(jìn)行統(tǒng)籌管理.

      目前該系統(tǒng)已經(jīng)在多個(gè)高校應(yīng)用,結(jié)果表明本系統(tǒng)在提高工作效率、科學(xué)管理等方面發(fā)揮了較好的作用.

      [1] 周強(qiáng),周敏.高校臨時(shí)聘用人員管理現(xiàn)狀及對(duì)策[J].高教高職研究,2009(9):188-190.

      [2] 徐旭明.Django web開(kāi)發(fā)指南[M].北京:機(jī)械工程出版社,2009.

      [3] http://zh.wikipedia.org/wiki/Django.

      [4] Wesley J Chun.Core Python Programming[M].USA:Prentice Hall,2007:1-823.

      [5] 王曉斌,閆果.基于Django開(kāi)發(fā)的橋梁健康監(jiān)測(cè)數(shù)據(jù)查詢(xún)的web應(yīng)用[J].電子技術(shù)與軟件工程,2009,24(4):231.

      [6] 陳靜源.高校非事業(yè)編制職工勞動(dòng)關(guān)系若干問(wèn)題探究[J].浙江師范大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2010(7):23-24.

      猜你喜歡
      審批表合同制開(kāi)源
      五毛錢(qián)能買(mǎi)多少頭牛
      采用激勵(lì)制度促進(jìn)合同制護(hù)士隊(duì)伍建設(shè)
      基于網(wǎng)上競(jìng)價(jià)的審批流程的優(yōu)化
      科技視界(2016年25期)2016-11-25 20:47:18
      大家說(shuō):開(kāi)源、人工智能及創(chuàng)新
      開(kāi)源中國(guó)開(kāi)源世界高峰論壇圓桌會(huì)議縱論開(kāi)源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      淺議加強(qiáng)醫(yī)院合同制護(hù)士的教育管理
      人事檔案信息公開(kāi)的內(nèi)容擴(kuò)展
      開(kāi)源計(jì)算機(jī)輔助翻譯工具研究
      事業(yè)單位如何調(diào)整社保繳費(fèi)基數(shù)
      人力資源(2015年10期)2015-09-10 19:37:22
      發(fā)揮工會(huì)維權(quán)職能,維護(hù)合同制職工權(quán)益
      兰考县| 土默特左旗| 渑池县| 柳河县| 新田县| 石景山区| 三亚市| 达拉特旗| 铜梁县| 徐汇区| 江阴市| 惠州市| 疏勒县| 开鲁县| 抚州市| 梁河县| 安多县| 北安市| 乐陵市| 县级市| 清镇市| 温泉县| 永清县| 朝阳县| 汤原县| 芦溪县| 来安县| 南昌县| 方城县| 波密县| 华坪县| 兴文县| 襄樊市| 惠东县| 礼泉县| 长顺县| 古蔺县| 广宁县| 嘉定区| 运城市| 林周县|