• 
    

    
    

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

      基于LCDP的OA自定義流程設(shè)計(jì)與實(shí)現(xiàn)

      2024-04-03 21:06:12符浩李峰
      電腦知識(shí)與技術(shù) 2024年1期
      關(guān)鍵詞:表單辦公自動(dòng)化流程

      符浩 李峰

      關(guān)鍵詞:辦公自動(dòng)化;低代碼開(kāi)發(fā)平臺(tái);表單;流程;自定義化

      0 引言

      云南省質(zhì)檢院使用OA主要用于以下三類功能:發(fā)文管理、收文管理和事項(xiàng)管理,它們都屬于流程流轉(zhuǎn)。在實(shí)際應(yīng)用中,流轉(zhuǎn)的過(guò)程不再固定,而應(yīng)隨業(yè)務(wù)需求的變更而變化,例如刪減審批環(huán)節(jié)、添加判決條件、新增跳轉(zhuǎn)流程等。傳統(tǒng)OA開(kāi)發(fā)在實(shí)踐中存在三個(gè)較為明顯的缺陷:一是軟件編寫會(huì)將OA流程固化,一旦業(yè)務(wù)流程發(fā)生變更,則須二次開(kāi)發(fā),消耗較大的人力、財(cái)力與時(shí)間成本;二是傳統(tǒng)開(kāi)發(fā)模式采用各類編程語(yǔ)言、框架、運(yùn)行環(huán)境等,對(duì)開(kāi)發(fā)人員要求較高,開(kāi)發(fā)進(jìn)度較慢,部署周期長(zhǎng)[4];三是純語(yǔ)言開(kāi)發(fā)模式容易觸發(fā)BUG(程序錯(cuò)誤),尤其是隱式BUG只有在OA業(yè)務(wù)運(yùn)行階段才能發(fā)現(xiàn),不僅修復(fù)困難,而且耗費(fèi)時(shí)間,影響正常業(yè)務(wù)的運(yùn)行[5]。為了克服以上缺陷,LCDP應(yīng)運(yùn)而生,經(jīng)過(guò)多年的發(fā)展,LCDP已經(jīng)做到了低代碼量甚至無(wú)代碼開(kāi)發(fā),普通業(yè)務(wù)人員經(jīng)過(guò)短期培訓(xùn)就能快速上手搭建新的業(yè)務(wù)流程,而且BUG極少,尤其適用于業(yè)務(wù)類信息系統(tǒng)的開(kāi)發(fā),此次云南省質(zhì)檢院OA系統(tǒng)改造與升級(jí)就是基于云南昆遠(yuǎn)睿方科技有限公司自研的LCDP。

      1 自定義設(shè)計(jì)

      LCDP本質(zhì)上是軟件公司依據(jù)多年來(lái)的開(kāi)發(fā)經(jīng)驗(yàn)將各個(gè)功能模塊細(xì)化,然后進(jìn)行抽象封裝,通過(guò)可視化的方式操控各類控件,自定義配置控件屬性,調(diào)用相關(guān)系統(tǒng)回調(diào)函數(shù),最后將控件通過(guò)組合、鏈接、復(fù)用等形式綜合起來(lái)用于新流程的開(kāi)發(fā)。一個(gè)新流程的開(kāi)發(fā)主要包含以下四個(gè)方面:界面設(shè)計(jì)、流轉(zhuǎn)設(shè)計(jì)、數(shù)據(jù)耦合和腳本輔助,下面逐一詳細(xì)說(shuō)明。

      1.1 界面設(shè)計(jì)

      LCDP具有豐富的界面設(shè)計(jì)控件,如標(biāo)簽、按鍵、文本框、菜單欄、布局器等,由于OA流程不涉及復(fù)雜的界面渲染,所以一般的流程界面只須使用標(biāo)簽、按鍵、文本框這基礎(chǔ)三大件即可。以外出報(bào)備流程為例,圖1為職工發(fā)起申請(qǐng)的界面,首先創(chuàng)建白底模板,然后通過(guò)拖拽的方式將菜單欄里的各個(gè)控件拖放到合適的位置,虛線框內(nèi)即為各個(gè)控件。對(duì)于單個(gè)控件,通過(guò)右擊可以編輯屬性,主要包括控件大小、位置、名稱、背景色、對(duì)齊方式、樣式等,設(shè)計(jì)完成后可以點(diǎn)擊預(yù)覽,如果對(duì)效果不滿意,可以刪除某個(gè)控件,重新拖拽新控件并設(shè)置屬性。

      通過(guò)LCDP,可以將界面設(shè)計(jì)完全可視化,簡(jiǎn)單的拖拉拽放與屬性設(shè)置就可以完成絕大部分界面的設(shè)計(jì),不僅操作簡(jiǎn)單,而且可以實(shí)時(shí)預(yù)覽,這一操作幾乎不會(huì)產(chǎn)生BUG。如果需要復(fù)雜的功能,例如控件疊放或動(dòng)畫效果,則須點(diǎn)擊高級(jí)設(shè)置,再用腳本語(yǔ)言進(jìn)行輔助設(shè)計(jì)。

      1.2 流轉(zhuǎn)設(shè)計(jì)

      流程的流轉(zhuǎn)過(guò)程設(shè)計(jì)比界面更簡(jiǎn)單,只須簡(jiǎn)單的節(jié)點(diǎn)和路由即可,以派車申請(qǐng)流程為例,圖2是派車申請(qǐng)流程圖,各節(jié)點(diǎn)注明部門及人員,路由注明流轉(zhuǎn)方向,使用方向線連接即可完成流程的初步設(shè)計(jì)。

      1.3 數(shù)據(jù)耦合

      先前的界面設(shè)計(jì)中有按鍵和文本框,流程設(shè)計(jì)中有節(jié)點(diǎn)和路由,內(nèi)部包含大量字段與函數(shù),用于數(shù)據(jù)的交互和邏輯的控制,只有數(shù)據(jù)和邏輯耦合起來(lái),流程才能正常流轉(zhuǎn)。

      1.3.1 表單設(shè)置

      表單用于記錄一個(gè)界面所有文本框里的字段,包括字段名、字段類型、初始值等信息。對(duì)于字段的命名,須包含盡可能多的信息,例如所屬流程名、表單名等信息,因此每個(gè)字段名都會(huì)較長(zhǎng),字段名須映射到數(shù)據(jù)庫(kù)表中,不可與其他表單里相同含義的文本框字段重名,否則將引起數(shù)據(jù)串?dāng)_[6];對(duì)于字段的編輯屬性,字段需要限定編碼格式、取值范圍等,當(dāng)前端界面輸入超范圍數(shù)值或非法字符時(shí),需要提示用戶重新輸入,以便正確解析;對(duì)于字段的讀寫屬性,將其分為可讀與可寫,同時(shí)須配置相關(guān)回調(diào)函數(shù)進(jìn)行條件約束,便于數(shù)據(jù)依不同用戶或操作劃分不同的權(quán)限。

      1.3.2 回調(diào)函數(shù)

      界面中每一個(gè)按鍵都須配置回調(diào)函數(shù),通過(guò)多年累積,在LCDP中將常用的函數(shù)API進(jìn)行了高級(jí)封裝,分為無(wú)返回值函數(shù)和有返回值函數(shù)[7]。對(duì)于無(wú)返回值函數(shù),先按操作方法選擇函數(shù)名,然后配置傳入?yún)?shù),函數(shù)參數(shù)分為操作屬性與操作數(shù)據(jù),數(shù)據(jù)只能選擇該表單里已配置的字段,常用的操作方法有將字段保存到數(shù)據(jù)庫(kù),更新?tīng)顟B(tài)信息表等。對(duì)于有返回值的函數(shù),還須配置返回參數(shù),返回參數(shù)可為續(xù)調(diào)函數(shù)或數(shù)據(jù),如果返回?cái)?shù)據(jù),系統(tǒng)默認(rèn)其為臨時(shí)對(duì)象,此時(shí)必須配置續(xù)調(diào)函數(shù)對(duì)其繼續(xù)處理,且最后一個(gè)續(xù)調(diào)函數(shù)必須是無(wú)返回值函數(shù),否則LCDP編譯時(shí)會(huì)報(bào)錯(cuò)?;卣{(diào)函數(shù)除系統(tǒng)流轉(zhuǎn)功能外,還包括數(shù)據(jù)運(yùn)算功能,例如基本運(yùn)算、大小比較、賦值與讀取等操作,能滿足絕大部分的場(chǎng)景應(yīng)用需求。

      1.3.3 節(jié)點(diǎn)處理

      各類事項(xiàng)在流轉(zhuǎn)的過(guò)程中會(huì)路經(jīng)各個(gè)節(jié)點(diǎn),節(jié)點(diǎn)按屬性可分為發(fā)起節(jié)點(diǎn)和審批節(jié)點(diǎn),節(jié)點(diǎn)的處理主要包括人員的配置和回調(diào)函數(shù)的設(shè)置。在發(fā)起節(jié)點(diǎn),發(fā)起人一般不作限制,只須配置下一節(jié)點(diǎn)審核部門和審核人,申請(qǐng)按鍵須配置一系列回調(diào)函數(shù),首先是信息預(yù)審核函數(shù),主要用于檢查數(shù)字范圍是否越界,字符能否正確解析,然后會(huì)調(diào)用數(shù)據(jù)存儲(chǔ)函數(shù),在數(shù)據(jù)庫(kù)新建表單存儲(chǔ)本次事項(xiàng)流轉(zhuǎn)的所有信息,接著調(diào)用系統(tǒng)狀態(tài)函數(shù),記錄并更新當(dāng)前事項(xiàng)流轉(zhuǎn)的進(jìn)度,最后調(diào)用推送函數(shù),將表單數(shù)據(jù)與流程狀態(tài)推送至節(jié)點(diǎn)判決器。在審批節(jié)點(diǎn),對(duì)于中間審批節(jié)點(diǎn),需要配置當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)的審核人和審核部門,提交按鍵需要配置的回調(diào)函數(shù)與申請(qǐng)按鍵基本相似,唯一不同是調(diào)用新的數(shù)據(jù)存儲(chǔ)函數(shù),不再創(chuàng)建新表單,只須追加寫入即可;對(duì)于末端審批節(jié)點(diǎn),只須配置最終審核人和審核部門,終審意見(jiàn)也不再調(diào)用推送函數(shù),而是調(diào)用完結(jié)函數(shù),通知系統(tǒng)流程無(wú)須再流轉(zhuǎn)。

      1.3.4 流向判決

      節(jié)點(diǎn)處調(diào)用推送函數(shù)后,會(huì)將節(jié)點(diǎn)表單數(shù)據(jù)與流程狀態(tài)推送至路由判決器,路由判決器須提取關(guān)鍵字段進(jìn)行二次判決,并調(diào)用新的回調(diào)函數(shù)將流程推向新的節(jié)點(diǎn)。首選須設(shè)置判決器的關(guān)鍵字段,字段可以從系統(tǒng)表里選取,對(duì)于最基礎(chǔ)的審批意見(jiàn)字段,若為同意,則提取節(jié)點(diǎn)審核人簽名并調(diào)用電子簽名函數(shù),接著提取下一審批部門、審批人的字段,作為參數(shù)繼續(xù)調(diào)用路由推送函數(shù);若為不同意,則調(diào)用路由回退函數(shù),將流程打回到上一節(jié)點(diǎn)處,對(duì)于被打回的流程,系統(tǒng)狀態(tài)刷新后,則應(yīng)在上一節(jié)點(diǎn)處,將完結(jié)按鍵的屬性從隱藏變?yōu)轱@示,同時(shí)配置完結(jié)函數(shù)用以終結(jié)該流程。

      流程的流轉(zhuǎn)除了基礎(chǔ)的審批意見(jiàn)外,更多的是按照不同的關(guān)鍵字跳轉(zhuǎn)不同的分支,路由判決器可以從數(shù)據(jù)庫(kù)表里添加多個(gè)關(guān)鍵字,按照判決條件的先后順序依次配置回調(diào)函數(shù),有返回值的回調(diào)函數(shù)會(huì)生成中間臨時(shí)變量,對(duì)于復(fù)雜的邏輯判斷,可以將中間變量作為參數(shù)調(diào)用路由推送函數(shù),進(jìn)而推送至正確的分支流程中,同時(shí)要確保下一節(jié)點(diǎn)要有匹配的字段能接收上一節(jié)點(diǎn)的關(guān)鍵臨時(shí)變量,從而實(shí)現(xiàn)數(shù)據(jù)隨流程一起流轉(zhuǎn)。

      1.3.5 文件讀寫

      一個(gè)流程在流轉(zhuǎn)過(guò)程中,可能會(huì)掛載相應(yīng)的文件,對(duì)于有文件作為附件的流程,界面須配置上傳與下載按鍵,回調(diào)函數(shù)里除了上傳與下載函數(shù)外,還須配置用戶權(quán)限函數(shù),解析當(dāng)前賬號(hào)是否有權(quán)限下載文件或者上傳新文件,若無(wú)權(quán)限,可以設(shè)置彈窗函數(shù)告知用戶。

      對(duì)于表單數(shù)據(jù),某些流程會(huì)配置標(biāo)準(zhǔn)模板,用戶可以下載并填寫好標(biāo)準(zhǔn)模板后,將其導(dǎo)入表單,此時(shí)需要調(diào)用數(shù)據(jù)導(dǎo)入函數(shù);一個(gè)流程在完成全部流轉(zhuǎn)后,一般會(huì)生成一個(gè)表格作為電子存檔,導(dǎo)出函數(shù)可以將流轉(zhuǎn)過(guò)程中所需的字段寫入到表格對(duì)應(yīng)的單元格中。數(shù)據(jù)的導(dǎo)入導(dǎo)出都是依賴于Office的書(shū)簽功能[8],不論Word還是Excel,都可以對(duì)指定單元格進(jìn)行書(shū)簽標(biāo)記,以外出報(bào)備審批表為例,LCDP數(shù)據(jù)庫(kù)表中須設(shè)置與圖3中書(shū)簽同名的字段,其數(shù)值才能被導(dǎo)入導(dǎo)出函數(shù)識(shí)別并處理。

      1.4 腳本輔助

      對(duì)于一些流轉(zhuǎn)邏輯較為復(fù)雜的流程,或判決條件為多條件聯(lián)合判決,或流程流轉(zhuǎn)需要形成閉環(huán)二次審批,或子流程需要分發(fā)多個(gè)部門聯(lián)合審批,此時(shí)配置回調(diào)函數(shù)則顯得力不從心,LCDP為解決復(fù)雜功能的自定義事項(xiàng)流轉(zhuǎn),配備了腳本輔助功能[9]。腳本與回調(diào)函數(shù)可以獨(dú)立使用,也可以混合使用,腳本函數(shù)體內(nèi)還可以調(diào)用預(yù)設(shè)好的系統(tǒng)回調(diào)函數(shù)。實(shí)際應(yīng)用中,用腳本語(yǔ)言(此LCDP支持Python和JavaScript) 寫好函數(shù)名與函數(shù)體后,只須將其函數(shù)名注冊(cè)為回調(diào)函數(shù)即可,腳本輔助功能大大提高了復(fù)雜流轉(zhuǎn)邏輯的設(shè)計(jì)能力。

      2 流程實(shí)現(xiàn)

      流程完成自定義設(shè)計(jì)后,須經(jīng)過(guò)嚴(yán)格的測(cè)試才能部署到OA系統(tǒng)里,下面詳細(xì)說(shuō)明。

      2.1 編譯與測(cè)試

      如果流程的設(shè)計(jì)使用了腳本輔助功能,則應(yīng)先進(jìn)行腳本測(cè)試,對(duì)于腳本編寫的函數(shù),可以使用常規(guī)的自動(dòng)化測(cè)試或單元測(cè)試,測(cè)試合格后再將其注冊(cè)為自定義回調(diào)函數(shù),以供控件調(diào)用。

      LCDP自帶組合編譯功能,編譯時(shí)主要檢查數(shù)據(jù)接口的匹配性與流程流轉(zhuǎn)的連通性,編譯報(bào)錯(cuò)時(shí)能快速定位到錯(cuò)誤的控件設(shè)置或流程設(shè)置。編譯通過(guò)后,整個(gè)自定義流程的測(cè)試分為兩步:第一步是編寫測(cè)試腳本,讓流程自動(dòng)化流轉(zhuǎn)并輸出想要的測(cè)試結(jié)果,測(cè)試功能是否達(dá)到設(shè)計(jì)目的;第二步是人工創(chuàng)建并登錄多個(gè)賬號(hào),模擬實(shí)際流程流轉(zhuǎn)的過(guò)程,進(jìn)一步測(cè)試功能有無(wú)紕漏,同時(shí)還能直觀地測(cè)試性能問(wèn)題,對(duì)于明顯卡頓的地方,可以再次編寫測(cè)試腳本,進(jìn)行單環(huán)節(jié)或單函數(shù)測(cè)試,排查卡頓原因。

      2.2 部署與應(yīng)用

      LCDP 自帶的系統(tǒng)回調(diào)函數(shù)都是經(jīng)過(guò)高度優(yōu)化的,簡(jiǎn)單的二次封裝一般不會(huì)帶來(lái)額外的性能開(kāi)銷,而使用腳本編寫的自定義回調(diào)函數(shù),利用自動(dòng)化測(cè)試并對(duì)算法與數(shù)據(jù)結(jié)構(gòu)進(jìn)行優(yōu)化,能將其運(yùn)行時(shí)間控制在限定的范圍內(nèi),從而解決操作的卡頓問(wèn)題。完成測(cè)試后,則可以在系統(tǒng)管理中,將自定義流程添加到事項(xiàng)管理中,OA系統(tǒng)內(nèi)部會(huì)同步將新流程加入狀態(tài)監(jiān)控表中。由于OA采用了B/S架構(gòu),只要服務(wù)端完成部署,用戶端可以做到無(wú)感升級(jí),用戶重新登錄后,不僅可以發(fā)起、審批新的流程,而且可以在消息提示欄里查閱未處理的新流程。

      3 結(jié)束語(yǔ)

      本文較為完整地闡述了OA系統(tǒng)里基于LCDP的自定義流程的設(shè)計(jì)、測(cè)試與部署過(guò)程。實(shí)踐證明,LCDP的使用,使得普通業(yè)務(wù)人員通過(guò)簡(jiǎn)單培訓(xùn)即可完成自定義流程的設(shè)計(jì),有一定代碼基礎(chǔ)的人可以通過(guò)腳本輔助實(shí)現(xiàn)更復(fù)雜功能的設(shè)計(jì),不僅不易觸發(fā)BUG,而且性能幾乎沒(méi)有損失,顯著提高了開(kāi)發(fā)效率;當(dāng)業(yè)務(wù)流程出現(xiàn)變更需求時(shí),使用LCDP能快速實(shí)現(xiàn)新流程的自定義設(shè)計(jì)、部署與應(yīng)用,不再需要軟件公司的深度介入,節(jié)約大量的財(cái)力與時(shí)間成本,具有良好的經(jīng)濟(jì)效益。

      猜你喜歡
      表單辦公自動(dòng)化流程
      電子表單系統(tǒng)應(yīng)用分析
      華東科技(2021年9期)2021-09-23 02:15:24
      吃水果有套“清洗流程”
      淺談辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與應(yīng)用
      活力(2019年21期)2019-04-01 12:17:06
      辦公自動(dòng)化中的計(jì)算機(jī)應(yīng)用
      違反流程 致命誤判
      淺談網(wǎng)頁(yè)制作中表單的教學(xué)
      辦公自動(dòng)化系統(tǒng)軟件教學(xué)探索
      本刊審稿流程
      析OGSA-DAI工作流程
      辦公室自動(dòng)化、辦公自動(dòng)化與OA
      沧源| 武宁县| 正阳县| 吴旗县| 镶黄旗| 荥阳市| 镇远县| 永城市| 海盐县| 区。| 德令哈市| 颍上县| 贵定县| 稷山县| 安阳市| 延吉市| 弥渡县| 宣恩县| 正镶白旗| 息烽县| 福州市| 且末县| 大渡口区| 固镇县| 沈阳市| 霍林郭勒市| 云梦县| 广丰县| 朔州市| 永平县| 务川| 涟源市| 商丘市| 绥阳县| 锡林郭勒盟| 波密县| 伊春市| 成都市| 象州县| 大方县| 海宁市|