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

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

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

呂蘇環

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

0 引言

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

筆者所在團隊承擔多項國家、省級重點項目建設中信息化、自動化方面的研發、建設任務。在有色企業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
主站蜘蛛池模板: 国产在线无码一区二区三区| 波多野结衣的av一区二区三区| 制服丝袜在线视频香蕉| 国产精品永久在线| 九九热精品视频在线| 精品无码一区二区三区在线视频| 高清不卡一区二区三区香蕉| 动漫精品啪啪一区二区三区| 91在线播放国产| 欧洲高清无码在线| AV熟女乱| 色一情一乱一伦一区二区三区小说| 丝袜高跟美脚国产1区| 人妻精品久久无码区| 91色在线观看| 免费无码又爽又刺激高| 三区在线视频| 中文字幕人成乱码熟女免费| 熟女日韩精品2区| 久久96热在精品国产高清 | 国产91丝袜在线播放动漫 | 精品国产成人a在线观看| 久久久精品无码一区二区三区| 久久美女精品| 国产手机在线小视频免费观看| 久久精品视频一| 国产精品嫩草影院av| 国产精品一区二区在线播放| 亚洲国产精品成人久久综合影院| 亚洲网综合| 久久黄色视频影| 欧美人人干| 国产精品密蕾丝视频| 素人激情视频福利| 欧美自慰一级看片免费| 欧美无遮挡国产欧美另类| 午夜日本永久乱码免费播放片| 97一区二区在线播放| 国产99精品久久| 久久亚洲国产最新网站| 国产日韩欧美精品区性色| 国产欧美日韩免费| www.亚洲色图.com| 91色在线观看| a亚洲视频| 2020国产在线视精品在| 国产精品私拍99pans大尺度| 天天摸天天操免费播放小视频| 亚洲最新在线| 国产成人精品日本亚洲77美色| 啪啪永久免费av| 国产精品一区二区无码免费看片| 亚洲第一黄片大全| 亚洲成人在线免费观看| 老司机午夜精品视频你懂的| 国产精品一区不卡| 亚洲侵犯无码网址在线观看| 亚洲人成影视在线观看| 亚洲一级毛片在线观| 一级黄色欧美| 91成人在线观看视频 | 玖玖精品在线| 黄色网站在线观看无码| 日韩无码精品人妻| 国产你懂得| 不卡无码网| 日韩欧美国产中文| 又黄又湿又爽的视频| 日韩在线中文| 91青青草视频| 欧美日本不卡| 国产熟睡乱子伦视频网站| 国产精品午夜电影| 国产人人干| 久久综合丝袜日本网| 亚洲日韩AV无码精品| 亚洲男人天堂网址| 直接黄91麻豆网站| 99精品视频在线观看免费播放| 国产丰满大乳无码免费播放| 欧美一级在线看| 亚洲另类色|