起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7971|回复: 15

[处理中3] mainData与流程关联

[复制链接]

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
发表于 2018-9-28 10:59:07 | 显示全部楼层 |阅读模式
本帖最后由 imman 于 2018-9-28 11:01 编辑

新建一个流程,在流程中有一个bizData,xid是mainData,指向自己建的一个概念DJ_LCB,在流程启动前事件中用如下代码将sa_task的sdata1和sdata2与dj_lcb的fid,ywh字段关联。        public static void processBeforeStart() {
                HashMap h = (HashMap) ContextHelper.getActionContext().getParameter("attributes");
                String data1 = (String) h.get("sData1");
                System.out.println("data1: "+data1);

                String sql1 = "select b.YWH from DJ_LCB b where b='" + data1 + "'";
                Table table1 = KSQL.select(sql1, null, "/register/main/data", null);
                Iterator<Row> rows1 = table1.iterator();
                Row row1 = rows1.next();
                String YWH = row1.getString("YWH");
                System.out.println("ywh: "+YWH);
                ProcessControl control = (ProcessControl) ContextHelper.getActionContext().getParameter("control");
                for (ProcessControlItem to : control.getFlowTos()) {
                        to.getTask().setRelationValue("sData2", YWH);
                }
                System.out.println("保存成功");
        }


在modelLoad事件中执行mainData.saveData()后,获取YWH,并不是在流程启动前事件放进去的业务号
        Model.prototype.modelLoad = function(event){
                var mainData = this.comp("mainData");
                mainData.set("YWLXID","111111");
                mainData.saveData();
                var ywh = mainData.val("YWH");// 此处输出的业务号并不是在流程启动前事件放进去的业务号                       
        };


发现mainData的limit是20,改成-1后输出就是正确的业务号,但是有的流程limit保持20不变,输出的业务号也是正确的
7B3BC2F1-8A6F-462e-9086-D6FDED9A9C8D.png

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-9-28 15:38:25 | 显示全部楼层
把sql语句输出,看执行的sql语句的where条件
http://bbs.wex5.com/forum.php?mo ... 4&pid=165004035
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-10-8 14:26:24 | 显示全部楼层
jishuang 发表于 2018-9-28 15:38
把sql语句输出,看执行的sql语句的where条件
http://bbs.wex5.com/forum.php?mod=redirect&goto=findpost&p ...

在mainData.refreshData()后查看sql语句,可以看到有两个版本
一个是输出正确结果的sql
SELECT DJ_LCB.*  FROM DJ_LCB DJ_LCB WHERE ((DJ_LCB='18F3C15631164423BC60B248D84006D2')) LIMIT 0, 20
一个是输出错误结果的sql
SELECT DJ_LCB.*  FROM DJ_LCB DJ_LCB LIMIT 0, 20
两个sql差异就在where条件,页面代码均是相同的,有什么会影响这个where条件是不是自动加入呢
回复 支持 反对

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-10-8 14:31:12 | 显示全部楼层
jishuang 发表于 2018-9-28 15:38
把sql语句输出,看执行的sql语句的where条件
http://bbs.wex5.com/forum.php?mod=redirect&goto=findpost&p ...

最大的区别的一个是在3.6版本上,一个是在3.8版本上
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-10-8 15:25:34 | 显示全部楼层
确认process组件的autoFilter怎么设置的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-10-8 15:46:49 | 显示全部楼层
jishuang 发表于 2018-10-8 15:25
确认process组件的autoFilter怎么设置的

代码是从3.6照搬过去的,autofilter都是true

3.8版本

3.8版本

3.6版本

3.6版本
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-10-8 16:02:41 | 显示全部楼层
是true就会有where条件
这个不管什么版本都是一样的

没有where条件要么process的autoFilter为false,要么不是用这个data关联的process
或者看的功能不能流程功能的sql
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-10-8 17:54:12 | 显示全部楼层
jishuang 发表于 2018-10-8 16:02
是true就会有where条件
这个不管什么版本都是一样的

process所绑定的data是如何自动过滤的,是将sa_task表对应记录中的sdata1作为条件,对应绑定data的主键进行过滤?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-10-9 08:37:12 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

50

主题

136

帖子

452

积分

中级会员

Rank: 3Rank: 3

积分
452
QQ
 楼主| 发表于 2018-10-10 10:03:51 | 显示全部楼层
jishuang 发表于 2018-10-9 08:37
是的,还有一种情况http://docs.wex5.com/bex5-process-question-list-10070/

我将3.6的runtime文件夹放到3.8里,就正常了,会实现自动过滤,这个问题应该是出在runtime中的某个jar包了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-28 18:44 , Processed in 0.069336 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表