999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

博士研究生錄取名單上報數據導出系統設計與實現

2018-03-02 19:30:24張寶全周楓黃祖源張少泉陳先富
軟件 2017年9期
關鍵詞:數據庫

張寶全+周楓+黃祖源+張少泉+陳先富

摘要:根據教育部的要求,博士研究生錄取名單需要按照標準的DBF表結構上報導入研招網。本系統的主要功能是導出“報考庫”、“錄取庫(中國考生)”“錄取庫(留學生)”,每個庫都導出Excel文件(用于學校核對)和DBF文件(用于上報導入中國研招網)。本系統使用Java、JavaScript及ExtjS4作為編程語言,數據庫為OraclelOg,Web服務器為Tomcat7.0。本系統基于J2EE技術和Struts框架技術。從管理模式來看,極大改變了高校對博士錄取名單上報數據的管理模式,切實提高了工作效率。

關鍵詞:軟件工程;軟件開發;數據庫;DBF;ExtjS;Java

O 引言

博士研究生的招生從啟動到結束時間緊,業務工作量大,需要進行大量的工作,到了最后需要將擬錄取的學生詳細名單制作成DBF文件上報到中國研招網(中國研究生招生信息網)。上報數據包含“報考庫”、“錄取庫(中國考生)”、“錄取庫(留學生)”,其中報考庫有86個字段,錄取庫(中國學生)有70個字段,錄取庫(留學生)有49個字段;三張表一共205個字段,數據量非常之大。而且其中一些字段比如“家庭成員”、“獎勵處分”、“發表論文專著”、“學習工作經歷”要求“定義在一個字段里,TAB間隔用'/'表示;換行用'#'表示”,這就要將學校系統中存儲的每個考生的X*X的二維數據表里面的若干記錄值合并成一個很長的字段記錄,并注意TAB和換行的符號轉換。如果人工編輯合成這二百多個字段,可想而知,工作量是多么大,而且還容易出錯。

所以,本系統的功能就是按照中國研招網對字段名稱、類型、長度和說明的要求導出“報考庫”和“錄取庫”,其中留學生的錄取庫和中國學生的不同,所以系統需要導出3張表“報考庫”、“錄取庫(中國考生)”、“錄取庫(留學生)”的DBF文件,并按照相關要求對最后導出的文件重命名。

考慮到學校可能要對相應的信息進行人工核對、查詢、編輯和比較,所以同時也需要導出這3個庫的Excel表格,以便核對。

1 相關開發環境搭建和軟硬件要求

相關的開發環境部署包含JDK、MyEclipse、Oracle、Apache、Tomcat和Weblogic的安裝配置以及部署應用程序。由于這部分不是本文的重點,就不再贅述。

在開發過程中,軟件版本主要采用:

操作系統:Windows 7;數據庫服務器:OraclelOg; Web服務器:Tomcat 7.0; JDK版本:JDKl.6;CPU:主頻2.6GHz以上;內存:1G以上;硬盤:200G以上。

2 軟件系統需求分析

每學年高校博士招生錄取結束后,都需要按要求上報“報考庫”和“錄取庫”到中國研招網系統。招生單位必須嚴格按照全國高等學校學生信息咨詢與就業指導中心制定的《博士報名錄取庫上報系統說明文檔(招生單位版)》要求上報。

學校研究生院在第一次上傳前從研招網“數據分類下載”中下載“報考庫則為上傳標準表結構”和“錄取庫則為上傳標準表結構”,用標準表結構進行參考對比和調整。

該系統的主要功能是導出需要格式和字段的相關信息表,所以首先應該對最終需要的表的結構進行分析,下面對以表為基本單位對最終需要的數據進行分析:

(1)報考庫,表名:招生單位代碼+BBK.DBF。該表有86個字段,對各字段名稱、漢字解釋、類型、長度和字段說明均做了嚴格的要求。比如字段CSRQ(出生日期)要求格式為YYYYMMDD的八位純數字;JTCY(家庭主要成員)長度最大為220字節,定義在一個字段里,TAB間隔用'/'表示;換行用'#'.表示。

(2)錄取庫(中國學生),表名:招生單位代碼+BLQ.DBF。該表有70個字段,也同樣對各字段名稱、漢字解釋、類型、長度和字段說明做了嚴格的要求。比如學制長度最大為3字節,非空,取值范圍集合f2,2.5,3,3.5,4,4.5,5.5.5,6,6.5,7.

7.5.

8}。

(3)錄取庫(留學生),表名:招生單位代碼+GATLQK.DBF。該表有49個字段,由于港澳臺情況與大陸不太一樣,故需要單獨制錄取庫表。

從上我們可以看到,三張表一共205個字段,數據量非常之大。而且其中一些字段有規定的特殊要求。對最后的文件要求是DBF文件而不是我們熟悉的Excel文件,如果人工在Excel里編輯合成這二百多個字段然后復制到DBF文件中,可想而知,工作量是多么大,而且還容易出錯,所以本系統以業務需求為基本設計原則,最終完美的解決上述問題。

3 系統設計說明

系統整體功能框圖如圖1所示,系統的功能是導出需要的6個文件。系統的用戶對象是學校研究生招生管理部門——研究生院研招辦,由研究生院負責本年度學校錄取博士信息的上報工作。院校代碼為五位數字,比如10674是昆明理工大學的院校代碼。

其中,報考庫:導i'報考庫需要的DBF文件和Excel表格。錄取庫f中國考生):導出錄取庫(中國考生)需要的DBF文件和Excel表格。錄取庫(留學生):導出錄取庫(留學生)需要的DBF文件和Excel表格。錄取管理模塊:對博士研究生錄取進行管理,包含查看,檢索和編輯錄取信息等功能。

4 系統功能的實現

4.1 查看錄取信息

①在考生列表顯示界面,顯示的內容很多,其中序號、姓名和操作是鎖定的,一直在頁面顯示,通過添加屬性locked: true語句來實現,ortable: true表示姓名字段支持排序功能。而報考學院、報考專業、報考導師、錄取學院、錄取專業、錄取導師、考試方式、外語成績、業務課一、業務課二、初試總成績、復試總成績、折合成績、排名、學院擬錄取意見、學院擬錄取備注、學校最終錄取意見、學校最終錄取備注是可以拖動橫向滾動條查看的,沒有locked: true語句。這樣做的好處是當屬性字段數目過于多的時候,向右拉動滾動條,部分關鍵信息一直顯示在網頁上,方便查看,部分代碼如下。錄取名單管理主界面考生名單列表如圖2所示。endprint

{header:”姓名”,datalndex: "xm", width:100, align:"center",

locked:true, sortable: true, tdCls: "gridheight"}

②對報考學院和錄取學院、報考專業和錄取專業、報考導師和錄取導師做了對比處理,一旦兩者不同,錄取學院、錄取專業或錄取導師將紅色顯示,一目了然。以下代碼對比lqzymc(錄取專業名稱)和bkzymc(報考專業名稱),如果兩者值相同,returnvalue;就直接返回默認黑色字體的值,否則return"”+value+"”;返回標紅字體的值。其他幾項代碼原理也基本如此。

fheader:”錄取專業”,

datalndex:”lqzymc”, align:”center”, width:150,sortable:true, tdCls:"gridheight”,

renderer:function(value,meta, record){

if(record.get('lqzymc')=record.get('bkzymc')){

return value;

}else{

return""+value+"":

}

}}

③對學院擬錄取意見和學校最終錄取意見顯示進行了優化,“錄取”藍色顯示,“不錄取”紅色顯示,用戶界面良好。如下代碼,錄取則return””+value+””,返回藍色字體的“錄取”;不錄取則返回紅色字體的“不錄取”,如圖2所示,其中的“學院擬錄取意見”和“學校最終錄取意見”。

{header:”學校最終錄取意見”,

datalndex:"lqmc", width: 120, align:"center",sortable:true, tdCls:"gridheight",

renderer:function(value,meta, record){

if(value='錄取'){

return""+value+"":

}else{

return ""+ value+””;

}

}

},

④學院擬錄取備注和學校最終錄取備注是可以缺省的,如果不為空則系統中綠色顯示,以便和其他不可為空的值區分。同時備注信息的字數不是那么固定,大多數時候是空值,少部分時候字數會很多,如果備注信息太多,則在此單元格顯示滾動條,通過meta.style屬性設置。{header:”學院擬錄取備注”,datalndex:”nlqbzxx”,width:200,align:”center”, sortable:true, tdCls:”gridheight”,renderer:function(value,meta, record){

meta.style='overflo':auto;padding: 3px 6px;

text-overflow:ellipsis;white-space:nowrap;

line-height:20px;';

if(record.get('nlqbzxx')==null){

return value;

}else{

return ""+value+"":

}

}},

⑤成績顯示中前端頁面增加了“缺考”的顯示,將后臺數據庫的qkdm(缺考代碼)數字“一l”轉換為qkmc(缺考名稱)“缺考”,方便用戶查看和管理。通過定義一個CjckStore,實現上述功能,部分代碼如下:

var CjckStore=Ext.create(”Ext.data.Store”,{

fields:["qkdm","qkmc"],

data:[

{"qkdm":"-1";"qkmc":"缺考"}

]

});

4.2 編輯錄取信息

點擊操作按鈕圖標-將會出現【編輯學校最終錄取信息】彈窗,在彈窗中可以編輯和修改錄取信息,包括錄取學院、錄取專業、錄取導師、錄取意見和錄取備注。編輯完成之后點擊【保存】按鈕即可修改,保存時系統對數據完整性進行校驗,除了備注之外其他項必須從下拉列表中選擇一個值,否則無法保存,如果不需要修改,點擊【取消】按鈕關閉彈窗即可。編輯學校最終錄取意見如圖3所示。

在【編輯學校最終錄取信息】彈窗中,錄取專業和錄取學院進行了級聯,一旦選中了一個學院,點擊錄取專業的時候只會出現該學院的博士招生專業。錄取導師可以拖動滾動條逐個查找,你可以輸入若干漢字匹配,比如在錄取導師欄中輸入了“張”,列表中就檢索了學校所有姓名第一個字是“張”的博導,如果繼續輸入第二、三個字,就能更加精確的匹配,如圖3所示。這個功能實現起來相對麻煩,前臺將請求信息傳遞給.xml配置文件,在配置文件中找到處理請求的class文件和Action方法,配置文件相應代碼如下:<!--張寶全:獲取博士導師信息加載下拉列表·一>

success,msg,bsdslist*

執行相應的Action方法時,需要調用對應的Dao數據數理文件,其中Dao文件部分代碼如下,此處注意返回類型是JSONArray,并且代碼執行過程中可能發生異常,用throws Exception拋出異常給被調用函數處理。Dao文件處理后返回JSONArray然后層層返回到前端頁面,然后前端頁面顯示。由于篇幅原因,部分代碼用省略號表示。

public JSONArray GetBsds(String xm) throwsException{

try{if(xm==null){

sql= "select distinct dsbh,dsxm,yxsmc fromzs_zyml order by dsbh";

}else{

sql="select distinct dsbh,dsxm,yxsmcfromzs_zyml where dsxm like '%"+xm+"%' order bydsbh";

) catch(Exception e){…………)finally{……)

return jsonarray;

4.3檢索功能

可以按照多個篩選條件(考號、姓名、報考學院、報考專業、導師姓名、擬錄取意見、學校錄取意見)進行檢索,用戶在選擇相關的一個或者多條檢索字段之后點擊【檢索】,就能夠檢索出用戶需要的學生名單,滿足用戶對不同條件篩選的需求。在檢索中,MVC中Controller接受View視圖頁面的檢索條件輸入和檢索按鈕點擊,將檢索要求作為SQL的一部分傳遞給后臺拼接成完整的SQL語句執行。在后臺需要對前端頁面傳遞來的特殊符號進行過濾,防止SQL注入,部分代碼如下[8-10]。 現在,需要的文件完全導出了,其中Excel文件Efj于學校核對信息,如果有誤就修改系統中的數據,而DBF文件則用于上報到中國研招網。

導出文件的默認命名規則是標準名+時間信息,如“10674BBK 2017-08-20 08-00-00.dbf'將最終導出的確認無誤的DBF文件重命名,把文件名中時間信息刪除即可滿足中國研招網對文件名的要求。這就是最終高校上報到中國研招網系統所需要的文件。在導出DBF文件的時候,尤為重要的一點就是表結構,這需要嚴格按照中國研招網的要求來,如下if(lb.equals(”bkk”))實現了代碼復用,導出DBF文件和Excel文件執行同一冗長的SQL語句,部分代碼如下:f(lb.equals(”bkk”)) {//lb=bkk,表示按照研招網的格式要求導出DBF報考名單

JSONArray jsonarray—new JSONArray();

//獲取導出數據//過濾通過頁面表單提交的字符private static String[] FilterChars={{<","&"},{">,">;"},

{" ","&11bsp;"}, {"\',"";"}, {"&","&;"),

{ "/","/;"},{"\\",";"},{"\n","

"}};//過濾通過javascript腳本處理并提交的字符private static String[][] FilterScriptChars={{"\n","\'+\'\\'n\+'\'"},

{"\r"," "}{"\\","\'+\'\\\\\"+\'"},{"\'","\'+\'\\\'\'+\'"}};

4.4導出上報數據

點擊圖4中【導出上報數據(Excel)】按鈕,系統會彈出一個小窗口,在彈窗中,研究生院可以導出需要的報考庫或者錄取庫Excel表格,導出之后研究生院可以用于核對數據(如果有需要的話,研究生院可以在Excel表中把各個學院的信息篩選后分發至各學院核對),如果數據出錯,那么研究生院可以在系統中對錯誤信息修正,反復幾次,確保學校系統數據的正確性。

在Excel表格中核對完成并修改了系統中的信息之后,研究生院就可以導出最終要上報到中國研招網的DBF文件,依次點擊圖4所示的3個按鈕【報名庫DBF導出】、【錄取庫DBF導出(中國考生)】、【錄取庫DBF導出留學生)】就可依次導出研究生院上報中國研招網所需要的文件。

j sonarrayResultSetTo Json.ResultSetTojsonArray(rs);

//設置表頭,格式:"Name","Type","Width"," Decimal","NULL"

String[][] fields一{

{ "xm","Character","40","0","FALSE"},

{ "xmpy","Character","80","O","FALSE"},

{”zjlx"," Character","2”,”O","FALSE”},

{ "zjhm","Character","18 ","O","FALSE"},

{ "Ihpydw","Character"," 100 ","O","FALSE”}

};if(DbfUtil.DbfExport(fields,j sonarray,”博士報考名單”))return true; SQL語句如下,由于表單字段眾多,所以select元素很多,其中表zs bsbm xsxx_ view是我們從多張表拼接來的視圖,使用視圖在操作的時候會更加簡單方便。由于我們系統的部分字段名稱和中國研招網的命名規則不太一致,在導出的時候需要重命名,命名規則很簡單“原名稱新名稱”中間用空格或者as隔開都行,這里用的是空格。由于系統中的部分字段所有人記錄值都一樣,比如DWMC(單位名稱)都是“昆明理工大學”,系統就沒有浪費空間存儲這一重復記錄,導出SQL語句設置為統一值即可“'昆明理工大學'DWMC”注意中間的空格以及SQL中字符串用單引號,還有就是一些本軟件系統中用不到的信息,比如“BYXX3”我們導出時設置為空即可,“”BYXX3”,注意前面是兩個單引號而非一個雙引號,兩個單引號里面什么符號(包括空格)都沒有,代表空值。

sql=select xm XM, xmpy XMPY, zjlxZJLX, zjhm

ZJHM, ksbh

KSBH, csrq

CSRQ, mzmMZM, xbm XBM, hfm HFM, zzmmm ZZMMM,xyjrm XYJRM, csdm CSDM, _jgdm JGDM,HKSZDM, DASZDM, DASZDW, DASZDWDZ,DASZDWYZBM, KSLYM, XXGZDWXZ, XXGZDW,XXGZJL, JLCF, JTCY, FBLWZZ, XSXWDWM,XSXWDW, XSXWZYDM, XSXWZYMC, XSXWNY,XSXWZSBH, BKBYDWM, BKBYDW, BKBYZYDM,BKBYZYMC, BKBYNY, BKBYZSBH, BKXXXS,SSXWDWM, SSXWDW, SSXWZYDM, SSXWZYMC,SSXWNY, SSXWZSBH, SSXWFS, SSBYDWM,SSBYDW, SSBYZYDM, SSBYZYMC, SSBYNY,SSBYZSBH, XWM, XLM, ZCXH, '10674'

DWDM,。昆明理工大學' DWMC, BKYXSM, BKYXSMC,BKZYDM, zymc BKZYMC, lqyjfxm BKYJFXM,lqyj fxmc

BKYJFXMC, dsxm

BKBDXM, dsbhBKBDBH, BKBDSX, KSFSM, bklbdm BKLBM,ZXJH, DXWPDWSZDM, DXWPDW, kskmdmlWGYM, kskmmcl WGYMC, kskmdm2 YWKIM,kskmmc2 YWKIMC,kskmdm3 YWK2M,kskmmc3YWK2MC, TXDZ, YZBM, LXDH, YDDH, DZXX,”BYXX,” BYXXl,” BYXX2,” BYXX3,”LHPYDWM," LHPYDW

from zs bsbm xsxx view

order by bkyxsm,bkzydm;

4.5 上傳數據到中國研招網

這一步已經不是本軟件系統的功能了,本系統主要就是導出需要的3個文件,用于這一步操作。 學校研究生院登錄中國研招網( http://yz.chsi.cn)后臺。點擊左側導航欄博士報名錄取庫上報博士報名錄取庫上報,進入博士報名錄取庫上報系統。 研招網博士報名錄取庫上報系統用于博士報考庫和錄取庫的上報工作。采取教育部、省級招辦、招生單位三級管理制度,即招生單位上傳數據成功后上報給上級省級招辦,省級招辦審核后上報給教育部。

5 結論

根據教育部的要求,博士研究生錄取名單需要按照標準的DBF表結構上報導人中國研招網(http://yz.chsi.com.cn或http://yz.chsi.cn),其中包括“報考庫”、“錄取庫(中國考生)”、“錄取庫(留學生)”,每個表都有好幾十個字段,傳統手T編輯合成這些表費時費力。本系統從學校錄取信息中導出這3張表,只需要簡單的人工核對就可以上報導人中國研招網系統。所以本系統的主要功能是導出“報考庫”、“錄取庫(中國考生)”、”錄取庫(留學生)”,每個庫都分別需要導jI}{ Excel文件(用于學校核對)和DBF文件f用于上報導人中國研招網),一共6個文件。

技術特點:

1.本系統使用Java、JavaScript及Extj s4作為編程語言,數據庫為OraclelOg,Web服務器為Tomcat7.0。

2.本系統基于J2EE技術,采用Struts技術框架;

3.本系統采用基于組件開發方式,實現各種業務邏輯重組,有效的進行了軟件復用,提高程序開發效率;

4.從管理模式來看,極大改變了高校對博士研究生錄取名單上報數據的管理模式,由手T拼接變成系統合成,很大程度的減小錯誤發生概率,切實提高了工作效率。endprint

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲va欧美va国产综合下载| 欧美三级自拍| 国产成人精品午夜视频'| 国产菊爆视频在线观看| av色爱 天堂网| 久久中文字幕2021精品| 久久精品午夜视频| 亚洲国产精品成人久久综合影院| 国产欧美在线观看一区| 国产香蕉国产精品偷在线观看| 免费中文字幕在在线不卡| 国产中文在线亚洲精品官网| 六月婷婷精品视频在线观看| 国产福利不卡视频| 大香网伊人久久综合网2020| 凹凸精品免费精品视频| 亚洲国产日韩一区| 一区二区三区四区日韩| 国产中文一区二区苍井空| 国产91精品调教在线播放| 91精品国产自产91精品资源| 久操线在视频在线观看| 97人人模人人爽人人喊小说| 亚洲黄色视频在线观看一区| 在线另类稀缺国产呦| 成人午夜亚洲影视在线观看| 中国黄色一级视频| 国产在线精彩视频二区| 在线无码av一区二区三区| 亚洲 欧美 偷自乱 图片| 久热中文字幕在线| 亚洲色中色| 日韩美毛片| 国产jizz| 亚洲第一视频区| 手机精品视频在线观看免费| 2021天堂在线亚洲精品专区| 国内老司机精品视频在线播出| 成人韩免费网站| 亚洲欧美自拍中文| 午夜小视频在线| 国产精品区网红主播在线观看| 欧美日韩另类国产| 久久亚洲美女精品国产精品| 视频二区亚洲精品| 亚洲国内精品自在自线官| 色婷婷久久| 98精品全国免费观看视频| 18禁影院亚洲专区| 又猛又黄又爽无遮挡的视频网站| 亚洲国产午夜精华无码福利| 91国内外精品自在线播放| 国产免费精彩视频| 国产小视频a在线观看| 青青青国产视频手机| 精品久久人人爽人人玩人人妻| 婷婷亚洲视频| 91欧美在线| 爱色欧美亚洲综合图区| 国产极品嫩模在线观看91| 色久综合在线| 中文字幕调教一区二区视频| 中国一级毛片免费观看| 最新国产高清在线| 欧美一区二区三区欧美日韩亚洲 | 黄色片中文字幕| 国产嫩草在线观看| 久久人妻系列无码一区| 亚洲无码不卡网| 国产亚洲精品资源在线26u| 重口调教一区二区视频| 少妇高潮惨叫久久久久久| 97综合久久| 精品国产亚洲人成在线| 欧美一区二区啪啪| 91蜜芽尤物福利在线观看| 六月婷婷激情综合| 爆操波多野结衣| 婷婷中文在线| 亚洲福利片无码最新在线播放| 国产内射一区亚洲| 日韩成人高清无码|