Questions Tagged With task-queryhttps://answers.axonivy.com/tags/task-query/?type=rssquestions tagged <span class="tag">task-query</span>enFri, 27 Jul 2018 04:55:35 -0400show sql query when query ivy taskhttps://answers.axonivy.com/questions/3370/show-sql-query-when-query-ivy-task<p>Dear IvyTeam</p> <p>How can I print sql query to log file when there are some get ivy task by query?</p> <p>I followed this link <a href="https://answers.axonivy.com/questions/1585/hibernate-show_sql">https://answers.axonivy.com/questions/1585/hibernate-show_sql</a> but it seem for project that using hibernate?</p> <p>If I print query by method TaskQuery query.toString() I got some kind of query in log but it's not friendly with normal sql like below</p> <pre><code>SELECT * FROM IWA_Task LEFT JOIN IWA_TaskAdditionalProperty TaskAddPrp_isDeleted ON Column(IWA_TaskQuery.TaskId) = Column(IWA_TaskAdditionalProperty.TaskId) LEFT JOIN IWA_AdditionalProperty AddPrpTask_isDeleted ON Column(TaskAddPrp_isDeleted.AdditionalPropertyId) = Column(IWA_AdditionalProperty.AdditionalPropertyId) INNER JOIN IWA_CaseQuery ON (Column(IWA_CaseQuery.CaseId) = Column(IWA_TaskQuery.CaseId) || Column(IWA_CaseQuery.CaseId) = Column(IWA_TaskQuery.BusinessCaseId)) LEFT JOIN IWA_CaseAdditionalProperty CaseAddPrp_taskType ON Column(IWA_Case.CaseId) = Column(IWA_CaseAdditionalProperty.CaseId) LEFT JOIN IWA_AdditionalProperty AddPrpCase_taskType ON Column(CaseAddPrp_taskType.AdditionalPropertyId) = Column(IWA_AdditionalProperty.AdditionalPropertyId) WHERE (Column(IWA_TaskQuery.CurrentActivatorName) NOT LIKE #SYSTEM &amp;&amp; Column(IWA_TaskQuery.State) &lt;&gt; 3 &amp;&amp; (((Column(AddPrpTask_isDeleted.Name) = isDeleted || Column(AddPrpTask_isDeleted.Name) IS NULL) &amp;&amp; Column(AddPrpTask_isDeleted.Value) IS NULL) || ((Column(AddPrpTask_isDeleted.Name) = isDeleted || Column(AddPrpTask_isDeleted.Name) IS NULL) &amp;&amp; Column(AddPrpTask_isDeleted.Value) NOT LIKE true)) &amp;&amp; (Column(IWA_TaskQuery.CurrentActivatorUserId) = 64104 || (! Column(IWA_Task.State) = 3 &amp;&amp; (Column(IWA_Task.ActivatorRoleId) = 204 || (Column(IWA_Task.IsExpired) = 1 &amp;&amp; Column(IWA_Task.ExpiryActivatorRoleId) = 204))) || (! Column(IWA_Task.State) = 3 &amp;&amp; (Column(IWA_Task.ActivatorRoleId) = 205 || (Column(IWA_Task.IsExpired) = 1 &amp;&amp; Column(IWA_Task.ExpiryActivatorRoleId) = 205))) || (! Column(IWA_Task.State) = 3 &amp;&amp; (Column(IWA_Task.ActivatorRoleId) = 902 || (Column(IWA_Task.IsExpired) = 1 &amp;&amp; Column(IWA_Task.ExpiryActivatorRoleId) = 902)))) &amp;&amp; (Column(IWA_TaskQuery.State) = 4 || Column(IWA_TaskQuery.State) = 5 || Column(IWA_TaskQuery.State) = 8) &amp;&amp; ((Column(AddPrpCase_taskType.Name) = taskType || Column(AddPrpCase_taskType.Name) IS NULL) &amp;&amp; Column(AddPrpCase_taskType.Value) LIKE CONTINUE_CREATE_KLARAHOME_COMPANY)) </code></pre> <p>Do you have any idea about it? How can I print sql?</p>maidanhFri, 27 Jul 2018 04:55:35 -0400https://answers.axonivy.com/questions/3370/show-sql-query-when-query-ivy-tasktask-queryTaskQuery with additional propertyhttps://answers.axonivy.com/questions/2672/taskquery-with-additional-property<p>Hi everyone,</p> <p>I have the issue related to additional property in TaskQuery: Task A doesn't have any additional property and Task B has the "DISPLAY" additional property.</p> <pre><code>TaskQuery stateQuery = TaskQuery.create().where().state().isEqual(TaskState.SUSPENDED).or().state().isEqual(TaskState.RESUMED).or().state().isEqual(TaskState.PARKED); TaskQuery additionalPropertyQuery = TaskQuery.create().where().additionalProperty("HIDE").isNull(); TaskQuery query = TaskQuery.create().where().and(stateQuery).and(additionalPropertyQuery); </code></pre> <p>==&gt; The result of this query is only Task A. I expect that the result is A and B.</p> <p>Do you have any suggestions?</p>dolongTue, 06 Jun 2017 06:25:16 -0400https://answers.axonivy.com/questions/2672/taskquery-with-additional-propertyadditional-propertyivytask-queryExtend Task Json Queryhttps://answers.axonivy.com/questions/2629/extend-task-json-query<p>I have a Task Query as json to filter tasks by states: SUSPENDED, RESUMED, PARKED and order by priority:</p> <pre><code>TaskQuery stateQuery = TaskQuery.create().where().state().isEqual(TaskState.SUSPENDED).or().state().isEqual(TaskState.RESUMED).or().state().isEqual(TaskState.PARKED).orderBy().priority(); </code></pre> <p>After that, I would like to extend this query: filtering by ((suspended or resumed or parked states) and applicationId) order by priority but it is not as my expectation:</p> <pre><code>Way 1: TaskQuery.fromJson(stateQueryJson).where().and().applicationId().isEqual(1); </code></pre> <p>The result: SELECT * FROM IWA_Task WHERE (Column(IWA_TaskQuery.State) = 4 || Column(IWA_TaskQuery.State) = 5 || (Column(IWA_TaskQuery.State) = 8 &amp;&amp; Column(IWA_TaskQuery.ApplicationId) = 1)) ORDER BY Column(CurrentPriority) ASCENDING</p> <p>==&gt; <strong>Tasks with Suspended state and Resumed state are not filtered by applicationId</strong></p> <pre><code>Way 2: TaskQuery.create().where().and(TaskQuery.fromJson(stateQuery.asJson())).and().applicationId().isEqual(1) </code></pre> <p>The result: SELECT * FROM IWA_Task WHERE ((Column(IWA_TaskQuery.State) = 4 || Column(IWA_TaskQuery.State) = 5 || Column(IWA_TaskQuery.State) = 8) &amp;&amp; Column(IWA_TaskQuery.ApplicationId) = 1) </p> <p>==&gt; <strong>Priority order is lost</strong></p> <p>Do you have any suggestions? Or is it a bug of task json query?</p>lttungThu, 18 May 2017 02:59:45 -0400https://answers.axonivy.com/questions/2629/extend-task-json-queryivytask-queryQuery Task's Business - Task stagehttps://answers.axonivy.com/questions/2419/query-task-s-business-task-stage<p>In the "Inscribe Task Switch Event" under tab "Tasks" there is a tab "Business". The first two fields are labeled "Task stage".<br> Is there a Pulic API to query these two fields?</p>rhorberFri, 03 Feb 2017 08:30:42 -0500https://answers.axonivy.com/questions/2419/query-task-s-business-task-stagetasktask-queryfindWorkTasks() never returns tasks in TaskState.RESUMED statehttps://answers.axonivy.com/questions/2410/findworktasks-never-returns-tasks-in-taskstate-resumed-state<p>Hello. </p> <p>Using engine 6.0.5, I am trying to query tasks that the session user is working or can work on. </p> <p>According to the docs, <a href="http://developer.axonivy.com/doc/6.0.5/publicApi/ch/ivyteam/ivy/workflow/IWorkflowSession.html#findWorkTasks-ch.ivyteam.ivy.workflow.IPropertyFilter-java.util.List-int-int-boolean-java.util.EnumSet-"><code>findWorkTasks()</code></a> can return tasks in states <code>TaskState.SUSPENDED</code>, <code>TaskState.CREATED</code>, <code>TaskState.RESUMED</code>, <code>TaskState.PARKED</code>. </p> <p>When I use it like this: </p> <p><code>result = ivy.session.findWorkTasks(filter, order, first, pageSize, true, EnumSet.of(TaskState.SUSPENDED, TaskState.RESUMED));</code></p> <p>It never returns <code>TaskState.RESUMED</code> tasks, only <code>TaskState.SUSPENDED</code>.</p> <p>Just to double check if I have resumed tasks, I tried the following call and it returns the <code>TaskState.RESUMED</code> tasks. <code>result = ivy.session.findLockedWorkTasks(filter, order, first, pageSize, true, EnumSet.of(TaskState.RESUMED));</code> </p> <p>What am I doing wrong on my use of <a href="http://developer.axonivy.com/doc/6.0.5/publicApi/ch/ivyteam/ivy/workflow/IWorkflowSession.html#findWorkTasks-ch.ivyteam.ivy.workflow.IPropertyFilter-java.util.List-int-int-boolean-java.util.EnumSet-"><code>findWorkTasks()</code></a>?</p> <p>Thanks in advance,</p>Jailson BritoWed, 01 Feb 2017 15:45:36 -0500https://answers.axonivy.com/questions/2410/findworktasks-never-returns-tasks-in-taskstate-resumed-statesessiontask-queryGlobale Task Listhttps://answers.axonivy.com/questions/1688/globale-task-list<p>Hi I would like to have a Tasklist with all Tasks that are allocated to Users, without System Tasks. I tried something, but it wont work: </p> <pre><code>IQueryResult queryResult = ivy.wf.findTasks(null, PropertyOrder.create(TaskProperty.START_TIMESTAMP, OrderDirection.ASCENDING), 0, -1, true); </code></pre> <p>I am getting a PermissionDeniedException.</p> <p>Best regards Florian</p>Florian HitzWed, 16 Mar 2016 15:55:10 -0400https://answers.axonivy.com/questions/1688/globale-task-listtasktask-queryTaskQuery case insensitive searchhttps://answers.axonivy.com/questions/1442/taskquery-case-insensitive-search<p>Hi all,</p> <p>Is it possible to search against String Task properties with a TaskQuery so that the search is performed case insensitive.</p> <pre><code> TaskQuery stringFieldQuery = TaskQuery.create(); stringFieldQuery.where().name().isLike("my task name"); </code> </pre> <p>I would like that such a query returns the tasks which name is "MY Task NAme". Thanks in advance</p> <p>Emmanuel</p>EmmanuelFri, 14 Aug 2015 16:36:27 -0400https://answers.axonivy.com/questions/1442/taskquery-case-insensitive-searchcase-querytaskstask-queryTaskQuery for description searchhttps://answers.axonivy.com/questions/1353/taskquery-for-description-search<p>Hi all,</p> <p>Is that possible to make a search for tasks by their description? A search by name is possible through:</p> <pre><code>TaskQuery stringFieldQuery = TaskQuery.create(); stringFieldQuery.where().name().isLike("search by name"); </code></pre> <p>I guessed it was the same for the description but it seems to be unpossible to do such a TaskQuery for the description because the following code returns an <em>IColumnFilterQuery</em> and not an <em>IStringColumnFilterQuery</em> as for the name():</p> <pre><code>stringFieldQuery.where().description() // There is no isLike("...") method then. </code></pre> <p>Is there another possibility with the TaskQuery?</p> <p>Thanks in advance</p> <p>Emmanuel</p>EmmanuelTue, 09 Jun 2015 11:50:46 -0400https://answers.axonivy.com/questions/1353/taskquery-for-description-searchtasktask-queryTaskQuery isInvolved and canWorkOnhttps://answers.axonivy.com/questions/1345/taskquery-isinvolved-and-canworkon<p>Hello,</p> <p>What does mean isInvolved for a SecurityMember in a TaskQuery? If I want to get all the tasks that I can start, is "canWorkOn" enough?</p> <p>Thanks a lot in advance!</p> <p>Example:</p> <pre><code>ISecurityMember member = Ivy.wf().getSecurityContext().findUser(username); TaskQuery taskUserQuery = TaskQuery.create(); taskUserQuery.where().isInvolved(member); taskUserQuery.where().or().canWorkOn(member); </code></pre>EmmanuelFri, 29 May 2015 15:25:40 -0400https://answers.axonivy.com/questions/1345/taskquery-isinvolved-and-canworkontask-query`TaskQuery.and(TaskQuery)` and `CaseQuery.and(CaseQuery)` doesn't work with `additionalProperty()`.https://answers.axonivy.com/questions/1337/taskquery-and-taskquery-and-casequery-and-casequery-doesn-t-work-with-additionalproperty<p>On our project, we extensively uses the API <code>TaskQuery</code> and <code>CaseQuery</code> in order to find <code>ITask</code> and <code>ICase</code> respectively. We also make use of the <code>additionalProperty</code> of both <code>ITask</code> and <code>ICase</code> in order to store custom fields.</p> <p>However, we later found out that the method <code>and(TaskQuery</code> and <code>or(TaskQuery)</code> doesn't work with the criteria <code>additionalProperty</code>.</p> <p>Consider the below snippet of code:</p> <pre><code>public List&lt;ITask&gt; findTask() { Ivy.wf().getTaskQueryExecutor() .getResults(TaskQuery.create().where() .state().isEqual(SUSPENDED) .and(hasCustomField())); } private static TaskQuery hasCustomField() { return TaskQuery.create().where().additionalProperty("custom").isLike("customized_value"); } </code></pre> <p>Runing the code will result as an exception:</p> <pre><code>java.sql.SQLException: Column not found: ADDITIONALPROPERTYFORTASK.NAME in statement [SELECT IWA_TASKQUERY.TASKID ....... FROM IWA_TaskQuery WHERE (IWA_TASKQUERY.APPLICATIONID = ? AND (IWA_TASKQUERY."STATE" = ? AND ((ADDITIONALPROPERTYFORTASK.NAME = ? OR ADDITIONALPROPERTYFORTASK.NAME IS NULL) AND ADDITIONALPROPERTYFORTASK."VALUE" LIKE ?))) ORDER BY IWA_TASKQUERY.TASKID ASC] </code></pre> <p>While this works:</p> <pre><code>public List&lt;ITask&gt; findTask() { Ivy.wf().getTaskQueryExecutor() .getResults(TaskQuery.create().where() .state().isEqual(SUSPENDED) .and().additionalProperty("custom").isLike("customized_value"); } </code></pre> <p>Please note that only the criterion <code>additionalPropety()</code> has this problem, the other criteria don't.</p> <p>Digging a little deeper, I found that the queries produced are different:</p> <p>The former (the problematic one) produces:</p> <pre><code>SELECT * FROM IWA_Task WHERE (Column(IWA_TaskQuery.State) = 4 &amp;amp;&amp;amp; ((Column(AdditionalPropertyForTask.Name) = custom || Column(AdditionalPropertyForTask.Name) IS NULL) &amp;amp;&amp;amp; Column(AdditionalPropertyForTask.Value) LIKE customized_value)) </code></pre> <p>...whereas the latter produces (correctly):</p> <pre><code>SELECT * FROM IWA_Task LEFT JOIN IWA_TaskAdditionalProperty ON Column(IWA_TaskQuery.TaskId) = Column(IWA_TaskAdditionalProperty.TaskId) LEFT JOIN IWA_AdditionalProperty ON Column(IWA_TaskAdditionalProperty.AdditionalPropertyId) = Column(IWA_AdditionalProperty.AdditionalPropertyId) WHERE (Column(IWA_TaskQuery.State) = 4 &amp;&amp; (Column(AdditionalPropertyForTask.Name) = custom || Column(AdditionalPropertyForTask.Name) IS NULL) &amp;&amp; Column(AdditionalPropertyForTask.Value) LIKE customized_value) </code></pre> <p>This problem occurs both on <code>TaskQuery</code> and <code>CaseQuery</code> and on Axon.ivy 5.1.x (<code>additionalProperty()</code> has been introduced since 5.1.x).</p> <p>I think this is probrably a bug in Axon.ivy query API. While there is a work-around (don't use <code>and(TaskQuery</code> with <code>additionalProperty()</code>), I think it is not good to have inconsistency in the API. I hope this would be fixed soon.</p> <p>I have created a demo project which can reproduce the problem on Axon.ivy. Download it at <a href="https://app.box.com/s/9wxc8iqqrfmqotljiutqdwlvvoem55dh">box.net</a>.</p>Genzer HawkerWed, 27 May 2015 09:04:31 -0400https://answers.axonivy.com/questions/1337/taskquery-and-taskquery-and-casequery-and-casequery-doesn-t-work-with-additionalpropertyadditional-propertycase-querybugtask-query