?

基于C#的鋼板余料管理系統研究

2021-01-26 03:55徐國強
江蘇船舶 2020年6期
關鍵詞:船級社鋼板管理員

徐國強

(中船澄西船舶修造有限公司,江蘇 江陰 214433)

0 引言

為了緩解資金壓力,降本增效的措施在造船各環節中越來越受到重視。提高鋼板利用率在造船成本控制中的作用不容忽視,如果余料入庫出庫不能保證正確處理,將會導致人工管理費用的增加和大量鋼板的浪費,影響企業的競爭力[1]。

目前,船舶余料信息化管理方面的研究嚴重不足。為此,本文首先對本廠船舶余料進行定義,其次建立鋼板余料數據庫,開發鋼板余料管理系統,從而實現對鋼板余料的信息化管理。

1 鋼板余料的定義

在放樣、套料過程中,受船體線形、板材規格、板縫線、結構形式等影響,必然會產生一定數量形狀各異、大小不同且可以繼續使用的板材。一般把大于1 m2的板材稱為設計余料,將大于0.3 m×0.3 m的板材稱為邊角余料。將這些余料納入余料管理系統,實現數據共享,加以合理管理,能極大提高鋼材的利用率。

為了便于有效識別余料,余料需進行編號。編號需滿足基本屬性,并具有唯一性。余料編碼由14位構成,其編碼規則見圖1。

1.1 厚度表示(3位)

板厚6 mm表示方法為:006,板厚6.5 mm表示方法為:065,板厚10 mm表示方法為:010,板厚10.5 mm表示方法為:105。

圖1 余料編碼規則

1.2 年月表示(2位)

年月表示方法為末位填寫方法,如:2014年5月填寫為45,2014年10月則填寫4A,2014年11月則填寫4B,2014年 12月填寫4C。

1.3 序列號表示(3位)

以000至999依次排序。

1.4 船級社表示(1位)

挪威船級社(DNV): N, 美國船級社(ABS): A, 英國勞氏船級社(LR): L,韓國船級社(KR): R, 法國船級社(BV): B,中國船級社(CCS): C, 日本船級社(NK): K, 意大利船級社(RINA): I。

2 鋼板余料數據庫的建立

對鋼板余料管理系統要實現的功能模塊進行分析,利用SQLSERVER數據庫相關知識[2],建立鋼板余料數據庫(RemainderManagerDB)。數據庫包括表格管理員表、管理員角色表、管理員權限列表、工程創建表、余料數據表、日志管理表等,并設置各表格字段屬性。

建表是實現信息化的第一步,建立數據庫代碼具體如下:

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

)

2.1 管理員表

管理員表包括存儲管理員的登錄賬號和密碼、登錄編號、角色。

2.2 管理員角色表

管理員角色表為管理員配置不同角色。

(1)超級管理員:擁有系統所有權限,分配管理員權限角色。

(2)高級管理員:數放套料人員,對設計余料進行數據導入、修改、刪除、更新等操作。

(3)車間管理員:對車間余料進行數據導入、修改、刪除、更新等操作。

(4)一般管理員:對余料數據庫擁有查詢權限,通過過濾條件查詢自己需要使用的余料反饋給高級管理員或車間管理員進行登記。

2.3 余料數據表

余料數據表包括余料名稱、余料來自、板厚、寬、長、余料數量、余料用于、余料重量、已用數量、剩余數量等存儲余料的信息,是余料管理系統主要數據信息。建表代碼如下:

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

)

2.4 日志管理表

日志管理表是管理員的登錄日志記錄文件,以便查閱系統數據的準確性,方便系統的維護。

2.5 工程創建表

工程創建表為公司的每一個項目創建工程,記錄工程號及工程描述信息。每一工程都與余料數據表里的信息相關聯。

2.6 權限列表

權限列表存儲不同角色的管理員,擁有系統功能操作的各種不同的權限。

2.7 一級菜單表

一級菜單表存儲系統一級菜單的ID號和菜單的名稱。

2.8 二級菜單表

二級菜單表存儲系統二級菜單的ID號和菜單的名稱。

2.9 角色權限表

角色權限表為中間表,存儲角色、權限的ID號及角色的編號。

另外,設置各表格的主鍵、外鍵、默認值、唯一性等約束,建立各表間的聯系,創建視圖,方便查詢。

3 利用C#語言的三層架構實現相關功能模塊

3.1 ADO.NET的概述

ADO.NET[3]是一組向.NET程序開發者公開數據訪問的服務類,為創建分布式數據共享應用程序提供了一組豐富的組件。它提供了對關系數據庫、XML和應用程序數據的訪問,是.NET Framework中不可缺少的部分。

3.2 余料管理系統的三層架構

鋼板余料管理系統采用.NET的技術架構,利用C#語言的三層架構實現相關的功能模塊。三層架構主要是用戶界面層(UI: User Interface)、業務邏輯層(BLL: Business Logic Layer)、數據訪問層(DAL: Data Access Layer)包括實體對象(Models),并建立三層架構的相互依賴關系。三層均要引用實體對象(Models),業務邏輯層要引用數據訪問層,界面層還要引用業務邏輯層。

打開VS2013應用軟件創建Windows項目,取名RemainderManagerPro,按C#語言的三層架構分別創建類Models、DAL、BLL并建立三層架構的引用關系,這是實現用C#語言開發鋼板余料管理系統的第一步。實體對象(Models)主要就是根據創建的數據庫里的各種表格創建實體類,類的各種成員變量為表格中的各字段,一般與數據庫中各字段相同。實體類DAL主要是利用ADO.NET的Connection和Command對象實現對數據庫的訪問和對數據的查詢、更新等操作。

首先在DAL命名空間下,創建一個通用數據訪問類(SQLHelper),連接數據庫。其次,創建各實體類的數據訪問方法,一般數據方法命名是實體類+Service,如AdminService, AdminRoleService。主要方法一般是增、刪、改、查等操作。

然后,創建各實體類的業務邏輯層(BLL)。一般BLL的命名是實體類+Manager,如AdminManager、AdminRoleManager等。

各種類編寫完畢后,開始編寫用戶界面層(UI),也就是各種Windows窗體模塊,即鋼板余料管理系統的主要功能模塊。編寫各窗體模塊的同時可對DAL和BLL的數據進行補充和完善。

UI是用戶與系統直接交互的層,包括窗體、用戶自定義的控件等,通過引用實體類以及業務邏輯類,來調用業務邏輯,展示給用戶。

3.3 鋼板余料管理系統主要功能模塊

3.3.1 管理員登錄模塊

管理員根據自己的工號和密碼登錄系統。

(1)高級管理員:設計部數放設計人員登錄系統后,根據公司現有項目創建相應工程,并將由套料軟件生成的余料Excel表格,通過本系統導入到數據庫。導入前需選擇相應的工程號。每一項目的余料都對應相應的工程號。

(2)車間管理員:將車間的邊角余料錄入系統,并建立相應的鋼板余料堆場,按系統里的余料信息做好余料標識,實現有效管理。

(3)一般管理員:登錄系統查詢相應余料信息,并通過公司通訊軟件將要使用的余料反饋給高級管理員或車間管理員。高級管理員或車間管理員收到信息后,將信息更新到余料管理系統中,并指定相關配送人員將余料配送到相應位置。

3.3.2 工程創建模塊

工程創建模塊主要是對公司現有項目建立相應的工程號及相應的描述信息。工程創建一般由超級管理員或高級管理員、車間管理員來創建。一個項目對應唯一的工程ID,保證了項目的獨立性,相關的管理員在各自的客戶端操作時也不會發生沖突。

3.3.3 權限與角色管理

權限與角色管理功能模塊只有超級管理員才能操作。超級管理員可以添加、修改、刪除管理員,啟用、禁用管理員賬號,并對管理員的角色進行設置,對管理員擁有系統的權限進行設置。管理員的信息也可以通過外部Excel文件整體導入。超級管理員的角色不容許設置,一般只能對其他管理員的角色進行設置。此功能模塊是鋼板余料管理系統能否實現分層、有效管理的關鍵。

3.3.4 余料數據表字段構成和管理

3.3.4.1 余料數據表的字段構成

余料數據表是本系統的核心,也是存儲余料信息的關鍵數據表,主要字段如下:

(1)系統ID:從1開始自動記錄插入的余料數據,是本表的主鍵。

(2)工程ID:記錄余料的工程ID,是本表的外鍵,與工程創建表中工程ID相關聯。

(3)余料名稱:是余料數據的關鍵字段,每一工程每一條余料信息的余料名稱是唯一的。為了使高級管理員和車間管理員在入庫登記時不沖突,余料名稱需滿足一定的編碼規則。

(4)余料來自:記錄產生余料的套料指令號。

(5)厚度:記錄余料的板厚信息。

(6)寬度:記錄余料的寬度。

(7)長度:記錄余料的長度。

(8)材質:記錄余料的材質。

(9)余料用于分段:記錄余料的流向是用于哪個分段。

(10)余料重量:記錄余料的重量信息,是計算余料利用率的重要信息。

(11)余料數量:記錄余料的數量。

(12)已用數量:記錄余料已使用的數量。

(13)剩余數量:記錄余料剩余數量。

(14)余料類型:規則或不規則。

(15)制作單位:記錄余料產生的場地,本部或分公司或其他外包場地。

(16)區域碼:記錄余料產生的區域,雙層底或舷側、機艙等。使用時同一區域的余料盡可能在同一區域使用,以減少余料的周轉率,提高效率。

3.3.4.2 余料數據表的管理

高級管理員或車間管理員可以通過系統從外部Excel將余料信息批量導入余料數據,并保存到數據庫,也可以在平臺上逐條添加余料信息,對余料數據進行修改、刪除、更新等操作。高級管理員和車間管理員導入數據時需按余料名稱規則導入,兩者之間相互不沖突。高級管理員無權限導入車間的余料數據,對其只有查詢權限;同時車間管理員也無權限導入設計的余料數據,對其也只有查詢權限。這樣可以保證數據的獨立性。

一般管理員可以按過濾條件查詢自己需要的余料信息,過濾條件有工程號、余料名稱、余料厚度、余料材質、剩余數量、制作單位。余料名稱對于每一項目來說是唯一的。輸入余料名稱,就只能查詢到1條信息;余料厚度可固定在某一厚度或輸入范圍,如:“厚度:10”表示厚度為10 mm的板,“厚度10,15”表示厚度大于等于10 mm小于等于15 mm,“剩余數量:0”表示過濾掉無剩余的余料;制作單位:按余料所在場地來查詢余料。一般管理員查詢到自己需要的余料后,通過公司通訊軟件將信息傳給相應的高級管理員或車間管理員;高級管理員或車間管理員收到信息后,在系統上對余料信息進行更新操作。鋼板余料管理系統操作界面見圖2。

圖2 鋼板余料管理系統操作界面

3.3.5 報表分析

項目結束后對每個項目的余料數據進行分析,計算余料利用率,并生成柱狀圖表,清晰反映每個項目余料的利用情況。

4 結論

鋼板余料管理系統的研究,對造船企業有以下幾個方面的意義:

(1)將鋼板余料從上道設計階段到下道生產階段融合貫通,解決了企業中各信息系統流轉不暢、無法共享的信息孤島問題。

(2)生成的報表為領導調整經營計劃等決策提供了依據和支持,完善了企業的信息化建設。

(3)鋼材的利用率由原來不到90%提高到93%以上,余料的周轉率由50 d縮短到7 d。

猜你喜歡
船級社鋼板管理員
雙鋼板與鎖定鋼板在復雜肱骨近端骨折治療中的療效比較
探討拉森鋼板樁在市政工程基坑支護中的應用
從規范要求看各船級社對柴油機認可的差異化
可疑的管理員
SA—387Gr11C12鋼板(6=88mm)厚壓裂原因分析
IACS第74次理事會舉行
骨折手術的鋼板 可以不拆嗎
全球各大船級社計劃重返伊朗市場
讓管理員管不了的名字
當小小圖書管理員
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合