海運集裝箱管理部分之預配信息導出需求說明書
#船名:航次:提單號:目的港
#尺寸:箱型:數量:經營人
TITANIC:603E:SNL??? 018576:SIGAPORE#
20:GP:4:HUB#
40:RF:5:SNL#
多船船多票業務文件格式如下:
YUNFENG:603E:SNL??? 0185762:SIGAPORE#
20:GP:4:HUB#
40:RF:5:SNL#
YUNFENG:603E:JL???? 4547357:PUSAN#
20:GP:4:HUB#
40:RT:5:JL#
HANYANG:603E:HUB??? 8576276:SIGAPORE#
20:RH:4:HUB#
40:RF:5:SNL#
YUNFENG:603E:SNL??? 4195325:CNSHA#
20:RF:4:HUB#
40:GP:5:JL#
======================================
提單類型的數據結構:
英文名稱??? 中文名稱
shipname??? 船名
voyage??? 航次
blno??? 提單號
destination??? 目的港
cnttype??? 箱型
cntsize??? 集裝箱尺寸
cntqnt??? 箱量
cntoperator??? 箱經營人
remark??? 備注
======================================
進度需求:
1、從指定文件夾中讀取指定文件
2、提單類必須從AbstractBL中繼承
3、AbstractBL必須實現ISequence,IBlHeader兩個接口
4、ISequence 中包括一個getSequence方法能夠讀取提單序號,
?? IHeader? 中包括一個getHeader方法能夠讀取提單頭。
5、從文件中讀取業務信息(先實現單個文件讀?。?br />6、將業務信息解析成提單對象
7、將提單對象放入提單對象列表
8、將列表數據寫入數據庫(用文件代替兩類文件:文本文件,寫入Excel )
9、提單類中一律使用private屬性,使用公有方法進行存取
10、翻譯要從Properties 文件中讀取
11、不得在程序中出現業務數據或者業務文件名稱等硬編碼(配置文件可以),把所有需要硬編碼的內容寫入文件,參照翻譯的做法讀取
如:SNL等信息, 需要被讀取的文件或者文件夾等皆從配置文件中讀取
12、可視化界面讀取文件信息,配置文件的路徑等,從界面獲取
13、要具備存放如下信息的配置文件(config.info):
??? 1).翻譯屬性文件路徑
??? 2).預配信息文件名稱,路徑
3).集裝箱尺寸信息文件名稱,路徑
4).統計結果文件名稱,路徑
5).格式化結果文件名稱,路徑
6).SOC 信息
7).服務器地址,端口
14、層次分明,結構合理,界面清新美觀
15、維護容易
16、如果某條預配信息已經存在,則不進行導入(船名航次,集裝箱箱型,尺寸相同則認為是同一條預配信息,提單號)
1.實現多個文件讀取和單個文件多票業務讀取
2.最后分別在兩臺機器上實現Socket 傳遞讀取過來的文件內容,然后從另一臺機器上解析,然后傳回來,并實現保存
3.解析一個文件中具有多個船名航次信息
4.解析多個文件中具有多個船名航次信息
5.添加報文校驗功能,檢測文件的合法性
? 校驗內容:
? 1). 是不是預配信息
? 2). 是不是完整的預配信息
? 3). 是不是正確的集裝箱信息
? 4). 校驗預配信息是否已經存在
6.添加集裝箱統計功能(數據結構仍然以存放提單對象的內存數據庫為基礎模型)
? 統計如下功能:
? 1). 總共有多少個航次
? 3). 總共有多少票業務(按提單號統計)
? 6). 所有業務的箱型尺寸匯總
? 7). 所有業務中有多少個箱子
? 8). 計算總共有多少個TEU
? 9). 按照箱經營人進行集裝箱信息匯總
7.將統計結果存入文件,同時顯示在界面上
8. Socket 數據傳遞,要在局域網中的不同計算機之間測試通過
最后一天工作任務:
從xml 解析
導出到Excel 表格中
附加功能:從FTP服務器上讀取信息
=======================================
如果提單頭(用getHeader 方法獲取)是SNL,HUB 要在記錄的最后(備注)加上SOC
將箱經營人翻譯成對應的英文全稱寫入文件,并同時顯示在界面上
?
程序分了5個類來實現,分別寫成5個文章便于瀏覽,我沒有使用屬性文件,此處用了Operator類實現。