海运集装箱管理部分之预配信息导出
需求说明书
文档版本说明
版本 最后修改日期 修改人 修改内容 备注
V1.0 2009-3-14 ? 创建
V1.1 2009-5-1 ? 修改统计部分
一、 项目名称
=====================================
出口预配集装箱货物信息导入
二、 项目开发内容:
======================================
读取预配报文文件(参见06062313、06062314),将报文重新格式化,并进行统计分析,然后将结果写入文件。
三、 文件体格式如下:
单船单票业务文件格式如下:#船名:航次:提单号:目的港
#尺寸:箱型:数量:经营人
TITANIC:603E:SNL    018576:SIGAPORE#
20:GP:4:HUB#
40:RF:5:SNL#TITANIC  603E  SNL 018576  SIGAPORE20:GP:4:HUB
TITANIC  603E  SNL 018576  SIGAPORE40: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 目的港
cntsize  集装箱尺寸
cnttype 箱型
cntqnt 箱量
cntoperator 箱经营人
re 备注 五、 要求:
======================================
时间需求:1周进度需求:前三天要求:
1、创建提单类,提单类中一律使用private属性,使用公有方法进行存取.
2、提单类必须从抽象类AbstractBL中继承
3、AbstractBL必须实现ISequence,IBlHeader两个接口
4、ISequence 中包括一个getSequence方法能够读取提单序号,
   IHeader  中包括一个getHeader方法能够读取提单头。
5、从指定文件夹中读取指定文件
6、从文件中读取业务信息
7、将业务信息解析成提单对象
8、将提单对象放入提单对象列表
9、将列表数据发送至服务端.
10、服务端就收到列表数据后进行翻译,翻译要从properties 文件中读取
11、不得在程序中出现业务数据或者业务文件名称等硬编码(配置文件可以),把所有需要硬编码的内容写入配置文件,参照翻译的做法读取
如:SNL等信息, 需要被读取的文件或者文件夹等皆从配置文件中读取
12、可视化界面读取文件信息,配置文件的路径等,从界面获取
13、要具备存放如下信息的配置文件:
    1).翻译属性文件路径
    2).预配信息文件名称,路径
3).统计结果文件名称,路径
5).格式化结果文件名称,路径
6).SOC 信息
14、层次分明,结构合理,界面清新美观
15、维护容易
16、如果某条预配信息已经存在,则不进行导入(船名,航次,集装箱箱型,尺寸相同则认为是同一条预配信息)
后两天要求:
1.分别在两台机器上实现Socket 传递读取过来的文件内容,然后从另一台机器上解析,然后传回来,并实现保存。
2.添加集装箱统计功能(数据结构仍然以存放提单对象的内存数据库为基础模型)
  统计如下功能:
  1). 总共有多少个航次
  2). 每个航次有多少票业务
  3). 总共有多少票业务
  4). 每票业务的箱型尺寸汇总
  5). 所有业务的箱型尺寸汇总
  6. 所有业务中有多少个箱子
  7). 按照箱经营人进行集装箱信息汇总
5.将统计结果存入文件,同时显示在界面上
6. Socket 数据传递,要在局域网中的不同计算机之间测试通过
7.使用多线程使服务端可以同时支持多个客户端的连接。
1. 控制
=======================================
1.如果提单头(用getHeader 方法获取)是SNL或HUB 要在记录的最后(备注)加上SOC
2.将箱经营人翻译成对应的英文全称写入文件,并同时显示在界面上
YUNFENG 603E SNL4147357 PUSAN 20 GP 4 'DA LIAN DEXING COMPANY' SOC
YUNFENG 603E JL4147357 PUSAN 40 RF 5 'QING DAO HAI YUN'-------------------------------------------------------------------------------------------------------
航次数量总计:
各航次的业务数量:
业务票数总计:
箱型尺寸汇总: 2. 附录:
======================================
集装箱代码
代码/原代号 箱 型 箱型群组代码 主 要 特 征 箱型代码 原代号
G/0 通用集装箱 (无通风装置) GP G0-G9  00-11 
V/1 通风式通用集装箱 VH V1-V9 13-19
B/2 干散货集装箱 BU, BK B0-B9 20-24
S/2 以货物种类命名的集装箱 SN 汽车集装箱,活鱼集装箱 S0-S8 25-29
R/3 保温集装箱 RE,RF,RT,RS,RH 制冷/加热 R0-R9 31-39
H/4 保温集装箱
HR,HI
外置式挂装制冷/加热装 H0-H9 40-49
U/5 敞顶式集装箱 UT  -端或两端开口 U0-U6 50-56
P/6 平台(和台架式)集装箱
PL
平台集装箱 P0-P9 60-69
T/7 罐式集装箱 TN 最低试验压力 T0-T9 70-79
A  空/陆/水联运集装箱  AS    A0  90 
注:原代号指本标准1984年版本规定的箱型代号。 集装箱尺寸代码表本组代码等同采用ISO 6346.2附录D中的表D1和表D2;详见表2和表3。 箱型尺寸
尺寸 箱型 对应类型 95码
12 英尺 干货箱 GP 12G1
干货高箱 GH(HC,HQ) 15G1
20英尺 干货箱 GP 22G1
干货高箱 GH(HC,HQ) 25G1
挂衣 HT 22V1
开顶箱 OT 22U1
冷冻箱 RF 22R1
冷高箱 RH 25R1
油罐箱 TK 22T1
框架箱 FR 22P1
40英尺 干货箱 GP 42G1
干货高箱 GH(,HQ) 45G1
挂衣箱 HT 42V1
开顶箱 OT 42U1
冷冻箱 RF 42R1
冷高箱 RH 45R1
油罐箱 TK 42T1
框架箱 FR 42P1
45英尺 干货箱 GP L2G`
干货高箱 GH(HC,HQ) L5G1
挂衣箱 HT L2V1
开顶箱 OT L2U1
冷冻箱 RF L2R1
冷高箱 RH L5R1
油罐箱 TK L2T1
框架箱 FR L2P1 
我是一个菜鸟,想请教一下这个题要实现的功能!因为我刚学完基础,做起来很棘手!