找回密码
 注册成为天翎用户
楼主: kofboy@

[其他] 流程分支问题。【bugId:6727、6728】

[复制链接]
abelard 发表于 2013-5-8 16:26:31 | 显示全部楼层
通过Q上与楼主沟通,楼主说该问题自己看代码处理,如果楼主在该过程中遇到问题,可以在论坛上另开新帖提问。
 楼主| kofboy@ 发表于 2013-5-15 11:27:08 | 显示全部楼层
此问题终于解决了,看了 NodeRTProcessBean 的代码,看到isCreateAble方法对于聚合是这样处理的:
当一个节点提交到聚合节点时,遍历所有节点,找出聚合节点的分散起始点相同的点,如果除了当前节点其他都完成,这样聚合节点才能到达。
其实这是有逻辑问题的,因为节点分散后,可能有多个聚合节点,如果聚合时要判断所有分散的点就有问题了,正确的做法是只判断和此聚合节点有关系的点。
具体处理方法如下:

cn.myapps.core.workflow.storage.runtime.ejb.NodeRTProcessBean.java 的 isCreateAble方法找到这个一行
  1. if (isgather){
复制代码
在后面加上代码
  1. Vector backStepNodeList = instance.getFlowVO().toFlowDiagram().getBackSetpNode(nextNode);
复制代码
再找到这行
  1. if (!nrt.getId().equals(nodeRT.getId()))
复制代码
把它改成
  1. boolean isRelationToNextNode = false;
  2. for (Object node : backStepNodeList)
  3.     if (nrt.getNodeid().equals(((Node)node).id))
  4.         isRelationToNextNode = true;
  5. if (!nrt.getId().equals(nodeRT.getId()) && isRelationToNextNode)
复制代码
你们觉得这是一个bug呢还是bug呢还是一个bug?
abelard 发表于 2013-5-15 13:49:29 | 显示全部楼层
您好,根据您的描叙,结合上次的开会讨论结果,认为是您的流程图画得不合理,并且这也不是一个bug,感谢楼主的反馈。
 楼主| kofboy@ 发表于 2013-5-15 13:54:52 | 显示全部楼层
你们开会讨论的结果就是用户的需求不合理?
shary 发表于 2013-5-15 13:59:52 | 显示全部楼层
回复 14# kofboy@


    您好,关于您的这个问题,我们这边会提交研发讨论确认是否需要按照您所说的去调整逻辑。非常感谢您的反馈。
shary 发表于 2013-6-6 11:21:15 | 显示全部楼层
您好,该问题开会讨论任务您这样修改不太符合逻辑。对应不会在产品代码中体现。给您带来不便很抱歉。

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-9-26 15:29

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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