From 79ffb1fe76f09f78c2102f8387faf928127e7d36 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Thu, 15 Mar 2018 14:45:09 -0300 Subject: [PATCH] IDEMPIERE-3659 Workflow with nodes in more than one tenant --- .../pipo2/handler/WorkflowElementHandler.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java index 1e07049eef..0bf5990643 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java @@ -171,8 +171,7 @@ public class WorkflowElementHandler extends AbstractElementHandler { } } - String sql = "SELECT AD_WF_Node_ID FROM AD_WF_Node WHERE AD_Workflow_ID = " - + AD_Workflow_ID; + String sql = "SELECT AD_WF_Node_ID FROM AD_WF_Node WHERE AD_Workflow_ID=? AND AD_Client_ID=?"; PreparedStatement pstmt = null; PreparedStatement psNodeNext = null; @@ -182,20 +181,26 @@ public class WorkflowElementHandler extends AbstractElementHandler { ResultSet nodeNConditionrs = null; try { pstmt = DB.prepareStatement(sql, getTrxName(ctx)); + pstmt.setInt(1, AD_Workflow_ID); + pstmt.setInt(2, Env.getAD_Client_ID(ctx.ctx)); // Generated workflowNodeNext(s) and // workflowNodeNextCondition(s) rs = pstmt.executeQuery(); while (rs.next()) { int nodeId = rs.getInt("AD_WF_Node_ID"); createNode(ctx, document, nodeId); - sql = "SELECT ad_wf_nodenext_id from ad_wf_nodenext WHERE ad_wf_node_id =" +nodeId; + sql = "SELECT ad_wf_nodenext_id from ad_wf_nodenext WHERE ad_wf_node_id=? AND AD_Client_ID=?"; psNodeNext = DB.prepareStatement(sql, getTrxName(ctx)); + psNodeNext.setInt(1, nodeId); + psNodeNext.setInt(2, Env.getAD_Client_ID(ctx.ctx)); nodeNextrs = psNodeNext.executeQuery(); while (nodeNextrs.next()){ ad_wf_nodenext_id = nodeNextrs.getInt("AD_WF_NodeNext_ID"); createNodeNext(ctx, document, ad_wf_nodenext_id); - sql = "SELECT ad_wf_nextcondition_id from ad_wf_nextcondition WHERE ad_wf_nodenext_id =" + ad_wf_nodenext_id; + sql = "SELECT ad_wf_nextcondition_id from ad_wf_nextcondition WHERE ad_wf_nodenext_id=? AND AD_Client_ID=?"; psNCondition = DB.prepareStatement(sql, getTrxName(ctx)); + psNCondition.setInt(1, ad_wf_nodenext_id); + psNCondition.setInt(2, Env.getAD_Client_ID(ctx.ctx)); nodeNConditionrs = psNCondition.executeQuery(); while (nodeNConditionrs.next()) { ad_wf_nodenextcondition_id= nodeNConditionrs.getInt("AD_WF_NextCondition_ID");