專利名稱:工作分解結(jié)構(gòu)生成方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及企業(yè)資源計(jì)劃系統(tǒng),尤其涉及工作分解結(jié)構(gòu)生成方法和系統(tǒng)。
背景技術(shù)
制造企業(yè)特別是按單生產(chǎn)的制造企業(yè)在實(shí)際生產(chǎn)中,一般都是邊設(shè)計(jì)邊生產(chǎn), 這就要求項(xiàng)目計(jì)劃的編制不是一次完成,而是根據(jù)設(shè)計(jì)進(jìn)度逐步補(bǔ)充完成的。相關(guān)的 根據(jù)物料清單(Bill Of Materials,簡稱BOM)創(chuàng)建工作分解結(jié)構(gòu)(Work Breakdown Of Structure,簡稱WBS)的方法,只支持按照BOM生成WBS,不能處理已導(dǎo)入的BOM數(shù)據(jù)是否重復(fù)導(dǎo)入的問題,這樣,對(duì)于這類企業(yè)來說,在制定項(xiàng)目計(jì)劃時(shí),會(huì)面臨相同的 BOM多次導(dǎo)入生成不同任務(wù)的問題,導(dǎo)致計(jì)劃的任務(wù)重復(fù),計(jì)劃不準(zhǔn),增加計(jì)劃人員的 工作量,降低項(xiàng)目計(jì)劃編制的工作效率。
因此,需要一種新的WBS生成方法,能夠使用戶在選擇要生成任務(wù)的BOM數(shù) 據(jù)時(shí),顯示哪些BOM數(shù)據(jù)已生成任務(wù),哪些沒有生成任務(wù),可保證用戶不會(huì)重復(fù)導(dǎo)入任 務(wù),保證計(jì)劃的準(zhǔn)確性,提高項(xiàng)目計(jì)劃編制的工作效率。發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術(shù)問題在于,提供一種工作分解結(jié)構(gòu)生成方法 和系統(tǒng),能夠保證用戶不會(huì)重復(fù)導(dǎo)入已生成工作任務(wù)的BOM數(shù)據(jù),確保計(jì)劃的準(zhǔn)確性。
本發(fā)明提供了一種工作分解結(jié)構(gòu)生成方法,包括步驟102,判斷選擇的物料 的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的物料的數(shù)據(jù);在步驟104,如果判斷選擇的 物料中存在有已經(jīng)生成工作任務(wù),則不重復(fù)導(dǎo)入已生成工作任務(wù)的物料的數(shù)據(jù);步驟 106,將用戶選擇的物料中沒有生成工作任務(wù)的物料的數(shù)據(jù)生成工作分解結(jié)構(gòu)。這樣,生 成的工作分解結(jié)構(gòu)中沒有重復(fù)生成工作任務(wù)的物料。
在上述技術(shù)方案中,優(yōu)選地,在步驟102之前還可以包括設(shè)置是否重復(fù)導(dǎo)入 已生成工作任務(wù)的物料的數(shù)據(jù);在設(shè)置了不重復(fù)導(dǎo)入已生成工作任務(wù)的物料的數(shù)據(jù)的情 況下,設(shè)置是否提示用戶;在設(shè)置提示用戶的情況下,提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù) 并重新選擇,在設(shè)置不提示用戶的情況下,不提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù),直接將 重復(fù)導(dǎo)入的已生成工作任務(wù)的物料的數(shù)據(jù)從選擇的物料的數(shù)據(jù)中刪除。通過這些設(shè)置, 可以根據(jù)用戶需要來生成所需的工作分解結(jié)構(gòu),更人性化。
在上述技術(shù)方案中,優(yōu)選地,在步驟102中還可以包括查找物料清單中的物 料對(duì)應(yīng)的工作任務(wù)的數(shù)據(jù),判斷用戶選擇的物料是否存在于查找出的工作任務(wù)的數(shù)據(jù)中 任務(wù)產(chǎn)出中對(duì)應(yīng)的物料,如果判斷結(jié)果為存在,則物料已生成工作任務(wù),其中,查找的 具體規(guī)則為以已生成工作任務(wù)的物料清單的母項(xiàng)為起點(diǎn),查找母項(xiàng)的已生成工作任務(wù) 的前置任務(wù)并將前置任務(wù)作為母項(xiàng)的子項(xiàng),再查找子項(xiàng)的已生成工作任務(wù)的前置任務(wù), 直到子項(xiàng)沒有前置任務(wù)或者前置任務(wù)沒有生成工作任務(wù),得到物料對(duì)應(yīng)的生成任務(wù)的數(shù) 據(jù),判斷的具體條件為選擇的物料的子項(xiàng)、母項(xiàng)和層碼是否分別等于查找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,如果判斷結(jié)果為是分別等于查 找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,則選擇的物料已 經(jīng)生成工作任務(wù)。這樣,可以準(zhǔn)確地判斷用戶選擇的物料是否已經(jīng)生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在步驟106中還可以包括將已生成工作任務(wù)的 物料標(biāo)示為不生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在步驟106中還可以包括在自動(dòng)添加最長路徑 的情況下,如果最長路徑的物料已經(jīng)生成工作任務(wù),則將新生成的工作任務(wù)作為最長路 徑的物料的前置任務(wù),最長路徑為物料的工期之和最大的所在路徑;在需要補(bǔ)齊位于中 間層的物料的情況下,如果中間層的物料已經(jīng)生成工作任務(wù),則新生成的工作任務(wù)作為 中間層的物料的前置任務(wù),中間層是位于選擇的物料的所在路徑的中間層。這樣,保證 了原工作任務(wù)與新工作任務(wù)的約束關(guān)系。
本發(fā)明還提供了一種工作分解結(jié)構(gòu)生成系統(tǒng),包括判斷模塊,用于判斷選擇 的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的物料的數(shù)據(jù)以及判斷最長路徑的物料是 否已經(jīng)生成工作任務(wù);刪除模塊,在判斷模塊判斷存在有已經(jīng)生成工作任務(wù)的情況下, 刪除已生成工作任務(wù)的物料的數(shù)據(jù);生成模塊,用于將用戶選擇的物料中沒有生成工作 任務(wù)的物料的數(shù)據(jù)生成所需的工作分解結(jié)構(gòu)。這樣,生成的工作分解結(jié)構(gòu)中沒有重復(fù)生 成工作任務(wù)的物料。
在上述技術(shù)方案中,優(yōu)選地,還可以包括第一設(shè)置模塊,用于設(shè)置是否重復(fù) 導(dǎo)入已生成工作任務(wù)的數(shù)據(jù);第二設(shè)置模塊,用于在第一設(shè)置模塊設(shè)置不重復(fù)導(dǎo)入已生 成工作任務(wù)的物料的數(shù)據(jù)的情況下,設(shè)置是否提示用戶,在設(shè)置提示用戶的情況下,則 提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù)并重新選擇,在設(shè)置不提示用戶的情況下,則不提示用 戶重復(fù)導(dǎo)入的物料的數(shù)據(jù),直接刪除重復(fù)的已生成工作任務(wù)的物料的數(shù)據(jù);提示模塊, 用于在判斷模塊判斷出用戶選擇的物料中存在已生成工作任務(wù)的物料的數(shù)據(jù)時(shí),提示用 戶重復(fù)的物料的數(shù)據(jù)。通過這些設(shè)置,可以根據(jù)用戶需要來生成所需的工作分解結(jié)構(gòu), 更人性化。
在上述技術(shù)方案中,優(yōu)選地,還可以包括查找模塊,用于查找物料清單中的 所述物料對(duì)應(yīng)的工作任務(wù)的數(shù)據(jù);判斷模塊判斷選擇的物料是否存在于查找模塊查找出 的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出中對(duì)應(yīng)的物料,如果判斷結(jié)果為存在,則物料已生成工 作任務(wù),其中,查找模塊查找工作任務(wù)的具體規(guī)則為以已生成工作任務(wù)的物料清單的 母項(xiàng)為起點(diǎn),查找母項(xiàng)的已生成工作任務(wù)的前置任務(wù)并將前置任務(wù)作為母項(xiàng)的子項(xiàng),再 查找子項(xiàng)的已生成工作任務(wù)的前置任務(wù),直到子項(xiàng)沒有前置任務(wù)或者前置任務(wù)沒有生成 工作任務(wù),得到物料對(duì)應(yīng)的生成任務(wù)的數(shù)據(jù),判斷模塊判斷的具體條件為選擇的物料 的子項(xiàng)、母項(xiàng)和層碼是否分別等于查找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的 子項(xiàng)、母項(xiàng)和層碼,如果判斷結(jié)果為是分別等于查找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出 對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,則選擇的物料已經(jīng)生成工作任務(wù)。這樣,可以準(zhǔn)確地 判斷用戶選擇的物料是否已經(jīng)生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,生成模塊還包括標(biāo)示模塊,用于將已生成工作 任務(wù)的物料標(biāo)示為不生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在自動(dòng)添加最長路徑的情況下,如果判斷模塊判斷最長路徑的物料已經(jīng)生成工作任務(wù),則將生成模塊新生成的工作任務(wù)作為最長路徑的 物料的前置任務(wù),最長路徑為物料的工期之和最大的所在路徑;在需要補(bǔ)齊位于選擇的 物料的所在路徑的中間層的物料的情況下,如果中間層的物料已經(jīng)生成工作任務(wù),則新 生成的工作任務(wù)作為中間層的物料的前置任務(wù)。這樣,保證了原工作任務(wù)與新工作任務(wù) 的約束關(guān)系。
通過上述技術(shù)方案,可以保證用戶不會(huì)重復(fù)導(dǎo)入已生成工作任務(wù)的物料數(shù)據(jù), 確保計(jì)劃的準(zhǔn)確性,提供項(xiàng)目計(jì)劃編制的工作效率。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成方法的流程圖2示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成裝置的框圖3示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成方法的操作流程示意圖; 以及
圖4示出了根據(jù)本發(fā)明的實(shí)施例的物料清單結(jié)構(gòu)的示意圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體 實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還 可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明并不限于下面公開的具 體實(shí)施例的限制。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成方法的流程圖。
如圖1所示,根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成方法包括步驟102, 判斷選擇的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的物料的數(shù)據(jù);在步驟104,如 果判斷選擇的物料中存在有已經(jīng)生成工作任務(wù),則不重復(fù)導(dǎo)入已生成工作任務(wù)的物料的 數(shù)據(jù);步驟106,將用戶選擇的物料中沒有生成工作任務(wù)的物料的數(shù)據(jù)生成工作分解結(jié) 構(gòu)。這樣,生成的工作分解結(jié)構(gòu)中沒有重復(fù)生成工作任務(wù)的物料。
在上述技術(shù)方案中,優(yōu)選地,在步驟102之前還可以包括設(shè)置是否重復(fù)導(dǎo)入 已生成工作任務(wù)的物料的數(shù)據(jù);在設(shè)置了不重復(fù)導(dǎo)入已生成工作任務(wù)的物料的數(shù)據(jù)的情 況下,設(shè)置是否提示用戶;在設(shè)置提示用戶的情況下,提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù) 并重新選擇,在設(shè)置不提示用戶的情況下,不提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù),直接將 重復(fù)導(dǎo)入的已生成工作任務(wù)的物料的數(shù)據(jù)從選擇的物料的數(shù)據(jù)中刪除。通過這些設(shè)置, 可以根據(jù)用戶需要來生成所需的工作分解結(jié)構(gòu),更人性化。
在上述技術(shù)方案中,優(yōu)選地,在步驟102中還可以包括查找物料清單中的物 料對(duì)應(yīng)的工作任務(wù)的數(shù)據(jù),判斷用戶選擇的物料是否存在于查找出的工作任務(wù)的數(shù)據(jù)中 任務(wù)產(chǎn)出中對(duì)應(yīng)的物料,如果判斷結(jié)果為存在,則物料已生成工作任務(wù),其中,查找的 具體規(guī)則為以已生成工作任務(wù)的物料清單的母項(xiàng)為起點(diǎn),查找母項(xiàng)的已生成工作任務(wù) 的前置任務(wù)并將前置任務(wù)作為母項(xiàng)的子項(xiàng),再查找子項(xiàng)的已生成工作任務(wù)的前置任務(wù), 直到子項(xiàng)沒有前置任務(wù)或者前置任務(wù)沒有生成工作任務(wù),得到物料對(duì)應(yīng)的生成任務(wù)的數(shù)據(jù),判斷的具體條件為選擇的物料的子項(xiàng)、母項(xiàng)和層碼是否分別等于查找出的工作任 務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,如果判斷結(jié)果為是分別等于查 找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,則選擇的物料已 經(jīng)生成工作任務(wù)。這樣,可以準(zhǔn)確地判斷用戶選擇的物料是否已經(jīng)生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在步驟106中還可以包括將已生成工作任務(wù)的 物料標(biāo)示為不生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在步驟106中還可以包括在自動(dòng)添加最長路徑 的情況下,如果最長路徑的物料已經(jīng)生成工作任務(wù),則將新生成的工作任務(wù)作為最長路 徑的物料的前置任務(wù),最長路徑為物料的工期之和最大的所在路徑;在需要補(bǔ)齊位于中 間層的物料的情況下,如果中間層的物料已經(jīng)生成工作任務(wù),則新生成的工作任務(wù)作為 中間層的物料的前置任務(wù),中間層是位于選擇的物料的所在路徑的中間層。這樣,保證 了原工作任務(wù)與新工作任務(wù)的約束關(guān)系。
圖2示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成裝置的框圖。
如圖2所示,根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成系統(tǒng)200包括判斷模塊 202,用于判斷選擇的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的物料的數(shù)據(jù)以及判斷 最長路徑的物料是否已經(jīng)生成工作任務(wù);刪除模塊204,在判斷模塊202判斷存在有已經(jīng) 生成工作任務(wù)的情況下,刪除已生成工作任務(wù)的物料的數(shù)據(jù);生成模塊206,用于將用 戶選擇的物料中沒有生成工作任務(wù)的物料的數(shù)據(jù)生成所需的工作分解結(jié)構(gòu)。這樣,生成 的工作分解結(jié)構(gòu)中沒有重復(fù)生成工作任務(wù)的物料。
在上述技術(shù)方案中,優(yōu)選地,還可以包括第一設(shè)置模塊208,用于設(shè)置是否 重復(fù)導(dǎo)入已生成工作任務(wù)的數(shù)據(jù);第二設(shè)置模塊210,用于在第一設(shè)置模塊208設(shè)置不重 復(fù)導(dǎo)入已生成工作任務(wù)的物料的數(shù)據(jù)的情況下,設(shè)置是否提示用戶,在設(shè)置提示用戶的 情況下,則提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù)并重新選擇,在設(shè)置不提示用戶的情況下, 則不提示用戶重復(fù)導(dǎo)入的物料的數(shù)據(jù),直接刪除模塊204刪除重復(fù)的已生成工作任務(wù)的 物料的數(shù)據(jù);提示模塊212,用于在判斷模塊202判斷出用戶選擇的物料中存在已生成工 作任務(wù)的物料的數(shù)據(jù)時(shí),提示用戶重復(fù)的物料的數(shù)據(jù)。通過這些設(shè)置,可以根據(jù)用戶需 要來生成所需的工作分解結(jié)構(gòu),更人性化。
在上述技術(shù)方案中,優(yōu)選地,還可以包括查找模塊214,用于查找物料清單 中的所述物料對(duì)應(yīng)的工作任務(wù)的數(shù)據(jù);判斷模塊202判斷選擇的物料是否存在于查找模 塊214查找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出中對(duì)應(yīng)的物料,如果判斷結(jié)果為存在,則 物料已生成工作任務(wù),其中,查找模塊查找工作任務(wù)的具體規(guī)則為以已生成工作任 務(wù)的物料清單的母項(xiàng)為起點(diǎn),查找母項(xiàng)的已生成工作任務(wù)的前置任務(wù)并將前置任務(wù)作為 母項(xiàng)的子項(xiàng),再查找子項(xiàng)的已生成工作任務(wù)的前置任務(wù),直到子項(xiàng)沒有前置任務(wù)或者前 置任務(wù)沒有生成工作任務(wù),得到物料對(duì)應(yīng)的生成任務(wù)的數(shù)據(jù),判斷模塊判斷的具體條件 為選擇的物料的子項(xiàng)、母項(xiàng)和層碼是否分別等于查找出的工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn) 出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,如果判斷結(jié)果為是分別等于查找出的工作任務(wù)的數(shù) 據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的物料的子項(xiàng)、母項(xiàng)和層碼,則選擇的物料已經(jīng)生成工作任務(wù)。這 樣,可以準(zhǔn)確地判斷用戶選擇的物料是否已經(jīng)生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,生成模塊206還包括標(biāo)示模塊2062,用于將已生成工作任務(wù)的物料標(biāo)示為不生成工作任務(wù)。
在上述技術(shù)方案中,優(yōu)選地,在自動(dòng)添加最長路徑的情況下,如果判斷模塊202 判斷最長路徑的物料已經(jīng)生成工作任務(wù),則將生成模塊206新生成的工作任務(wù)作為最長 路徑的物料的前置任務(wù),最長路徑為物料的工期之和最大的所在路徑;在需要補(bǔ)齊位 于選擇的物料的所在路徑的中間層的物料的情況下,如果中間層的物料已經(jīng)生成工作任 務(wù),則生成模塊206新生成的工作任務(wù)作為中間層的物料的前置任務(wù)。這樣,保證了原 工作任務(wù)與新工作任務(wù)的約束關(guān)系。
通過上述技術(shù)方案,可以保證用戶不會(huì)重復(fù)導(dǎo)入已生成工作任務(wù)的物料數(shù)據(jù), 確保計(jì)劃的準(zhǔn)確性,提供項(xiàng)目計(jì)劃編制的工作效率。
下面結(jié)合圖3和圖4來詳細(xì)說明本發(fā)明的實(shí)施例的技術(shù)方案。
圖3示出了根據(jù)本發(fā)明的實(shí)施例的工作分解結(jié)構(gòu)生成方法的操作流程示意圖。
如圖3所示,在步驟302,用戶在選擇BOM條件畫面設(shè)定所需物料以及物料的 產(chǎn)品數(shù)量和交期并點(diǎn)擊展開。
在步驟304,系統(tǒng)調(diào)用BOM展開程序,按照用戶設(shè)定展開BOM。
在步驟306,在BOM結(jié)果數(shù)據(jù)加載之前,調(diào)用在任務(wù)中查找BOM子項(xiàng)對(duì)應(yīng)任 務(wù)的方法,該方法具體為以BOM母項(xiàng)對(duì)應(yīng)的任務(wù)為起點(diǎn),找其前置任務(wù)中任務(wù)數(shù)據(jù)中 的任務(wù)產(chǎn)出BOM子項(xiàng)ID不為空的前置任務(wù),對(duì)于這些子項(xiàng),再分別找其前置任務(wù)中任 務(wù)產(chǎn)出BOM子項(xiàng)ID不為空的前置任務(wù),并作為其對(duì)應(yīng)的BOM子項(xiàng)的子項(xiàng),直至沒有查 找到前置任務(wù)或者前置任務(wù)的任務(wù)產(chǎn)出都沒有BOM子項(xiàng)為止。將調(diào)用該方法產(chǎn)生的任務(wù) 產(chǎn)出數(shù)據(jù)結(jié)果返回給當(dāng)前由用戶選擇的BOM數(shù)據(jù)導(dǎo)入生成的任務(wù)。
在步驟308,查找出任務(wù)產(chǎn)出的數(shù)據(jù)之后調(diào)用匹配任務(wù)產(chǎn)出與BOM子項(xiàng)的方 法,該方法具體為如果存在BOM子項(xiàng)=任務(wù)產(chǎn)出中的BOM子項(xiàng)并且BOM母項(xiàng)=任務(wù) 產(chǎn)出中BOM母項(xiàng)并且該BOM子項(xiàng)層碼=任務(wù)產(chǎn)出中BON子項(xiàng)的層碼,則說明該BOM 子項(xiàng)已生成工作任務(wù),否則說明未生成工作任務(wù)。
在步驟310,接收BOM展開數(shù)據(jù)和BOM導(dǎo)入生成的任務(wù)數(shù)據(jù),并設(shè)置在BOM 子項(xiàng)展開結(jié)果中添加已生成任務(wù)的數(shù)據(jù)列,將處理好的BOM展開數(shù)據(jù)展示給用戶, BOM展開數(shù)據(jù)中有生成任務(wù)以及子項(xiàng)對(duì)應(yīng)的層碼和母項(xiàng)的數(shù)據(jù)列。
在步驟312,用戶選擇要生成任務(wù)的BOM數(shù)據(jù)。
在步驟314,用戶在生成條件生成畫面設(shè)置是否重復(fù)導(dǎo)入選項(xiàng)。該設(shè)置決定本次 導(dǎo)入是否需要導(dǎo)入已生成任務(wù)的BOM子項(xiàng)。
在步驟316,也是在生產(chǎn)條件生成畫面設(shè)置重復(fù)數(shù)據(jù)的處理方式。在用戶設(shè)置了 不重復(fù)導(dǎo)入已生成任務(wù)的BOM子項(xiàng)時(shí),該處理方式的設(shè)置決定是將重復(fù)數(shù)據(jù)提示用戶, 還是將重復(fù)數(shù)據(jù)從用戶選擇的BOM數(shù)據(jù)中去除。
在步驟318,當(dāng)用戶選擇好要導(dǎo)入WBS的BOM數(shù)據(jù)后點(diǎn)擊生成任務(wù)時(shí),執(zhí)行 校驗(yàn),校驗(yàn)方法具體為如果在是否重復(fù)導(dǎo)入選項(xiàng)用戶設(shè)置為不重復(fù)時(shí),如果用戶選擇 的BOM數(shù)據(jù)存在已生成任務(wù)的BOM數(shù)據(jù),則根據(jù)用戶設(shè)置提示用戶選擇了已生成任務(wù) 的BOM數(shù)據(jù)請(qǐng)重新選擇或者不提示用戶且不將用戶已選擇的已生成任務(wù)的BOM數(shù)據(jù)重 新導(dǎo)入。
在步驟320,在用戶選擇的數(shù)據(jù)通過校驗(yàn)后,調(diào)用BOM生成WBS方法,接受用8戶選擇的BOM數(shù)據(jù)和生成選項(xiàng),根據(jù)BOM數(shù)據(jù)生成WBS任務(wù)。
其中,BOM生成WBS方法具體為如果要將已生成任務(wù)的BOM子項(xiàng)再次生成 任務(wù),則按照用戶選擇按照現(xiàn)有算法生成WBS ;如果不將已生成任務(wù)的BOM子項(xiàng)再次 生成任務(wù),則算法如下
首先進(jìn)行預(yù)處理,將已生成任務(wù)的BOM子項(xiàng)標(biāo)示為不生成任務(wù),如果不需要自 動(dòng)添加最長路徑,則算法同現(xiàn)有算法;如果需要自動(dòng)添加最長路徑,則判斷最長路徑節(jié) 點(diǎn)是否已生成任務(wù),如果最長路徑節(jié)點(diǎn)已生成任務(wù),則將新生成的任務(wù)作為該任務(wù)的前 置任務(wù),新生成的任務(wù)作為該最長路徑節(jié)點(diǎn)的BOM子項(xiàng),如果不需要補(bǔ)齊位于中間層節(jié) 點(diǎn)的物料的工作任務(wù),則算法同現(xiàn)有算法;如果需要補(bǔ)齊位于中間層節(jié)點(diǎn)的物料的工作 任務(wù),則判斷中間層節(jié)點(diǎn)是否已生成任務(wù),如果中間層節(jié)點(diǎn)已生成任務(wù),則將新生成任 務(wù)作該任務(wù)的前置任務(wù),新生成的任務(wù)作為該任務(wù)的BOM子項(xiàng)。最長路徑節(jié)點(diǎn)表示物料 的匯總提前期最長或工期之和最大的所在路徑的節(jié)點(diǎn)。
通過上述技術(shù)方案,可以使用戶在選擇要生成任務(wù)的BOM數(shù)據(jù)時(shí),顯示給用戶 哪些BOM數(shù)據(jù)已生成任務(wù),哪些沒有生成任務(wù),并提供設(shè)置選項(xiàng)供用戶設(shè)置是否重復(fù)導(dǎo) 入,同時(shí)修改導(dǎo)入BOM生成WBS的方法,保證新任務(wù)與原任務(wù)的約束關(guān)系。能夠保證 用戶不會(huì)重復(fù)導(dǎo)入已生成任務(wù)的物料的數(shù)據(jù),保證計(jì)劃的準(zhǔn)確性,提高項(xiàng)目計(jì)劃編制的 工作效率。
為了進(jìn)一步說明上面所說明的本發(fā)明的實(shí)施例的技術(shù)方案,下面再結(jié)合圖4和 一些圖表作為示例來說明本發(fā)明的實(shí)施例的技術(shù)方案。
展示給用戶的BOM樹型結(jié)構(gòu)如圖4所示,A、B、C、E和F分別表示五種物 料,A是母項(xiàng),層碼為第一層,B和C是A的子項(xiàng),層碼為第二層,E和F又是C的子項(xiàng),層碼為第三層。
如果按照本層提前期計(jì)算工期,則A、B、C、E和F物料的工期分別為10天、 20天、40天、20天、30天,調(diào)用在任務(wù)中查找BOM子項(xiàng)對(duì)應(yīng)任務(wù)的方法,然后得到如 表1的任務(wù)數(shù)據(jù),如表1所示。
權(quán)利要求
1.一種工作分解結(jié)構(gòu)生成方法,其特征在于,包括步驟102,判斷選擇的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的所述物料的所述 數(shù)據(jù);在步驟104,如果判斷選擇的所述物料中存在有已經(jīng)生成所述工作任務(wù),則不重復(fù)導(dǎo) 入已生成所述工作任務(wù)的所述物料的數(shù)據(jù);步驟106,將用戶選擇的所述物料中沒有生成所述工作任務(wù)的所述物料的所述數(shù)據(jù)生 成所述工作分解結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的工作分解結(jié)構(gòu)生成方法,其特征在于,在步驟102之前還包 括設(shè)置是否重復(fù)導(dǎo)入已生成所述工作任務(wù)的所述物料的數(shù)據(jù);在設(shè)置了不重復(fù)導(dǎo)入已生成所述工作任務(wù)的所述物料的所述數(shù)據(jù)的情況下,設(shè)置是 否提示用戶;在設(shè)置提示所述用戶的情況下,提示所述用戶所述重復(fù)導(dǎo)入的所述物料的所述數(shù)據(jù) 并重新選擇,在設(shè)置不提示所述用戶的情況下,不提示所述用戶所述重復(fù)導(dǎo)入的所述物 料的所述數(shù)據(jù),直接將所述重復(fù)導(dǎo)入的已生成所述工作任務(wù)的所述物料的所述數(shù)據(jù)從所 述選擇的所述物料的所述數(shù)據(jù)中刪除。
3.根據(jù)權(quán)利要求1所述的工作分解結(jié)構(gòu)生成方法,其特征在于,在步驟102中還包 括查找物料清單中的所述物料對(duì)應(yīng)的所述工作任務(wù)的數(shù)據(jù),判斷所述用戶選擇的所述 物料是否存在于查找出的所述工作任務(wù)的數(shù)據(jù)中任務(wù)產(chǎn)出中對(duì)應(yīng)的所述物料,如果判斷 結(jié)果為存在,則所述物料已生成所述工作任務(wù),其中,查找的具體規(guī)則為以已生成所述工作任務(wù)的所述物料清單的母項(xiàng)為起點(diǎn), 查找所述母項(xiàng)的已生成所述工作任務(wù)的前置任務(wù)并將所述前置任務(wù)作為所述母項(xiàng)的子 項(xiàng),再查找所述子項(xiàng)的已生成所述工作任務(wù)的所述前置任務(wù),直到所述子項(xiàng)沒有所述前 置任務(wù)或者所述前置任務(wù)沒有生成所述工作任務(wù),得到所述物料對(duì)應(yīng)的所述生成任務(wù)的 數(shù)據(jù),判斷的具體條件為選擇的所述物料的子項(xiàng)、母項(xiàng)和層碼是否分別等于查找出的所 述工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的所述物料的子項(xiàng)、母項(xiàng)和層碼,如果判斷結(jié)果為 是分別等于查找出的所述工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的所述物料的子項(xiàng)、母項(xiàng)和 層碼,則選擇的所述物料已經(jīng)生成所述工作任務(wù)。
4.根據(jù)權(quán)利要求1所述的工作分解結(jié)構(gòu)生成方法,其特征在于,在步驟106中還包 括將已生成所述工作任務(wù)的物料標(biāo)示為不生成所述工作任務(wù)。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的工作分解結(jié)構(gòu)生成方法,其特征在于,在步驟 106中還包括在自動(dòng)添加最長路徑的情況下,如果所述最長路徑的所述物料已經(jīng)生成 所述工作任務(wù),則將新生成的所述工作任務(wù)作為所述最長路徑的所述物料的前置任務(wù), 所述最長路徑為所述物料的工期之和最大的所在路徑;在需要補(bǔ)齊位于中間層的所述物料的情況下,如果所述中間層的所述物料已經(jīng)生成 所述工作任務(wù),則新生成的所述工作任務(wù)作為所述中間層的所述物料的所述前置任務(wù), 所述中間層是位于選擇的所述物料的所述所在路徑的中間層。
6.—種工作分解結(jié)構(gòu)生成系統(tǒng),其特征在于,包括判斷模塊,用于判斷選擇的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的所述物料的所述數(shù)據(jù)以及判斷最長路徑的所述物料是否已經(jīng)生成所述工作任務(wù);刪除模塊,在所述判斷模塊判斷存在有已經(jīng)生成所述工作任務(wù)的情況下,刪除已生 成所述工作任務(wù)的所述物料的數(shù)據(jù);生成模塊,用于將用戶選擇的所述物料中沒有生成所述工作任務(wù)的所述物料的所述 數(shù)據(jù)生成所需的所述工作分解結(jié)構(gòu)。
7.根據(jù)權(quán)利要求6所述的工作分解結(jié)構(gòu)生成系統(tǒng),其特征在于,還包括第一設(shè)置 模塊,用于設(shè)置是否重復(fù)導(dǎo)入已生成所述工作任務(wù)的數(shù)據(jù);第二設(shè)置模塊,用于在所述第一設(shè)置模塊設(shè)置不重復(fù)導(dǎo)入已生成所述工作任務(wù)的所 述物料的所述數(shù)據(jù)的情況下,設(shè)置是否提示所述用戶,在設(shè)置提示所述用戶的情況下, 則提示所述用戶所述重復(fù)導(dǎo)入的所述物料的所述數(shù)據(jù)并重新選擇,在設(shè)置不提示所述用 戶的情況下,則不提示所述用戶所述重復(fù)導(dǎo)入的所述物料的所述數(shù)據(jù),所述刪除模塊直 接刪除重復(fù)的所述已生成所述工作任務(wù)的所述物料的所述數(shù)據(jù);提示模塊,用于在所述判斷模塊判斷出所述用戶選擇的所述物料中存在已生成所述 工作任務(wù)的所述物料的數(shù)據(jù)時(shí),提示所述用戶所述重復(fù)的所述物料的所述數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的工作分解結(jié)構(gòu)生成系統(tǒng),其特征在于,還包括查找模 塊,用于查找物料清單中的所述物料對(duì)應(yīng)的所述工作任務(wù)的數(shù)據(jù);所述判斷模塊判斷選擇的所述物料是否存在于所述查找模塊查找出的所述工作任務(wù) 的數(shù)據(jù)中的任務(wù)產(chǎn)出中對(duì)應(yīng)的所述物料,如果判斷結(jié)果為存在,則所述物料已生成所述 工作任務(wù),其中,所述查找模塊查找所述工作任務(wù)的具體規(guī)則為以已生成所述工作任務(wù)的所 述物料清單的母項(xiàng)為起點(diǎn),查找所述母項(xiàng)的已生成所述工作任務(wù)的前置任務(wù)并將所述前 置任務(wù)作為所述母項(xiàng)的子項(xiàng),再查找所述子項(xiàng)的已生成所述工作任務(wù)的所述前置任務(wù), 直到所述子項(xiàng)沒有所述前置任務(wù)或者所述前置任務(wù)沒有生成所述工作任務(wù),得到所述物 料對(duì)應(yīng)的所述生成任務(wù)的數(shù)據(jù),所述判斷模塊判斷的具體條件為選擇的所述物料的子項(xiàng)、母項(xiàng)和層碼是否分別等 于查找出的所述工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的所述物料的子項(xiàng)、母項(xiàng)和層碼,如 果判斷結(jié)果為是分別等于查找出的所述工作任務(wù)的數(shù)據(jù)中的任務(wù)產(chǎn)出對(duì)應(yīng)的所述物料的 子項(xiàng)、母項(xiàng)和層碼,則選擇的所述物料已經(jīng)生成所述工作任務(wù)。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述生成模塊還包括標(biāo)示模塊,用 于將已生成所述工作任務(wù)的所述物料標(biāo)示為不生成所述工作任務(wù)。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的工作分解結(jié)構(gòu)系統(tǒng),其特征在于,在自動(dòng)添 加最長路徑的情況下,如果所述判斷模塊判斷所述最長路徑的所述物料已經(jīng)生成所述工 作任務(wù),則將所述生成模塊新生成的所述工作任務(wù)作為所述最長路徑的所述物料的前置 任務(wù),所述最長路徑為所述物料的工期之和最大的所在路徑;在需要補(bǔ)齊位于選擇的所述物料的所述所在路徑的中間層的所述物料的情況下,如 果所述中間層的所述物料已經(jīng)生成所述工作任務(wù),則間所述生成模塊新生成的所述工作 任務(wù)作為所述中間層的所述物料的所述前置任務(wù)。
全文摘要
本發(fā)明提供了一種工作分解結(jié)構(gòu)生成方法,包括步驟102,判斷選擇的物料的數(shù)據(jù)中是否存在有已經(jīng)生成工作任務(wù)的所述物料的所述數(shù)據(jù);在步驟104,如果判斷選擇的所述物料中存在有已經(jīng)生成所述工作任務(wù),則不重復(fù)導(dǎo)入已生成所述工作任務(wù)的所述物料的數(shù)據(jù);步驟106,將用戶選擇的所述物料中沒有生成所述工作任務(wù)的所述物料的所述數(shù)據(jù)生成所述工作分解結(jié)構(gòu)。本發(fā)明還提供了一種工作分解結(jié)構(gòu)生成系統(tǒng)。根據(jù)本發(fā)明的技術(shù)方案,可以保證用戶不會(huì)重復(fù)導(dǎo)入已生成工作任務(wù)的物料數(shù)據(jù),確保計(jì)劃的準(zhǔn)確性,提供項(xiàng)目計(jì)劃編制的工作效率。
文檔編號(hào)G06Q10/00GK102024208SQ201010608480
公開日2011年4月20日 申請(qǐng)日期2010年12月27日 優(yōu)先權(quán)日2010年12月27日
發(fā)明者羅濤, 賀喚平, 陳偉, 高峰霞 申請(qǐng)人:用友軟件股份有限公司