【計(jì)算機(jī)專(zhuān)業(yè)優(yōu)秀論文】紅林生產(chǎn)管理系統(tǒng)_第1頁(yè)
【計(jì)算機(jī)專(zhuān)業(yè)優(yōu)秀論文】紅林生產(chǎn)管理系統(tǒng)_第2頁(yè)
【計(jì)算機(jī)專(zhuān)業(yè)優(yōu)秀論文】紅林生產(chǎn)管理系統(tǒng)_第3頁(yè)
【計(jì)算機(jī)專(zhuān)業(yè)優(yōu)秀論文】紅林生產(chǎn)管理系統(tǒng)_第4頁(yè)
【計(jì)算機(jī)專(zhuān)業(yè)優(yōu)秀論文】紅林生產(chǎn)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、貴州大學(xué)信計(jì)學(xué)院計(jì)算機(jī)科學(xué)系畢業(yè)論文課題名稱(chēng):紅林生產(chǎn)管理系統(tǒng)指導(dǎo)老師: 所屬學(xué)院:信息與計(jì)算機(jī)科學(xué)學(xué)院所屬專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 紅林生產(chǎn)管理系統(tǒng) 摘要: 生產(chǎn)管理技術(shù)是企業(yè)有序組織生產(chǎn),合理利用資源,避免浪費(fèi),提高生產(chǎn)效率和產(chǎn)值的重要管理手段,現(xiàn)代計(jì)算技術(shù)和信息技術(shù)與生產(chǎn)管理技術(shù)的結(jié)合極大地降低了企業(yè)生產(chǎn)管理的成本,提高了生產(chǎn)管理的有效性和可靠性?;仡櫫俗陨鲜兰o(jì)五十年代以來(lái)生產(chǎn)管理技術(shù)的發(fā)展,介紹了目前獲得廣泛應(yīng)用的物料需求計(jì)劃技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)簡(jiǎn)單實(shí)用的基與mrp的零組件生產(chǎn)計(jì)劃軟件,分析了存在的問(wèn)題和可能的擴(kuò)展。關(guān)鍵詞 生產(chǎn)計(jì)劃,生產(chǎn)作業(yè)計(jì)劃,物料需求計(jì)劃系統(tǒng),bom。 hongl

2、in produce management system design and implementabstract in this paper, we introduced the production management and its development since 1950s ,then we pay our attention to material request planning system , which has been used in many famous corporation today. a simple production planning softwar

3、e has been designed and implemented here, and we discussed how to extend this simple application to be a enterprise resource planning system.(erp)keyword production planning, material request planning system, bom.目 錄第一章 生產(chǎn)管理簡(jiǎn)介 1.1 生產(chǎn)管理概述. 1.2 物料需求系統(tǒng)第二章 計(jì)算機(jī)輔助生產(chǎn)管理信息系統(tǒng). 21計(jì)算機(jī)輔助生產(chǎn)制造應(yīng)提供的功能 22制造資源計(jì)劃的功能模塊和

4、bom 23生產(chǎn)計(jì)劃及生產(chǎn)作業(yè)計(jì)劃 231生產(chǎn)計(jì)劃 232生產(chǎn)作業(yè)計(jì)劃 第三章 開(kāi)發(fā)環(huán)境第四章 設(shè)計(jì)與實(shí)現(xiàn). 41 需求 . 411 功能和性能要求 .412 數(shù)據(jù)模型 .42 系統(tǒng)實(shí)施 421 關(guān)系模型 . 422 各模塊功能簡(jiǎn)介.第五章 用戶環(huán)境簡(jiǎn)介. 51生產(chǎn)規(guī)劃 52 零件增加/修改 53庫(kù)存零件查詢(xún)/輸入.第六章 展望與前景.第八章 小結(jié)附錄 部分源程序摘要第一章 生產(chǎn)管理系統(tǒng)簡(jiǎn)介1.1 生產(chǎn)管理系統(tǒng)概述 提高經(jīng)濟(jì)效益是企業(yè)經(jīng)營(yíng)管理的主要目標(biāo)之一,生產(chǎn)管理在實(shí)現(xiàn)這個(gè)目標(biāo)過(guò)程中起著關(guān)鍵的作用。在社會(huì)主義市場(chǎng)經(jīng)濟(jì)蓬勃發(fā)展,企業(yè)間競(jìng)爭(zhēng)日趨激烈,生存與滅亡對(duì)每個(gè)企業(yè)都成為一個(gè)嚴(yán)峻問(wèn)題的當(dāng)今社

5、會(huì),掌握先進(jìn)的生產(chǎn)管理技術(shù),實(shí)現(xiàn)企業(yè)經(jīng)營(yíng)管理科學(xué)化,有序化是使企業(yè)在激烈競(jìng)爭(zhēng)中立于不敗之地的先決條件。 裝配制造型企業(yè)產(chǎn)品結(jié)構(gòu)復(fù)雜,工藝流程多,生產(chǎn)周期長(zhǎng),各工序之間銜接配合緊密,上述特點(diǎn)使得這類(lèi)企業(yè)的生產(chǎn)管理任務(wù)非常繁復(fù),且管理成本高昂,需要大量人時(shí),生產(chǎn)計(jì)劃和作業(yè)計(jì)劃不具有實(shí)時(shí)性,不能及時(shí)調(diào)整以適應(yīng)環(huán)境的變化。 工業(yè)的發(fā)展促進(jìn)了管理方法的革新,二十世紀(jì)五十年代至今各國(guó)管理學(xué)者及一些著名企業(yè)提出了各種先進(jìn)的生產(chǎn)管理方法,其中的一些通過(guò)實(shí)踐的考驗(yàn)被證明是有效的方法。它們中的大多數(shù)都具有離散化,程序化的特性。這些方法與先進(jìn)的計(jì)算技術(shù)和信息管理手段緊密結(jié)合,極大地拓展了計(jì)算機(jī)應(yīng)用的領(lǐng)域,推動(dòng)企業(yè)的

6、經(jīng)營(yíng)管理向著降低成本,縮短時(shí)間,提高可靠性的方向邁進(jìn)。 12 物料需求計(jì)劃系統(tǒng)(mrp-system) 裝配型企業(yè)生產(chǎn)管理主要采用物料需求計(jì)劃系統(tǒng),系統(tǒng)的發(fā)展經(jīng)歷了物料需求計(jì)劃系統(tǒng)(mrp),閉環(huán)物料需求計(jì)劃系統(tǒng)(closed-cycle mrp)和制造資源計(jì)劃系統(tǒng)(mrp-ii)三個(gè)階段。系統(tǒng)的可靠性逐步提高,功能愈加豐富,實(shí)現(xiàn)更加復(fù)雜,對(duì)生產(chǎn)管理人員和信息系統(tǒng)設(shè)計(jì)人員的專(zhuān)業(yè)水平也有了更高的要求。這里只簡(jiǎn)單介紹物料需求計(jì)劃系統(tǒng)mrp. 物料需求計(jì)劃系統(tǒng)專(zhuān)為裝配型產(chǎn)品設(shè)計(jì),主要任務(wù)是對(duì)構(gòu)成產(chǎn)品的各種物料的需求量和需求時(shí)間做出計(jì)劃。物料是指構(gòu)成產(chǎn)品的所有物品,包括部件,零件,外購(gòu)件,標(biāo)準(zhǔn)件,以及

7、制造零件所用的毛坯和材料等。mrp系統(tǒng)從最終成品的需求量和需要期限出發(fā),按照產(chǎn)品的結(jié)構(gòu)展開(kāi),推算出所有零部件需要量。并按零部件的生產(chǎn)提前期推算出它們的出產(chǎn)時(shí)間和投產(chǎn)時(shí)間。mrp只是提出物料需求的任務(wù),而沒(méi)有考察生產(chǎn)能力的約束條件。其基本結(jié)構(gòu)如圖1。閉環(huán)物料需求系統(tǒng)(closed-cycle mrp)擴(kuò)展了物料需求系統(tǒng)的功能,在mrps的基礎(chǔ)上增加了生產(chǎn)能力需求計(jì)劃和車(chē)間作業(yè)計(jì)劃兩部分。實(shí)現(xiàn)了對(duì)生產(chǎn)能力和生產(chǎn)計(jì)劃的統(tǒng)一管理。 定貨工程生產(chǎn)數(shù)據(jù)管理1基本工程數(shù)據(jù)2數(shù)據(jù)維護(hù)作業(yè)分派主生產(chǎn)計(jì)劃1編制維護(hù)主生產(chǎn)計(jì)劃2模擬執(zhí)行主生產(chǎn)計(jì)劃采購(gòu)與送貨1供應(yīng)廠資料維護(hù)2采購(gòu)申請(qǐng)3送貨管理4采購(gòu)質(zhì)量控制生產(chǎn)作業(yè)計(jì)

8、劃1編制作業(yè)計(jì)劃2考核生產(chǎn)能力成本計(jì)劃與控制庫(kù)存管理1計(jì)算材料需求量2剔除變質(zhì)零件預(yù)測(cè)1產(chǎn)品預(yù)測(cè)2產(chǎn)量種類(lèi)預(yù)測(cè)3銷(xiāo)售額預(yù)測(cè)倉(cāng)庫(kù)管理1倉(cāng)位管理2出入庫(kù)管理3臺(tái)帳管理設(shè)備維修發(fā)貨用戶定貨管理1登陸2定貨任務(wù)安排3查詢(xún)4發(fā)貨車(chē)間監(jiān)控 圖1 mrpsii系統(tǒng)結(jié)構(gòu) 第二章 計(jì)算機(jī)輔助生產(chǎn)管理信息系統(tǒng) 21計(jì)算機(jī)輔助生產(chǎn)制造應(yīng)提供的功能:1 計(jì)算機(jī)輔助編制生產(chǎn)作業(yè)計(jì)劃:(1)計(jì)算機(jī)輔助編制新產(chǎn)品試制生產(chǎn)作業(yè)計(jì)劃;(2)計(jì)算機(jī)輔助編制產(chǎn)品生產(chǎn)作業(yè)計(jì)劃;(3)計(jì)算機(jī)輔助編制產(chǎn)品生產(chǎn)滾動(dòng)計(jì)劃。2 計(jì)算機(jī)輔助生產(chǎn)作業(yè)統(tǒng)計(jì):主要生成報(bào)表(1)月計(jì)劃統(tǒng)計(jì)表(2)月計(jì)劃結(jié)算表(3)月批次完成情況表(4)旬報(bào)表等。3 計(jì)

9、算機(jī)輔助庫(kù)存管理:(1)進(jìn)行庫(kù)房日常的收,存,發(fā)的動(dòng)態(tài)管理;(2)對(duì)橡膠零件實(shí)行特殊管理(主要針對(duì)橡膠零件的報(bào)廢時(shí)間問(wèn)題);(3)綜合信息查詢(xún)。 22制造資源計(jì)劃的功能模塊和bom1主生產(chǎn)計(jì)劃(mps)主生產(chǎn)計(jì)劃是說(shuō)明一個(gè)企業(yè)計(jì)劃在各個(gè)時(shí)間周期內(nèi)制造些什么,其數(shù)量及最終目標(biāo)。也就是說(shuō)計(jì)劃生產(chǎn)什么,什么時(shí)候生產(chǎn),生產(chǎn)多少。通過(guò)(1)從上次的mps入手編制初步的主生產(chǎn)計(jì)劃,(2)對(duì)能力和需求進(jìn)行平衡制定粗估生產(chǎn)能力計(jì)劃(3)調(diào)整預(yù)計(jì)的負(fù)荷量和調(diào)整能力評(píng)價(jià)初步的主生產(chǎn)計(jì)劃三個(gè)基本步驟實(shí)現(xiàn)它的編制。2物料需求計(jì)劃(mrp) 物料需求計(jì)劃mrp是mrpii的核心。包括:(1)物料清單bom(2)mrp的

10、數(shù)據(jù)來(lái)源。3 能力需求計(jì)劃生產(chǎn)能力對(duì)完成各項(xiàng)生產(chǎn)指標(biāo)尤為重要。不同的生產(chǎn)計(jì) 劃有著相應(yīng)的能力需求計(jì)劃:(1) 資源需求計(jì)劃(mrpii)資源需求計(jì)劃主要考慮設(shè)備,廠房,人力,占地面積,資源和資金等。(2) 粗估能力需求計(jì)劃:粗估能力計(jì)劃僅對(duì)主生產(chǎn)計(jì)劃所需的關(guān)鍵生產(chǎn)能力做一粗略的估算,給出一個(gè)能力需求的概貌。(3) 詳細(xì)能力需求計(jì)劃 詳細(xì)能力需求計(jì)劃主要針對(duì)物料需求計(jì)劃所需的生產(chǎn)能力做一較精確的計(jì)算。以工作地為單位匯總某一時(shí)段的生產(chǎn)能力和生產(chǎn)負(fù)荷,給出能力和負(fù)荷的詳細(xì)數(shù)據(jù),二者比較后得出能力的使用情況。4 車(chē)間作業(yè)管理車(chē)間作業(yè)管理是短期計(jì)劃管理的核心部分。包括:(1) 車(chē)間任務(wù)下達(dá)(2) 車(chē)間任

11、務(wù)監(jiān)控(定單管理)(3) 生產(chǎn)數(shù)據(jù)收集第三章 開(kāi)發(fā)環(huán)境本軟件采用visual basic集成開(kāi)發(fā)環(huán)境編碼實(shí)現(xiàn), visual basic 是 microsoft 公司推出的一個(gè)集成開(kāi)發(fā)環(huán)境,具有簡(jiǎn)單易學(xué)、功能強(qiáng)大、軟件費(fèi)用支出低、見(jiàn)效快等特點(diǎn)。visual basic 繼承了 basic 語(yǔ)言易學(xué)易用的特點(diǎn),特別適合初學(xué)者學(xué)習(xí)windows 系統(tǒng)編程。它具有:(1) 可視化的集成開(kāi)發(fā)環(huán)境(2) 面向?qū)ο蟮某绦蛟O(shè)計(jì)思想(3) 交互式的開(kāi)發(fā)環(huán)境(4) 高度的可擴(kuò)充性等特點(diǎn)。用戶不需編寫(xiě)大量代碼去描述界面元素的外觀和位置,只需把預(yù)先建立的對(duì)象添加到屏幕上即可。同時(shí)能即時(shí)捕獲并突出顯示大多數(shù)語(yǔ)法和拼寫(xiě)

12、錯(cuò)誤。又支持第三方軟件商為其開(kāi)發(fā)的可視化控制對(duì)象,支持訪問(wèn)動(dòng)態(tài)鏈接庫(kù)(dynamic link library,dll),支持訪問(wèn)應(yīng)用程序接口(api)。方便易用。第四章 設(shè)計(jì)與實(shí)現(xiàn) 41 需求 411 功能和性能要求 貴州紅林機(jī)械有限公司原是軍品制造企業(yè),主要產(chǎn)品為飛機(jī)尾翼,坐艙蓋,襟翼等軍品,上世紀(jì)九十年代初適應(yīng)建設(shè)社會(huì)主義市場(chǎng)經(jīng)濟(jì)建設(shè)的需要轉(zhuǎn)型生產(chǎn)各種通用摩托車(chē)配件。這些產(chǎn)品在生產(chǎn)過(guò)程中表現(xiàn)出共同的特點(diǎn),即產(chǎn)品結(jié)構(gòu)復(fù)雜,工藝流程繁多,產(chǎn)品成批小批量地生產(chǎn)?,F(xiàn)有生產(chǎn)管理系統(tǒng)是基于物料需求計(jì)劃的人工系統(tǒng),庫(kù)存管理,采購(gòu)訂貨等管理功能已初步實(shí)現(xiàn)了信息化,自動(dòng)化。原系統(tǒng)經(jīng)過(guò)數(shù)十年的應(yīng)用,已被實(shí)踐

13、證明是有效的,自足的系統(tǒng),而目前用于企業(yè)級(jí)生產(chǎn)管理的軟件產(chǎn)品,如業(yè)界熟悉的erp系統(tǒng),售價(jià)都在百萬(wàn)元以上,并非一般企業(yè)所能承擔(dān),且這些軟件產(chǎn)品龐大而復(fù)雜,企業(yè)需為充分發(fā)揮這些產(chǎn)品的強(qiáng)大功能而頻繁支付高昂的培訓(xùn)費(fèi)用和維護(hù)費(fèi)用?;谶@些原因,貴州紅林機(jī)械有限公司不打算使整個(gè)生產(chǎn)管理過(guò)程計(jì)算機(jī)化,更不愿意承擔(dān)開(kāi)發(fā)完整的生產(chǎn)管理信息系統(tǒng)的費(fèi)用。用戶需要的僅僅是一個(gè)零件生產(chǎn)計(jì)劃系統(tǒng),利用計(jì)算機(jī)的強(qiáng)大計(jì)算功能在最短時(shí)間內(nèi)耗費(fèi)最少的人力編制特定時(shí)期內(nèi)零件的生產(chǎn)計(jì)劃,以此為依據(jù)向各生產(chǎn)自制件的車(chē)間分派生產(chǎn)任務(wù),下達(dá)生產(chǎn)指令,保證產(chǎn)品所需要的各種零件按時(shí)按量的完成。通過(guò)上面的分析,我們認(rèn)識(shí)到所需構(gòu)造的系統(tǒng)并非一

14、個(gè)完整的生產(chǎn)管理信息系統(tǒng),而是生產(chǎn)管理系統(tǒng)的一個(gè)功能模塊,在mrp的系統(tǒng)結(jié)構(gòu)中應(yīng)屬于生產(chǎn)作業(yè)計(jì)劃模塊。主要功能為根據(jù)企業(yè)的年度生產(chǎn)計(jì)劃獲得各種產(chǎn)品的生產(chǎn)數(shù)量和交貨期限等信息,然后按產(chǎn)品工藝結(jié)構(gòu)展開(kāi),根據(jù)產(chǎn)品的結(jié)構(gòu)(即該產(chǎn)品使用了哪些零件和組件,使用數(shù)量是多少)和零件的期量標(biāo)準(zhǔn)(包括零件的生產(chǎn)周期,生產(chǎn)間隔期,批量等)確定各種零件需要量和需求時(shí)間,編制零件生產(chǎn)計(jì)劃。系統(tǒng)流程如圖4提取產(chǎn)品供求信息生成計(jì)劃條件年度生產(chǎn)計(jì)劃計(jì)劃時(shí)間段編制零件生產(chǎn)計(jì)劃零件生產(chǎn)計(jì)劃零件期量信息產(chǎn)品結(jié)構(gòu)信息圖4 系統(tǒng)流程生產(chǎn)計(jì)劃的編制是企業(yè)生產(chǎn)管理系統(tǒng)的靈魂,企業(yè)在長(zhǎng)期生產(chǎn)計(jì)劃(三年期或五年期生產(chǎn)計(jì)劃)的指導(dǎo)下,根據(jù)年度生

15、產(chǎn)計(jì)劃的要求編制廠級(jí)生產(chǎn)作業(yè)計(jì)劃,各車(chē)間依據(jù)廠級(jí)生產(chǎn)作業(yè)計(jì)劃,權(quán)衡自己的生產(chǎn)能力編制車(chē)間級(jí)生產(chǎn)作業(yè)計(jì)劃和派工計(jì)劃。因此各級(jí)生產(chǎn)計(jì)劃的可行性和高效性直接影響企業(yè)各生產(chǎn)運(yùn)營(yíng),決定企業(yè)能否在規(guī)定時(shí)限內(nèi)完成國(guó)家下達(dá)的指標(biāo)和滿足客戶的訂貨要求。由于生產(chǎn)計(jì)劃舉足輕重的地位,當(dāng)前投入市場(chǎng)的很多軟件產(chǎn)品將生產(chǎn)計(jì)劃作為整個(gè)軟件系統(tǒng)的核心功能,在此基礎(chǔ)上擴(kuò)展產(chǎn)品功能滿足企業(yè)經(jīng)營(yíng)的需要。所以為特定企業(yè)開(kāi)發(fā)獨(dú)立的生產(chǎn)計(jì)劃軟件是合理的,且這種軟件在某種意義上也是可擴(kuò)展的,甚至最終擴(kuò)展成為通用的商業(yè)軟件。當(dāng)然,由于企業(yè)組織結(jié)構(gòu)的靈活多樣性和生產(chǎn)管理本身所表現(xiàn)出的復(fù)雜性,建造企業(yè)級(jí)生產(chǎn)管理系統(tǒng)需要長(zhǎng)時(shí)間的調(diào)查工作和大量的分

16、析研究和編碼工作,開(kāi)發(fā)者不僅要掌握計(jì)算機(jī)專(zhuān)業(yè)技術(shù),還要熟悉現(xiàn)代生產(chǎn)管理方法。這是一件需要耗費(fèi)大量人時(shí)的軟件工程項(xiàng)目。這里我們僅打算編寫(xiě)一個(gè)簡(jiǎn)單合用的計(jì)劃程序,同時(shí)盡量減少系統(tǒng)的開(kāi)發(fā)維護(hù)費(fèi)用,也適當(dāng)?shù)乜疾旖窈蟮臄U(kuò)展。412 數(shù)據(jù)模型 應(yīng)用包括零件,產(chǎn)品,倉(cāng)庫(kù)幾個(gè)主要的實(shí)體,其實(shí)體關(guān)系圖如圖5所示。零件本身按其來(lái)源又可劃分為外購(gòu)件和自制件兩類(lèi),將零件進(jìn)行這樣的劃分是有必要的,因?yàn)槲覀兛傉J(rèn)為外購(gòu)件滿足“可滿足性條件(available)”,即外購(gòu)件在生產(chǎn)過(guò)程中任何時(shí)候都是絕對(duì)保證供應(yīng)的,作出這一限定后系統(tǒng)僅對(duì)自制零件作出生產(chǎn)計(jì)劃。零件既自制又外購(gòu)的策略存在明顯的缺點(diǎn),首先是增加了固定費(fèi)用投資,其次是

17、影響產(chǎn)品的標(biāo)準(zhǔn)化,再有就是削弱了成本預(yù)算控制能力,與用戶交流的結(jié)果充分肯定了這個(gè)假設(shè)的正確性。外購(gòu)件和自制件實(shí)體與零件實(shí)體存在繼承關(guān)系,即外購(gòu)件/自制件is a subset of零件, 存放使用產(chǎn)品零件名稱(chēng)保存期限庫(kù)存數(shù)量使用數(shù)量是否外購(gòu)自制件外購(gòu)件倉(cāng)庫(kù)期量標(biāo)準(zhǔn)代號(hào)名稱(chēng)代號(hào)圖5 實(shí)體關(guān)系圖產(chǎn)品實(shí)體和零件實(shí)體之間存在著聯(lián)系“使用”或“包含”,因?yàn)橐环N產(chǎn)品由多種零件構(gòu)成,而一種零件可以為多種產(chǎn)品使用,所以這個(gè)聯(lián)系是多對(duì)多的。零件實(shí)體和倉(cāng)庫(kù)實(shí)體之間有“存放”聯(lián)系,從概念上分析,企業(yè)肯定包含不止一個(gè)倉(cāng)庫(kù),則這個(gè)聯(lián)系本該是多對(duì)多的。但在應(yīng)用中這個(gè)倉(cāng)庫(kù)實(shí)體并不承擔(dān)倉(cāng)庫(kù)管理的功能,而僅提供諸如“本廠目前自

18、制和外購(gòu)哪些零件,這些零件的庫(kù)存量能否滿足產(chǎn)品生產(chǎn)的需要”的信息。對(duì)每一種零件這些信息是唯一的,因此“存放”是一對(duì)多的關(guān)系。42 系統(tǒng)實(shí)施 421 關(guān)系模型 由上一節(jié)給出的實(shí)體關(guān)系圖可導(dǎo)出該數(shù)據(jù)庫(kù)應(yīng)用的關(guān)系模型,基本的關(guān)系模型示意如下:加下劃線的字段是該關(guān)系的主碼。 關(guān)系1 產(chǎn)品(產(chǎn)品代號(hào),產(chǎn)品名稱(chēng))關(guān)系2 自制件(零件編號(hào),零件名稱(chēng),生產(chǎn)周期,批量,特征標(biāo)示)關(guān)系3 外購(gòu)件(零件編號(hào),零件名稱(chēng),供應(yīng)商,保存期限)關(guān)系4 庫(kù)存(零件編號(hào),當(dāng)前庫(kù)存量,是否外購(gòu)件)關(guān)系5 產(chǎn)品使用零件(產(chǎn)品代號(hào),零件數(shù)量,使用數(shù)量)所有的關(guān)系都是合法的,即每一個(gè)屬性都是原子的。關(guān)系1,2,3,4的主碼只包含一個(gè)屬

19、性,關(guān)系5的非主屬性只有“使用數(shù)量”,它完全函數(shù)依賴(lài)于碼,所以諸關(guān)系不存在非主屬性部分函數(shù)依賴(lài)于碼的情形,即關(guān)系屬于2nf。同樣地,也不存在關(guān)系的非主屬性傳遞依賴(lài)于碼的情形,則關(guān)系屬于3nf。更進(jìn)一步分析,可發(fā)現(xiàn)這些關(guān)系還屬于bcnf。在實(shí)體關(guān)系圖中,產(chǎn)品實(shí)體和零件實(shí)體的聯(lián)系“使用”是一個(gè)多對(duì)多的關(guān)系,按一般的方法將此聯(lián)系作為一個(gè)獨(dú)立的關(guān)系:產(chǎn)品實(shí)體和零件實(shí)體的碼作為新關(guān)系的碼,聯(lián)系的屬性作為關(guān)系的屬性,得到如上的關(guān)系5。由于每件產(chǎn)品包含多種零件,每種零件被多種產(chǎn)品使用,故關(guān)系5存在數(shù)據(jù)冗余量大的問(wèn)題:相同的產(chǎn)品代號(hào)或零件代號(hào)可能被重復(fù)存儲(chǔ)多次。在這里我們采用另一種設(shè)計(jì)策略:將關(guān)系5按產(chǎn)品種類(lèi)

20、分成若干個(gè)關(guān)系,每一個(gè)關(guān)系對(duì)應(yīng)著該產(chǎn)品與零件的使用聯(lián)系。但這樣定義的關(guān)系在企業(yè)開(kāi)發(fā)研制新產(chǎn)品后會(huì)出現(xiàn)問(wèn)題:在數(shù)據(jù)庫(kù)中找不到對(duì)應(yīng)的產(chǎn)品使用零件信息,無(wú)法完成計(jì)劃。這時(shí)只能通過(guò)新建表來(lái)解決,可以在程序中動(dòng)態(tài)創(chuàng)建數(shù)據(jù)表以適應(yīng)新產(chǎn)品的加入??紤]到多個(gè)用戶需要在局域網(wǎng)上共享生產(chǎn)管理信息,關(guān)系數(shù)據(jù)庫(kù)采用微軟的sql-server數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn),用客戶/服務(wù)器體系結(jié)構(gòu)。為了應(yīng)用的需要,增加了幾張表,如用于用戶登錄身份驗(yàn)證的“身份驗(yàn)證表”,在計(jì)劃過(guò)程中充當(dāng)中間變量的“模擬零件庫(kù)存表”和用于存放規(guī)劃結(jié)果的“零件生產(chǎn)規(guī)劃表”等。422 各模塊功能簡(jiǎn)介系統(tǒng)由零件生產(chǎn)計(jì)劃編制,零件生產(chǎn)計(jì)劃查詢(xún),增加零件與零件信息

21、修改,零件庫(kù)存量查詢(xún),用戶管理,登錄等模塊構(gòu)成,各模塊相互獨(dú)立,與其他模塊之間沒(méi)有直接的信息交換,系統(tǒng)具有低耦合和高內(nèi)聚的優(yōu)點(diǎn)。編碼時(shí)采用visual basic語(yǔ)言,在microsoft visual studio6.0集成開(kāi)發(fā)環(huán)境下完成系統(tǒng)實(shí)現(xiàn)。.red_wood pcs修改密碼零件生產(chǎn)計(jì)劃查詢(xún)零件生產(chǎn)計(jì)劃編制零件庫(kù)存量查詢(xún)?cè)O(shè)置密碼零件數(shù)據(jù)更新修改零件屬性增加零件用戶管理。 圖8 系統(tǒng)的hipo圖4221 零件生產(chǎn)計(jì)劃編制 編制零件生產(chǎn)計(jì)劃是本系統(tǒng)的核心功能,該模塊也是本系統(tǒng)中最為復(fù)雜的模塊。其要求可用數(shù)學(xué)語(yǔ)言形式化地描述如下: 某廠生產(chǎn)m種產(chǎn)品,每一種產(chǎn)品都由多個(gè)零件構(gòu)成,而且可能有不同

22、的產(chǎn)品使用相同的零件。所有m種產(chǎn)品總共使用r種零件,其中n種是自制件,其余r-n種是外購(gòu)件,現(xiàn)僅關(guān)心自制件的生產(chǎn)安排。每一種產(chǎn)品使用自制件的數(shù)量可用m行n列正定矩陣p描述,第i行j列的矩陣元素表示產(chǎn)品i包含零件j的數(shù)量,所有n種零件的期量標(biāo)準(zhǔn)可用兩個(gè)矢量c(零件生產(chǎn)周期)和n(批量)描述,矢量的第n個(gè)元素代表零件i的期量標(biāo)準(zhǔn)。另外還有一個(gè)m*r階矩陣m用以形式化從產(chǎn)品生產(chǎn)計(jì)劃中獲得的信息,矩陣第i行j列的元素表示第i種產(chǎn)品在第j月的產(chǎn)量,r取決于計(jì)劃期的長(zhǎng)度。最長(zhǎng)不超過(guò)12個(gè)月。規(guī)劃的結(jié)果是一個(gè)n行r列的矩陣,其中第i行j列的元素表示第j月零件i的計(jì)劃生產(chǎn)數(shù)量。規(guī)劃的條件是計(jì)劃期內(nèi)每個(gè)月零件的

23、計(jì)劃生產(chǎn)數(shù)量與當(dāng)月預(yù)計(jì)庫(kù)存數(shù)量之和至少等于該月零件需求量。計(jì)劃期內(nèi)某月零件的需求量可用矩陣p和矩陣m求得,具體方法是用p的轉(zhuǎn)置矩陣與m作矩陣乘法,獲得的n*r階矩陣每一個(gè)元素表示某種零件在某一月的需求量。如果限制所有零件的生產(chǎn)數(shù)量只能是整數(shù)并加入某些最優(yōu)化量度(如要求零件庫(kù)存量最效益以降低成本),則該問(wèn)題可以看作一個(gè)復(fù)雜的整數(shù)規(guī)劃問(wèn)題,數(shù)學(xué)家已提出許多用以解決整數(shù)規(guī)劃問(wèn)題的算法,如割平面法,分枝定界法等,但解整數(shù)規(guī)劃問(wèn)題還是很不容易的,沒(méi)有對(duì)所有實(shí)例都有效的算法,而且integer programming早已被證明是np完全的。所以用純粹數(shù)學(xué)規(guī)劃方法解決此問(wèn)題是不現(xiàn)實(shí)的。 這里采用一種與貪心算

24、法類(lèi)似的方法解決計(jì)劃問(wèn)題,可以稱(chēng)為“見(jiàn)好就收“的策略,預(yù)計(jì)計(jì)劃期內(nèi)某一月某種零件的生產(chǎn)數(shù)量時(shí),檢查本月零件庫(kù)存量是否已滿足需求,若零件庫(kù)存量大于或等于零件需求量,則本月不再生產(chǎn)該零件,否則檢測(cè)按批量生產(chǎn)出一批零件后零件的總量是否滿足需求,若仍不滿足,則取消批量限制而生產(chǎn)所需零件,不再動(dòng)用庫(kù)存零件,否則按批量生產(chǎn)一批零件,將滿足需求后剩余的零件入庫(kù)。由于問(wèn)題并不具有貪心性質(zhì),使用這種策略編制零件生產(chǎn)計(jì)劃時(shí),零件的庫(kù)存量并不能達(dá)到最小,但通??稍谶m當(dāng)?shù)臅r(shí)間內(nèi)返回令用戶基本滿意的結(jié)果。 用數(shù)據(jù)庫(kù)存儲(chǔ)產(chǎn)品結(jié)構(gòu)信息和零件期量標(biāo)準(zhǔn)使得算法的實(shí)現(xiàn)更加直接和容易,數(shù)據(jù)庫(kù)管理系統(tǒng)本身的高效性也令算法的運(yùn)行更快捷

25、。編制計(jì)劃過(guò)程的時(shí)間復(fù)雜度應(yīng)為o(m*n*r)。 輸入計(jì)劃期(開(kāi)始時(shí)間,結(jié)束時(shí)間)計(jì)劃期超過(guò)12個(gè)月獲得計(jì)劃期內(nèi)產(chǎn)品產(chǎn)量選擇待計(jì)劃的產(chǎn)品統(tǒng)計(jì)計(jì)劃期內(nèi)零件需求量編制計(jì)劃 圖9 流程圖 4222 零件生產(chǎn)計(jì)劃查詢(xún),零件信息查詢(xún)與修改,零件入庫(kù) 這幾個(gè)模塊的實(shí)現(xiàn)方法大體相同,即根據(jù)查詢(xún)條件編寫(xiě)相應(yīng)的sql語(yǔ)句查詢(xún)數(shù)據(jù)庫(kù),返回用戶所需信息,或修改記錄集以更新數(shù)據(jù)庫(kù)。這幾個(gè)模塊沒(méi)有值得特別提請(qǐng)注意的算法,處理用戶輸入,響應(yīng)鍵盤(pán)和鼠標(biāo)事件,生成查詢(xún)條件等操作占用了大部分代碼。連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)集的工作由ado對(duì)象和odbc數(shù)據(jù)源負(fù)責(zé)。第五章 用戶環(huán)境簡(jiǎn)介 本軟件安裝和刪除時(shí),不經(jīng)過(guò)注冊(cè)表,不會(huì)改變用戶操

26、作系統(tǒng)的設(shè)置,發(fā)布前經(jīng)過(guò)嚴(yán)格的測(cè)試,一般不會(huì)與其它軟件發(fā)生沖突,敬請(qǐng)放心使用。本軟件具有良好的向上和向下兼容性,可以運(yùn)行于win9x、win2000等平臺(tái)上,在微型機(jī)上和服務(wù)器上都能順利的工作。運(yùn)行此軟件需要excel97和sql_server(2000或更高版本)的支持。仍在使用excel95的用戶可能需要更改應(yīng)用到excel95對(duì)象庫(kù),否則規(guī)劃時(shí)可能出現(xiàn)難以預(yù)料的情況,我們對(duì)此表示歉意,并承諾在后續(xù)版本中予以解決。下面將簡(jiǎn)單介紹幾個(gè)界面。51生產(chǎn)規(guī)劃 編制零組件生產(chǎn)作業(yè)計(jì)劃是本文的核心內(nèi)容,也是設(shè)計(jì)和實(shí)現(xiàn)本軟件的目的所在。編制計(jì)劃前,用戶必須提供若干參數(shù)作為規(guī)劃的條件,這些參數(shù)有:計(jì)劃期(

27、計(jì)劃起始時(shí)間,計(jì)劃終止時(shí)間),計(jì)劃期內(nèi)產(chǎn)品計(jì)劃產(chǎn)量,規(guī)劃開(kāi)始前系統(tǒng)會(huì)提請(qǐng)用戶輸入上述參數(shù)。規(guī)劃完成后用戶可基于不同角度考察規(guī)劃結(jié)果,如查詢(xún)某種零件在某段時(shí)間內(nèi)的生產(chǎn)數(shù)量等。53 零件增加/更改 “零件增加”即在邏輯上的“產(chǎn)品使用零件”關(guān)系中新增記錄(在實(shí)現(xiàn)級(jí),“產(chǎn)品使用零件”關(guān)系依照產(chǎn)品種類(lèi)分割成若干關(guān)系,對(duì)應(yīng)著若干張表),“零件更改”即修改某種自制零件的基本信息(自制零件的基本信息存放在基本零件表中),如生產(chǎn)周期,批量,是否外購(gòu)件等。注意:界面中以藍(lán)色標(biāo)簽標(biāo)注的諸編輯框和組合框是必須由用戶填入的參數(shù)。5庫(kù)存零件查詢(xún)輸入庫(kù)存零件查詢(xún)輸入界面用于提取或更新某種零件的庫(kù)存量信息,提取信息的過(guò)程是根

28、據(jù)用戶輸入的零件編號(hào)或零件名稱(chēng)以及是否外購(gòu)件等參數(shù)編制sql語(yǔ)句,查詢(xún)中央零件庫(kù)零件庫(kù)存量表,取得滿足查詢(xún)條件的記錄并顯示在數(shù)據(jù)柵格中。更新特定零件的庫(kù)存量信息有兩種途徑,其一是用戶手工輸入零件編號(hào)和入庫(kù)數(shù)量,系統(tǒng)查找出對(duì)應(yīng)的記錄并修改其庫(kù)存數(shù)量字段,第二種方法是用戶在查詢(xún)結(jié)果(數(shù)據(jù)柵格)中選定需修改的記錄并輸入本次入庫(kù)數(shù)量以更新零件庫(kù)存量。第七章 展望和前景 用戶的需要是軟件升級(jí)的動(dòng)力,就目前用戶的需求來(lái)分析,本系統(tǒng)至少可以在以下兩個(gè)方向進(jìn)行擴(kuò)展。 一廠級(jí)零件生產(chǎn)計(jì)劃具體化到車(chē)間生產(chǎn)作業(yè)計(jì)劃 廠級(jí)生產(chǎn)調(diào)度部門(mén)將生產(chǎn)計(jì)劃下達(dá)到各車(chē)間,車(chē)間權(quán)衡生產(chǎn)能力和生產(chǎn)任務(wù),根據(jù)工序流程和工藝分離面等編寫(xiě)車(chē)

29、間生產(chǎn)作業(yè)計(jì)劃,包括派工計(jì)劃,設(shè)備維護(hù)計(jì)劃等。車(chē)間生產(chǎn)作業(yè)計(jì)劃是監(jiān)控車(chē)間日常生產(chǎn)活動(dòng),以保證按質(zhì)按量完成生產(chǎn)任務(wù)的重要媒介。目前這一級(jí)生產(chǎn)作業(yè)計(jì)劃仍由人工編制,耗時(shí)長(zhǎng),費(fèi)工多,可靠性差。擴(kuò)展后的系統(tǒng)有望提供對(duì)編制車(chē)間級(jí)生產(chǎn)作業(yè)計(jì)劃的支持。二零件生產(chǎn)計(jì)劃細(xì)化到原料供應(yīng)計(jì)劃 在制造裝配型企業(yè)中,零組件一般來(lái)說(shuō)并不是原子級(jí)的生產(chǎn)和計(jì)劃單位:組件由若干零件組成,而制造一種零件需要若干種原料,原料供應(yīng)不足很容易干擾生產(chǎn)計(jì)劃的正常執(zhí)行,導(dǎo)致計(jì)劃失效。所以只能作零件級(jí)的生產(chǎn)計(jì)劃是遠(yuǎn)遠(yuǎn)不夠的,而擴(kuò)展系統(tǒng)以編制原料供應(yīng)計(jì)劃是容易的。我們只需提供“零件使用原料”關(guān)系而不必作太大的修改就能提供這一功能。 國(guó)內(nèi)已推出

30、多款基于物料需求計(jì)劃技術(shù)或企業(yè)資源計(jì)劃技術(shù)的商業(yè)軟件,有些軟件公司甚至將這類(lèi)軟件作為其唯一產(chǎn)品,而這類(lèi)軟件工具也已獲得越來(lái)越多的國(guó)內(nèi)企業(yè)的重視與首肯,我們相信在不久的將來(lái),生產(chǎn)管理系統(tǒng)將會(huì)成為企業(yè)運(yùn)營(yíng)管理不可或缺的強(qiáng)大工具。第八章 小結(jié) 在張厚武老師的耐心指導(dǎo)下,經(jīng)過(guò)本組成員的不懈努力,克服了種種困難,查閱了若干資料,終于完成了一個(gè)初步的系統(tǒng)。與大多數(shù)商業(yè)軟件相比,該系統(tǒng)顯得極其簡(jiǎn)單,但是在實(shí)現(xiàn)過(guò)程中,我們經(jīng)過(guò)充分考慮,提出了一種新的零件生產(chǎn)計(jì)劃,初步的實(shí)踐表明這種方法簡(jiǎn)單明了,而且是正確有效的。系統(tǒng)的實(shí)現(xiàn)大量采用ado技術(shù)連結(jié)和操縱關(guān)系數(shù)據(jù)庫(kù),在這一過(guò)程中,本組成員對(duì)ado技術(shù)加深了認(rèn)識(shí),能

31、熟練使用ado技術(shù)編制數(shù)據(jù)庫(kù)應(yīng)用,這將為將來(lái)的研究和開(kāi)發(fā)工作打下基礎(chǔ)。在本系統(tǒng)的分析和實(shí)現(xiàn)過(guò)程中,充分考慮了擴(kuò)展系統(tǒng)以增加新的模塊和功能或改變數(shù)據(jù)庫(kù)應(yīng)用的體系結(jié)構(gòu),最終形成一個(gè)完整的企業(yè)級(jí)資源計(jì)劃系統(tǒng)。 致 謝 謹(jǐn)向張厚武老師表達(dá)我們誠(chéng)摯的謝意,在系統(tǒng)開(kāi)發(fā)的過(guò)程中,張老師并不介意我們的愚鈍,而總是給予耐心的指導(dǎo)。對(duì)我們?cè)诠ぷ鬟^(guò)程中產(chǎn)生的怠惰畏難情緒時(shí)常予以提醒和疏導(dǎo)。沒(méi)有他的幫助,我們不可能在如此短的時(shí)間內(nèi)構(gòu)造系統(tǒng)和完成論文。同時(shí),也非常感謝系上各位領(lǐng)導(dǎo)、老師給予我們這樣一個(gè)機(jī)會(huì),讓我們得以發(fā)展和提高。參考文獻(xiàn)生產(chǎn)管理手冊(cè) 南方工業(yè)出版社算法設(shè)計(jì)與分析 高等教育出版社軟件工程-實(shí)踐者的研究方法

32、機(jī)械工業(yè)出版社 附錄附錄一部分源代碼 dim intdatestartmonth as integer 定義規(guī)劃起始時(shí)間變量月dim intdateendmonth as integer 定義規(guī)劃終止時(shí)間變量月dim txt1torf as boolean 定義邏輯變量來(lái)區(qū)別是響應(yīng)起始還是終止時(shí)間dim txt2torf as booleandim blnplandateend as boolean 定義規(guī)劃時(shí)間輸入完成變量,用于確定規(guī)劃時(shí)間 輸入完成標(biāo)志dim blnplandategreatercurdate as boolean 定義重新規(guī)劃時(shí)是否有規(guī)劃時(shí)間 大于原規(guī)劃時(shí)間 的邏輯變量d

33、im blnnopart as boolean dim blnsinglequerytext6 as boolean 在“單項(xiàng)查詢(xún)”方式中選擇按時(shí)段查詢(xún),時(shí)定義此兩個(gè)布爾變量來(lái)區(qū)別是起始時(shí)間(blnsinglequerytext6)還是終止時(shí)間(blnsinglequerytext7)private sub displantable()dim rs as adodb.recordsetset rs = new adodb.recordsetset cnndb = new adodb.connectioncnndb.connectionstring = provider=microsoft.je

34、t.oledb.4.0; & data source= & app.path & hlmms.mdbcnndb.openrs.open select * from 零件生產(chǎn)規(guī)劃, cnndb, adopendynamic, adlockoptimisticrs.movefirstdo while not rs.eof if rs!規(guī)劃時(shí)間 cdate(04 - 4 - 1) and trim(rs!零件編號(hào)) = trim(text3.text) then 滿足條件的記錄加入零件生產(chǎn)規(guī)劃表中,在此 之前,該表的內(nèi)容為空 生成零件生產(chǎn)規(guī)劃表 call partprotable(rs!零件編號(hào),

35、rs!零件名稱(chēng), rs!規(guī)劃生產(chǎn)數(shù)量, rs!規(guī)劃時(shí)間) end if rs.movenextlooprs.closeend subprivate function partprotable(byval partid as string, byval partname as string _, byval partnum as integer, byval partdate as date)dim rs1 as adodb.recordsetset rs1 = new adodb.recordsetcnndb.openrs1.open select * from 零件規(guī)劃表1, cnndb,

36、adopendynamic, adlockoptimisticrs1.addnewcnndb.begintrans rs1!零件編號(hào) = partid rs1!零件名稱(chēng) = partname rs1!規(guī)劃時(shí)間 = partdate rs1!規(guī)劃生產(chǎn)數(shù)量 = partnum rs1.updatecnndb.committransrs1.closeend functionprivate sub cmcdel_click()if adodc1.recordset.recordcount 0 then adodc1.recordset.delete adodc1.recordset.updateels

37、e msgbox 沒(méi)有可刪除的記錄, vbokonly, 提示end ifadodc1.refreshend subprivate sub cmdexit_click()call cleanupme.hideunload frmplanend subprivate sub cmdsinglequery_click()dim startdate as stringdim enddate as stringif option3 then 按編號(hào)選擇 if trim(text4.text) = then msgbox 請(qǐng)選擇零件編號(hào)!, vbinformation, 提示 exit sub end

38、if adodc1.recordsource = select * from 零件生產(chǎn)規(guī)劃 where 零件別名= & & partidtoname(trim(text4.text) & elseif option4 then 按時(shí)間選擇 if trim(text5.text) = then msgbox 請(qǐng)選擇查詢(xún)年月!, vbinformation, 提示 exit sub end if dim querydate, temp as string temp = text5.text temp = format(temp, mm / dd / yyyy) adodc1.recordsourc

39、e = select * from 零件生產(chǎn)規(guī)劃 where 規(guī)劃時(shí)間= & # & temp & #elseif option5 then 按時(shí)間段查詢(xún) if trim(text6.text) = or trim(text7.text) = then msgbox 初始/終止時(shí)間不能為空!, vbokonly + vbinformation, 提示 exit sub end if startdate = format(cdate(text6.text), mm/dd/yyyy) enddate = format(cdate(text7.text), mm/dd/yyyy) if startd

40、ate enddate then msgbox 初始時(shí)間不能大于終止時(shí)間!, vbinformation + vbokonly, 提示 exit sub end if adodc1.recordsource = select * from 零件生產(chǎn)規(guī)劃 where 規(guī)劃時(shí)間 between & # & startdate & # & and & # & enddate & #else msgbox 請(qǐng)選擇查詢(xún)方式!, vbinformation + vbokonly, 提示end ifadodc1.refreshend subprivate sub command1_click()adodc1

41、.recordsource = select * from 零件生產(chǎn)規(guī)劃adodc1.refreshend subprivate sub cmbproduct_click()dim i as integercmbproduct.refreshcmbselect.refreshi = cmbproduct.listindexcmbselect.additem (cmbproduct.list(i)cmbselect.refreshcmbselect.text = cmbselect.list(0)cmbproduct.removeitem (i)cmbproduct.refreshdim myt

42、ext as stringmytext = cmbproduct.list(0)cmbproduct.text = mytextend subprivate sub cmdplan_click()blnplandategreatercurdate = false 首先假定當(dāng)前規(guī)劃時(shí)間包含原規(guī)劃時(shí)間變量為假call plandategreatercurdate 調(diào)用此過(guò)程判斷當(dāng)前規(guī)劃時(shí)間是否包含原規(guī)劃時(shí)間if blnplandategreatercurdate = true then 重新規(guī)劃時(shí)間大于原規(guī)劃時(shí)間 dim strmsg as string strmsg = 先前的規(guī)劃數(shù)據(jù)將被刪除!

43、 & vbcr & 您確定要重新規(guī)劃嗎? if msgbox(strmsg, vbyesno, 提示) = vbno then unload me exit sub end if lblprompt.visible = true label5.visible = false “規(guī)劃需求統(tǒng)計(jì)”表中的的時(shí)間大于規(guī)劃初始時(shí)間,其內(nèi)容將被刪除 blnnopart = false call delpreplan if blnnopart = true then exit subend iflblprompt.visible = truelabel5.visible = falsecall calpart

44、req 調(diào)用計(jì)算零件各月需求過(guò)程,結(jié)果在“零件需求統(tǒng)計(jì)”表中call planstrmsg = 規(guī)劃已經(jīng)完成,是否重新顯示規(guī)劃結(jié)果?if msgbox(strmsg, vbyesno, 詢(xún)問(wèn)) = vbyes then label5.visible = true adodc1.refreshend iflblprompt.visible = falsecmdplan.enabled = falselabel5.visible = trueplanagain.enabled = trueend subprivate sub plan()set rst = new adodb.recordsetd

45、im partid as string 零件號(hào)dim partname as string 零件名稱(chēng)dim partreqnum as integer 零件需求數(shù)量dim partpronum as integer 零件生產(chǎn)數(shù)量dim partcyclenum as integer 每期零件生產(chǎn)的最優(yōu)量(期量值中的數(shù)量)dim partremainder as integer 模擬零件庫(kù)中的零件剩余量dim partdate as date 零件需求(或生產(chǎn))時(shí)間dim i, j, sum as integerdim curdate as date 定義要規(guī)劃的當(dāng)前時(shí)間(年月)變量call s

46、imremainpart 規(guī)劃開(kāi)始時(shí),模擬零件庫(kù)的零件庫(kù)存數(shù)量為中央零件庫(kù)數(shù)量if intdatestartyear = intdateendyear then 如果規(guī)劃時(shí)間為同一年 for i = intdatestartmonth to intdateendmonth 從第一月到最后一月 curdate = cdate(cstr(intdatestartyear) & - & cstr(i) rst.open select * from 零件需求統(tǒng)計(jì) , cnndb, adopendynamic, adlockoptimistic do while not rst.eof if curda

47、te = rst!需求時(shí)間 then 找出與本月相同的時(shí)間的記錄 partid = rst!零件編號(hào) partreqnum = rst!需求數(shù)量 partremainder = chkpartremainder(partid) 調(diào)出零件庫(kù)存量 partcyclenum = chkpartcyclenum(partid) 調(diào)出零件期量的數(shù)量值 partname = chkpartname(partid) 由零件編號(hào)在“基本零件”表中找出其對(duì)應(yīng)名稱(chēng) if partremainder partreqnum then 如果(模擬)庫(kù)存量少于需求量,則該月應(yīng)生產(chǎn) if (partremainder +

48、partcyclenum) partreqnum then 如果剩余零件與該零件的期量值 之和小于該月需求量,則優(yōu)先滿足生產(chǎn)要求 partpronum = partreqnum - partremainder call addpartproplan(partid, partname, partpronum, curdate) 零件的該月生產(chǎn)量 call updateremainder(partid, 0) 更新模擬零件庫(kù)剩余量 else partpronum = partcyclenum 按期量值生產(chǎn) call addpartproplan(partid, partname, partpron

49、um, curdate) 零件的該月生產(chǎn)量 call updateremainder(partid, partremainder + partcyclenum - partreqnum) 更新模擬零件庫(kù)剩余量 end if else 模擬零件庫(kù)中零件滿足該月的需求,即該月不用生產(chǎn) call updateremainder(partid, partremainder - partreqnum) 更新模擬零件庫(kù)剩余量 end if end if rst.movenext loop rst.close next ielse 為跨年度規(guī)劃 for i = intdatestartmonth to intdateendmonth 從第一月到最后一月 當(dāng)前時(shí)間 if i = 12 then curdate = cdate(cstr(intdatesta

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論