徐國強
(中船澄西船舶修造有限公司,江蘇 江陰 214433)
為了緩解資金壓力,降本增效的措施在造船各環(huán)節(jié)中越來越受到重視。提高鋼板利用率在造船成本控制中的作用不容忽視,如果余料入庫出庫不能保證正確處理,將會導(dǎo)致人工管理費用的增加和大量鋼板的浪費,影響企業(yè)的競爭力[1]。
目前,船舶余料信息化管理方面的研究嚴重不足。為此,本文首先對本廠船舶余料進行定義,其次建立鋼板余料數(shù)據(jù)庫,開發(fā)鋼板余料管理系統(tǒng),從而實現(xiàn)對鋼板余料的信息化管理。
在放樣、套料過程中,受船體線形、板材規(guī)格、板縫線、結(jié)構(gòu)形式等影響,必然會產(chǎn)生一定數(shù)量形狀各異、大小不同且可以繼續(xù)使用的板材。一般把大于1 m2的板材稱為設(shè)計余料,將大于0.3 m×0.3 m的板材稱為邊角余料。將這些余料納入余料管理系統(tǒng),實現(xiàn)數(shù)據(jù)共享,加以合理管理,能極大提高鋼材的利用率。
為了便于有效識別余料,余料需進行編號。編號需滿足基本屬性,并具有唯一性。余料編碼由14位構(gòu)成,其編碼規(guī)則見圖1。
板厚6 mm表示方法為:006,板厚6.5 mm表示方法為:065,板厚10 mm表示方法為:010,板厚10.5 mm表示方法為:105。
圖1 余料編碼規(guī)則
年月表示方法為末位填寫方法,如:2014年5月填寫為45,2014年10月則填寫4A,2014年11月則填寫4B,2014年 12月填寫4C。
以000至999依次排序。
挪威船級社(DNV): N, 美國船級社(ABS): A, 英國勞氏船級社(LR): L,韓國船級社(KR): R, 法國船級社(BV): B,中國船級社(CCS): C, 日本船級社(NK): K, 意大利船級社(RINA): I。
對鋼板余料管理系統(tǒng)要實現(xiàn)的功能模塊進行分析,利用SQLSERVER數(shù)據(jù)庫相關(guān)知識[2],建立鋼板余料數(shù)據(jù)庫(RemainderManagerDB)。數(shù)據(jù)庫包括表格管理員表、管理員角色表、管理員權(quán)限列表、工程創(chuàng)建表、余料數(shù)據(jù)表、日志管理表等,并設(shè)置各表格字段屬性。
建表是實現(xiàn)信息化的第一步,建立數(shù)據(jù)庫代碼具體如下:
use master
go
If exists (select * from sysdatabases where
name=′RemainderManagerDB′)
drop database RemainderManagerDB
go
create database RemainderManagerDB
on primary
(
name=′RemainderManagerDB_data′,
filename=′E:DB RemainderManagerDB_data.mdf′,
size=100GB,
filegrowth=10%
)
log on
(
name=' RemainderManagerDB_log′,
filename=′E:DBRemainderManagerDB_log.mdf′,
size=500MB,
filegrowth=2MB
)
管理員表包括存儲管理員的登錄賬號和密碼、登錄編號、角色。
管理員角色表為管理員配置不同角色。
(1)超級管理員:擁有系統(tǒng)所有權(quán)限,分配管理員權(quán)限角色。
(2)高級管理員:數(shù)放套料人員,對設(shè)計余料進行數(shù)據(jù)導(dǎo)入、修改、刪除、更新等操作。
(3)車間管理員:對車間余料進行數(shù)據(jù)導(dǎo)入、修改、刪除、更新等操作。
(4)一般管理員:對余料數(shù)據(jù)庫擁有查詢權(quán)限,通過過濾條件查詢自己需要使用的余料反饋給高級管理員或車間管理員進行登記。
余料數(shù)據(jù)表包括余料名稱、余料來自、板厚、寬、長、余料數(shù)量、余料用于、余料重量、已用數(shù)量、剩余數(shù)量等存儲余料的信息,是余料管理系統(tǒng)主要數(shù)據(jù)信息。建表代碼如下:
if exists(select * from sysobjects where
name=′Remainder′)
drop table Remainder
go
create table Remainder
(
Id int identity (1, 1) primary key not null,
ProjectId int not null,
ProjectNo varchar (20) not null,
RemName varchar (50) not null,
RemFrom varchar (100),
RemThickness varchar (20) not null,
RemMaterial varchar (20) not null,
RemLength int not null,
RemWidth int not null,
TotalQty int not null,
RemWeight numeric (18, 2),
ForBlock varchar (500),
ForUnit varchar (500),
UsedCount int not null,
RemCount int not null,
RemType varchar(20) not null,
Remark varchar(50),
Block varchar (20) not null,
Author varchar(50),
OrignSpecification varchar(50),
MaterialNo varchar(50),
RemAreacode varchar (50) not null,
UpdateTime smalldatetime not null
)
日志管理表是管理員的登錄日志記錄文件,以便查閱系統(tǒng)數(shù)據(jù)的準確性,方便系統(tǒng)的維護。
工程創(chuàng)建表為公司的每一個項目創(chuàng)建工程,記錄工程號及工程描述信息。每一工程都與余料數(shù)據(jù)表里的信息相關(guān)聯(lián)。
權(quán)限列表存儲不同角色的管理員,擁有系統(tǒng)功能操作的各種不同的權(quán)限。
一級菜單表存儲系統(tǒng)一級菜單的ID號和菜單的名稱。
二級菜單表存儲系統(tǒng)二級菜單的ID號和菜單的名稱。
角色權(quán)限表為中間表,存儲角色、權(quán)限的ID號及角色的編號。
另外,設(shè)置各表格的主鍵、外鍵、默認值、唯一性等約束,建立各表間的聯(lián)系,創(chuàng)建視圖,方便查詢。
ADO.NET[3]是一組向.NET程序開發(fā)者公開數(shù)據(jù)訪問的服務(wù)類,為創(chuàng)建分布式數(shù)據(jù)共享應(yīng)用程序提供了一組豐富的組件。它提供了對關(guān)系數(shù)據(jù)庫、XML和應(yīng)用程序數(shù)據(jù)的訪問,是.NET Framework中不可缺少的部分。
鋼板余料管理系統(tǒng)采用.NET的技術(shù)架構(gòu),利用C#語言的三層架構(gòu)實現(xiàn)相關(guān)的功能模塊。三層架構(gòu)主要是用戶界面層(UI: User Interface)、業(yè)務(wù)邏輯層(BLL: Business Logic Layer)、數(shù)據(jù)訪問層(DAL: Data Access Layer)包括實體對象(Models),并建立三層架構(gòu)的相互依賴關(guān)系。三層均要引用實體對象(Models),業(yè)務(wù)邏輯層要引用數(shù)據(jù)訪問層,界面層還要引用業(yè)務(wù)邏輯層。
打開VS2013應(yīng)用軟件創(chuàng)建Windows項目,取名RemainderManagerPro,按C#語言的三層架構(gòu)分別創(chuàng)建類Models、DAL、BLL并建立三層架構(gòu)的引用關(guān)系,這是實現(xiàn)用C#語言開發(fā)鋼板余料管理系統(tǒng)的第一步。實體對象(Models)主要就是根據(jù)創(chuàng)建的數(shù)據(jù)庫里的各種表格創(chuàng)建實體類,類的各種成員變量為表格中的各字段,一般與數(shù)據(jù)庫中各字段相同。實體類DAL主要是利用ADO.NET的Connection和Command對象實現(xiàn)對數(shù)據(jù)庫的訪問和對數(shù)據(jù)的查詢、更新等操作。
首先在DAL命名空間下,創(chuàng)建一個通用數(shù)據(jù)訪問類(SQLHelper),連接數(shù)據(jù)庫。其次,創(chuàng)建各實體類的數(shù)據(jù)訪問方法,一般數(shù)據(jù)方法命名是實體類+Service,如AdminService, AdminRoleService。主要方法一般是增、刪、改、查等操作。
然后,創(chuàng)建各實體類的業(yè)務(wù)邏輯層(BLL)。一般BLL的命名是實體類+Manager,如AdminManager、AdminRoleManager等。
各種類編寫完畢后,開始編寫用戶界面層(UI),也就是各種Windows窗體模塊,即鋼板余料管理系統(tǒng)的主要功能模塊。編寫各窗體模塊的同時可對DAL和BLL的數(shù)據(jù)進行補充和完善。
UI是用戶與系統(tǒng)直接交互的層,包括窗體、用戶自定義的控件等,通過引用實體類以及業(yè)務(wù)邏輯類,來調(diào)用業(yè)務(wù)邏輯,展示給用戶。
3.3.1 管理員登錄模塊
管理員根據(jù)自己的工號和密碼登錄系統(tǒng)。
(1)高級管理員:設(shè)計部數(shù)放設(shè)計人員登錄系統(tǒng)后,根據(jù)公司現(xiàn)有項目創(chuàng)建相應(yīng)工程,并將由套料軟件生成的余料Excel表格,通過本系統(tǒng)導(dǎo)入到數(shù)據(jù)庫。導(dǎo)入前需選擇相應(yīng)的工程號。每一項目的余料都對應(yīng)相應(yīng)的工程號。
(2)車間管理員:將車間的邊角余料錄入系統(tǒng),并建立相應(yīng)的鋼板余料堆場,按系統(tǒng)里的余料信息做好余料標識,實現(xiàn)有效管理。
(3)一般管理員:登錄系統(tǒng)查詢相應(yīng)余料信息,并通過公司通訊軟件將要使用的余料反饋給高級管理員或車間管理員。高級管理員或車間管理員收到信息后,將信息更新到余料管理系統(tǒng)中,并指定相關(guān)配送人員將余料配送到相應(yīng)位置。
3.3.2 工程創(chuàng)建模塊
工程創(chuàng)建模塊主要是對公司現(xiàn)有項目建立相應(yīng)的工程號及相應(yīng)的描述信息。工程創(chuàng)建一般由超級管理員或高級管理員、車間管理員來創(chuàng)建。一個項目對應(yīng)唯一的工程ID,保證了項目的獨立性,相關(guān)的管理員在各自的客戶端操作時也不會發(fā)生沖突。
3.3.3 權(quán)限與角色管理
權(quán)限與角色管理功能模塊只有超級管理員才能操作。超級管理員可以添加、修改、刪除管理員,啟用、禁用管理員賬號,并對管理員的角色進行設(shè)置,對管理員擁有系統(tǒng)的權(quán)限進行設(shè)置。管理員的信息也可以通過外部Excel文件整體導(dǎo)入。超級管理員的角色不容許設(shè)置,一般只能對其他管理員的角色進行設(shè)置。此功能模塊是鋼板余料管理系統(tǒng)能否實現(xiàn)分層、有效管理的關(guān)鍵。
3.3.4 余料數(shù)據(jù)表字段構(gòu)成和管理
3.3.4.1 余料數(shù)據(jù)表的字段構(gòu)成
余料數(shù)據(jù)表是本系統(tǒng)的核心,也是存儲余料信息的關(guān)鍵數(shù)據(jù)表,主要字段如下:
(1)系統(tǒng)ID:從1開始自動記錄插入的余料數(shù)據(jù),是本表的主鍵。
(2)工程ID:記錄余料的工程ID,是本表的外鍵,與工程創(chuàng)建表中工程ID相關(guān)聯(lián)。
(3)余料名稱:是余料數(shù)據(jù)的關(guān)鍵字段,每一工程每一條余料信息的余料名稱是唯一的。為了使高級管理員和車間管理員在入庫登記時不沖突,余料名稱需滿足一定的編碼規(guī)則。
(4)余料來自:記錄產(chǎn)生余料的套料指令號。
(5)厚度:記錄余料的板厚信息。
(6)寬度:記錄余料的寬度。
(7)長度:記錄余料的長度。
(8)材質(zhì):記錄余料的材質(zhì)。
(9)余料用于分段:記錄余料的流向是用于哪個分段。
(10)余料重量:記錄余料的重量信息,是計算余料利用率的重要信息。
(11)余料數(shù)量:記錄余料的數(shù)量。
(12)已用數(shù)量:記錄余料已使用的數(shù)量。
(13)剩余數(shù)量:記錄余料剩余數(shù)量。
(14)余料類型:規(guī)則或不規(guī)則。
(15)制作單位:記錄余料產(chǎn)生的場地,本部或分公司或其他外包場地。
(16)區(qū)域碼:記錄余料產(chǎn)生的區(qū)域,雙層底或舷側(cè)、機艙等。使用時同一區(qū)域的余料盡可能在同一區(qū)域使用,以減少余料的周轉(zhuǎn)率,提高效率。
3.3.4.2 余料數(shù)據(jù)表的管理
高級管理員或車間管理員可以通過系統(tǒng)從外部Excel將余料信息批量導(dǎo)入余料數(shù)據(jù),并保存到數(shù)據(jù)庫,也可以在平臺上逐條添加余料信息,對余料數(shù)據(jù)進行修改、刪除、更新等操作。高級管理員和車間管理員導(dǎo)入數(shù)據(jù)時需按余料名稱規(guī)則導(dǎo)入,兩者之間相互不沖突。高級管理員無權(quán)限導(dǎo)入車間的余料數(shù)據(jù),對其只有查詢權(quán)限;同時車間管理員也無權(quán)限導(dǎo)入設(shè)計的余料數(shù)據(jù),對其也只有查詢權(quán)限。這樣可以保證數(shù)據(jù)的獨立性。
一般管理員可以按過濾條件查詢自己需要的余料信息,過濾條件有工程號、余料名稱、余料厚度、余料材質(zhì)、剩余數(shù)量、制作單位。余料名稱對于每一項目來說是唯一的。輸入余料名稱,就只能查詢到1條信息;余料厚度可固定在某一厚度或輸入范圍,如:“厚度:10”表示厚度為10 mm的板,“厚度10,15”表示厚度大于等于10 mm小于等于15 mm,“剩余數(shù)量:0”表示過濾掉無剩余的余料;制作單位:按余料所在場地來查詢余料。一般管理員查詢到自己需要的余料后,通過公司通訊軟件將信息傳給相應(yīng)的高級管理員或車間管理員;高級管理員或車間管理員收到信息后,在系統(tǒng)上對余料信息進行更新操作。鋼板余料管理系統(tǒng)操作界面見圖2。
圖2 鋼板余料管理系統(tǒng)操作界面
3.3.5 報表分析
項目結(jié)束后對每個項目的余料數(shù)據(jù)進行分析,計算余料利用率,并生成柱狀圖表,清晰反映每個項目余料的利用情況。
鋼板余料管理系統(tǒng)的研究,對造船企業(yè)有以下幾個方面的意義:
(1)將鋼板余料從上道設(shè)計階段到下道生產(chǎn)階段融合貫通,解決了企業(yè)中各信息系統(tǒng)流轉(zhuǎn)不暢、無法共享的信息孤島問題。
(2)生成的報表為領(lǐng)導(dǎo)調(diào)整經(jīng)營計劃等決策提供了依據(jù)和支持,完善了企業(yè)的信息化建設(shè)。
(3)鋼材的利用率由原來不到90%提高到93%以上,余料的周轉(zhuǎn)率由50 d縮短到7 d。