羅序良
(廣東電網(wǎng)有限責(zé)任公司江門供電局,廣東江門529000)
經(jīng)過近幾年的推廣應(yīng)用,在公司內(nèi),企業(yè)級管理信息系統(tǒng)已承載了各業(yè)務(wù)線的主要業(yè)務(wù),各業(yè)務(wù)線的業(yè)務(wù)流程工作都在6+1系統(tǒng)上以工單形式流轉(zhuǎn),有效支撐了各專業(yè)業(yè)務(wù)的開展,但還存在以下幾點(diǎn)問題:
(1)目前企業(yè)級管理信息系統(tǒng)工單待辦通知工作都是在各系統(tǒng)獨(dú)自運(yùn)作,缺乏統(tǒng)一待辦提醒的功能;
(2)各層級的用戶需每天不定時(shí)登錄各系統(tǒng)查看待辦工單,耗時(shí)耗力,在一定程度上給用戶使用造成了不便;
(3)如果待辦查看不及時(shí),甚至可能會導(dǎo)致工單處理超時(shí),影響到相關(guān)的考核指標(biāo)。
因此,企業(yè)級管理信息系統(tǒng)統(tǒng)一待辦提醒工具的研發(fā)迫在眉睫,在公司層面推行精益化管理、要求減輕基層工作量的環(huán)境下,本工具的研發(fā)具備重要性和實(shí)用性。
(1)分析企業(yè)級6+1系統(tǒng)認(rèn)證方式,針對各個(gè)系統(tǒng)采用自動化手段進(jìn)行登陸認(rèn)證;分析各個(gè)系統(tǒng)的工單待辦數(shù)據(jù),建立待辦工單提取模式。技術(shù)實(shí)現(xiàn):采用自主開發(fā)的方式,利用selenium、爬蟲、xpath頁面解析等技術(shù),定時(shí)自動登錄到各系統(tǒng)(營銷系統(tǒng)、人資系統(tǒng)、資產(chǎn)系統(tǒng)、財(cái)務(wù)系統(tǒng)、陽光電子商務(wù)系統(tǒng)),讀取需用戶處理的待辦事項(xiàng)。
(2)開發(fā)基于WPF的桌面待辦提醒應(yīng)用工具,實(shí)現(xiàn)待辦事項(xiàng)的歸集推送顯示。技術(shù)實(shí)現(xiàn):此桌面控件擬支持的運(yùn)行環(huán)境為Windows7系統(tǒng)。采用C#語言編寫,長期顯示在操作系統(tǒng)桌面上,對第一點(diǎn)中讀取到的工單待辦事項(xiàng),自動推送顯示在桌面控件的提醒列表中,并進(jìn)行taskicon提醒。
(3)通過點(diǎn)擊顯示在系統(tǒng)桌面的待辦事項(xiàng)提醒列表,可實(shí)現(xiàn)自動跳轉(zhuǎn)到相應(yīng)的系統(tǒng)頁面處理工單。
由于無法獲取各系統(tǒng)后臺待辦數(shù)據(jù),只能采用前臺頁面抓取方式實(shí)現(xiàn)。頁面數(shù)據(jù)抓取引用開源的selenium包,待辦抓取過程為了不顯示瀏覽器,以及從兼容性考慮,采用PhantomJSDriverService服務(wù),待辦內(nèi)容的匹配采用xpath,其中某系統(tǒng)待辦獲取核心代碼如下:
private void zichanDaibanSpider()
{
firstPageDriver(zichanUrl,false);
driver.Navigate().GoToUrl(xxDaiBanUrl);
printCookieTest("xx","XX系統(tǒng)");
ICollection
if(zichanTaskElementList!=null)
foreach(IWebElementzcinzichanTaskElementList)
{
String title=zc.FindElement(By.XPath("./span[1]")).Text;
String body="該模塊有"+zc.FindElement(By.XPath("./span[2]")).Text+"條待辦消息";
String date=DateTime.Now.ToLongDateString();
Console.WriteLine("標(biāo)題:"+title+"事由:"+body);
sendDaiBanMessage("XX系統(tǒng)",title,body,date,this.username,"pack://application:,,,/Images/zichan.png");
}
closeWebDriverProcess();
}
桌面控件采用C#語言編寫,包括參數(shù)配置面板和待辦提醒面板功能。參數(shù)設(shè)置面板有用戶設(shè)置和系統(tǒng)設(shè)置,設(shè)置參數(shù)可以進(jìn)行保存。待辦提醒面板有待辦事項(xiàng)顯示、待辦清除、系統(tǒng)設(shè)置等功能,通過點(diǎn)擊待辦選項(xiàng)可以直接進(jìn)入系統(tǒng)工單頁面,進(jìn)入外部系統(tǒng)查看工單核心代碼如下:
public static bool StartIE(ICollection
{
String nowTime=DateTime.Now.AddMinutes(15).ToString("r");
try
{
foreach(Cookie i in cc)
{
bool bl=InternetSetCookie(
domainUrl,i.Name.ToString(),i.Value.ToString()+";expires="+nowTime);
}
Process.Start("iexplore.exe",url);
return true;
}
catch{return false;}
}
桌面控件開發(fā)完成后,整體效果展示如圖1所示。
圖1 系統(tǒng)整體效果圖
軟件測試針對軟件的各項(xiàng)主要功能及性能,包括軟件運(yùn)行資源占用情況、內(nèi)存泄漏情況、軟件啟動情況、參數(shù)配置功能、待辦角標(biāo)通知功能、待辦樹狀展示功能、待辦獲取功能、待辦提醒清除功能、營銷系統(tǒng)待辦提醒功能、資產(chǎn)系統(tǒng)待辦提醒功能、人資系統(tǒng)待辦提醒功能、財(cái)務(wù)系統(tǒng)待辦提醒功能、陽光電子商務(wù)待辦提醒功能、待辦定位及跳轉(zhuǎn)功能,測試主要是對工具進(jìn)行缺陷挖掘,確保軟件健壯性。
測試結(jié)果:本次測試對系統(tǒng)9個(gè)功能項(xiàng)按照23個(gè)方面進(jìn)行了全面的測試,一共發(fā)現(xiàn)了1個(gè)缺陷,代碼行數(shù)和缺陷的比值為0.01%,表明發(fā)現(xiàn)的缺陷數(shù)量在合理的范圍內(nèi)。
發(fā)現(xiàn)缺陷1個(gè),缺陷率為2.3%,缺陷具體內(nèi)容為:工具運(yùn)行存在內(nèi)存泄漏風(fēng)險(xiǎn),工具關(guān)閉后,殘留未關(guān)閉進(jìn)程,需要進(jìn)行修復(fù)。
最后,針對測試中出現(xiàn)的bug進(jìn)行修復(fù),完善工具軟件。
通過利用爬蟲技術(shù),基于.NET技術(shù)的桌面應(yīng)用開發(fā)技術(shù),完成此工具的開發(fā),此工具作為企業(yè)管理信息系統(tǒng)的配套,能夠?qū)崿F(xiàn)營銷系統(tǒng)、人資系統(tǒng)、資產(chǎn)系統(tǒng)、財(cái)務(wù)系統(tǒng)、陽光電子商務(wù)系統(tǒng)的待辦事項(xiàng)歸集顯示,一方面減輕了各用戶反復(fù)登錄系統(tǒng)查看待辦事項(xiàng)的負(fù)擔(dān),另一方面通過待辦事項(xiàng)的主動提醒,可確保工單得到及時(shí)處理,提高了工單流轉(zhuǎn)處理的效率。對于企業(yè)管理信息系統(tǒng)的進(jìn)一步優(yōu)化使用,起到了一定的促進(jìn)作用。