楊慶海,趙自力,王瑞青(.鄭州市規(guī)劃勘測設(shè)計(jì)研究院,河南鄭州 45005; .珠海市規(guī)劃設(shè)計(jì)研究院,廣東珠海 5900)
基于Django的規(guī)劃勘測設(shè)計(jì)單位經(jīng)營管理系統(tǒng)開發(fā)
楊慶海1?,趙自力2,王瑞青1
(1.鄭州市規(guī)劃勘測設(shè)計(jì)研究院,河南鄭州 450052; 2.珠海市規(guī)劃設(shè)計(jì)研究院,廣東珠海 5190011)
摘 要:在信息技術(shù)不斷發(fā)展的背景下,如何用各種技術(shù)手段,提高規(guī)劃勘測設(shè)計(jì)單位的管理水平,建設(shè)成功的經(jīng)營管理系統(tǒng),是一個(gè)值得探討的話題。利用互聯(lián)網(wǎng)技術(shù),結(jié)合規(guī)劃勘測設(shè)計(jì)單位實(shí)際情況,建設(shè)覆蓋企業(yè)業(yè)務(wù)全生命周期的經(jīng)營管理系統(tǒng),可以輔助跟蹤企業(yè)管理運(yùn)營狀態(tài),提高經(jīng)營管理效率。
關(guān)鍵詞:經(jīng)營管理系統(tǒng);ERP;Django;Python
隨著信息技術(shù)的不斷發(fā)展,企業(yè)信息化系統(tǒng)建設(shè)受到越來越大的挑戰(zhàn)。企業(yè)業(yè)務(wù)不斷豐富,流程更加復(fù)雜,傳統(tǒng)的業(yè)務(wù)流程管理越來越不適應(yīng)企業(yè)的發(fā)展。采用信息技術(shù)將業(yè)務(wù)抽象,將線下的工作流程搬到線上,將傳統(tǒng)的簽字審批轉(zhuǎn)移到系統(tǒng)中,并建立經(jīng)營管理系統(tǒng),可以大大提高經(jīng)營管理的效率,及時(shí)跟蹤單位管理運(yùn)營狀態(tài),并且方便管理層及時(shí)發(fā)現(xiàn)運(yùn)營中的問題,對現(xiàn)有管理模式加以改進(jìn),提高管理水平,提升企業(yè)資源利用效率[1]。企業(yè)經(jīng)營管理信息化雖然是一個(gè)必然經(jīng)歷的過程,然而另一個(gè)明顯的事實(shí)是,根據(jù)國內(nèi)近幾十年企業(yè)資源管理信息化的經(jīng)驗(yàn),企業(yè)經(jīng)營管理系統(tǒng)的實(shí)施有著不可忽略的高風(fēng)險(xiǎn)和高失敗率,這其中自然有很多執(zhí)行層面的因素,但是也不乏因?yàn)轶w制原因或者管理原因?qū)е碌氖2,3]。如何成功的建立企業(yè)經(jīng)營管理系統(tǒng),如何降低失敗的風(fēng)險(xiǎn),對企業(yè)而言,是一個(gè)巨大的挑戰(zhàn)[4]。
本文針對規(guī)劃勘測設(shè)計(jì)企業(yè)現(xiàn)狀,充分利用現(xiàn)在開源技術(shù)和軟件,設(shè)計(jì)和構(gòu)建了一套適合本行業(yè)使用的經(jīng)營管理系統(tǒng),覆蓋了人事、項(xiàng)目、合同、檔案、績效等企業(yè)事務(wù),為規(guī)劃勘測設(shè)計(jì)單位的信息化管理提供了一個(gè)良好的開端。
在本文中所涉及的此次經(jīng)營管理系統(tǒng)建設(shè),需求分析用時(shí)三個(gè)月,開發(fā)部署用時(shí)三個(gè)月,距成功投入運(yùn)營已經(jīng)接近一年,系統(tǒng)運(yùn)營良好,是一次規(guī)劃勘測設(shè)計(jì)單位經(jīng)營管理信息化的成功探索。
2.1權(quán)限模塊
權(quán)限模塊是經(jīng)營管理系統(tǒng)的核心模塊,負(fù)責(zé)管理用戶對模塊、鏈接、頁面的各項(xiàng)權(quán)限,包括用戶管理、用戶組管理、用戶權(quán)限分配、用戶組權(quán)限分配、對象權(quán)限管理等功能。
2.2人事模塊
人事模塊包括部門管理、人事管理、工作日管理、請假管理、離退休管理等功能,人事模塊由人事科和經(jīng)營科共同進(jìn)行管理。
2.3項(xiàng)目模塊
項(xiàng)目模塊提供了項(xiàng)目管理、項(xiàng)目進(jìn)度管理、合同管理、項(xiàng)目歸檔等功能,項(xiàng)目的管理由生產(chǎn)部門負(fù)責(zé),經(jīng)營科有項(xiàng)目審核權(quán)限,檔案室負(fù)責(zé)設(shè)置項(xiàng)目是否歸檔。
2.4款項(xiàng)模塊
款項(xiàng)模塊主要包括收入管理和績效管理兩部分。收入管理包括收入進(jìn)賬、收入分配、檔案保證金扣除返還、院管項(xiàng)目收入、外協(xié)費(fèi)、產(chǎn)值調(diào)整等功能,績效管理包括績效申請、績效審核等功能,收入管理由財(cái)務(wù)科負(fù)責(zé),績效管理由生產(chǎn)部門申請,經(jīng)營科和相關(guān)領(lǐng)導(dǎo)進(jìn)行審核。
2.5成本模塊
成本數(shù)據(jù)由財(cái)務(wù)科、辦公室、打印室共同提供,匯總后進(jìn)行成本核算。
2.6報(bào)告模塊
報(bào)告模塊提供實(shí)時(shí)收入報(bào)告、收入報(bào)告、年度收入報(bào)告、累計(jì)收入報(bào)告、可提績效報(bào)告、人事實(shí)時(shí)報(bào)告、人事報(bào)告、績效報(bào)告、盈余報(bào)告、成本詳細(xì)報(bào)告、成本控制報(bào)告、績效統(tǒng)計(jì)報(bào)告、累計(jì)績效統(tǒng)計(jì)報(bào)告、報(bào)告管理、自定義報(bào)告等功能。
2.7消息模塊
所有模塊的數(shù)據(jù)添加或修改都會(huì)通知消息模塊,實(shí)現(xiàn)數(shù)據(jù)可追溯,并且實(shí)現(xiàn)消息流功能,同時(shí)可以提供短信提醒功能。

圖1 經(jīng)營管理系統(tǒng)工作流程
4.1平臺(tái)選擇
項(xiàng)目首先確定了BS構(gòu)架,BS構(gòu)架是未來的趨勢,在開發(fā)速度、跨平臺(tái)性、互聯(lián)網(wǎng)連接性、安全性等方面都有很大的優(yōu)勢。
確定BS構(gòu)架之后,我們選擇了使用Python語言下的Django框架。Django是一個(gè)開源的Web應(yīng)用框架,采用了MVC的軟件設(shè)計(jì)模式,即模型、視圖和控制器。Django注重組件的重用性,同時(shí)擁有成千上萬的開源重用模塊庫可供使用,非常適合敏捷開發(fā),使得開發(fā)復(fù)雜的、數(shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站變得非常簡單和快速。此外Django的跨平臺(tái)特性,使得我們在選擇服務(wù)器時(shí)也非常的靈活,并且在以后進(jìn)行升級、維護(hù)、遷移時(shí),也會(huì)非常的方便[5]。
在綜合考量現(xiàn)有資源、成本、性能各方面因素之后,我們選擇了使用Windows服務(wù)器、Apache Web服務(wù)器、MySQL數(shù)據(jù)庫作為我們的運(yùn)行平臺(tái)。
4.2系統(tǒng)安全構(gòu)架
系統(tǒng)安全方面的考慮貫徹經(jīng)營管理系統(tǒng)設(shè)計(jì)和開發(fā)的始終,我們采用多種方式從多種維度保障系統(tǒng)安全和數(shù)據(jù)安全:
(1)主從數(shù)據(jù)庫實(shí)時(shí)備份
系統(tǒng)同步運(yùn)行兩套數(shù)據(jù)庫服務(wù),有效防止數(shù)據(jù)丟失的同時(shí),大大提高了系統(tǒng)可用性,在主數(shù)據(jù)庫發(fā)生故障時(shí)可以立即切換到從數(shù)據(jù)庫保證系統(tǒng)正常使用。
(2)每日異地備份
每天凌晨時(shí)自動(dòng)創(chuàng)建數(shù)據(jù)庫快照到本地磁盤,同時(shí)拷貝到異地的備份服務(wù)器,保障數(shù)據(jù)安全不丟失。
(3)辦公專網(wǎng)保障數(shù)據(jù)安全
經(jīng)營管理系統(tǒng)在辦公專網(wǎng)中運(yùn)行,不接入互聯(lián)網(wǎng),杜絕了系統(tǒng)被攻擊的可能,大大降低了數(shù)據(jù)被竊取的風(fēng)險(xiǎn),不同辦公地點(diǎn)之間租用運(yùn)營商專線進(jìn)行連接,方便用戶使用。
(4)SSL加密保障數(shù)據(jù)傳輸過程防竊聽
采用SSL256位安全加密手段保證數(shù)據(jù)安全,大大加強(qiáng)了數(shù)據(jù)傳輸過程中的安全性。
(5)客戶端證書驗(yàn)證禁止未授權(quán)客戶端登錄
使用自頒發(fā)根證書向授權(quán)客戶端頒發(fā)客戶端證書,在登錄系統(tǒng)前進(jìn)行客戶端證書驗(yàn)證,有效防止了匿名客戶端的未授權(quán)登錄行為。
(6)保存登錄和訪問日志
系統(tǒng)保存所有的登錄日志和訪問日志,在發(fā)生任何異常行為時(shí)保證事件的可回放性和可追溯性,做到了系統(tǒng)風(fēng)險(xiǎn)安全可控。
4.3程序代碼摘錄
以下代碼是項(xiàng)目模塊的模型建立片段,模型建立好之后,即可由Django全自動(dòng)生成后臺(tái)
class Project(models.Model):#項(xiàng)目模型
code=models.SlugField(max_length=100,null=True,unique=True,verbose_name=_(u'工程號(hào)'),help_text = u'由經(jīng)營科分配')
htcode=models.CharField(null=True,blank=True,max _length=100,verbose_name=_(u'合同編號(hào)'))
title=models.CharField(max_length=100,verbose_name =_(u'項(xiàng)目名稱'))
short_title = models.CharField(max_length = 100,null = True,blank=True,verbose_name=_(u'項(xiàng)目別名'))
description=models.TextField(null=True,blank=True, verbose_name=_(u'項(xiàng)目介紹'))
amount = models.FloatField(null = True,default = 0.0, verbose_name=_(u'合同總額'),help_text=u'元')
amount_income=models.FloatField(null=True,default= 0.0,verbose_name=_(u'已到帳'),help_text=u'元')
clientname = models.CharField(max_length= 100,null = True,blank=True,verbose_name=_(u'委托單位名稱'))
ht_date=models.DateField(null=True,blank=True,verbose_name=_(u'合同簽訂日期'))
preend_date = models.DateField (null = True,blank = True,verbose_name=_(u'合同預(yù)計(jì)完成日期'))
catalog = models.ForeignKey ( ProjectCatalog, related _ name='catalog_projects',null = True,verbose_name = _(u'項(xiàng)目分類'))
percentcatalog = models.ForeignKey(ProjectPercentCatalog,related_name='percent_projects',null=True,verbose_name=_ (u'項(xiàng)目類型'))
detailcatalog=models.ForeignKey(DetailCatalog,related_ name='detailcatalog_projects',null = True,blank = True,verbose_ name=_(u'項(xiàng)目細(xì)類'))
author=models.ForeignKey('hr.Employee',related_name ='created_projects',null=True,blank=True,verbose_name=_(u'創(chuàng)建人'))
authordepartment=models.ForeignKey('hr.Department', related_name= 'createddepart_projects',null = True,blank = False, verbose_name=_(u'生產(chǎn)部門'))
created = models.DateTimeField(auto_now_add = True, verbose_name=_(u'創(chuàng)建時(shí)間'))
isreviewed=models.BooleanField(default=False,blank= True,verbose_name=_(u'是否審核'))
whoreviewed=models.ForeignKey('hr.Employee',related _name='managed_projects',null=True,blank=True,verbose_name =_(u'審核人'))
reviewedtime = models.DateTimeField ( null = True, blank = True,verbose_name=_(u'審核時(shí)間'))
定義好url映射文件和View頁面,該模塊即可訪問。urlpatterns=patterns('projects.views',
#項(xiàng)目模塊URL映射關(guān)系
url(r'^projects/ $ ',view='projects.project_list',name=' project_list'),
url(r'^projects/ dep/ (? P<id> d+) / $ ',view = 'projects.project_dep_list',name='projects_dep_list'),
url(r'^projects/ moneylack/ $ ',view = 'projects.project_ list_moneylack',name='project_list_moneylack'),
url(r'^projects/ moneylack/ dep/ (? P<id> d+) / $ ', view='projects.project_dep_list_moneylack',name='projects_dep_ list_moneylack'),
url(r'^projects4review/ $ ',view='projects.project4review _list',name='project4review_list'),
url(r'^projects4review/ dep/ (? P<id>d+) / $ ',view=' projects.project4review_dep_list',name = 'project4review_dep_list '),
url(r'^projects_closed/ $ ',view='projects.project_closed _list',name='project_closed_list'),
url(r'^projects_closed/ dep/ (? P<id>d+) / $ ',view=' projects.project_closed_dep_list',name = 'project_closed_dep_list '),
url(r'^projects4arch/ $ ',view = 'projects.project4arch_ list',name='project4arch_list'),
4.4系統(tǒng)運(yùn)行截圖
圖2為經(jīng)營管理系統(tǒng)后臺(tái)截圖,該后臺(tái)由Django全自動(dòng)生成,大大減少了程序員的工作量。
4.5系統(tǒng)運(yùn)行情況
經(jīng)營管理系統(tǒng)自從上線運(yùn)行以后,運(yùn)營情況良好,同時(shí)接收用戶反饋和建議幾十項(xiàng),系統(tǒng)改進(jìn)上百項(xiàng),主要運(yùn)行情況如下:
(1)用接受度較高
因?yàn)樵谠O(shè)計(jì)時(shí)充分考慮了現(xiàn)有線下流程,對于流程性的事物盡量保留了原有的流程和體驗(yàn),所以用戶上手較快,接受度較高,經(jīng)營管理系統(tǒng)試用一個(gè)月后即投入正式運(yùn)行,并且反饋良好。
(2)報(bào)表功能豐富
報(bào)表模塊將大量線下的報(bào)表遷移到線上,保留原有報(bào)表格式的同時(shí),將全部報(bào)表生成自動(dòng)化,受到了多個(gè)部門的好評。

圖2 經(jīng)營管理系統(tǒng)后臺(tái)截圖
(3)迭代開發(fā)迅速
由于采用了Django框架,代碼量大大減少,用戶在使用過程中提出任何反饋,都可以積極響應(yīng)、迅速定位并解決問題,隨著迭代速度的加快,用戶滿意度也大大增加。
(4)性能良好
因?yàn)槭褂昧俗再彿?wù)器托管在自建機(jī)房,所有用戶設(shè)備加入自建局域網(wǎng),不同地理位置間租用運(yùn)營商加密通道進(jìn)行連接,所以訪問速度很快,大大提升了訪問時(shí)的用戶體驗(yàn)。
4.6系統(tǒng)運(yùn)行發(fā)展展望
經(jīng)營管理系統(tǒng)僅僅是企業(yè)管理信息化的一次初步嘗試,為企業(yè)管理平臺(tái)化開創(chuàng)了一個(gè)良好的開端,系統(tǒng)成熟穩(wěn)定之后,下一步發(fā)展方向如下:
(1)向內(nèi)整合
整合現(xiàn)有網(wǎng)絡(luò)資源,例如檔案數(shù)據(jù)、項(xiàng)目成果數(shù)據(jù)、知識(shí)資源數(shù)據(jù)庫、部門內(nèi)部資源,建立資源索引,擴(kuò)大系統(tǒng)覆蓋用戶范圍,提供一站式項(xiàng)目資源門戶,
(2)向外拓展
整合企業(yè)辦公網(wǎng)絡(luò),逐步拓展為企業(yè)辦公平臺(tái),整合現(xiàn)有線下流程,建立長效信息化機(jī)制,逐漸覆蓋企業(yè)所有管理資源,升級為企業(yè)資源管理系統(tǒng)。
(3)互聯(lián)網(wǎng)+
接入互聯(lián)網(wǎng)是大勢所趨,在合理的解決保密問題和政策問題之后,依托云計(jì)算平臺(tái)和智能移動(dòng)設(shè)備平臺(tái),經(jīng)營管理系統(tǒng)將迎來跨越性的發(fā)展[8,9]。
規(guī)劃勘測設(shè)計(jì)單位業(yè)務(wù)類型多樣,實(shí)現(xiàn)經(jīng)營管理系統(tǒng)需要大量的需求分析和實(shí)地調(diào)研,并且在投入運(yùn)行后需要不斷收集用戶反饋意見并迅速迭代開發(fā)。本次經(jīng)營管理系統(tǒng)的成功開發(fā)和運(yùn)行主要得出以下經(jīng)驗(yàn):
(1)一把手重視,親自督促項(xiàng)目進(jìn)展。經(jīng)營管理信息化的阻力并不是來自技術(shù)方面,而是來自行政管理方面,只有一把手親自干預(yù),才能保障項(xiàng)目的順利推進(jìn)。
(2)需求分析做足工作,立足實(shí)際,靈活設(shè)置各項(xiàng)流程和參數(shù),盡量保持線下工作流程不變,優(yōu)先保證系統(tǒng)正常運(yùn)行,減小系統(tǒng)推行阻力。
(3)敏捷開發(fā),盡快試運(yùn)行,多次征集用戶反饋意見,快速迭代開發(fā),不斷改進(jìn)并優(yōu)化系統(tǒng)工作流程。
(4)專人運(yùn)營,設(shè)置溝通專員,幫助各方用戶解決困惑,減少用戶體驗(yàn)的遷移成本。
參考文獻(xiàn)
[1] 蘇濤.基于企業(yè)參考模型的ERP開發(fā)模式[J].科技信息,2012(24):264~264.
[2] 佟仁城,張玲玲.對我國ERP開發(fā)與建設(shè)中若干問題的思考[J].管理評論,2003(9):36~39.
[3] 趙艷楠.撫順第五十中學(xué)信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[4] 閆曉萍.ERP開發(fā)應(yīng)用的問題研究[J].河北企業(yè),2011 (5):117~118.
[5] T Calmant,JC Americo,O Gattaz,etal.A dynamic and service-oriented component model for python long-lived applications[C].Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering.ACM New York,NY,USA.2012:35~40.
[6] Patrizia Garengoa,Stefano Biazzo.From ISO quality standards to an integrated management system:an implementation process in SME[J].Total Quality Management & Business Excellence,2013(24):310~335.
[7] Miguel A.Carmonaa, Julio Barbanchob.Applying case based reasoning for prioritizing areas of business management [J].Expert Systems with Applications,2013(40):3450~3458.
[8] R Buyya,C Vecchiola,ST Selvi.Mastering cloud computing: foundations and applications programming[M].Mcgraw hill education pvt.Ltd.,2013:916~918.
[9] Raj Kumar Somani,Dr.Reena Dadhich.Design of Cloud Computing based ERP model[J].International Journal of IT,Engineering and Applied Sciences Research (IJIEASR), 2013(2):39~43.
Development of a Business Management System for Planning Design & Survey Units Based on Django
Yang Qinghai1,Zhao Zili2,Wang Ruiqing1
(1.Zhengzhou Urban Planning Design & Survey Research Institute,Zhengzhou 450052,China; 2.Zhuhai City Planning and Design Institute,Zhuhai 519001,China)
Abstract:Under the background of information technology,it becomes a challenge how to improve the management level of planning design and survey units.With the using of internet technology,combined with the actual situation of planning design and survey units,to build a business management system covering the whole business life cycle,can assist to track the state of corporate govermance and improve management effciency.
Key words:business management system;ERP;Django;python
文章編號(hào):1672-8262(2015)05-20-04中圖分類號(hào):P208.2,P205
文獻(xiàn)標(biāo)識(shí)碼:A
收稿日期:?2015—05—27
作者簡介:楊慶海(1987—),男,助理工程師,主要從事城市地理信息系統(tǒng)建設(shè)工作。