Ecology8数据展现及流程触发集成操作手册V10_第1页
Ecology8数据展现及流程触发集成操作手册V10_第2页
Ecology8数据展现及流程触发集成操作手册V10_第3页
Ecology8数据展现及流程触发集成操作手册V10_第4页
Ecology8数据展现及流程触发集成操作手册V10_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、流程展现及流程触发集成操作手册V1.01. WebService注册一、概述目前很多软件为了便于和其它软件进行集成,都开发了WebService接口,通过这些接口可以和第三方软件进行数据的交互功能,这里的WebService注册就是在E-cology中集中登记其它软件的WebService接口及相关的参数,这样我们在后台管理的时候可以直接调用这些接口。二、注册设置1、点击【WebService注册】菜单后显示如图1所示图1· 点击【新建】按钮可以注册WebService信息;· 选中已注册的WebService后点击【删除】按钮后可以删除选中的信息;· 列表菜单只

2、有【编辑】和【删除】按钮,点击后可以编辑删除注册信息。2、在图1中点击【新建】按钮后显示如图2所示,开始注册WebService信息图2· 自定义名称中填写WebService服务的名称,在后期调用的时候会看到这个名称,所以命名最后能够代表此WebService服务是干嘛用的;· WebService地址:非常重要的内容,此地址是由第三方软件供应商提供的,如果没有提供就不能使用这个功能,配置完成后可以点击【解析WSDL】以确保接口地址正确,点击【检查更新】按钮可以可以确保接口内容有没有变化;· 点击图2中的添加按钮,会在下方增加一行,配置WebService接口中

3、提供的方法和参数字段等信息,这些信息都是由第三方软件供应商所需要提供的,如图3所示图3· 配置完成后需要点击【保存】按钮进行保存;· 选中已有的方法,点击按钮可以删除选中的方法;· 方法列表字段功能显示如下表,先来看一下图3中红框所示的方法所对应的WebService接口文件,如图4所示,我们通过浏览器直接访问WebService地址后看到的内容图4字段说明方法名称其它模块配置过程中可以调用的方法,此方法必需是写在WebService接口内容中的,如图4中的【getAllModeDataList】,所以这些方法都是由提供WebService接口的软件供应商提供描述

4、针对此方法的文字描述,主要是便于其它管理员了解此接口的作用返回值类型接口返回数值的类型,在后期调用接口方法的时候,E-cology字段的类型一致参数名称写在方法之后的参数名称,这些名称也在WebService接口文件中可以看到,如图4中的in0in7参数类型对应参数的类型,在WebService接口文件中可以看到,如图4中type后面跟的就是参数字段的类型是否数组只有数组型的参数才需要选中2. 数据展现集成一、概述数据展现集成就是通过浏览按钮的方式展示外部数据源的数据,常被用作自定义浏览框的设置和自定义查询菜单的设置。二、数据展现集成设置1、点击【数据展现集成】菜单后显示如图1所示图1

5、3; 点击【新建】按钮可以创建新的自定义浏览框;· 选中已有的自定义浏览按钮后点击【删除】可以批量删除选中的自定义浏览框;· 列表菜单只有【编辑】和【删除】两个按钮,点击后可以编辑和删除当前的自定义浏览框。2、在图1中点击【新建】按钮后显示如图2所示图2· 标识:自定义数据查询页面的名称,必需是唯一的;· 名称:此自定义查询数据的名称,一般用中文表示,告知需要用到此查询功能的用户这个是查询什么内容的;· 展现形式:展现形式分为了【浏览框】和【查询页面】两种,浏览框的话可以在流程表单中设置了自定义浏览框类型的字段时调用,查询页面可以在自定义菜单等

6、页面进行调用;· 展现方式:选择浏览框中内容的展现方式,只有展现形式是【浏览框】时才需要设置,可以采用列表式、树形方式,如果采用自定义页面的话,显示如图3所示,只要直接设置自定义页面地址就可以了,其它信息不用设置了。图3· 数据来源:数据来源可以分为数据库、WebService接口、自定义接口三种,每种接口配置不完全一样§ 数据源查询· 数据源:查询数据的来源数据库,数据源需要在【数据源设置】中先设好;· 查询SQL语句:编写查询语句,控制浏览按钮的查询显示结果;§ WebService查询· WebService地址:在W

7、ebService注册中记录接口名称,通过下拉选择框选择;· WebService方法:属于这个接口的具体方法;§ 自定义地址查询· 已经在第三方的页面中编写了查询方法,这里直接调用那个查询方法的文件;· 主键:查询的主标示字段名称;· 外部页面地址:· 列表式查询页面中必需设置页面中的查询条件和显示字段列,点击下方的进行添加;· 如果是树形展示字段的话,需要制定父字段和子字段在外部数据源中的名称,如图4所示。图4三、实例介绍1.数据展现集成-展现类型-浏览框(即E7及以下版本的自定义浏览按钮)以表ID_0为例子:E7及以下

8、版本的自定义浏览按钮设置及浏览按钮查询结果展示:E8版本的自定义浏览按钮设置:数据库中存的值为主键字段标题栏的作用:l浏览框中的作用即是选择后显示的字段l查询页面中的作用即是提供超链接的字段浏览按钮查询结果展示:新增功能:l字段联动:以表t_hrmresource、t_hrmdepartment为例:联动条件字段在流程中的字段名称为op_test_ld_bm(对应表t_hrmdepartment的内容)需要联动带出的人员字段:设置方法A:直接在查询sql中添加条件,联动字段为$op_test_ld_bm$联动字段如果都是在明细表中,联动字段的写法为:$formtable_main_748_dt

9、1_bm_dl$其中,formtable_main_748_dt1是明细表表名,bm_dl为明细表中的字段名设置方法B:直接在查询字段设置中的流程联动字段名称中填写联动字段名称结果展示:l转换方法:以表ID_0为例未使用转换方法前,浏览按钮显示的结果:使用转换方法:select email from id_0 WHERE loginid = '?currentvalue'浏览按钮显示的结果:特殊的SQL处理:当多表联动时,可能会出现这些表中的主键一样的问题,这种情况下,SQL语句做一层包装,即可解决:例如:select d.id,d.departmentid,  &#

10、160;    d.lastname|'20150819' as lastname ,(case when sex = 1 then '女'      when sex = 0 then '男'      end) as Sex,(case when status = 0 then '试用'      when status = 1 then '正式'      when st

11、atus = 2 then '临时'      when status = 3 then '试用延期'      when status = 4 then '解聘'      when status = 5 then '离职'      when status = 6 then '退休'      when status = 7 then '无效'en

12、d) as status,       f.jobtitlename,       e.departmentname,       g.subcompanyname   from (select id,a.lastname,a.sex,a.status,a.departmentid,a.subcompanyid1,a.jobtitle from Hrmresource a where a.departmentid in (select b.id from

13、Hrmdepartment b where b.subcompanyid1 in (select c.id from Hrmsubcompany c  where substr(id,1,2)=$wenben$) d         left join Hrmjobtitles f on d.jobtitle = f.id        left join Hrmdepartment e on d.departmentid = e.id  

14、60;       left join Hrmsubcompany g on d.subcompanyid1 = g.id        where  d.lastname like '%y%'     order by d.departmentid由于各表中都有id这个主键,所以导致此SQL无法正常使用修改为以下内容即可:select * from (select d.id,d.departmentid,      &

15、#160;d.lastname|'20150819' as lastname ,(case when sex = 1 then '女'      when sex = 0 then '男'      end) as Sex,(case when status = 0 then '试用'      when status = 1 then '正式'      when status = 2 then

16、 '临时'      when status = 3 then '试用延期'      when status = 4 then '解聘'      when status = 5 then '离职'      when status = 6 then '退休'      when status = 7 then '无效'end) as status,

17、       f.jobtitlename,       e.departmentname,       g.subcompanyname   from (select id,a.lastname,a.sex,a.status,a.departmentid,a.subcompanyid1,a.jobtitle from Hrmresource a where a.departmentid in (select b.id from Hrmdepartment

18、 b where b.subcompanyid1 in (select c.id from Hrmsubcompany c  where substr(id,1,2)=$wenben$) d         left join Hrmjobtitles f on d.jobtitle = f.id        left join Hrmdepartment e on d.departmentid = e.id          left joi

19、n Hrmsubcompany g on d.subcompanyid1 = g.id        where  d.lastname like '%y%') a order by departmentid2. 数据展现集成-展现类型-查询页面(新功能)该功能主要是和异构系统待办元素集成功能一起使用的,设置方式和自定义浏览按钮基本没有区别(字段联动无效),异构系统待办元素集成功能介绍参考附件中的【120389】新增功能:异构系统待办元素集成功能。回显异常回显异常是指  配置完成并在流程上正常浏览并

20、选择数据后,流程提交或保存页面再次打开,之前选择的数据消失或者显示错误。可以依次尝试如下解决方案:当前在后台配置的sql,你的SQL: select id , a ,b from d  where b='xxx'1,select * from  (  你的SQL  ) t      -使用包裹层2,select * from  (  select id , a ,b from d  WHERE  b='xxx'  

21、 ) t   -将你的SQL中的所有where大写3,select * from  (  select regexp_replace(id,'0-9a-zA-Z','') as id , a ,b from d WHERE  b='xxx'   ) t   -删除字符串类型的主键中的特殊字符比如id值为: =asxn 102$   其中有 等号/空格/$符  3种类型的特殊字符,则:oracle : 

22、; regexp_replace(id,'0-9a-zA-Z','')sqlserver:Replace(Replace(Replace(id,' ',''),'=',''),'$','')主键要求:主键不要有字母数字以外的其它字符。4,逻辑悖论类型:数据来源 d 是一个视图,视图内涵逻辑条件:已经被选择过的数据,不再出现在候选列表中。此中情况下造成的不能回显,无法解决;请实施人员自行调整业务逻辑。此种逻辑,必定造成不能回显!原因:浏览按钮保存在OA数据库中是仅仅是数

23、据id,要回显时,还是用配置的sql,加上id条件,去 d 视图中查询数据,但d视图本身内涵已经选择的数据不会出现在视图中,导致根据 id 再去 d 视图查,就查不到数据,导致不能正常回显。5,字符串类型的主键,选择的是数据 A,后台id是 001;回显成了数据B,B的id是 100101 之类。提交技术支持流程,总部提供更新文件,升级解决。6,表达式:$abc$ 用于在表单字段上取得当前表单值,?abc 用于取得某些默认的固定值。这两种类型的表达式,所有字符必须全部是小写字符7,select id , a ,b from d  where b='$xxx$'

24、0; and usercode='?workcode' -表达式两边用单引号引用起来,以免未获得值时后台出现SQL执行报错8,select * from (select id , a ,b from d  where b=空格 '$xxx$' 空格 ) t -表达式两边留出空格9,主键不唯一:使用此查询关联页面其它字段时id唯一,如:select id , a ,b from d  where type='$type$' 如果直接使用,则id不唯一,如:select id ,

25、a ,b from d方案1:-针对只做保存回显,不在需要根据此字段值还联动其它字段值的情况oracle: select * from ( select type|'_'|id as id , a ,b from d  where type= '$type$'   )t  -使用type加id的形式组合成字符串类型联合主键方案2:-其它字段要根据选择的主键还要联动出值,故而主键不能变。要求数据,同样 id 的数据除过 type 区分外,要显示的 a 字段值都一样。oracle: select

26、* from (select id , a ,max(b) as b from d where type= '$type$' group by id,a ) t -使用分组函数10,使用了固定取值表达式: ?userid ?loginid ?username ?workcode ?password ?departmentid ?departmentcode ?departmentname ?subcompanyid ?subcompanycode ?subcompanyname这些表达式在创建节点第一次选择值时,会带出

27、当前登录者相关的对应信息,但后续表单值已经保存后回显时,于此相关的条件都会替换成 1=1 ,编写SQL时,一定要考虑回显会忽略人的问题,考虑到人这个条件被替换成 1=1 时,sql 附加上选中的 id 作为条件,是否还能正常查询,并返回唯一的一条数据。编写SQL : select id , a ,b from d  where b='?departmentcode'自动计算出的回显SQL : select id , a ,b from d  where 1=1 and id=表单上保存的id11,刚建立流程并提交的几天

28、数据正常回显,过一段时间后选择的数据回显不了:检查 SQL 或 视图 中是否有取数据库时间类型的函数如:sysdate,getdate()  等。select id , a ,b from d  where b=to_char(sysdate, 'MM')此 SQL 意为只提供本月的数据以供选择。 但选择后,会导致只有在每年的本月(如12月),数据在流程上正常回显,其它月份流程上此选择的数据都回显不了。因为选择的数据 id 是属于 12 月里的,如果到了非 12 月的时候,能查出的数据里面,本就没有了此条数据,那么相当于(1月时):sel

29、ect id , a ,b from d  where b='01' and id=表单上保存的12月的id此条回显 SQL 不能查询到数据,故而不能正常回显。属于上面的第四点,逻辑悖论。解决方案:在流程表单上增加一个日期(或月份)类型字段,默认当前时间,查询sql中使用此字段表达式。select id , a ,b from d  where b='$createMonth$'12, 使用了数据库函数:getdate()  等。流程点开放大镜后页面没数据。提交技术支持流程,总部提供更新文件(针对性不整理到标准产品的修改),升级解决。13,WebService示例注:首先在WebService中注册该Service,选择相应方法,根据WebService返回的XML格式文件进行配置(数据库直接配置字段,XML则配置XML路径),例如

温馨提示

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

评论

0/150

提交评论