




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在线公交查询平台的设计与实现摘要为了提高人们的生活质量,让人们的出行更加方便,我决定开发在线公交查询平台。城市公交在人们的日常生活出行中有着不可代替的作用,它是与民生和社会发展有关的重要的基础社会设施。它可以帮助出行的人们及时获取公交车信息,帮助人们顺利的出行。这次所开发的课题是城市在线公交查询平台,为了实现这个课题,我使用的技术是Spring+SpringMVC+Mybaties构架,用IDEA开发工具使用Java编程语言来实现了平台的主要功能和前端的界面设计,数据库采用了MySQL数据库管理数据.首先要先分析用户的需求和客观条件的限,然后设计平台的各个功能,最后敲写代码实现功能。关键词:SpringMVC;Mybaties;公交车查询;目录目录TOC\o"1-3"\h\u10285摘要 I10857插图清单 IV25663表格清单 V108281引言 176601.1研究背景及意义 1205791.2国内外发展现状及趋势 1135431.2.1国内外发展现状 1265801.2.2发展趋势 1289422平台需求分析 2258682.1可行性分析 2145932.1.1经济可行性 2206142.1.2技术可行性 297892.1.3操作可行性 233152.2平台需求分析 2110582.2.1业务流分析 3316142.2.2数据流分析 4253312.2.3数据字典 4223282.2.4数据库需求分析 480432.3接口分析 5104921.登录失败 5128632.帐号不存在 5325783平台概要设计 735283.1平台总体设计结构 7127303.2数据库表设计 817343.2.1ER图 8303833.2.2数据表设计 812083.2.3表汇总 91243.3平台出错处理设计 976884平台详细设计 10193454.1平台乘车模块 1018015、Java部分 1418920结论与展望 2021816参考文献 22插图清单图2-1在线公交查询平台业务流图 3图2-2在线公交查询平台数据流图 4图3-1在线公交查询平台总体结构设计功能图 6图3-2在线公交查询平台的E-R图 7图4-1登录查询流程图 10图4-2平台登录首页图 11图4-3用户操作流程图 13表格清单表2-1用户数据模型表 4表2-2登录接口表 6表3-1用户表 9表3-2出错处理设计表 101引言1.1研究背景及意义随着中国的发展,城市中的公交车数量也在不断增加,我们要是来到一个不熟悉的地方乘坐公交车一开始是一个很不方便的事情,你不知道哪些公交车通向哪里,给人们带来了极大的不便。因此,结合实际操作,开发出合适的在线公交查询平台可以使人们的出行变得更加方便,因为它可以让人们不必亲自去公交车站台查看信息。在线公交查询平台的现状分析:由于中国人口过多在上班下班高峰期交通拥堵,同时为了减少污染,提倡乘坐公交车。目前来看,在线公交查询平台至少具有以下功能:站点信息查询,公交车车号查询和站到站之间的路径查询,它不仅可以查询每条线路的起停站,还可以进行分析是否进行换乘。1.2国内外发展现状及趋势1.2.1国内外发展现状(1)国内发展现状随着中国的发展,目前公交车基本覆盖了我国的所有县级以上的城市,但部分不发达的城市是没有在线公交查询平台的,主要有两个原因,一是政府没有多余的资金来开发,二是公交线路少。而在大一些的城市中虽然有在线公交查询平台,但总是有着一些缺陷。具体来说,国内在线公交查询平台市场需求较大,前景广阔。未来在线公交查询平台市场一定会发展的更好。(2)国外发展现状美国在20世纪60年代以后开始研究公共交通调查平台,日本和欧洲在20世纪70年代后期开始研究。2000年,发达国家基本实现了国家运输的智能化管理。与内部开发相比,外部开发更加合理。在这些国家公共交通产业发展的理由各种各样。第一类是依赖汽车开发的城市。美国等发达国家虽然汽车拥有率和利用率高,但越来越受到能源不足的影响。在泰国等发展中国家,人均汽车拥有度与发达国家有很大不同,但汽车的拥有和使用没有限制,远远超过了道路网和环境的可访问性。第二类是汽车和铁路运输同步发达的城市,如英国伦敦、法国巴黎、东京、日本大阪等。人们更加喜欢乘坐公共交通,这能让他们节约更多的时间。第三大城市为了支持新加坡和香港等城市的高密度开发,主要依赖公共交通工具封锁了车辆的发展和使用。面对交通拥堵的严重问题,世界所有国家都在积极探索流量的有效模式。美国采取TOD模式和新的城市主义模式,在运输中发挥主导作用,协调交通与土地利用的关系,促进城市开发与城市交通的合作。在英国伦敦,公共汽车道的整备、优先区域的整备、停车场的奖励、中部的移动和拥挤等对策,形成了开发公共交通工具的有效方法。东京积极实施以铁路运输为重点的公共交通优先开发战略,铁路运输成为大部分东京市民的首选,有效缓解了交通拥堵。1.2.2发展趋势互联网普及率超过六成,移动互联网使用持续深化。截至2019年6月,我国网民规模达8.54亿,较2018年底增长2598万,互联网普及率达61.2%,较2018年底提升1.6个百分点;我国手机网民规模达8.47亿,较2018年底增长2984万,网民使用手机上网的比例达99.1%,较2018年底提升0.5个百分点。与五年前相比,移动宽带平均下载速率提升约6倍,手机上网流量资费水平降幅超90%。“提速降费”推动移动互联网流量大幅增长,用户月均使用移动流量达7.2GB,为全球平均水平的1.2倍;移动互联网接入流量消费达553.9亿GB,同比增长107.3%。随着中国的高数量经济发展逐渐转变为高质量发展,人们也越来越注重生活的品质,为了减少对环境的污染,以及公共交通的方便,未来在线公交查询平台一定会发展的更加好,同时现在智能化的普及越来越高。未来在线公交查询平台一定会愈加趋向于智能化,这样不但可以在线公交查询平台的操作更加简单,还可以使在线公交查询平台的查询更加高效。2平台需求分析2.1可行性分析我们为什么要可行性分析。主要的目的是对软件进行全方位,多角度的评估,以判断软件开发的所用的技术能否支持软件功能的成功实现和软件开发所需的金钱能否在软件成功开发之后收回。通过分析结果,再来判断是否开发软件。2.1.1经济可行性经济可行性,是为了验证项目是否能带回足够的收益,或者我们是否有足够的金钱把项目开发完成。成本上看来,开发及平台所需的就是一台电脑,安装一些应用软件,只有敲写代码会占用大量时间。从收益来看:本项目并没有任何物质上的收益,主要是用来验证自己的能力。2.1.2技术可行性本平台主要是开发网上在线公交查询平台,在数据库中输入公交车信息、站台信息,用户通过需求查询信息。另一方面,本平台使用的开发工具使用的为IDEA,开发框架采用的是Spring+SpringMVC+Mybaties,数据库使用的是开源的MySQL,技术较为简单。在大学期间系统学过网页设计和网站搭建知识,具备一定的网页设计和网站搭建能力。故本系统技术层面可行性也具有通过在学校学习的知识来完成这次考验。2.1.3操作可行性面对第一次操作本平台的用户。我特意设计了一份用户手册可以帮助用户了解它的功能。所以,在操作上是可行的。2.2平台需求分析需求分析实现的目标:是将软件用户对于软件的一系列意图、想法转变为软件开发人员所需要的有关软件的技术规格,但实际上这具有相当大的难度。需求分析的步骤:需求获取、需求建模和细化、需求文档和需求验证。1、需求获取(需求类别、需求获取的方式)项目经过前期的确认以后,在需求分析阶段获取的需求,与项目前期获取的需求有所不同。需求类别:用户需求、功能需求、非功能需求2、需求建模并细化(1)结构化方法分析建模:结构化思想下,系统体现为“程序”+"数据",目标系统的系统分析逻辑模型由数据流图和数据字典来描述。(2)面向对象方法分析建模:面向对象方法下,目标系统的系统分析逻辑由用例模型(用例图+用例流程图)+分析类模型构成。数据流图:是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法。数据字典:是被用来对数据流图中的加工和数据(数据流)进行补充说明,对数据流中出现的图形元素做出确切的解释。3、需求文档化需要文档是后续的软件设计和测试的重要依据,需求文档应该具有清晰性、无二义性和准确性,并且能够全面和准确地描述用户需求。4、需求验证需求验证是对需求分析的成果进行评估和验证。二、结构化方法的需求分析结构化方法的需求分析由数据流图及数据字典构成。1、数据流图有四种基本符号:正方形或立方体、圆角矩形或圆形、开口矩形或两条平行线、箭头。正方形或立方体:表示数据的源点或终点圆角矩形或圆形:表示变换数据的处理开口矩形或两条平行线:表示数据存储箭头:表示数据流2、数据字典一般应包括对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述。三、面向对象的需求分析面向对象的需求分析,基于面向对象的思想,以用例模型为基础。参与者:表示与系统进行交互的用户或外部系统,使用系统的对象用例:指外部可见的系统功能,对系统提供的服务进行描述关联:表示参与者与用例之间的通信,任何一方都可发送或接受消息泛化:是通常理解的继承关系包含:指一个较复杂用例所表示的功能分解成较小的步骤扩展:把用例功能的延伸,相当于为基础用例提供一个附加功能系统:表示一个物体或一项活动2.2.1业务流分析在线公交查询平台用户通登录使用。未登录时不能执行等相关操作,当用户注册登录之后,进入平台就可以对公交车的信息和站台的信息进行查询、搜索等操作,还可以查看修改用户的私人信息进,并且可以修改自己的登录密码。管理员可以通过后台对用户、公交车、站台进行增删改查操作,操作完成的数据都将实时保存到MySQL数据库中。在线公交查询平台的业务流图如图2-1所示图2-1在线公交查询平台业务流图2.2.2数据流分析通过数据流分析可以帮助我们弄清楚平台是如何操纵数据的。在线公交查询平台的数据流是通过用户操作在线公交查询平台来进行流向的,该平台数据的流向最主要的特征是它是双向流动的,想要查看展示的数据必须依赖用户的操作。在线公交查询平台流图如图3-2所示。图2-2在线公交查询平台数据流图2.2.3数据字典数据字典之中数据最主要的来源,与其他数据之间关系等的存储。数据字典的建立一般是在开发平台之前,它的主要作用是提高开发的效率,将数据共享,快速的帮助开发人员了解,找到所需要的信息,当开发人员和维护人员遇到了一个陌生的项目时,他们可以通过使用数据字典快速了解想要的信息,例如数据类型和相关的文本描述。这些解释可以减少数据之间的不兼容性。如表2-1所示。表2-1公交车数据模型表数据项存储名用户信息数据项来源公交车信息表数据项去向查询公交车信息模块数据项组成用户信息=公交车id+公交车编号+车牌号+公交车线路号+添加时间数据项描述保存了公交车的基本信息2.2.4数据库需求分析在线公交查询平台使用的是开源的MySQL数据库,MySQL可以用于主流的编程语言,对于各种编程语言都有良好的兼容性,在Java开发中十分常用。同时MySQL数据库可以永久性保持数据,使用SQL语句可以更加快捷查询、修改数据。而且MySQL是开源免费的,十分方便扩展。同时为了能让开发人员更好的了解数据库中表的字段意义,数据库所有命名均遵循见名知意的原则,在本平台中使用拼音为表和字段命名,例如,公交车信息表被命名为,gongjiaochexinxi。2.3接口分析优秀的接口设计能帮助我们有效的降低系统中各个部分之间的相互依赖,提高系统的性能。所以接口分析也是也开发软件中必不可少的一环。接口的作用在各个项目中都能体现出来,不一定非要体现在开发大型软件上,在小型的软件开发上使用接口一样可以可以提升软件的性能,降低系统的耦合度。但不同的是,在大型的软件开发中,接口设计远比小型软件开发重要的多,需要大量的人手来设计
同时接口有一个很好的的优点就是可以多重继承,在面对一个类已经继承了一个类后,如果再想为他增加新的规范,我们可以再为它继承一个接口。接口在软件开发中是十分重要的,我们要重视起来。接口说明:提供登录系统时,输入帐号、密码等信息,完成用户登录并返回用户相关身份信息,以及系统配置的部分服务开关信息。如表2-2登录接口表所示表2-2登录接口表输入项必输(Y/N)说明YonghuzganghuY账户MimaY密码YanzhengmaY验证码异常输出信息如下:1.登录失败<output><message><result>user</result><description>登录失败</description></message><data></data></output>2.帐号不存在<output><message><result>nouser</result><description>帐号不存在</description></message><data></data></output>2.4开发环境2.4.1硬件一台安装了Windows操作系统的电脑。2.4.2软件1.IDEAIDEA代表IntelliJIDEA,这是一个与Java语言开发链接的环境。IntelliJ是业界最好的Java开发工具,尤其是在智能键入,自动代码,响应,JavaEE支持,各种发布工具(git,svn等),JUnit,CVS集成,代码分析和创新方面。可以认为是不寻常的。IDEA是JetBrains的产品。该公司总部位于捷克共和国首都布拉格,其开发商主要是东欧计划的开发商。它的受欢迎程度还支持HTML,CSS,PHP,MySQL,Python等。2.MySQL数据库在线公交查询平台使用的是开源的MySQL数据库,MySQL可以用于主流的编程语言,对于各种编程语言都有良好的兼容性,在Java开发中十分常用。同时MySQL数据库可以永久性保持数据,使用SQL语句可以更加快捷查询、修改数据。而且MySQL是开源免费的,十分方便扩展。MySQL数据库服务是一项完全托管的数据库服务,使开发人员可以使用世界上最受欢迎的开源数据库快速开发和部署安全的云本机应用程序。MySQL数据库服务是唯一具有集成的高性能分析引擎HeatWave的MySQL云服务,该引擎使客户能够直接针对其可操作的MySQL数据库运行复杂的分析,而无需进行复杂,耗时且昂贵的数据移动和与单独的分析数据库集成。MySQL数据库服务已针对Oracle云基础架构(OCI)进行了优化并独家提供,由Oracle云基础架构和MySQL工程团队100%构建,管理和支持。
2.5开发技术2.5.1前端1.HTML语言HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等[2]。HTML是超文本标记语言英文名称是HyperTextMarkupLanguage。超文本标记语言是指web页面上显示的不同部分的符号。HTML是TimBerners-Lee和他的同事DanielW.Connolly在1990年发明的标记语言。用HTML编写的超文本文档称为HTML文档,可以独立于UNIX、Windows等各种操作系统平台使用,在操作系统中通过浏览器可以查看HTML文档。CSS层叠样式表(CSS):定义HTML结构风格的语言,如字体、颜色、位置等,用于描述web页面上的信息显示。CSS格式可以直接存储在HTML文档中,也可以存储在CSS格式下的单个文件中。CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力[3]。从而使得网页更加美观,视觉效果更佳。3.JavaScriptJavaScript是一种即时编译的编程语言。JavaScript被称为web页面开发脚本语言,它提供web页面连接到不同的操作和交互式运动,提高交互式和服务,使web页面具有吸引力。JavaScript是世界上使用人数最多的程序语言之一,几乎每一个普通用户的电脑上都存在JavaScript程序的影子。2.5.2后端1.SpringSpring使每个人都可以更快,更轻松,更安全地进行Java编程。Spring对速度,简单性和生产率的关注使其成为世界上最受欢迎的Java框架。Spring灵活而全面的扩展集和第三方库使开发人员可以构建几乎任何可以想象的应用程序。SpringFramework的核心控制反转(IoC)和依赖注入(DI)功能为广泛的功能集提供了基础。无论您是为Web构建安全的,反应性的,基于云的微服务,还是为企业构建复杂的流数据流,Spring都可以提供帮助的工具。SpringMVCSpringMVC是Spring提供给Web应用的框架设计。SpringMVC是一个典型的教科书式的mvc构架,不像Struts等都是变种或者不是完全基于mvc系统的框架。SpringMVC角色划分清晰,分工明细,并且和Spring框架无缝结合。作为当今业界最主流的Web开发框架,SpringMVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。这套SpringMVC入门教程对SpringMVC框架进行详细讲解,内容细致、讲解清晰。还包含了大量实例,帮助读者巩固所学知识,提高编程能力。非常适合Web开发者和想要使用SpringMVC开发基于Java的Web应用的读者阅读。MybatisMyBatis是一款非常出色的持久层框架,它最初来源于apache的一个在开发的项目iBatis但是后来这个项目被转移到了谷歌,所以改名为MyBatis。MyBatis的主要功能是帮助程序员调用数据库中的数据,MyBatis支持普通的sql语句。使用MyBatis可以帮助我们更加方便的连接数据库,它使我们不用在敲写复杂的JDBC代码,我们只需要在xml文件里就可以获得数据库中的数据。3平台概要设计平台总体设计结构本阶段已在系统需求分析的基础上,对应用系统做概要设计。主要解决了实现该系统需求的程序模块设计问题,包括该系统模块设计、各模块之间的接口设计、数据库设计、角色设计、权限设计、日志设计等。在下一阶段的详细设计中,程序设计人员可参考此概要设计文档,在概要设计对应用系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计思路或在修改时找出在本阶段设计的不足或缺陷。在这次在线公交查询平台之中,登陆时根据所赋予的权限不同,系统将用户划分为普通用户和管理员用户。普通用户登录之后可以查看修改个人信息、查询站台信息、查询公交车信息、查询两站台之间的线路。管理员用户登录之后可以使用以下的功能,增加管理员的用户、增删改查普通用户。增删改查公交车信息,增删改查站台信息。在线公交查询平台总体结构设计功能图如下所示。图3-1在线公交查询平台总体结构设计功能图3.2数据库表设计3.2.1ER图数据库中划分了五张表,分别为用户表、管理员表、公交车信息表、站点信息表、公交车线路信息表。在线公交查询平台的E-R图如下所示。图3-2在线公交查询平台的E-R图3.2.2数据表设计在软件开发中,数据库是十分重要的一环数据库保存着系统所需要的消息,我们通常使用数据库管理系统来管理数据库。数据库系统一般分为四个部分:数据、硬件、软件和人员。在数据库中使数据有条理的的储存是数据库系统的用处。这可以提升数据库运行的速度,是查询数据的效率变高,间接的提升开发软件的效率。而如何是数据有条理的存放,最基础的就是建表。建立数据库中的表,我们要尽可能的遵循设计表的三大范式和无大约束。这样可以减小数据的亢余。在设计数据库的开始阶段,我们应先根据平台需求,定义在平台中有哪些实体,并赋予它们属性,然后根据实体之间的关系绘制E-R图,再把E-R图转换为对应的几张表。(1)设计用户表,如表3-1所示。表3-1用户表字段名类型描述idBIGINT用户idYonghumingVARCHAR2(255)用户账户MimaVARCHAR2(255)用户密码XingmingVARCHAR2(255)用户姓名ShoujiInt用户手机号AddtimeVARCHAR2(255)创建时间3.2.3表汇总表3-2汇总表序号表名描述信息1Admin管理员账户和个人信息2Yonghu用户个人信息和账户密码3Gongjiaochexinxi公交车信息4Zhantaixinxi站台信息5Gongjiaochexianluxinxi公交车途径站点3.3平台出错处理设计本模块主要是针对出错的一些信息的处理方式,如表3-2所示。表3-2出错处理设计表序号出错名称平台输出信息处理方法1验证码输入错误“验证码出错!”进入登录页面。2密码错误“登录失败!”进入登录页面
4平台详细设计4.1用户模块平台乘车实现流程图如下所示。用户注册之后通过注册账户登录,然后进入到在线公交查询平台首页。通过左侧的功能栏选择功能。图4-1登录实现流程图4.1.1用户登录功能用户进入登录界面如果用户没有账户,先注册账户,然后通过输入账号密码和验证码进入到首页。登录界面如下图所示4.1.2用户查询站台功能用户进入查询站台界面,界面会在进入的时候从数据库中调取所有站台信息,同时将数据在前端界面中展示出来。4.1.3用户查询公交车信息功能用户进入查询公交车界面,界面会在进入的时候从数据库中调取所有公交车信息,同时将数据在前端界面中展示出来。4.1.4用户查询两站点之间的路径功能用户进入查询两站点之间的路径界面之后,输入你的出发点和目的地,传入后端之后,后端判断两个输入框不为空,然后调用example对象,使用sql语句在数据库中找到符合的对象,若未找到返回为空。平台乘车页如下图所示。图4-2平台乘车页图(3)核心代码展示publicStringlist(Modelmodel)throwsIOException{if(!checkLogin()){returnshowError("尚未登录","./login.do");}//Stringwhere="1=1";if(!Request.get("qishizhandian").equals("")&&!Request.get("mobanzhandian").equals("")){Listxinxi=newArrayList();intb=0;inta=0;intu=0;Zhandianxinxiqishizhandian=newZhandianxinxi();Zhandianxinximudizhandian=newZhandianxinxi();Zhandianxinxihuanchengzhandian=newZhandianxinxi();Exampleexample=newExample(Zhandianxinxi.class);Example.Criteriacriteria=example.createCriteria();criteria.andCondition(where);List<Zhandianxinxi>list=service1.select();for(inti=0;i<list.size();i++){if(request.getParameter("qishizhandian").equals(list.get(i).getZhandianmingcheng())){qishizhandian=list.get(i);a++;}if(request.getParameter("mobanzhandian").equals(list.get(i).getZhandianmingcheng())){mudizhandian=list.get(i);a++;}}if(a==2){String[]number1=qishizhandian.getZhandianchehao().split("-");String[]number2=mudizhandian.getZhandianchehao().split("-");for(inti=0;i<number1.length;i++){for(intj=0;j<number2.length;j++){if(number1[i].equals(number2[j])){xinxi.add("乘坐");xinxi.add(number1[i]+"号车");xinxi.add("从"+qishizhandian.getZhandianmingcheng()+"出发");xinxi.add("到"+mudizhandian.getZhandianmingcheng()+"下车");}}}if(xinxi.size()==0){List<Zhandianxinxi>list1=newArrayList<>();for(intk=0;k<number1.length;k++){for(intl=0;l<number2.length;l++){where="zhandianchehaoLIKE'%"+number1[k]+"%'"+"ANDzhandianchehaoLIKE'%"+number2[l]+"%'";criteria.andCondition(where);list1=service1.selectPageExample(example,1,12);if(list1.size()!=0){xinxi.add("乘坐");xinxi.add(number1[k]+"号车");xinxi.add("从"+qishizhandian.getZhandianmingcheng()+"出发");xinxi.add("到"+mudizhandian.getZhandianmingcheng()+"下车");}}}if(list1.size()!=0){for(inth=0;h<list1.size();h++){xinxi.add(list1.get(h).getZhandianmingcheng());}}}}assign("list",xinxi);}4.1.5用户查看修改个人信息功能用户进入个人信息页面之后,后段通过用户的id从数据库中调取用户的信息并返回到前端界面,用户修改信息之后,前端将用户信息传入后端,后端调用sql语句将以前的用户信息删除,再插入新的用户信息。4.1.6用户修改密码功能用户进入修改密码界面后,首先要先成功输入两次原密码后才能输入修改密码4.2管理员模块4.2.1增删改查管理员信息功能管理员进入界面后,可以执行对管理员信息的增删改查功能,如下图所示。4.2.2增删改查用户信息功能管理员进入界面后,可以执行对用户信息的增删改查功能,如下图所示。4.2.3增删改查站台信息功能管理员进入界面后,可以执行对站台信息的增删改查功能,如下图所示4.2.4增删改查公交车信息功能管理员进入界面后,可以执行对公交车信息的增删改查功能,如下图所示4.2.5公交线路增删改查功能管理员进入界面后,可以执行对公交车线路信息的增删改查功能,如下图所示4.3分页功能Java代码StringviewSQL="rmationId,rmationTitle,rmationKits,rmationIssuer,"+"rmationVersion,rmationIssueTime,rmationSummary,rmationHead,"+"rmationType,rmationCommonNum,bbb.channelName,bbb.channelId,aaa.titleColor,"+"aaa.isConf,aaa.documentNo,aaa.transmitToEzsite,rmationModifyTime,aaa.orderCode,"+"rmationIssueOrg,rmationIsCommend,bbb.channelType,rmationIssuerId,"+"bbb.channelNeedCheckup,aaa.dossierStatus,bbb.channelNeedCheckupForModi,rmationValidType,"+"aaa.validBeginTime,aaa.validEndTime";if(request.getParameter("retrievalAction")!=null&&request.getParameter("retrievalAction").toString().equals("1")){viewSQL+=",rmationContent";}Stringrelation=request.getParameter("relation")==null?"":request.getParameter("relation");StringfromSQL="";if("1".equals(relation)){ fromSQL="manager.po.InformationPOaaajoinrmationChannelbbb,com.whir.ezoffice.relation.po.RelationDataPOrrr";}else{ fromSQL="manager.po.InformationPOaaajoinrmationChannelbbb";}StringwhereSQL="";StringmysqlnowString=newSimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());//2013-09-03startif(CommonUtils.isEmpty(channelType)){ channelType="0";}if(CommonUtils.isEmpty(userDefine)){ userDefine="0";}whereSQL="whereaaa.domainId="+domainId+"andrmationStatus=0and(bbb.afficheChannelStatusisnullorbbb.afficheChannelStatus='0')";if("-1".equals(channelType)){whereSQL+="andbbb.channelType>0andbbb.userDefine=0";}else{whereSQL+="andbbb.channelType="+channelType;}if("1".equals(userDefine)){ whereSQL+="andbbb.channelType="+channelType;}MapvarMap=newHashMap();if(channelId!=null&&!"".equals(channelId)){ InformationChannelPOpo=channelBD.loadChannel(channelId); if(po.getIncludeChild()==1){ whereSQL=whereSQL+channelBD.getChannelById(channelId); }else{ whereSQL=whereSQL+"and(bbb.channelId=:channelIdoraaa.otherChannellike:channelId2)"; varMap.put("channelId",channelId); varMap.put("channelId2","%,"+channelId+",%"); }}if(title!=null&&!title.equals("")){whereSQL=whereSQL+"andrmationTitlelike:title";varMap.put("title","%"+title+"%");}if(key!=null&&!key.equals("")){whereSQL=whereSQL+"andrmationKeylike:key";varMap.put("key","%"+key+"%");}if(subtitle!=null&&!subtitle.equals("")){whereSQL=whereSQL+"andrmationSubTitlelike:subtitle";varMap.put("subtitle","%"+subtitle+"%");}if(searchIssuerName!=null&&!searchIssuerName.equals("")){ whereSQL=whereSQL+"andrmationIssuerlike:searchIssuerName";varMap.put("searchIssuerName","%"+searchIssuerName+"%");}if(searchOrgName!=null&&!searchOrgName.equals("")){ndaaa.issueOrgIdStringlike:searchOrgId";varMap.put("searchOrgId","%$"+searchOrgId+"$%");}if(append!=null&&!append.equals("")){whereSQL=whereSQL+"and(selectcount(*)from"+"manager.po.InformationAccessoryPOccc"+"whereccc.accessoryNamelike:append"+"andrmationId=rmationId)>0";varMap.put("append","%"+append+"%");}if(startDate!=null&&!startDate.equals("")){ whereSQL=whereSQL+"andrmationIssueTime>=:startDate"; varMap.put("startDate",sdf.parse(startDate+"00:00:00"));}if(endDate!=null&&!endDate.equals("")){ whereSQL=whereSQL+"andrmationIssueTime<=:endDate"; varMap.put("endDate",sdf.parse(endDate+"23:59:59"));}StringorderSQL="orderbyaaa.orderCodedesc,casewhenrmationModifyTimeisnullthenrmationIssueTimeelsermationModifyTimeenddesc";StringorderByFieldName=request.getParameter("orderByFieldName")!=null?request.getParameter("orderByFieldName"):"";StringorderByType=request.getParameter("orderByType")!=null?request.getParameter("orderByType"):""; if(orderByFieldName!=null&&!"".equals(orderByFieldName)){ orderSQL="orderbyaaa."+orderByFieldName+""+orderByType;}// StringlistType=request.getParameter("listType"); intpageSize=CommonUtils.getUserPageSize(request);// if(listType!=null&&listType.equals("1")){// pageSize=30;// } intcurrentPage=0;if(request.getParameter("startPage")!=null){ currentPage=Integer.parseInt(request.getParameter("startPage"));}if("1".equals(relation)){ StringinformationI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 副高职称自我鉴定(4篇)
- 2025十一活动总结(15篇)
- 客服个人工作总结模板(4篇)
- 大学学生会述职报告(17篇)
- 员工之星评选方案范文(5篇)
- 教师外出培训总结(5篇)
- 中专生军训心得体会参考范文(5篇)
- 《减少垃圾我行动》(教学设计)-2023-2024学年三年级下册综合实践活动山科版
- 班主任工作计划班级基本情况(4篇)
- 小学英语外研版 (一年级起点)六年级上册Unit 2 I want a Chinese pen friend教案
- 《脑卒中的早期康复》课件
- 学校德育活动安排表
- 天然气应急预案演练报告
- GB/T 43359-2023印染废水膜法集成装备
- ISO90012015版职能分配表
- 初中化学必背知识点总结(按单元顺序)
- 泥石流灾害综合治理工程可行性研究报告
- 个体工商户公司章程(标准版)
- 智能建造施工技术应用实施方案
- 违章建筑拆除服务投标方案
- Module10++Unit1+What+did+you+put+in+your+bag-说课【知识精讲精研】外研版(一起)英语五年级下册
评论
0/150
提交评论