999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

有色企業MES建設中庫存管理子系統的設計與實現

2012-07-26 06:07:58呂蘇環
自動化儀表 2012年12期
關鍵詞:數據庫

呂蘇環

(金川鎳鈷研究設計院自動化研究所,甘肅 金昌 737100)

0 引言

在企業信息化建設過程中,ERP/MES/PCS三層架構已成為被廣泛接受的企業信息集成問題解決方案[1]。MES提供從訂單投入到產品完成整個生產活動所需的優化信息,運用及時、準確的信息,指導、啟動、響應并記錄工廠活動,從而對條件作出迅速的響應,以減少非增值活動、提高工廠運作過程的效率[2]??梢奙ES是提高企業生產制造管理能力行之有效的重要手段。

筆者所在團隊承擔多項國家、省級重點項目建設中信息化、自動化方面的研發、建設任務。在有色企業MES建設過程中,發現用戶普遍對庫房的合理利用和綜合調配、產品的快速出庫、銷售的快速響應、庫存的及時盤點等庫房管理功能有著較高要求。

本文在充分研究了現有庫房管理技術手段及實現方法的基礎上,將PL/SQL過程語言應用到自動盤庫算法中,并通過實際應用驗證了該實現方法的可行性。

1 設計思路及采用技術

根據前期調研需求,本文著重通過以下幾個方面的設計保證庫房管理的先進性、實用性。

①粉體、線板帶類物料庫房,采用基于CODE128碼的無線條碼掃描技術[3]管理原料、產品、中間料及返料的出、入庫信息。條碼信息包括庫房、庫位、名稱、規格、生產日期、質量、班次、質檢信息、供貨商、批號、數量、價格等。該信息便于庫房管理并可作為事故追溯依據,同時為上層MES及ERP應用系統提供自動、實時的數據采集支撐。

②粉體類庫房主要用于存放桶裝粉體,庫房內放置自動堆垛倉庫管理機器人臂[4],自動進行貨位分配輸送,同時自動采集存儲物品貨位信息。這為上層MES及ERP應用系統提供自動、實時的數據支撐。

③庫存盤點主要分為年、月、季等不同頻次的盤庫操作,同時要求能夠為用戶顯示當前實時庫存詳情??紤]到信息化技術手段、實際系統負載及用戶需求,采用基于.NET的B/S三層架構開發模式[5],將盤庫算法抽象成公式固定在Oracle數據庫內部的PL/SQL存儲過程[6]中。大數據量計算通過設定觸發器在系統空閑時自動觸發執行,其他耗時較少的操作則主要由客戶端應用觸發執行。這樣既可以充分利用數據庫內部批處理執行能力的快速性以及SQL語句封裝的安全性優點,又可以充分保證一定的靈活性,與客戶端及時響應。

2 相關算法

條碼庫存管理體系的建立,使庫存管理流程變得更加清晰。物料入庫通過條形碼打印機打印該物料條碼信息標志(名稱、供應商、數量、質量、品位等);再通過條碼掃描器進行數據采集,檢驗后入庫;然后利用條碼手持終端機掃描庫位、物料條碼,建立物料與庫位的對應關系;最后更改相應庫存信息。產品出庫根據提示物料的庫位,利用手持終端掃描庫位與條碼,驗證無誤后進行出庫操作,同時將手持終端采集的數據上傳至服務器,以更新庫存記錄。

采用條碼庫存管理體系后,規范的物料出入庫流程如圖1所示。

圖1 物料出入庫流程示意圖Fig.1 Flowchart of in-out warehousing of materials

對于庫存盤點,通過調查分析,主要抽象成以下基本公式,具體如表1所示。

表1 自動盤庫基本公式Tab.1 Basic formulae of automatic inventory checks

這樣,需要在Oracle數據庫中設定基本數據表,如表2所示。

表2 Oracle數據庫基本表Tab.2 Basic table of Oracle database

在基本表中,表列按照Sequence自增序列定義,數據存儲時,將它們作為屬性字段同時存入。其中,Frequency基表用于描述數據頻次序列值,如班、日、周、旬、月、季、年次數據等。Section基表用于描述物料類別序列值,如原料(投入、庫存)、產品(產出、庫存)、中間料(投入、產出、庫存)以及其他物料類別序列值(如金屬平衡量等)。StatisticsType基表用于描述數據所屬的統計屬性值,如庫存(入庫量、出庫量、庫存基量、凈庫存、階段庫存量)以及其他統計屬性值(如求和、平均、方差、平方、最大、最小、結存、付出等)。這些基本表數據字段均設計為Sequence自增序列屬性。因此,當后期系統升級、屬性拓展時,只需按照Oracle的Sequence序列增加即可,對之前已經設定的屬性值沒有任何影響。

考慮庫存物料量大、出入庫較頻繁、頻次較多的盤點操作耗時較長等特點,設計了Oracle-PL/SQL存儲過程,如表3所示。各存儲過程之間的關系如圖2所示。

表3 PL/SQL主要存儲過程Tab.3 Main storage procedures of PL/SQL

在特定生產數據存儲表中,通過Daily_Clear_Store檢索并自動計算出特定日期的日凈庫存完成量,并將其寫回數據庫中。

Month_Clear_Store利用Daily_Clear_Store計算出的日凈庫存值,計算出某月月凈庫存數據,并將其寫回數據庫。

MonthToNow_Store利用Daily_Clear_Store計算出的日凈庫存值,計算出月初至當月某日的凈庫存累積量,并將其寫回數據庫中。Year_Clear_Store、YearTo Now_Store等設計功能類似。

最后Daily_Store_Balance依據上述各存儲過程提供的中間數據,計算出庫存盤點的實際數據,并將其寫回數據庫供前臺調用。

這樣,各存儲過程之間就會存在一定的順序性關聯,因此需要定義名為Daily_Job的PL/SQL程序,統領各存儲過程的執行順序。最后,通過定義Oracle數據庫的全局Job工作,就可以定時觸發Daily_Job程序,實現數據庫定時自動盤庫的工作任務。

圖2 盤庫PL/SQL procedures關系示意圖Fig.2 Schematic diagram of PL/SQL Procedures

3 具體實現

以Daily_Store_Balance為例,簡要說明盤庫算法的實現方法。

建立存儲過程后,首先定義相應游標csr_tagcode及變量V_DATE、V_STARTDAY等。其中,V_DATE為Date類型,用于標志日期變量,V_STARTDAY為number型,用于標志生產月起始日。同時對數據庫中統計類型為凈庫存的庫存數據(原料、產品、中間料)進行distinct檢索,并將檢索結果作為游標移動依據。

接著為各變量賦初值。從系統函數dual中解析出傳入日期參數v_date中的年、月、日信息,并存入相應變量 v_year、v_month、v_day。

依據上述變量及傳入參數,計算年庫存量的起始時間和結束時間,分為如下兩種情況(假定傳入參數V_STARTDAY值為26,即生產月開始日期為每月26日,下同)。如果當前日期為當年12月26日之后的某一天,則年起始時間取當年12月26日,年結束時間取下一年12月26日,并存入變量v_startYearDate和v_endYearDate;否則統計時間段為前一年12月26日至當年12月26日。

在計算月庫存基量的起始時間和結束時間時,如果v_day<26,月統計時間段為前一月26日至當月26日;否則統計時間段為當月26日至下月26日。

在執行具體算法之前,應先確認以下事項:為確保每次生成時數據庫中數據的唯一性,如果之前已執行過傳入參數相同的命令,則應首先檢索數據庫,并刪除當日的日庫存量。

在上述變量賦值及準備過程定義完畢后,進入計算過程。打開游標進入loop循環后,編寫程序實現算法如表4所示(累積量用T表示,庫存基量用B表示,庫存量用S表示)。

表4 當日庫存量計算算法(部分)Tab.4 Calculation algorithms(partial)for the stock volumes of the day

將當日日凈庫存記錄寫入數據庫后,結束loop循環,關閉游標并提交命令。

在上述存儲過程定義完畢之后,除可以通過應用程序事件觸發完成盤庫操作外,還可以規定在每日系統空閑時由數據庫自動觸發。但這需要定義Oracle數據庫中的Job命令。Job程序可以設定Oracle數據庫每日凌晨4點自動進行系統盤庫操作。需要注意的是,interval變量須定義為TRUNC(SYSDATE+1)+4/24(時間間隔為24 h,next_sec為4點)。

4 實施效果

自系統投入運行以來,該企業的庫房管理達到了較高的自動化水平。庫存數據實時顯示在各級管理層用戶桌面系統中,使出入庫操作、貨位擺放、庫存信息、庫房盤點等操作都變得方便快捷。尤其是原來需手工統計的盤庫工作,當存儲數據量增大時,采用計算機實現也會耗費大量時間,影響用戶體驗;現在則由系統選擇每日訪問量最少的時刻(一般凌晨)自動計算生成。在降低人力成本、提高數據準確性和及時性以及滿足用戶較好的交互體驗等方面,該方法均體現出明顯的優越性。

在該企業MES生產信息化項目建設過程中,通過庫房管理子系統的實施,一方面減輕了生產人員及調度人員的工作量,較大程度地提高了企業庫房管理效率;另一方面也為企業節約了管理費用、提高了服務質量,從而以信息化手段切實提高了企業的核心競爭實力。該系統多次受到用戶和各相關部門的好評。

5 結束語

如今的倉庫作業與庫存控制作業十分復雜多樣,傳統的靜態管理模式已無法保證企業資源的高效利用。本文以在某有色企業MES項目實踐過程中庫房管理系統的設計與實現為例,詳細闡述了庫房管理系統實現中的若干問題及實現方法。該設計思路在實際應用中收到較好的效果,具有一定的參考價值及推廣意義。

[1]孫彥廣,陳靖屏.流程工業制造執行系統[M].北京:化學工業出版社,2006:14 -15.

[2]寧波市企業信息化工作領導小組.工業企業信息化技術指導規范[M].北京:清華大學出版社,2007:64-68.

[3]劉志海,曾慶良,朱由鋒.條形碼技術與程序設計[M].北京:清華大學出版社,2009:141-150.

[4]徐正林,劉昌祺.自動化立體倉庫實用設計手冊[M].北京:北京中國物資出版社,2009:212-240.

[5]Eeles P,Gripps P.架構實戰-軟件架構設計的過程[M].蔡黃輝,譯.北京:機械工業出版社,2010:91-97.

[6]Rosenzweig B,Bakhimov E S.Oracle PL/SQL 實例精解[M].龔波,徐雅麗,譯.北京:機械工業出版社,2009:27-32.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 精品人妻一区无码视频| 强奷白丝美女在线观看| 谁有在线观看日韩亚洲最新视频| 91在线日韩在线播放| 国产日本欧美在线观看| 中国特黄美女一级视频| 中文字幕在线看| 欧美中文字幕在线视频| 国产黄网永久免费| 国产成人91精品| 亚洲人成网站在线观看播放不卡| 2021最新国产精品网站| 国产精品无码AⅤ在线观看播放| 91精品啪在线观看国产60岁| 粉嫩国产白浆在线观看| 四虎永久免费在线| 午夜欧美在线| 波多野结衣第一页| 欧美午夜小视频| 成人午夜免费观看| 亚洲欧洲一区二区三区| 亚亚洲乱码一二三四区| 99久久精品无码专区免费| 午夜福利无码一区二区| 免费视频在线2021入口| 五月天福利视频| 国产精品尤物在线| 激情六月丁香婷婷四房播| 秋霞国产在线| 日本免费新一区视频| 精品少妇人妻一区二区| 欧美国产菊爆免费观看| 中文字幕在线观看日本| 波多野结衣在线一区二区| 国产靠逼视频| 国产精品一区二区不卡的视频| 98精品全国免费观看视频| 999福利激情视频| 91色在线观看| 国产精品私拍在线爆乳| aa级毛片毛片免费观看久| 国产免费a级片| 亚洲欧美在线综合一区二区三区| 亚洲福利一区二区三区| 51国产偷自视频区视频手机观看| 亚洲天堂网视频| 欧美在线天堂| 亚洲国产精品国自产拍A| 国产老女人精品免费视频| 精品久久国产综合精麻豆| 青青草国产精品久久久久| 美女裸体18禁网站| 思思99思思久久最新精品| 国产福利小视频高清在线观看| 亚洲男人的天堂久久香蕉 | 欧美成人午夜在线全部免费| 精品第一国产综合精品Aⅴ| 美女被操黄色视频网站| 99热这里只有精品久久免费 | 中文字幕在线看视频一区二区三区| 在线观看91精品国产剧情免费| 国产福利微拍精品一区二区| 亚洲日韩高清无码| 成人精品在线观看| 免费观看无遮挡www的小视频| 免费人成视频在线观看网站| 99久久精品国产自免费| 国产性精品| 亚洲欧美日韩高清综合678| 999精品视频在线| 国产欧美日韩在线一区| 国产综合网站| 老司机久久精品视频| 久草视频中文| 成年人国产视频| 国产一级毛片高清完整视频版| 高清无码一本到东京热| 欧美精品另类| 国产九九精品视频| 精品成人免费自拍视频| 成人免费午间影院在线观看| 2021国产精品自产拍在线|