freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)專業(yè)優(yōu)秀oa辦公自動(dòng)化系統(tǒng)(參考版)

2024-12-08 01:21本頁面
  

【正文】 . UML和模型應(yīng)用. 機(jī)械工業(yè)出版社, 2006 年4月60。較好地完成基本OA需要的功能,但系統(tǒng)功能仍有不足,如需求優(yōu)先級(jí)比較低的需求還沒實(shí)現(xiàn),因此系統(tǒng)功能還不夠強(qiáng)大。有鑒于此,Spring對(duì)OpenSessionInView模式進(jìn)行了支持。 系統(tǒng)開發(fā)前期,由于Hibernate引入了Lazy Load特性,使得脫離Hibernate的Session周期的對(duì)象如果再想通過getter方法取到其關(guān)聯(lián)對(duì)象的值,Hibernate會(huì)拋出一個(gè) LazyLoad的Exception,或者Session關(guān)閉的錯(cuò)誤。8 小結(jié) 本系統(tǒng)采用SSH結(jié)合JPPM等框架進(jìn)行開發(fā),開發(fā)期間一度采用hibernate和Spring的annotation支持來配置文件,annotation配置文件大大簡化和減輕程序員的對(duì)XML文件的配置,縮短了開發(fā)時(shí)間。 ,系統(tǒng)自動(dòng)創(chuàng)建數(shù)據(jù)庫表。 。 。 調(diào)試運(yùn)行 。 } }} 控制臺(tái)輸出:Hibernate: insert into T_Organization (name, sn, description, pid) values (?, ?, ?, ?)Hibernate: insert into T_Organization (name, sn, description, pid) values (?, ?, ?, ?)Hibernate: insert into T_Organization (name, sn, description, pid) values (?, ?, ?, ?)Hibernate: insert into T_Organization (name, sn, description, pid) values (?, ?, ?, ?)Hibernate: select as id7_0_, as name7_0_, as sn7_0_, as descript4_7_0_, as pid7_0_ from T_Organization organizati0_ where =?Hibernate: select as pid1_, as id1_, as id7_0_, as name7_0_, as sn7_0_, as descript4_7_0_, as pid7_0_ from T_Organization children0_ where =?Hibernate: select as pid1_, as id1_, as id7_0_, as name7_0_, as sn7_0_, as descript4_7_0_, as pid7_0_ from T_Organization children0_ where =?Hibernate: select as pid1_, as id1_, as id7_0_, as name7_0_, as sn7_0_, as descript4_7_0_, as pid7_0_ from T_Organization children0_ where =?Hibernate: select as pid1_, as id1_, as id7_0_, as name7_0_, as sn7_0_, as descript4_7_0_, as pid7_0_ from T_Organization children0_ where =?org1 has children:org4org2org3結(jié)果:對(duì)象org1下的子機(jī)構(gòu)都查上來了。 }catch(Exception e){ ().rollback()。 (())。 ()。 Set set = ()。 Organization org1 = (Organization)(, 4)。 } } public void testLoadOrg(){ Session session = ()。 }catch(Exception e){ ().rollback()。 (org1)。 (org1)。 (org4)。 (org4)。 (org3)。 (org3)。 (org2)。 (org2)。 Set set = new HashSet()。代碼如下:public class OrgTest2 extends TestCase { public void testSaveOrg(){ Session session = ()。點(diǎn)擊流程名稱,應(yīng)能獲得關(guān)于此流程的詳細(xì)信息,如下所示:【查看流程圖片】【查看流程定義】7 調(diào)試和測試 單元測試運(yùn)行單元測試工具對(duì)系統(tǒng)進(jìn)行最小模塊的測試,單元測試越早越好,盡早發(fā)現(xiàn)問題,然后解決問題,不要留到集成測試時(shí),BUG可能一大堆,不好解決。當(dāng)然,也可以再次點(diǎn)擊審核操作,這時(shí)候,需要打開界面,更改審核意見!提交之后,根據(jù)相應(yīng)的選擇,公文將流到相應(yīng)的人員那里,依次下去,直到流程的結(jié)束!這就是公文管理主要過程!在公文管理主界面上,可以點(diǎn)擊“下載”,下載附件文檔,以便查看詳細(xì)內(nèi)容;或者點(diǎn)擊“查看審批歷史”,可以查看相關(guān)文檔的審批記錄。打開提交界面:選擇下一個(gè)步驟進(jìn)行提交操作,提交完成后,在公文主界面上,不能再次對(duì)公文執(zhí)行提交和刪除等操作:如果此時(shí)在流程中下一個(gè)節(jié)點(diǎn)的用戶登陸,便可以在“帶審批文檔”視圖中看到流到此人的文檔??梢栽谖业墓摹⒋龑徍斯?、已審核公文之間切換:公文的添加:點(diǎn)擊其中一個(gè)公文形式(流程),打開此流程的公文添加界面:重要的一點(diǎn)是,可以選擇流程!這些流程都是通過設(shè)計(jì)器或編寫流程文件的方法創(chuàng)建的?!居脩羰跈?quán)】 給用戶單獨(dú)授權(quán)在主界面上點(diǎn)擊“用戶授權(quán)”,打開的授權(quán)界面跟角色授權(quán)類似:但是,用戶授權(quán)多了一個(gè)“不繼承”選擇框,只有在選擇了這個(gè)框的前提下,給用戶的單獨(dú)授權(quán)設(shè)置才是有效的,否則它將使用其擁有的角色的權(quán)限! 公文管理6. 4. 1 公文管理總共可分為公文管理以及公文歸檔文檔流轉(zhuǎn)事實(shí)上是對(duì)工作流以及工作流中的文檔進(jìn)行管理,對(duì)于大多數(shù)企業(yè)來說,核心的管理就是工作流和文檔的管理。針對(duì)某個(gè)資源的所有操作,我們可以設(shè)置這些權(quán)限對(duì)用戶來說是“繼承”或“不繼承”i. 繼承:意思是這些權(quán)限將使用其(即用戶)所擁有的角色的權(quán)限,而不使用其(即用戶)單獨(dú)設(shè)置的權(quán)限ii. 不繼承:意思是這些權(quán)限將使用其單獨(dú)設(shè)置的權(quán)限,而不使用其所擁有的角色的權(quán)限 認(rèn)證,指用戶訪問資源的某些操作時(shí),根據(jù)授權(quán),判斷是否允許用戶的訪問a) 在用戶訪問的時(shí)候,需要進(jìn)行即時(shí)的判斷(是否有權(quán)訪問)b) 應(yīng)該提供查詢的功能,可以查詢某個(gè)用戶所擁有的所有權(quán)限總體上,可分為模塊管理、角色管理和用戶管理模塊:模塊管理:模塊管理主界面參考:因?yàn)槟K是一個(gè)樹狀結(jié)構(gòu)(本系統(tǒng)只支持兩級(jí)模塊的結(jié)構(gòu)),我們可以點(diǎn)擊其中一個(gè)模塊以便打開其子模塊來維護(hù),比如點(diǎn)擊“信件交流”:可以在這個(gè)界面上添加模塊信息以及刪除模塊信息角色管理:可以添加角色信息、刪除角色信息以及給角色授權(quán)給角色授權(quán),選中其中一個(gè)角色,可以打開角色授權(quán)界面:在這個(gè)界面上,按照兩級(jí)模塊的形式列出系統(tǒng)所有模塊,以及在這些模塊上面的CRUD(添加、讀取、更新、刪除)權(quán)限;所謂“啟用”,意思是本設(shè)置有效,否則設(shè)置無效!當(dāng)點(diǎn)擊選中其中某個(gè)模塊的某個(gè)權(quán)限時(shí),系統(tǒng)自動(dòng)添加此權(quán)限!【選中就開始生效,無需點(diǎn)擊提交按鈕】用戶管理:因?yàn)橛脩魧?shí)際上就是系統(tǒng)人員的帳號(hào),而且每個(gè)人只能擁有一個(gè)帳號(hào),所以用戶管理主界面,實(shí)際上就是系統(tǒng)所有人員的列表!【分配帳號(hào)】 給人員分配帳號(hào),如果已經(jīng)有帳號(hào),則提示無法繼續(xù)分配帳號(hào),如果想修改帳號(hào)的話,需要先刪除帳號(hào),再重新分配【刪除帳號(hào)】 提示是否刪除,如果確定,再發(fā)出刪除請(qǐng)求,在刪除成功之后,刷新界面。人員管理:包括添加、刪除人員的信息人員管理主界面:人員管理的添加:點(diǎn)擊選擇,可以打開新的界面選擇所添加人員所屬的機(jī)構(gòu)人員管理的刪除:在刪除之前,跟機(jī)構(gòu)管理一樣,需要確認(rèn)一下再刪除,而且刪除之后,需要刷新一下主界面。在列表界面上,可以點(diǎn)擊“返回”以便返回上一級(jí)機(jī)構(gòu)。機(jī)構(gòu)是一個(gè)樹型結(jié)構(gòu),可以完成添加、刪除操作。方法用于對(duì)用戶角色承繼進(jìn)行操作。方法,可以對(duì)用戶權(quán)限進(jìn)行判斷;設(shè)計(jì)public void addOrUpdatePermission( String principalType, int principalSn, int resourceSn, int permission, boolean yes )。}用戶在登錄系統(tǒng)時(shí),系統(tǒng)會(huì)根據(jù)他所擁有的權(quán)限生成他能所控制的模塊,設(shè)計(jì)public List searchModules(int userId)。 /** * 搜索某個(gè)用戶擁有讀取權(quán)限的模塊列表(用于登錄,形成導(dǎo)航菜單的時(shí)候) * param userId 用戶標(biāo)識(shí) * return 模塊列表(即列表的元素是Module對(duì)象) */ public List searchModules(int userId)。 /** * 判斷用戶對(duì)某模塊的某操作的授權(quán)(允許或不允許) * param userId 用戶標(biāo)識(shí) * param reourceSn 資源標(biāo)識(shí)(id) * param permission 權(quán)限(C/R/U/D) * return 允許(true)或不允許(false) */ public boolean hasPermission(int userId,int reourceId,int permission)。 /** * 刪除授權(quán) * param principalType * param principalSn * param resourceSn */ public void delPermission( String principalType, int principalSn, int resourceSn )。方法,可以下一步流程節(jié)點(diǎn)。方法把流程定義文件和圖片存儲(chǔ)到數(shù)據(jù)庫里;有了流程定義文件之后,需要把流程實(shí)例記錄到數(shù)據(jù)里,設(shè)計(jì)public long addProcessInstance(String workflowName,int documentId)。 /** * 流向下一步 * param username 用戶帳號(hào) * param processInstanceId 流程實(shí)例標(biāo)識(shí) * param transitionName 流向名稱 * return 返回狀態(tài)信息,因?yàn)楣牡牧鬓D(zhuǎn)將會(huì)觸發(fā)公文狀態(tài)的改變! */ public String flowToNextStep(String username,long processInstanceId,String transitionName)。 /** * 查找流轉(zhuǎn)到某個(gè)用戶那里的所有公文 * param username 用戶帳號(hào) * return 公文的標(biāo)識(shí)列表,其元素是int類型 */ public List searchApprovingDocuments(String username)。 /** * 添加流程實(shí)例 * param workflowName 流程名稱 * param documentId 公文標(biāo)識(shí) * return 流程實(shí)例標(biāo)識(shí) */ public long addProcessInstance(String workflowName,int documentId)。 /** * 刪除流程定義 * param workflowId 流程標(biāo)識(shí)(ID) */ public void delWorkflow(int workflowId)。.2 工作流整合,最后在Spring配置文件里把配置上:bean id=jbpmConfiguration class= property name=configuration value=classpath:/property /bean.3 接口設(shè)計(jì)WorkflowManager設(shè)計(jì)如下:public interface WorkflowManager { /** * 部署流程定義 * param processDefinition * param processImage */ public void deployProcessDefinition(byte[] processDefinition,byte[] processImage
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1