物流管理系统_第1页
物流管理系统_第2页
物流管理系统_第3页
物流管理系统_第4页
物流管理系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一天国际物流 杰信商贸 + 搭建环境项目背景杰信商贸是国际物流行业一家专门从事进出口玻璃器皿贸易的公司。公司总部位于十一个朝代的帝王之都西安,业务遍及欧美。随着公司不断发展壮大,旧的信息系统已无法满足公司的快速发展需求,妨碍公司成长,在此背景下,公司领导决定研发杰信商贸综合管理平台。杰信商商贸综合合管理平平台分分三期完完成。一一期完成成仓储管管理(包包括:采采购单、仓库、货物、条形码码、入库库、出库库、退货货、盘点点、库存存、库存存上限报报警、统统计查询询)和展展会管理理(包括括:展会会管理、出单管管理),形成货货物统一一数字化化管理。二期完完成货运运全流程程管理,包括购购销合同同、出货货表

2、统计计、出口口报运单单、HOOME装装箱单、装箱单单、委托托书、发发票、财财务统计计等。三三期完成成决策分分析(包包括:成成本分析析图、销销售情况况统计、重点客客户、经经营情况况同期比比对统计计、工作作绩效),为公公司经营营决策提提供数据据支持。用例图了解系统统是所有有功能模模块利用viisioo画系统统功能结结构图,目的让让开发人人员了解解都有哪哪些业务务模块,方便分分工合作作,根据据每个页页面模块块的难度度,复杂杂,投入入的人力力情况来来衡量每每个模块块多少钱钱。验收收标准。数据库建建模,业业界都使使用PoowerrDessingger 建模系统架构构业务:生生产厂家家功能在货物模模块和附

3、附近模块块,它们们都有个个生产厂厂家,讲讲生产厂厂家信息息提出,成为一一个单独独的表。需求调研研需求求说明书书生产厂家家表 FFACTTORYY_C(_C业业务后缀缀)序号名称代码是否主键类型(长长度)说明编号FACTTORYY_IDD是VARCCHARR2(40)UUIDD全称FULLL_NAAME否VARCCHARR2(2000)对应客户户比较模模糊,翻翻倍2到4倍简称FACTTORYY_NAAME否VARCCHARR2(550)联系人CONTTACTTS否VARCCHARR2(330)人名200/300电话PHONNE否VARCCHARR2(220)手机MOBIILE否VARCCHARR

4、2(220)传真FAX否VARCCHARR2200)验货员INSPPECTTOR否VARCCHARR2(330)排序号ORDEER_NNO否INT备注CNOTTE否VARCCHARR2(5500)如果感觉觉它可能能和关键键字冲突突,给它它加个CC前缀创建人CREAATE_BY否VARCCHARR2(40)权限字段段,登陆陆人IDD创建部门门CREAATE_DEPPT否VARCCHARR2(40)登陆人所所在部门门的IDD创建时间间CREAATE_TIMME否TIMEESTAAMP第二天生生产厂家家CRUUD + 购销销合同业务:启启用,停停用功能:和和杰信合合作生产产厂家突突然有一一天它以以次

5、品冒冒充优质质品,杰杰信不跟跟这个厂厂家进行行合作。在货物物中生产产厂家选选择框,不能选选择这个个不再合合作的厂厂家。在在系统中中不能直直接删除除这个厂厂家,因因为我们们的历史史数据中中含有对对这个生生产厂家家的引用用。软件件是采用用“伪删删除”方方式来解解决。实实际是在在数据库库表中加加入列,作为标标识,标标识厂家家是否可可以被引引用。00停用1启用。新增厂厂家默认认1,可以以修改某某个厂家家为停用用。在货货物中选选择厂家家的下拉拉列表,只显示示为启用用。加“启用用”“停停用”功功能,修修改状态态。货运管理理核心流流程:购购销合同同需求调研研过程软件企业业就会到到杰信去去需求调调研,项目经理

6、理,他面面对客户户的高层层中层领领导,目目的跟客客户安排排好调研研日程。设计人员员,带领领初级程程序员到到具体的的业务部部门调研研。聊天天,围绕绕项目的的目标,设计人人员会自自己记录录谈话内内容,(主干),初级级程序员员(所有有内容)。回来来整理笔笔记,整整理需需求调研研报告报告中怎怎么体现现纸质报报表?初初级程序序员将纸纸质报表表转化成成电子的的。购销合同同业务分分析需求过程程杰信和生生产厂家家签到的的合同,称为购购销合同同。一个个购销合合同中包包含多个个货物信信息,一一个货物物信息包包括多个个附件信信息。报表打印印时,同同一个生生产厂家家的货物物信息才才能放在在同一个个页上,不同生生产厂家

7、家的货物物信息不不能放在在同一个个页上。分析阶段段,抠每个字字段出货表设计方案案一(传传统设计计)合同表,货物表表,附件件表多次次左连接接,SQQL极其其复杂,由于附附件值特特殊,SSQL不不能直接接完成,还需要要代码去去实现。设计方案案二(冗冗余设计计)通过冗余余,都在在货物表表中,只只需要合合同表和和货物表表左连接接即可。分析过程程将用户的的需求(大白话话)转化化为开发发人员看看得懂的的数据库库表,表表之间的的关系,业务逻逻辑。给给我们的的开发人人员看,开发人人员依据据设计来来写代码码。复杂杂,大型型项目画类类图,序序列图辅辅助开发发人员开开发。在实际开开发中,架构师师搭建项项目框架架,框

8、架架的基类类都有,基础工工具类,统一样样式表,统一的的公用的的js,图图片。公公司提供供一个CCVS/SVNN账号,配置环环境,从从中检出出你负责责的项目目的代码码。代码码一般以以项目结结构。导导入工程程,在其其上面开开发新的的业务模模块。业务需求求销售人员员录入合合同时,它为草草稿状态态,这时时只能销销售人员员自己看看到。只只有当销销售人员员检查合合同无误误,提交交,状态态变成“已上报报”。这这时候,其他人人员才可可以看到到。销售售的领导导和船务务专责才才能看到到。利用用这个状状态字段段来控制制对当前前用户是是否可见见。(细细粒度的的权限控控制-数据权权限)重点知识识回顾货运管理理核心业业务

9、流程程:购销销合同1.定义义购销合同同是杰信信和生产产厂家签签订的合合同。2.业务务复杂度度购销合同同业务比比较复杂杂,它是是货运管管理的一一个流程程,它包包括三部部分内容容,合同同的主信信息和多多个货物物信息和和多个附附件信息息。合同同主信息息和货物物是一对对多,货货物和附附件信息息是一对对多。3.从业业务中迁迁出技术术亮点前期我参参与了业业务调研研,重点点负责购购销合同同。给客客户交流流后,我我编写了了需求求说明书书,然然后参数数购销合合同的表表设计。从需求求说明书书结合客客户给的的电子表表格,我我抽取出出数据库库表,利利用PDD进行建建模。设计:跟客户聊聊天,要要引导性性和他们们聊天。业

10、务基基础术语语,了解解业务流流程深入内容容,拿到到客户手手中现有有某个模模块表单单,电子子表格,填写的的内容,每个内内容要注注意的事事项。来来源:手手填,从从其他模模块来获获取。抠抠每个字字段,电电子表格格中每个个内容。详细说说明书功能的的细化,业务逻逻辑说清清楚,画画图辅助助开发,UMLL(类图图、序列列图、状状态图)数据库库建模细细化。目的:开开发人员员可以依依照详细细设计开开始开发发。详细设计计本意能能达到开开发人员员无需和和客户沟沟通,就就可以在在设计人人员的指指导下就就可以直直接开发发出客户户满意的的代码。但实际际中做不不到。设设计不到到位。实实际中开开发往复复比较多多。第三天 购销

11、合合同+货货物信息息+附件件信息业务需求求:上报报、取消消功能:上报实现现销售人人员确定定购销合合同录入入完毕,检查无无误后,上报给给领导,领导审审核无误误后,提提交给船船运部。取消实现现当船务务专责未未处理此此相关的的合同时时,可以以取消这这个合同同,重新新修改合合同内容容,然后后再次上上报。如如果船运运专责已已经开始始处理报报运的业业务,不不能取消消,必须须走货物物增补流流程。设计实现现:在表中增增加状态态字段,新增时时默认状状态为00草稿,当销售售专责确确认无误误后,点点击“上上报”状状态变为为1已上报报。当船运专专责未处处理报运运时,销销售专责责点击“取消”状态变变为0,草稿稿。状态为

12、00时,只只能销售售专责自自己看到到,当状状态为11时,他他的领导导和报运运专责都都可以看看到。第四天购购销合同同查看,SQLL语句的的Powwer附件业务务实现随时携带带主表的的ID购销合同同查看合同下货货物,货货物下面面附件,在购销销合同中中全部浏浏览,体体现货物物和附件件的关系系。构建对象象关系*细粒度度权限控控制主菜单,左侧菜菜单,按按钮,UURL,方法,业界都都称为粗粗粒度的的权限控控制。日日常的小小系统,基于用用户,角角色,权权限架构构足够用用。在实际大大型项目目中,光光有上面面的用户户角色,URLL这样的的控制粒粒度不够够细致,还有数数据访问问权限。对数据的的访问列列是可以以自己

13、定定制的。例如:访访问一个个人员工工资信息息表,这这个表中中含有人人员的工工资。对数据的的访问行行可以受受权限控控制。例如:工工资表中中有销售售部人员员的工资资信息,还有船船运部人人员的工工资信息息。当销销售部领领导登录录时,他他只能看看到销售售人员的的工资信信息,他他不能看看到船运运部人员员的工资资信息。直接浏览览数据库库表,工工资列不不能直接接看到其其值。对对这个数数据库列列进行加加密。上面统称称为数据据访问权权限,这这个权限限加上角角色用户户这样这这个系统统才比较较安全。也称为为细粒度度的权限限控制。列访问控控制:单独建立立表,权权限分配配某个角角色能访访问哪些些列;行访问控控制:只能看

14、自自己创建建的记录录,不能能看到别别人创建建的记录录Wherre ccreaate_by = 当当前登陆陆人IDD部门领导导看到,他能看看到本部部门人员员创建的的记录,不能看看到其他他部门人人员创建建的记录录Wherre ccreaate_deppt = 当前前登陆人人部门IID aand useer_lleveel 4 跨部门访访问权限限,分管管领导跨跨部门,跨人员员再加一个个配置表表,分管管领导可可以管理理的人和和部门;第七天异异构数据据库支持持+出口口报运核核心业务务核心业务务:货运运管理第第二个流流程,出出口报运运定义:做国际物物流,货货物要运运往国外外之前,向海关关申报。向海关关申报

15、符符合国家家标准的的货物,和货物物的体积积和重量量信息。除了在在合同中中货物的的基本信信息外,在报运运时新增增7个字段段,长,宽,高高,毛重重,净重重,出口口单价,含税。分次报运运一个可以以可以分分多次来来报运,体现在在运输的的货物数数上。例如:1100000货物物,第一一次报运运运输660000,第二二次报运运运输440000.可以多次次报运,这种情情况很少少。日常常大多是是一次报报运。分析设计计一个出口口报运单单来自多多个购销销合同(一对多多);给给货物信信息新增增的7个字段段的内容容。创建一个个出口报报运单表表冗余设计计将货物信信息冗余余到报运运单下的的货物信信息中。一个实实现读取取数据

16、快快速,减减小业务务的复杂杂度,业业务逻辑辑简单。打断设计计实现跳跳跃查询询避免关联联层级过过多,数数据量大大了后,访问奇奇慢。打打断设计计。(表表设计不不成为文文规定,表之间间的关联联关系不不超过44层)在在设计时时使用一一个虚线线箭头来来表示表表之间是是存在关关联关系系,在设设计时,不是往往常的外外键关系系。利用用一个字字段来存存储主表表和子表表之间的的关系。X,YWherre cconttracct_iid iin (x,y)。经过过打断设设计,表表之间的的关系不不存在,跳跃查查询。无无需查询询合同表表,直接接查询合合同下的的货物表表。(新新增)经过上面面的设计计,后续续业务变变的更加加

17、简单。业务,劳劳保报表表领用周期期不同鞋帽子手套毛巾军大衣洗衣粉饭盒班组110105班组22020360000个单元元格哪个单元元格的内内容进行行修改,代码只只修改修修改的框框。给每每个文本本框增加加一个隐隐藏域。120000个个信息要要提交。本来目目的是优优化,结结果速度度更慢。最终每行行添加一一个隐藏藏域,当当这行的的数据进进行了修修改,在在文本框框的失去去焦点事事件onnBluur,动动态设置置这个隐隐藏域为为1。在修修改代码码时根据据这个值值判断,只有11的时候候,数据据才进行行修改。不是11跳过。批量新增增,增加加一个新新增按钮钮,点一一次调研研一次aaddRRecoord方方法,它

18、它的属性性值,都都为空串串。批量删除除,表格格dhttml提提供删除除行操作作,reemovve,它它把行从从tabble中中删除。数据库库并没有有删除,删除多多个框时时,记录录下它们们的idd值,拼拼成一个个串,用用逗号隔隔开。后后台代码码判断这这个隐藏藏域提交交值不为为空,删删除这几几个数据据。知识回顾顾打断设计计:1.数据据库设计计先按照照三范式式,之后后对一些些需要优优化的地地方,使使用反三三范式设设计(冗冗余)(以空间间换设计计)2.实际际业务非非常复杂杂,关联联层级过过多,随随着系统统上线运运行,用用户的数数据随着着使用的的时间,线性增增长。不不成文规规定:关关联层级级在设计计不超

19、过过4层。打打断设计计,在主主表中加加一个字字段,字字段来存存储两个个表之间间的关系系。多个个的时候候,之间间用逗号号隔开。一般情情况下都都是一次次报运,就是一一个合同同一次报报运,个个别情况况下多个个合同一一次报运运,极端端情况下下3个合同同一次报报运。由于打断断设计,实现“跳跃查查询”。报运需需要合同同下的货货物信息息时,无无需通过过多个合合同对象象,就可可以直接接查询货货物的信信息,通通过这个个打断设设计的字字段,利利用SQQL的in子查查询。核心业务务:货运运管理,出口报报运业务,杰杰信获得得订单后后,安排排多个生生产厂家家生产货货物,与与此同时时杰信准准备报关关的材料料,除了了海关要

20、要求的一一些制式式文档和和杰信系系统打印印的出出口商品品报运单单,交交给海关关进行审审核。页面控制制报运单新新增,暗暗度陈仓仓。用户选择择报运关关联的多多个合同同,代码码直接进进行数据据的保存存。保存存相关合合同的iid集合合,合同同号集合合,保存存冗余的的货物信信息,保保存冗余余的附件件信息。批量修改改Mreccordd自定义义控件,来信息息补录。批量,在页面面上利用用DHTTML动动态表格格技术,实现表表格元素素的动态态增加,动态创创建行,动态创创建单元元格,利利用innnerrHTMML动态态向单元元格插入入文本框框,带数数据的。在后台台准备数数据,拼拼接成jjs串,将它写写入一个个变量

21、中中,在页页面的jjQueery的的reaady事事件中,调用这这个变量量,形成成多个jjs串,依次执执行。动动态添加加到表格格中。由由于jss运行很很快,用用户感觉觉不到添添加的过过程,以以为直接接展示。这样为为用户提提供一个个非常方方便的操操作。可可以批量量来修改改货物信信息。每每行利用用一个隐隐藏域,来存放放是否修修改标识识,这样样在记录录行数过过多时,修改的的效应也也非常高高。Mreccordd控件它它可以实实现动态态新增,还可以以实现批批量删除除,自动动排序。第八天装装箱、委委托、发发票、财财务业务务+合同同归档货运管理理包括:购销合合同、出出口报运运、装箱箱、委托托、发票票、财务务

22、统计。装箱海关批准准杰信的的申请,像船东东申请集集装箱,杰信找找货代公公司请他他帮着订订箱。杰杰信找拖拖车公司司,订拖拖车,拖拖车公司司到码头头拉空箱箱。拉着着空箱到到生产厂厂家的仓仓库。生生产厂家家在杰信信的验货货员的监监督下,先将货货物装到到纸箱子子中,然然后在将将纸箱子子装入集集装箱。拖车拉拉着满箱箱到海关关指定的的码头指指定的地地方卸货货。这几几个箱子子风吹雨雨淋。海海关进行行抽检。直到船船来了。将集装装箱放到到船上。开船从从装运港港出发,到目的的港。装箱时,产生发发票号。同时产产生发票票日期。一个装箱箱单来自自多个报报运单(一对多多)发票,委委托在货物装装船的同同时,杰杰信就开开具发

23、票票,这个个发票只只是一个个通知单单,它的的内容就就是告诉诉客户货货物已经经发出,请支付付剩余款款项。同同时快递递客户一一个提单单。客户户收到发发票通知知后,支支付剩余余款项,同时当当货物到到达目的的港后,客户拿拿着提单单去提货货。客户户联系货货代公司司,联系系拖车公公司,拖拖车拉着着满箱到到客户指指定的仓仓库,卸卸货。客客户验货货,整个个货运流流程完毕毕,杰信信和客户户的合同同完成。财务财务模块块不属于于货运的的业务流流程。它它是杰信信自己内内部进行行财务核核算的模模块。统统计这单单合同有有无赚取取利润。形成统统计报表表给领导导展示。一对一特特殊设计计一个委托托来自一一个发票票,一个个发票来

24、来自一个个委托,一个财财务来自自一个委委托。(一对一一)一对一的的所有表表内容可可以合成成一张表表,结构构不清晰晰,业务务不清晰晰。发票,委委托,财财务表的的主键就就是装箱箱单的IID。上面三张张表,它它们的主主键既外外键。主主外键一一个值。举例,假假定拿到到ID,不不论是装装箱、委委托、发发票、财财务,都都可以查查询它们们其中任任何一个个数据。实现跳跃跃查询。财务需要要货物信信息和附附件信息息,通过过打断设设计,可可以直接接跳过发发票、委委托,直直接找到到装箱,通过装装箱的打打断设计计字段,直接去去搜索报报运下的的货物和和附件信信息。因因为之前前进行了了冗余设设计,财财务所需需的货物物信息和

25、和附件信信息,在在报运中中都有。查询效效率提高高数倍。出口报运运的状态态0-草稿稿 1-已上报报 2-装箱 33-委托托 4-发票 55-财务务体现流程程,客户户随时想想了解订订单进展展情况,流程的的跟踪。在报运运的列表表页面随随时了解解某个合合同进行行到哪里里。数据库优优化数据库表表设计由原来重重视节省省空间,变为重重视性能能。利用用冗余,实现性性能数倍倍提高。表的优化化,监测测数据执执行时间间。分表表1)分字字段(纵纵向分表表)精简简完核心心查询它它只需要要近300个字段段。原来来需要11分多的的查询,现在只只1秒多展展现页面面。2)数据据(横向向分表)一个表表数据量量过大。业务中中有些数

26、数据不常常用,将将这些不不常用的的数据放放到另外外一张表表中,称称这个表表为历史史表。专专门做一一个历史史查询的的模块,提供用用户还可可以查询询。表之间的的关联关关系不要要太复杂杂。打断断设计SQL优优化,在在做复杂杂关联关关系,SSQL优优化极其其重要。Seleect * ffromm coontrractt_c,conntraact_prooducct_cc,exxt_ccprooducct_cc,faactoory_cWherre cconttracct_iid,cconttracct_pprodductt_idd,faactoory_id先找最小小的结果果集,只只查询某某个合同同下的货

27、货物,只只查询某某个货物物下的附附件,只只要查看看这个合合同数据库的的选型单个数据据库优先先选择OOraccle,DB22 集群myysqll,读写写分离,单独读读数据数数据库,单独写写的数据据库Web应应用服务务增加,可以增增大访问问量,同同时分担担数据库库服务器器压力。分表,购购销合同同历史当前的活活动表,它和历历史表的的结构一一样。主模块中中的所有有表,历历史中都都有有。例如:购销合合同,合合同、货货物、附附件都需需要对应应的历史史表。创建doomaiin批量新增增SQLL,JDBBC jjdbccTemmplee spprinng在一个系系统架构构中一般访问问数据两两种方式式hibee

28、rnttatee/myybattis 完成数数据的持持久化:新增,修改,删除,简单查查询jdbcc/jddbcTTemllpatte/ddbuttil批批量操作作,批量量新增,批量修修改,级级联删除除,统计计查询主要框架架来完成成日常业业务,一一般批量量查询使使用jddbc,对于这这些模块块,缓存存就要注注意使用用。有时时不要配配置缓存存。购销合同同归档,取消归归档-合同同表数据据进行归归档INSEERT INTTO cconttracct_hhis_cSELEECT * FFROMM coontrractt_c WHEERE conntraact_id IN (xx,y)-货物物的数据据进行

29、归归档INSEERT INTTO cconttracct_pprodductt_hiis_ccSELEECT * FFROMM coontrractt_prroduuct_c WWHERRE cconttracct_pprodductt_idd INN (SSELEECT conntraact_prooducct_iid FFROMM coontrractt_prroduuct_c WWHERRE cconttracct_iid IIN(x,y)-附件件的数据据进行归归档INSEERT INTTO eext_cprroduuct_hiss_cSELEECT * FFROMM exxt_ccpr

30、ooducct_cc WHHEREE exxt_ccprooducct_iid IIN (SELLECTT exxt_ccprooducct_iid FFROMM exxt_ccprooducct_cc WHHEREE coontrractt_prroduuct_id IN (SEELECCT cconttracct_pprodductt_idd FRROM conntraact_prooducct_cc WHHEREE coontrractt_idd INN(xx,y)-删除除合同DELEETE FROOM cconttracct_ccWHERRE cconttracct_iid IIN (

31、x,yy)-删除除货物DELEETE FROOM cconttracct_pprodductt_cWHERRE cconttracct_pprodductt_idd INN (SSELEECT conntraact_prooducct_iid FFROMM coontrractt_prroduuct_c WWHERRE cconttracct_iid IIN(x,y)-删除除附件DELEETE FROOM eext_cprroduuct_cWHERRE eext_cprroduuct_id IN (SEELECCT eext_cprroduuct_id FROOM eext_cprroduuc

32、t_c WWHERRE cconttracct_pprodductt_idd INN (SSELEECT conntraact_prooducct_iid FFROMM coontrractt_prroduuct_c WWHERRE cconttracct_iid IIN(x,y)知识回顾顾业务:货货运管理理,购销合同同,出口口报运,homme装箱箱单(预预装箱),装箱箱,委托托,发票票(通知知),财财务统计计。【面试】工作流流实现有有什么好好处?杰信系统统实现状状态控制制流程。浏览每步步流程开开始时间间,操作作人,结结束时间间,审核核人突然在流流程步骤骤中增加加一步工作流扩扩充流程程时,非非

33、常方便便,修改改一下流流程图,工作流流自动记记录所有有操作的的人和操操作时间间,操作作意见。状态的的代码配配合工作作流来实实现。状状态采用用常量来来定义,只有新新增加的的状态,才需要要编码。表设计委托,发发票,财财务它们们的表的的主键既既外键,它们的的ID值都都是装箱箱ID。因因为它们们4个的关关系都是是一对一一。关联联时最近近配置,需要前前面业务务数据时时,可以以实现跳跳跃查询询。这样样查询的的效率高高。页面设计计装箱新增增,它需需要在新新增页面面表现装装箱和报报运的关关系。DDiv URLL链接。携带的信信息IDD,cheeckbbox中中;noo也放到到cheeckbbox,用竖杠杠隔开

34、,一个cchecckboox传递递了两个个值,无无需再次次查询数数据库,提升性性能,手手工解串串。(大大量(超超过100个字段段)或者者信息比比较敏感感,不推推荐使用用这种方方法,推推荐还使使用通过过id查找找其他内内容)第九天图图形报表表让微微软都羡羡慕的报报表Javaa要实现现图形报报表都有有什么方方式?jFreeeChhartt 纯javva AAPI,利用生生成一张张图片。exceel 图图形报表表,pooi不能能直接操操作图形形报表控控件。变变相解决决,先做做一个eexceel模板板,插入入好图表表控件,然后利利用pooi动态态设置它它的数据据。用户户打开eexceel,图图表直接接

35、展现。第三方的的报表软软件,可可视化开开发。开开发效率率极高。可视化化布局界界面,配配置数据据源即可可。(SSQL的的结果集集)。收收费。数数巨报表表(100w,每每年服务务费1ww)。做做一个应应用程序序,(CC/S程程序),IE上安安装插件件。兼容容性。amChhartts FFLASSH,只只需要构构建数据据xmll。需要swwf控件件,例如如饼形通通用setttingg.xmml 不不通用的的dataa.xmml、datta.ttxt,xmll格式更更加直观观,不通通用的sqlDDao查查询结果果集的封封装,通通用,工作原理理amChhartts只需需要一次次配置,公用fflassh,

36、改改造inndexx.httml,访问公公用的sswfoobjeect.js和和公用的的flaash swff原来文文件。样样式文件件访问本本地的,这样可可以方便便修改配配置颜色色,坐标标,显示示样式等等。数据据datta.xxml文文件。将将从数据据库中读读取的数数据拼接接成xmml节点点,写入入到这个个文本的的文件中中。转向向jSttat.jspp统一转转向对应应的foorwaard参参数目录录下的iindeex.hhtmll。(注注意:hhtmll浏览器器默认都都有缓存存,在做做inddex.htmml要去去掉缓存存)jFreeeChhartt、exccel、amCCharrts PK比

37、比较jFreeeChhartt 纯javva aapi,缺点:图形非非常粗糙糙,它实实际是利利用jFFreeeChaart apii生成的的图片,表现力力差,专门的apii需要记记忆。生产厂家家销售情情况-饼形图图需求:生产厂家家销售情情况,厂厂家+销售SELEECTf.ffacttoryy_naame,cp.summnummFROMM(SELLECTT faactoory_id,facctorry_nnamee FRROM facctorry_cc WHHEREE sttatee=1) fLEFTT JOOIN (SELEECT facctorry_iid,SSUM(cnuumbeer) A

38、S summnumm FRROM conntraact_prooducct_ccGROUUP BBY ffacttoryy_idd) cppON ff.faactoory_id=cp.facctorry_iidWHERRE ccp.ssumnnum IS NOTT nuull产品销售售排行-柱状图图需求:产品销售售情况,畅销的的产品的的前100名,产产品+销售SELEECT prooducct_nno,SSUM(cnuumbeer) AS summnumm FRROM conntraact_prooducct_ccGROUUP BBY pprodductt_noo ORRDERR BYY su

39、umnuum DDESCCLIMIIT 110系统访问问压力图图-曲线图图需求:系系统访问问压力图图记录用户户登陆系系统,就就记录一一条统计每天天登陆系系统的次次数SELEECT SUBBSTRRINGG(looginn_tiime,1,110),COUUNT(loggin_timme) FROOM llogiin_llog_pGROUUP BBY SSUBSSTRIING(loggin_timme,11,100)统计244小时系系统访问问的次数数当数据不不够时,利用临临时表凑凑数据SELEECTt.aa1,IIFNUULL(p.ccounntnuum,00) AAS ccounntnuumF

40、ROMM(SELLECTT a11 FRROM onllinee_t) ttLEFTT JOOIN(SELEECT SUBBSTRRINGG(looginn_tiime,12,2) AS a1,COUUNT(loggin_timme) AS couuntnnum FROOM llogiin_llog_pGROUUP BBY SSUBSSTRIING(loggin_timme,112,22) pON tt.a11=p.a1总结:图形报表表业界已已经相当当成熟,提出公公用,称称作报表表引擎。系统的监监控,系系统想知知道系统统的访问问瓶颈在在哪里?需求系统瓶颈颈是指,访问最最长时间间,写数数据操作作

41、,写磁磁盘文件件操作。都比较较耗时,用户体体验不好好。找出系统统这些操操作慢的的地方,分析原因因优化,用用户使用用频繁模模块,对对其优化化实现一个个性能监监控的程程序早期使用用继承方方式记录开始始时间,记录结结束时间间,结束束时间-开始时时间=耗时写到日志志文件中中,写到到数据库库中拦截器配置spprinngmvvc拦截截器,记记录开始始时间,结束时时间,打打日志。开发步骤骤写一个拦拦截器,实现一一个接口口HanndleerInnterrcepptorr实现共用用的变量量,安全全性配置spprinngmvvc拦截截器配置置,sprringgmvcc-seervllet.xmllpackkage

42、e cnn.ittcasst.jjk.iinteerceeptoor;impoort javvax.serrvleet.hhttpp.HtttpSServvlettReqquesst;impoort javvax.serrvleet.hhttpp.HtttpSServvlettRessponnse;impoort orgg.spprinngfrrameeworrk.ccoree.NaameddThrreaddLoccal;impoort orgg.spprinngfrrameeworrk.wweb.serrvleet.HHanddlerrIntterccepttor;impoort orgg.

43、spprinngfrrameeworrk.wweb.serrvleet.MModeelAnndViiew;impoort commmonn.Looggeer;/功能能:实现现对所有有类方法法执行时时间的监监控publlic claass TimmeInnterrcepptorr immpleemennts HanndleerInnterrcepptorr /引引入loog4jj日志priivatte sstattic Logggerr loog = Looggeer.ggetLLoggger(TimmeInnterrcepptorr.cllasss);/利利用ThhreaadLoocall绑定

44、一一个变量量,完成成线程安安全NammedTThreeadLLocaal sstarrtTiimeTThreeadLLocaal = neew NNameedThhreaadLoocall(sstarrtTiimeTThreeadLLocaal);/处处理类之之前,执执行prreHaandlle方法法Ovverrrideepubblicc boooleean preeHanndlee(HtttpSServvlettReqquesst rrequuestt,HtttpSeervlletRRespponsse rrespponsse, Objjectt haandller) thhrowws EE

45、xceeptiion lonng sstarrtTiime = SSysttem.currrenntTiimeMMilllis();/记录录当前时时间staartTTimeeThrreaddLoccal.sett(sttarttTimme);/绑定定变量retturnn trrue;/处处理类之之后,执执行poostHHanddlerr方法Ovverrrideepubblicc vooid posstHaandlle(HHttppSerrvleetReequeest reqquesst,HtttpSeervlletRRespponsse rrespponsse, Objjectt haandl

46、ler,ModdelAAndVVieww moodellAnddVieew) thrrowss Exxcepptioon lonng sstoppTimme = Syysteem.ccurrrenttTimmeMiilliis();/记录录结束时时间logg.innfo(Strringg.foormaat(%s exeecutte %d mms.,reequeest.gettReqquesstURRI(), sstoppTimme - sttarttTimmeThhreaadLoocall.geet();/所所有的动动作完成成,执行行一些方方法Ovverrrideepubblicc vooid

47、 aftterCCompplettionn(HtttpSServvlettReqquesst rrequuestt,HtttpSeervlletRRespponsse rrespponsse, Objjectt haandller, Exxcepptioon eex)thrrowss Exxcepptioon / TODDO AAutoo-geenerrateed mmethhod stuubspriimgmmvc-serrvleet.xxml中中配置项目中使使用Loog4jj导入jaar包配置loog4jj.prropeertiieslog44j.rroottLogggerr=DEEBUGG

48、, sstdoout配置日志志级别 OFFF,FAANILL,ERRRORR,WAARN,INFFO,DDEBUUG,TTRACCE,AALL 提供8个级别别,loog4jj推荐开开发者使使用4个级别别:ERROOR:错错误信息息,trry,cattch抛抛出异常常,loog.eerroor(“”),WARRN:警警告信息息INFOO:提示示DEBUUG:BUGG很多时时候,监监控过程程变量,调试顺序级别别,级别别由低到到高,高高级别的的信息会会包含打打印低级级别的信信息。Stouut输出出地点,包括:控制台台,文件件,数据据库log44j.rroottLogggerr=DEEBUGG, ss

49、tdoout#Connsollelog44j.aappeendeer.sstdoout=orgg.appachhe.llog44j.CConssoleeApppendderlog44j.aappeendeer.sstdoout.layyoutt=orrg.aapacche.logg4j.PattterrnLaayouutlog44j.aappeendeer.sstdoout.layyoutt.CoonveersiionPPattternn=%-5p - %m%nn#LoggFillelog44j.aappeendeer.ffilee=orrg.aapacche.logg4j.FilleAppp

50、ennderrlog44j.aappeendeer.ffilee.Fiile=./loggs/jjkloog.lloglog44j.aappeendeer.ffilee.laayouut=oorg.apaachee.loog4jj.PaatteernLLayooutlog44j.aappeendeer.ffilee.laayouut.CConvverssionnPattterrn=%dAABSOOLUTTE %5pp %cc1:%LL - %m%ng.appachhe=IINFOO.itccastt.jkk=DEEBUGG调用方法法:publlic claass TimmeInnterrcep

51、ptorr immpleemennts HanndleerInnterrcepptorr /引引入loog4jj日志priivatte sstattic Logggerr loog = Looggeer.ggetLLoggger(TimmeInnterrcepptorr.cllasss);类中类似似Sysstemm.ouut.pprinntlnn()logg.innfo(Strringg.foormaat(%s exeecutte %d mms.,reequeest.gettReqquesstURRI(), sstoppTimme - sttarttTimmeThhreaadLoocall.g

52、eet();POI导导入直接读取取文件内内容,形形成SQQL语句句,批量量插入数数据库。导入时,exccel文文档它单单元格有有类型。类型,根根据不同同的类型型拼接不不同的ssql模板,自自己定义义一个模模板,让让用户将将数据导导入。模模板要设设置将所所有的单单元格设设置为文文本类型型,导入入的数据据就都是是文本。没有通用用性,要要根据具具体业务务做一个个这样类类。插入SQQL语句句。知识回顾顾项目统计计分析核核心模块块软件的核核心价值值:举例:了了解杰信信有哪些些现有的的产品畅畅销,VVIP客客户,什什么产品品滞销。指导企企业经营营。为企业经经营决策策提供数数据支持持。在基础数数据中挖挖掘有

53、价价值的信信息。再再次提炼炼。 数据挖挖掘。图表报表表第三方报报表,用用户展现现效果最最好,功功能齐全全,开发发效果。收费jFreeeChhartt 古老老,appi繁杂杂,开发发效率不不高,生生成图片片jRepportt 复杂杂exceel (企业中中常采用用)javaascrriptt ammChaartss (收收费)amChhartts FFlasshamChhartts FFlassh 表表现力酷酷炫,使使用最简简单,SQL的的数据源源动态生成成datta.xxml图形报表表常见饼形图柱状图曲线图第十天整整合AppachheCXXF实现现WebbSerrvicce服务务CXF apa

54、achee weebseerviice简单快捷捷的开发发一个wweb serrvicce程序序需求:杰信系统统是一个个内部使使用的业业务系统统,VPN 企业向向电信申申请在iinteer网上上的内部部网。客户实时时了解订订单情况况,了解解订单走走到货运运流程的的哪一步步。原先:客客户给销销售打电电话,销销售人员员询问公公司同事事,问船船务。船船务回馈馈信息。给客户系系统提供供一个wwebsservvicee服务,让他能能实时查查询订单单的状态态,实现上面面的要求求,在出出口报运运中提供供这个wweb serrvicce服务务。将出口报报运查看看发布成成WebbSerrvicce服务务,在这这里

55、客户户可以随随时查看看出口报报运单,查看订订单的流流程。开发步骤骤:引入appachhe ccxf jarrorgg.appachhe.ccxfcxff-rtt-frronttendd-jaaxwss3.00.0-millesttonee2orgg.appachhe.ccxfcxff-rtt-trranssporrts-htttp3.00.0-millesttonee2orgg.appachhe.ccxfcxff-rtt-trranssporrts-htttp-jjettty3.00.0-millesttonee2改造出口口报运单单Serrvicce为WebbSerrvicceWebSServ

56、vicee公开方方法中的的参数不不能使接接口,必必须实现现类。类改造为为:WebbSerrviccepubllic claass ConntraactSServviceeImppl iimpllemeentss CoontrracttSerrvicce 将不需要要公开的的方法设设置为WebbMetthodd(exxcluude=truue)实体poo对象,必须序序列化publlic claass Expportt immpleemennts Serriallizaablee配置cxxf-sservvlett.xmml 配配置文件件 Web.xmll配置ccxforgg.appachhe.ccx

57、f.traanspportt.seervllet.CXFFSerrvleetconnfigg-loocattionncllassspatth:ccxf-serrvleet.xxmlccxf/ccxf/*发布服务务 wssdl WebbSerrvicce说明明书 HYPERLINK http:/localhost/jk/cxf/ExportServiceImpl?wsdl httpp:/loccalhhostt/jkk/cxxf/EExpoortSServviceeImppl?wwsdll模拟调用用这个wwebSServvicee服务 aajaxx SSOAPP xmmlvarr xmmlHtt

58、tpRRequuestt = neww AcctivveXOObjeect(Miicroosofft.XXMLHHTTPP);funnctiion senndMssg()/*1.创创建ajjax对对象 XXMLHHTTPP2.打打开一个个链接oopenn(PPOSTT,uurl,truue)3.ssoapp xmml rrequuestt4.设设置reequeestHHeadder请请求头5.回回调函数数,处理理返回的的xmll,将信信息展现现到页面面6.ssendd(xmml)*/varr fiindIId = doocummentt.geetEllemeentBByIdd(ffinddId

59、).vvaluue;finndIdd = %+fiindIId+%;if(finndIdd=nnulll)aleert(请输输入编号号);retturnn faalsee;varr reequeestBBodyy = + +fiindIId+varr urrl = $cttx/cxff/ExxporrtSeerviiceIImpll;xmllHtttpReequeest.opeen(POSST, urrl , trrue);xmllHtttpReequeest.settReqquesstHeeadeer(Conntennt-TTypee,texxt/xxml;chaarseet=uutf-8;

60、);xmllHtttpReequeest.onrreaddysttateechaangee = _baack;xmllHtttpReequeest.sennd(rrequuesttBoddy);funnctiion _baack()if(xmllHtttpReequeest.reaadySStatte=4)/处理理完成if(xmllHtttpReequeest.staatuss=2200)varr reetxmml = xmmlHtttpRRequuestt.reespoonseeXMLL;/返回回的XMML内容容varr reet = reetxmml.ggetEElemmenttsByyT

温馨提示

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

评论

0/150

提交评论