毕业论文港口货运统计与决策支持系统方案

上传人:仙*** 文档编号:85247320 上传时间:2022-05-05 格式:DOC 页数:32 大小:3.27MB
收藏 版权申诉 举报 下载
毕业论文港口货运统计与决策支持系统方案_第1页
第1页 / 共32页
毕业论文港口货运统计与决策支持系统方案_第2页
第2页 / 共32页
毕业论文港口货运统计与决策支持系统方案_第3页
第3页 / 共32页
资源描述:

《毕业论文港口货运统计与决策支持系统方案》由会员分享,可在线阅读,更多相关《毕业论文港口货运统计与决策支持系统方案(32页珍藏版)》请在装配图网上搜索。

1、. . 本科生毕业论文设计题目:港口货运统计与决策支持系统的设计与实现姓 名:高旻学院: 信息科学技术学院专业:计算机科学与技术班级:计科92学号: 19209226指导教师:胡滨职称:讲师2013 年 5月15日农业大学教务处制目 录摘要2关键词2Abstract2Key words2引言21 课题研究意义及容21.1 课题研究的背景与意义31.2 课题研究的容32 相关理论与技术基础32.1 ETL介绍 32.1.1 ETL增量更新32.1.2 ETL的数据质量42.2 kettle工具简介42.3 oracle语句的应用52.3.1 oracle分析函数52.3.2 获得数据中的数字部分

2、52.4 powerbuilder的特点63 港口货运统计与决策支持系统分析与设计73.1 需求分析73.1.1 港口物流操作流程73.1.2 系统目标73.2 数据库设计73.2.1 数据库分析83.2.2 数据库结构设计83.3 ETL设计103.3.1 ETL分析103.3.2 ETL 设计103.4 查询及统计功能设计213.4.1查询和统计模块213.4.2 登录模块214 港口货运统计与决策支持系统的实现224.1 ETL转换的实现224.1.1 建立视图224.1.2 kettle程序234.2 界面实现255 总结与展望30致31参考文献31港口货运统计与决策支持系统的设计与实

3、现计算机科学与技术专业学生 高旻指导老师 胡滨摘要:如今的集装箱运输高速发展,在网络环境下的信息服务,不再仅仅是传输信息,而是越来越多的专注于提供增值信息服务。研究箱状态信息查询和相关数据统计以支持决策分析成为趋势。本文设计并实现了对电子口岸诸多系统所涉及的数据进行抽取、转换、再造,建立一个数据底帐,在此底账的基础上对进出口箱量、中转箱量等进行统计分析,对箱和提单在整个进出口操作中各个环节的状态进行联合查询。本文首先阐述了课题研究的背景、意义和容,介绍了用到的主要理论知识,然后说明了数据库设计、ETL设计和界面设计。关键词:ETL;统计;集装箱Design and Implementation

4、 of Port Cargo Statistics and Decision Support System Student majoring in Computer Science and Technology GaominTutor HubinAbstract:Today, container transport has developed rapidly in the network environment.The information services of container transportno longer just transport information, but mor

5、e and more focuson providing value-added information services.This subject transforms the raw data from the Lianyungang EDI Center to create a data ledger ,and then statistics import and export container volume and query state of container on the basis of this ledger.This paper first describes the b

6、ackground, significance and content of the research.Then this paper writes the main theoretical knowledge about this subject.And then this paper explains database design, ETL design and interface design.Keywords:ETL;statistics;container 目前,在港口企业,一般都建立有运输配送系统、仓储管理系统等信息系统。这些系统为港口企业累计了海量的业务信息。但是,这些软件都较

7、简单、技术含量低,不具备提取并加工所存储的信息的功能,导致不能对企业中高层的经营管理提供决策支持,无法满足日益规化的货代行业发展。如何使港口企业在日常生产经营过程中产生的大量经营业务数据为公司决策层在进行经营决策时发挥更大的作用,正是统计与决策支持系统所关注的问题。所以,建立一个统计与决策支持系统就成为目前港口企业信息化建设的工作之一。本课题便是研究港口货运统计与决策支持系统的设计与实现。1 课题研究意义及容1.1 课题研究的背景与意义电子口岸是以港航电子数据交换业务为主的公司。随着口岸业务数据的大规模增长,电子口岸逐步建形成了网上订舱、电子提箱、电子装箱单、场站系统、理货入库单系统等诸多业务

8、系统。在出口业务方面,已经逐步形成了一条从订舱到放行装船的完整系统链条。本课题研究便是基于电子口岸诸多系统所涉及的数据。如今的集装箱运输高速发展,在网络环境下的信息服务,不再仅仅是传输信息,而是越来越多的专注于提供增值信息服务。对已有信息进行分析加工,是所得到的新信息所具有的价值明显高于原有信息,这就是信息增值服务。这样,电子口岸的仅以传送信息作为信息服务核心功能的系统就逐渐不能满足需求了。如何对信息进行进一步的提炼以便用于增值服务中变的至关重要。所以,研究港口货运统计与决策支持系统的设计与实现具有可行性和必要性。1.2 课题研究的容首先,对各种历史数据进行抽取、转换、再造,整理出一些有辅助决

9、策的数据来,主要用到的是kettle工具,数据库用的是oracle。即从各个系统里面,识别并找出最原始的数据,将这部分数据抽取出来,建立一个数据底帐;然后针对这个底帐,再回溯关联各个系统,追踪各个系统的状态变化,延时分析同步到底帐上,丰富底帐数据。这样,底帐数据其实就是一个集装箱从录入系统、做各种业务、最后完结的一个完整周期。对与辅助决策、或者协调各个业务系统都是有很重要的意义的。一方面对整体的数据是一个新的认识,可以辅助决策,另一方面可以更好的协调当前运行的项目。其次,从对已整理出的底账数据进行查询、统计,界面的软件用的是powerbuilder。对进出口箱量、中转箱量等进行统计分析,对箱和

10、提单在整个进出口操作中各个环节的状态进行联合查询。一方面对整体的数据是一个新的认识,可以辅助决策,另一方面可以更好的协调当前运行的项目。2 相关理论与技术基础2.1 ETL介绍ETL的三个字母分别代表的是extract、transform、load,即抽取、转换、加载1。数据抽取即是从数据源中抽取目的系统需要的数据;数据转换即是将数据抽取中获取的数据按系统需求转换,使其成为目的系统要求的形式,并对不一致、不需要的数据进行清洗和加工;数据加载即将转换后的数据载入目的系统数据源。 ETL的核心在于T这个过程,也就是转换,而抽取和装载一般可以作为转换的输入和输出或者作为一个单独的部件,其复杂度没有转

11、换部件高。ETL过程一般都是批量操作,不是针对单条记录的insert、update和select等操作。ETL原本用于构建数据仓库2,负责将分布的、异构的数据源中的数据抽取到临时中间层中进行清洗、转换、集成,最后加载到数据仓库,成数为据挖掘的基础。现在也越来越多地将ETL应用于一般信息系统中数据的迁移、交换和同步3。2.1.1 ETL增量更新ETL过程可分为全量过程和增量过程,前者对应首次的数据集成,后者对应着数据的增量维护。增量更新按照数据种类的不同大概可以分成四种:只增加,不更新;只更新,不增加;即增加也更新;有删除,有增加,有更新。这四种增量更新的思路大致相同,使用的步骤可能略有不同。增

12、量更新的核心问题在与如何找出自上次更新以后的数据。方法一是使用时间戳。在原数据库增加一个时间戳,然后在转换之后的对应表保留这个时间戳,然后每次抽取数据的时候,先读取这个目标数据库表的时间戳的最大值,把这个值当作参数传给原数据库的相应表,根据这个时间戳来做限定条件来抽取数据,抽取之后同样要保留这个时间戳。方法二是使用触发器。分别对insert , update , delete 操作建立触发器,将源数据表中进行过这些操作的数据加入到新表,在进行ETL的过程的时候读这个新表,在读完之后将这个表里面的数据删除掉。方法三是定时执行增量更新。比如两个小时或每天或者一个星期进行一次更新,这个时候可以不需要

13、在目标表中增加一个时间戳字段来判断ETL进行的最大时间,直接在取得原数据库的时间加上限定条件。这个时候需要传一个参数,用get System Info 步骤来取得,而且你还可以控制时间的精度,比如到天还是到秒的时间。但这种方法,对某时段因为某种原因没有更新的情况处理比较麻烦,可能需要手工处理回来,如果失败的情况经常发生,那还是使用在目标数据库中增加一个时间字段取最大时间戳的方式比较通用。其他方法还有使用日志文件和使用全量数据等。2.1.2 ETL的数据质量ETL很难保证数据的百分百准确。数据不一定要求百分百准确,但要知道为什么不准确。首先在数据源方面,就可能存在影响数据质量的原因,如数据源中存

14、在数据格式错误、数据不一致、数据录入不全等。在ETL过程要有处理这些质量有问题数据的保证。这些问题数据,是丢弃还是处理,无法逃避。如果没有质量保证,那么在这个过程中,错误会逐渐放大,影响下一环节。ETL过程中也有对数据准确性产生重大影响的因素,可以分为下面几类:1、 规则描述错误。设计人员对数据源系统理解的不充分,导致规则理解错误,这是一方面。另一方面,是规则的描述,如果无二义性地描述规则也是要探求的一个课题。2、ETL开发错误。即时规则很明确,ETL开发的过程中也会发生一些错误,例如逻辑错误等。例如对同一数据可能存在增删改三种操作时,没有为三种操作排序,而是让其同时进行,导致可能出现数据已删

15、除却又有对其修改得操作需要执行。3、人为处理错误。在整体ETL流程没有完成之前,通常会手工试运行ETL过程,这可能导致误删了数据、重复装载数据等。如果在源头不能保证比较干净的数据,那么后面的分析功能的可信度也都成问题。2.2 kettle工具简介Kettle是一款国外开源的etl工具,纯java编写4,可以在Window、Linux、Unix上运行,绿色无需安装,可以运行于多个平台,数据抽取高效稳定。要运行KETTLE要求先安装JDK1.5或以上版本。Kettle中有两种脚本文件,其一是transformation即转换,后缀为.ktr,其二为job即作业, 后缀为.k。transformat

16、ion完成针对数据的基础转换,好比工厂里的生产流水线,每个组件相当于一个员工;job则完成整个工作流的控制,好比工厂里的管理。如果用记事本打开文件可发现转换和作业都是xml类型文件。作业分为分串行执行和并行执行,串行执行是先执行完其中一条线再执行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执行前面的再执行后面的,每个步骤执行结果分两种:true/false,根据返回结果可以控制流程走向。转换是一开始所有步骤同时运行,记录会从最前端的步骤向后传递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再把记录往后传递,记录传递分复制和分发两种模式。Kettle家族目前包括4个产品:Spo

17、on、Pan、CHEF、Kitchen。SPOON 允许你通过图形界面来设计ETL转换。CHEF允许创建任务。PAN 允许你批量运行由Spoon设计的ETL转换,它是一个后台执行的程序,是一个数据转换引擎,没有图形界面。Kitchen可以运行利用XML或数据资源库描述的任务,也是一个后台运行的程序。Kettle提供了两种资源库的选择方式:数据库存放、本地文件存放。数据库存放是通过数据库连接直接在数据库里面创建kettle表,表里面记录着你所做的任何保存过的记录以及转换和任务。此方法是远程存放的方式,具有可多人共享一个资源库的优势,但是也存在资源库不稳定的缺点。2.3 oracle语句的应用2.

18、3.1 oracle分析函数在日常的生产环境中,我们接触得比较多的是OLTP系统即联机事务处理系统,与此不同的是OLAP系统即联机分析处理系统。OLAP系统一般用于系统决策使用。通常和数据仓库、数据分析、数据挖掘等概念联系在一起。这些系统的特点是数据量大,对实时响应的要求不高或者根本不关注这方面的要求,以查询、统计操作为主。如查找上一年度各个销售区域排名前10的员工或按区域查找上一年度订单总额占区域订单总额20%以上的客户或查找上一年度销售最好和最差的产品。这两个例子和一般的查询有些不同,表现在:1、 需要对同样的数据进行不同级别的聚合操作;2、 需要在表将多条数据和同一条数据进行多次的比较;

19、3、 需要在排序完的结果集上进行额外的过滤操作。这时,一般的select语句中的order by和group by 便不能满足查询要求,需要用到分析函数。分析函数允许对一个数据集进排序和筛选,这是SQL不能实现的。分析函数通常用于计算数据累计值、数据移动值、数据中间值和输出集合报表。分析函数通过将行分组后,再计算这些分组的值。与聚合函数不同之处在于能够对每一分组返回多行值。分析函数根据分析子句将行分组,一个分组称为一个窗口,每一行都对应有一个在行上滑动的窗口。该窗口确定当前行的计算围,窗口大小可以用多个物理行进行度量,也可以使用逻辑区间进行度量,如时间。分析函数是在查询中除order by 外

20、最后执行的操作,所以分析函数只能用于选择列或 order by子句,而不能用于where、group by和having子句中。分析函数的语法:FUNCTION_NAME,.OVER如:sum over as new_alias。其中sum就是函数名,是分析函数的参数,每个函数有03个参数,参数可以是表达式,例如:sum;over 是一个关键字,用于标识分析函数,否则查询分析器不能区别sum聚集函数和sum分析函数;partition by deptno 是可选的分区子句,如果不存在任何分区子句,则全部的结果集可看作一个单一的大区;order by ename 是可选的order by 子句,

21、有些函数需要它,有些则不需要,依靠已排序数据的那些函数,如:用于访问结果集中前一行和后一行的LAG和LEAD时必须使用,而AVG则不需要。在使用了任何排序的开窗函数时,该子句是强制性的,指定了在计算分析函数时一组的数据是如何排序的。2.3.2 获得数据中的数字部分方法一是使用translate函数。translate函数语法为TRANSLATE。此函数返回将from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中

22、的额外字符将从 string 中被删除,因为它们没有相应的替换字符。to_str 不能为空。Oracle 将空字符串解释为 NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。将translate函数用于得数据中的数字部分的例子:select translate from dual;,其结果为2345630045。方法二是自定义函数。可以自定义一函数来获取数据中的数字部分,如:create or replace function f_filter_str return varcharisvar_str_new varchar2;beginfor i in 1.

23、length loopif asciisubstr=48 and asciisubstr=57 thenvar_str_new := var_str_new | substr;end if;end loop;return var_str_new;end f_filter_str;运行select f_filter_str from dual;,其结果也是2345630045。方法三是用正则表达式函数regexp_replace。Oracle 正则表达式函数regexp_replace有六个参数,第一个是输入的字符串,第二个是正则表达式,第三个是替换的字符,第四个是标识从第几个字符开始正则表达式

24、匹配且默认为1,第五个是标识第几个匹配组且默认为全部都替换掉,第六个是是取值围。现有字符串23456中国3-00=.,45,想得到结果2345630045,则写为regexp_replace。2.4 powerbuilder的特点Powerbuilder是一款优秀的企业级数据库前端应用开发工具,主要特点有:1、 可视话的开发环境Powerbuilder是一个集成的完全可视化的开发工具。使用它可以用一种可视、直观的方式来创建应用程序所需的用户界面和数据库接口。2、 面向对象的开发工具Powerbuilder是一种面向对象编程的快速开发工具5。同绝大多数的windows应用程序一样,它采用事件驱动

25、工作方式。在这种方式下,程序的执行主要是由对象的各种事件来触发的事件代码只有当与之有关的事件发生时才会被执行。它的窗口、菜单和数据窗口等都是对象,用户也可以构造自己的对象6。3、 PowerScript语言PowerScript语言是powerbuilder专用的编程语言。这种语言是一种增强型的结构化编程语言,其基本语法要素与Pascal、C等传统结构化语言类似,而且如同BASIC语言一样简单易学。在PowerScript中除了可以直接引用powerbuilder提供的大量函数和系统对象外,还支持大二进制对象类型和嵌入式SQL语句7。4、 独一无二的数据窗口技术Powerbuilder最大的特

26、点就是其采用了独一无二的数据窗口技术。这种技术对定义和开发数据库连接过程进行了抽象,使得程序开发人员能够完全可视化地完成应用系统中有关数据库的编程工作。5、 开放的系统Powerbuilder可以访问任何一个常用的后台数据库系统,如oracle、sybase、informix、DB2和SQL Server等大型数据库8,以及Xbase、FoxPro和Paradox等小型数据库。它本身也带一个小型的个人数据库ASA,以方便编程人员学习和使用。它提供了通用的前台用户界面和相关的数据库接口,开发人员无需关心每个数据库的特点和特性,只需集中精力进行前台应用程序的开发。6、 多平台的开发环境powerb

27、uilder现在有windows、mactintosh和unix等版本。在不同操作系统开发的应用程序只需要在另一操作系统下重新编译即可直接运行9。7、 网络应用程序的开发使用powerbuilder,除了可以方便快捷地创建传统的基于客户/服务器模式的数据库应用系统外,同时还支持基于N层体系结构分布式的应用程序和基于web的应用程序的开发10,完全具备开发企业级商务应用系统的能力。3 港口货运统计与决策支持系统分析与设计3.1 需求分析目前电子口岸关于货运的业务主要集中于集装箱的进出口,有网上订舱、电子提箱、电子装箱单、场站系统、理货入库单系统等诸多业务系统。这些系统的数据间存在着密切的联系,但

28、却由于使用的单位不同等原因分别存在于不同的数据库,在货代、船代、海关需要查询一些关系到多个系统的信息时,需要查询多次,访问多个数据库。并且由于信息间相对孤立,没有对信息进行加工和比较,不能为高层决策提供依据。所以需要先将数据抽取、转换、加载形成底账,再在底账的基础上实现联合查询和数据统计分析。3.1.1 港口物流操作流程在,集装箱出口时主要流程按顺序是:网上订舱、船公司或船代审批、货代电子提箱、场站放箱、运输装箱、返场即进场站或进码头、报检、理货、码头配载、装船离港。其中网上订舱时会有订单相关订单信息,在船公司审批过后会生成提单号,订舱是处于初始状态还是船方确认,或是船方删除等状态需要反映给货

29、代。在返程进码头时会有电子装箱单信息。在报检后会有报检信息,其中报检状态是已审核还是检验处理中等需要反馈给货代。在理货时会有入库单,记录施封时间、箱或提单状态等信息,这也是货代希望知道的。集装箱进口流程按顺序为:码头或船公司进行提箱委托、车队提箱、车队运输、还箱。其中涉及到电子提箱信息,其中包括提箱状态和提箱时间,这也是货代关注的。综上可见,在查询时要将货代需要知道的信息尽可能通过只输入箱号或提单号就能显示出其所有信息和状态。3.1.2 系统目标 本系统将根据有关船信息、集装箱信息、提单信息等实现以下目标:1、通过抽取、转换、加载各个系统的数据源形成数据底账。2、在底账的基础上实现联合查询,即

30、在本系统中就可查询箱或提单的所有的状态信息,而不用登陆多个系统分别取得相应的状态信息。3、对箱量进行统计对比,如进出口箱量、中转箱量等。3.2 数据库设计3.2.1 数据库分析系统需要建立数据库存放数据底账。由于外界数据的大量性、复杂性和多样性,所以存储在oracle数据库的底账应该是经过分析处理后有用的信息,此数据库就相当于一个大型的数据仓库。本系统建立的数据底账流程为:外界数据源 数据提取 数据加载数据加载到数据底账数据库时,其中关于反映提单和箱状态的数据应存放在一表里,以便查询。箱信息回执和提单信息回执是申报给海关的数据海关处理后所给的反馈,分别单独建表。关于统计的把同一类查询的数据应放

31、于同一,不同统计容不同的数据要分表存放。3.2.2数据库结构设计本文建立了六表,分别是:中转箱底账表K_T_ZZ、出口装箱单底账表K_T_COSTCO、集装箱装卸船底账表K_T_COARRISTATUS、集装箱进出口信息底账表K_ETL_MAINSTATU、箱信息回执底账表K_ETL_CCCTNNORESPONSE、提单信息回执底账表K_ETL_CCBLNORESPONSE,具体表见表3-1至表3-6。3-1 集装箱进出口信息底账表K_ETL_MAINSTATU集装箱进出口信息底账表NameData TypeCommentIDNUMBER主键CODEVESSELVARCHAR2船名代码VESS

32、ELVARCHAR2英文船名VOYAGEVARCHAR2航次IOVARCHAR2进出口标识BLNOVARCHAR2提单号BLNOSTATUSOURCEVARCHAR2提单号状态代码BLNOCODESTATUVARCHAR2暂不用BLNOSTATUVARCHAR2暂不用BLNOSOURCEIDVARCHAR2提单数据源关键字BLNOSTATUTIMEVARCHAR2提单状态时间BLNOMSGTIMEVARCHAR2提单写入时间CTNNOVARCHAR2箱号CTNNOSTATUSOURCEVARCHAR2箱号状态代码CTNNOCODESTATUVARCHAR2暂不用CTNNOSTATUVARCHA

33、R2暂不用CTNNOSOURCEIDVARCHAR2箱号数据源关键字CTNNOSTATUTIMEVARCHAR2箱号状态时间CTNNOMSGTIMEVARCHAR2箱号写入时间DATASOURCEVARCHAR2数据来源CODECARGOVARCHAR2货代CODESHIPPERVARCHAR2船代CODECUSTOMSBROKERVARCHAR2报关行CTNMANAGERVARCHAR2箱管BLNOWTNOVARCHAR2提单委托号CTNNOWTNOVARCHAR2箱委托号CTNYARDVARCHAR2场站TRUCKNOVARCHAR2车号3-2 提单信息回执底账表K_ETL_CCBLNOR

34、ESPONSE提单信息回执底账表NameData TypeCommentCCRESPON_BLNO_INFO_IDNUMBER主键MSGTYPEVARCHAR2报文类型FILEIDVARCHAR2报文id报文表主键MESSAGEIDVARCHAR2消息idEDI_USERNAMEVARCHAR2用户名IMOVARCHAR2船识别码VESSELVARCHAR2英文船名VOYAGEVARCHAR2航次BLNOVARCHAR2提单号RESPON_TYPE_CODEVARCHAR2回执类型代码RESPON_TYPE_TEXTVARCHAR2回执类型MSGTIMEVARCHAR2报文时间3-3 箱信息回

35、执底账表K_ETL_CCCTNNORESPONSE箱信息回执底账表NameData TypeCommentCCRESPON_CTN_INFO_IDNUMBER主键MSGTYPEVARCHAR2报文类型FILEIDVARCHAR2报文id报文表主键MESSAGEIDVARCHAR2消息idEDI_USERNAMEVARCHAR2用户名IMOVARCHAR2船标示号VESSELVARCHAR2英文船名VOYAGEVARCHAR2航次CTNNOVARCHAR2箱号RESPON_TYPE_CODEVARCHAR2回执类型代码RESPON_TYPE_TEXTVARCHAR2回执类型MSGTIMEVARC

36、HAR2报文时间3-4 出口装箱单表K_T_COSTCO出口装箱单表NameData TypeCommentSTATUVARCHAR2装箱单-OBLNOVARCHAR2提单号CTNNOVARCHAR2箱号BLNOSTATUTIMEVARCHAR2操作时间CTNTYPEVARCHAR2箱型大小+类型CARGOAGENTVARCHAR2货代CODECARGOAGENTVARCHAR2货代代码3-5 集装箱装卸船底账表K_T_COARRISTATUS集装箱装卸船底账表NameData TypeCommentIMOVARCHAR2船识别号CODEVESSELVARCHAR2船名代码VOYAGEVARC

37、HAR2航次BLNOVARCHAR2提单号CTNNOVARCHAR2箱号STATUSOURCEVARCHAR2状态代码:装LOAD/卸DISSOURCEIDNUMBER数据源关键字CTNYARDVARCHAR2场站IOTIMEVARCHAR2装卸时间MSGTIMEDATE写入/更新时间3-6 中转箱表K_T_ZZ中转箱表NameData TypeCommentCTNNOVARCHAR2箱号CTNTYPEVARCHAR2箱型大下+类型IOSIGNVARCHAR2进出口标示BLNOVARCHAR2提单号CODEDELIVERYVARCHAR2中转港代码DELIVERYVARCHAR2中转港CTNN

38、OSOURCEIDVARCHAR2COARRI_PLCONINFO主键CTNNOSTATUTIMEVARCHAR2操作时间3.3 ETL设计3.3.1 ETL分析场站进出门信息、入库单信息、货代报检信息、订舱数据信息、电子装箱单信息、装卸船信息等是需要抽取载入集装箱进出口信息底账表K_ETL_MAINSTATU表的,抽取的信息要能够用箱号和提单号查询各阶段状态。提单信息回执和箱信息回执分别抽取载入箱信息回执底账表K_ETL_CCCTNNORESPONSE和提单信息回执底账表K_ETL_CCBLNORESPONSE。这些与状态相关的信息时在提取时要注意保留每条信息在原表中的主键即id,以便回溯查

39、询。集装箱装卸船底账表、中转箱表、出口装箱单表载入的是主要是相关的箱型,方便统计箱量,因为TEU箱量计算时20的箱型算作1箱而40的箱型算作2个。3.3.2 ETL 设计3.3.2.1抽取字段设计(1) 场站进出门信息场站进出门信息涉及到的表如图3-1,分别是进出门信息表cogate_plconinfo、船期表pub_shipinfo、班轮信息表shipinfo、船信息表tran_vessel、报文信息表fileinfo。表之间的关系也如图所示。关联这五表,抽取船名代码pub_shipinfo.Codevessel、英文船名tran_vessel.vessel_sh、航次pub_shipinf

40、o.voyage、箱号cogate_plconinfo.ctnno、进出门时间cogate_plconinfo.gateouttime和cogate_plconinfo.gateintime。除了提取的信息还有需要添加的信息,即表示这是进出门的标识信息。将场站进出门信息导入集装箱进出口信息底账表K_ETL_MAINSTATU表的字段对应关系如表3-7,K_ETL_MAINSTATU表中没有场站进出门信息的字段默认为空。3-7 进出门信息抽取字段与表K_ETL_MAINSTATU字段对照表K_ETL_MAINSTATUcodevesselCODEVESSELvessel_shVESSELvoya

41、geVOYAGEwIOI:进,O:出,W:全部*BLNOctnnoCTNNOdecodeCTNNOSTATUSOURCEplconinfoidCTNNOSOURCEIDdecodeCTNNOSTATUTIMEto_charCTNNOMSGTIMECOGATE|decodeDATASOURCEcodesenderCTNYARDtrademarkTRUCKNO图3-1 场站进出门涉及的表及其关联(2) 货代报检信息货代报检信息涉及到的表有报检表new_agency_apply和船信息表tran_vessel如表3-8。将货代报检信息导入集装箱进出口信息底账表K_ETL_MAINSTATU表的字段对

42、应关系如表3-9,K_ETL_MAINSTATU表中没有货代报检信息的字段默认为空。表3-8 报检表new_agency_applyNameCommentData TypeCHECKIDNUMBERCHECKNO报检号VARCHAR2CODEVESSEL船名码VARCHAR2VOYAGE航次VARCHAR2BLNO提单号VARCHAR2CTNNUM2020箱量NUMBERCTNNUM4040箱量NUMBERCARGOCODE货名VARCHAR2CARGOFROMCODE来源地/输出国家VARCHAR2APPLYCOMPCODE录单单位VARCHAR2REPORTTIME报检日期VARCHAR2

43、COMPNO报检单位登记号VARCHAR2LINKPHONE联系VARCHAR2LINKMAN联系人VARCHAR2ACCCN收货人中文VARCHAR2ACCEN收货人英文VARCHAR2SENDCN发货人中文VARCHAR2SENDEN发货人英文VARCHAR2TRANTYPE0 转关 1 过境 2 非法检3法检VARCHAR2TRANSCHECK0 转检 1 不转检VARCHAR2CX0拆箱1不拆箱VARCHAR2CXPLACE拆箱地点VARCHAR2TRANSPLACE0省1省外CHARAIMPLACE目的地VARCHAR2PACKTYPE0无1木质包装2其他VARCHAR2ZJCS主检

44、处室VARCHAR2SPECIALTYPE特殊情况 0无1拼箱2分票VARCHAR2SPECIALNUM分几票NUMBERAPPLYUSER录单人VARCHAR2APPLYTIME录单时间DATESPECIALNO特殊情况报检号VARCHAR2STATE0待申报1申报2已审核3检疫处理4可放行5已放行6归档-1退回12已接单13港地互通申报VARCHAR2ARRPLACE集装箱存放地VARCHAR2VESSELCN中文船名VARCHAR2REVIEWUSER接单人VARCHAR2REVIEWTIME接单时间DATEXD1消毒通知单CHARREASON退回原因VARCHAR2SHIPID船代申报

45、IDNUMBERHSCODE货物HS编码VARCHAR2FILENAME上传文件名称VARCHAR2XD11箱体消毒CHARXD21预防性卫生处理CHARFXUSER放行人VARCHAR2FXTIME放行时间DATECOMPCODE挂靠单位VARCHAR2ZJFX1先放行2分流CHARZJREMARK1移到的地点VARCHAR2ZJUSER特殊放行人VARCHAR2ZJTIME特殊放行时间DATEZJREMARK2场站代码VARCHAR2XDSTATE1预防性消毒状态1、待处理2已处理CHARXDSTATE2针对性消毒状态1、待处理2已处理CHARAGENCYTYPE报检类型:0,集装箱;1,

46、铁路箱CHARINRETURN是否退运:0,否;1,是;用于铁路箱法检VARCHAR2VGTYPE转关类型:1,直关,2,区域通关用于铁路箱转关VARCHAR2ARRDATE靠泊日期VARCHAR2GDHT是否港地互通:1,是;0,否VARCHAR2NATIVE_CUSTOMS本地报关海事代码,默认海关321200VARCHAR2ACTUAL_CUSTOMS实际转关海事代码,默认海关321200VARCHAR2GDHT_WSCH_PLACE卫生除害地点:0,目的地检验检疫处理单位;1,VARCHAR2GDHT_STATE港地互通国检审批意见标识:0,同意;1,不同意VARCHAR2GDHT_R

47、EMARK港地互通国检审批意见VARCHAR2表3-9 货代报检信息抽取字段与表K_ETL_MAINSTATU字段对照表K_ETL_MAINSTATUcodevesselCODEVESSELvessel_shVESSELvoyageVOYAGEwIOI:进,O:出,W:全部blnoBLNOstateBLNOSTATUSOURCEcheckid BLNOSOURCEIDdecodefxtime,null,decode,fxtimeBLNOSTATUTIMEto_charBLNOMSGTIMECIQAGENTDATASOURCEAPPLYCOMPCODECODECARGOCHECKNOBLNOWT

48、NO(3) 电子提箱信息电子提箱信息涉及表如图3-2所示,图也体现了表间关联。在关联各表后要排除新场站申请的,因为新码头申请的不属于电子提箱畴。抽取字段包括船名代码tb_ctn_tkwt.Codevessel、英文船名tran_vessel.vessel_sh、航次tb_ctn_tkwt.voyage、提单号tb_ctn_tkwt.blno、申请时间tb_ctn_tkwt.applydate、货代名tb_ctn_tkwt.a_cargo、货代名tb_ctn_tkwt.a_ship、场站名tb_ctn_tkwt.codectnfield、状态代码tb_ctn_tkwt.wt_state。除了提取

49、的信息还有需要添加的信息,即表示这是进出门的标识信息。将电子提箱信息导入集装箱进出口信息底账表K_ETL_MAINSTATU表的字段对应关系如表3-10,K_ETL_MAINSTATU表中没有电子提箱信息的字段与之对应的默认为空。图3-2 电子提箱涉及的表及其关联表3-10 电子提箱信息抽取字段与表K_ETL_MAINSTATU字段对照表K_ETL_MAINSTATUcodevesselCODEVESSELvessel_shVESSELvoyageVOYAGEwIOI:进,O:出,W:全部blnoBLNOwt_stateBLNOSTATUSOURCEtk_idBLNOSOURCEIDapply

50、dateBLNOSTATUTIMEto_charBLNOMSGTIMETIXDATASOURCEa_cargoCODECARGOa_shipCTNMANEGERcodectnfieldCTNYARD网上订舱信息网上订舱信息涉及表如图3-3所示,图也体现了表间关联。在关联各表后要排除是散货和提单号为空的订舱信息。将网上订舱信息导入集装箱进出口信息底账表K_ETL_MAINSTATU表的字段对应关系如表3-11,K_ETL_MAINSTATU表中没有电子提箱信息的字段与之对应的默认为空。图 3-3 网上订舱信息涉及的表及其关联表 3-11 网上订舱信息抽取字段与表K_ETL_MAINSTATU字段

51、对照表K_ETL_MAINSTATU船代码Codevessel_xdfCODEVESSEL英文船名vessel_enVESSEL航线voyageVOYAGE提单blnoBLNO系统时间to_charBLNOMSGTIME货代代码a_cargoCODECARGO场站名codectnfieldCTNYARD申请方代码applyerCODECARGO船公司Ship_agencyCODESHIPPER箱号ctnnoCTNNO申请日期apply_dateBLNOSTATUTIME、CTNNOSTATUTIME源表主键recordidRECORDIDWEBDCDATASOURCE装卸船信息装卸船信息涉及表

52、如图3-4所示,图也体现了表间关联。将装卸船信息导入集装箱进出口信息底账表K_ETL_MAINSTATU表的字段对应关系如表3-12,K_ETL_MAINSTATU表中没有装卸船信息的字段与之对应的默认为空。图3-4 装卸船信息涉及的表及其关联表3-12 装卸船信息抽取字段与表K_ETL_MAINSTATU字段对照表船名代码codevesselCODEVESSEL英文船名vessel_shVESSEL航次voyageVOYAGE WIO提单号blnoBLNO信息提取时间sysdateBLNOMSGTIME装卸状态filedescCTNNOSTATUSOURCE源表主键plconinfoidCT

53、NNOSOURCEID装卸时间LOADORDISTIMECTINNOSTATUTIMECOARRI | decodeDATASOURCE场站codesenderCTNYARD中转箱信息提取统计中转箱量所使用的中转箱信息涉及到装卸船信息表coarri_plconinfo,如表3-13。提取信息有箱号ctnno、箱型ctntype、进出口标志iosign、提单号blno、中转港代码codedelivery、中转港delivery、源表主键plconinfoid 、进出口时间 LOADORDISTIME。提取后载入中转箱表K_T_ZZ。3-13 装卸船信息表coarri_plconinfoNameComme

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!