diff --git a/src/main/resources/wa-task-completion-ia-asylum.dmn b/src/main/resources/wa-task-completion-ia-asylum.dmn index 9aca317f..f5678a8b 100644 --- a/src/main/resources/wa-task-completion-ia-asylum.dmn +++ b/src/main/resources/wa-task-completion-ia-asylum.dmn @@ -1,5 +1,5 @@ - + @@ -1065,6 +1065,17 @@ "Auto" + + + "queryManagementRespondQuery" + + + "respondToQuery" + + + "Auto" + + diff --git a/src/main/resources/wa-task-configuration-ia-asylum.dmn b/src/main/resources/wa-task-configuration-ia-asylum.dmn index a18f54f5..6bf0d1b5 100644 --- a/src/main/resources/wa-task-configuration-ia-asylum.dmn +++ b/src/main/resources/wa-task-configuration-ia-asylum.dmn @@ -1,6 +1,9 @@ - + + + + @@ -538,7 +541,7 @@ - "reviewRemissionApplication","reviewASRemission", "reviewLARemission", "reviewHOWaiverRemission", "reviewAuthorityRemission", "reviewHWFRemission", "reviewECRRemission", "detainedReviewASRemission", "detainedReviewLARemission", "detainedReviewHOWaiverRemission", "detainedReviewAuthorityRemission", "detainedReviewHWFRemission", "detainedReviewECRRemission","assignAFTPAJudge","detainedAssignAFTPAJudge","listTheCase","detainedListTheCase","sendPaymentRequest","markAsPaid","processFeeRefund","detainedProcessFeeRefund","reviewDraftAppeal","detainedReviewDraftAppeal" + "reviewRemissionApplication","reviewASRemission", "reviewLARemission", "reviewHOWaiverRemission", "reviewAuthorityRemission", "reviewHWFRemission", "reviewECRRemission", "detainedReviewASRemission", "detainedReviewLARemission", "detainedReviewHOWaiverRemission", "detainedReviewAuthorityRemission", "detainedReviewHWFRemission", "detainedReviewECRRemission","assignAFTPAJudge","detainedAssignAFTPAJudge","listTheCase","detainedListTheCase","sendPaymentRequest","markAsPaid","processFeeRefund","detainedProcessFeeRefund","reviewDraftAppeal","detainedReviewDraftAppeal", "respondToQuery" "roleCategory" @@ -587,17 +590,17 @@ else if ((taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedListTheCase" or taskType != null and taskType = "detainedListTheCase") and (caseData != null and caseData.isIntegrated = "Yes")) then "[List the case](cases/case-details/${[CASE_REFERENCE]}/hearings)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "assignAFTPAJudge" or taskType != null and taskType = "assignAFTPAJudge") then "[Record allocated Judge](/case/IA/Asylum/${[CASE_REFERENCE]}/trigger/recordAllocatedJudge)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedAssignAFTPAJudge" or taskType != null and taskType = "detainedAssignAFTPAJudge") then "[Record allocated Judge](/case/IA/Asylum/${[CASE_REFERENCE]}/trigger/recordAllocatedJudge)" - else if taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedProcessApplicationAdjourn" or taskType != null and taskType = "detainedProcessApplicationAdjourn)" + else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedProcessApplicationAdjourn" or taskType != null and taskType = "detainedProcessApplicationAdjourn)") then "[Decide an application](/case/IA/Asylum/${[CASE_REFERENCE]}/trigger/decideAnApplication)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewRemissionApplication" or taskType != null and taskType = "reviewRemissionApplication") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewRemissionApplication" or taskType != null and taskType = "detainedReviewRemissionApplication") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" - else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewASRemission" or taskType != null and taskType = "reviewASRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" + else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewASRemission" or taskType != null and taskType = "reviewASRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewLARemission" or taskType != null and taskType = "reviewLARemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewHOWaiverRemission" or taskType != null and taskType = "reviewHOWaiverRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewAuthorityRemission" or taskType != null and taskType = "reviewAuthorityRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewHWFRemission" or taskType != null and taskType = "reviewHWFRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "reviewECRRemission" or taskType != null and taskType = "reviewECRRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" - else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewASRemission" or taskType != null and taskType = "detainedReviewASRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" + else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewASRemission" or taskType != null and taskType = "detainedReviewASRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewLARemission" or taskType != null and taskType = "detainedReviewLARemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewHOWaiverRemission" or taskType != null and taskType = "detainedReviewHOWaiverRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "detainedReviewAuthorityRemission" or taskType != null and taskType = "detainedReviewAuthorityRemission") then "[Record remission decision](/cases/case-details/${[CASE_REFERENCE]}/trigger/recordRemissionDecision/recordRemissionDecisionremissionDecision)" @@ -680,6 +683,7 @@ else if ((taskAttributes != null and taskAttributes.taskType != null and (taskAttributes.taskType = "processApplicationChangeHearingType" or taskAttributes.taskType = "detainedProcessApplicationChangeHearingType")) or (taskType != null and (taskType = "processApplicationChangeHearingType" or taskType = "detainedProcessApplicationChangeHearingType"))) then "[Decide an application](/case/IA/Asylum/${[CASE_REFERENCE]}/trigger/decideAnApplication)" else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "editListing" or taskType != null and taskType = "editListing") then "[Edit case listing](/case/IA/Asylum/${[CASE_REFERENCE]}/trigger/editCaseListing)" + else if (taskAttributes != null and taskAttributes.taskType != null and taskAttributes.taskType = "respondToQuery" or taskType != null and taskType = "respondToQuery") then "[Respond to a query](/query-management/query/${[CASE_REFERENCE]}/3/" + caseData.qmLatestQuery.queryId + ")" else "" @@ -1033,13 +1037,56 @@ true + + + + + + "respondToQuery" + + + "workType" + + + if (caseData != null + and caseData.stf24wCurrentStatusAutoGenerated != null + and caseData.stf24wCurrentStatusAutoGenerated = "Yes") + then "queries_stf" + else "queries" + + + true + + + + + + if taskAttributes = null then null else +{ + "__prefix" : "__processCategory__queryManagement_queryID_", + "__attribute_entries" : get entries(taskAttributes), + "__matching_keys" : for __item in __attribute_entries return if starts with(__item.key, __prefix) then substring(__item.key, string length(__prefix) + 1) else null, + "__filtered_keys" : __matching_keys[item != null], + "__nonempty_keys" : append(__filtered_keys, null), + "__nullable_query_id" : __nonempty_keys[1] +}.__nullable_query_id + + + + + + + + + + diff --git a/src/main/resources/wa-task-initiation-ia-asylum.dmn b/src/main/resources/wa-task-initiation-ia-asylum.dmn index cc397380..c72e3102 100644 --- a/src/main/resources/wa-task-initiation-ia-asylum.dmn +++ b/src/main/resources/wa-task-initiation-ia-asylum.dmn @@ -1,5 +1,5 @@ - + @@ -22571,6 +22571,116 @@ "caseProgression" + + + "queryManagementRaiseQuery" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "respondToQuery" + + + "Respond to Query" + + + + + + "qmResponseTasks,queryManagement_queryID_" + additionalData.Data.qmLegalRepresentativeQueries.caseMessages.value.id + + diff --git a/src/main/resources/wa-task-permissions-ia-asylum.dmn b/src/main/resources/wa-task-permissions-ia-asylum.dmn index 0ec26667..78e04b32 100644 --- a/src/main/resources/wa-task-permissions-ia-asylum.dmn +++ b/src/main/resources/wa-task-permissions-ia-asylum.dmn @@ -679,7 +679,7 @@ "printAndSendHoEvidence","detainedPrintAndSendHoEvidence", "printAndSendAppealDecision","detainedPrintAndSendAppealDecision", "printAndSendFTPADecision","detainedPrintAndSendFTPADecision", -"printAndSendReheardHearingRequirements","detainedPrintAndSendReheardHearingRequirements","reviewASRemission", "reviewLARemission", "reviewHOWaiverRemission", "reviewAuthorityRemission", "reviewHWFRemission", "reviewECRRemission", "detainedReviewASRemission", "detainedReviewLARemission", "detainedReviewHOWaiverRemission", "detainedReviewAuthorityRemission", "detainedReviewHWFRemission", "detainedReviewECRRemission" +"printAndSendReheardHearingRequirements","detainedPrintAndSendReheardHearingRequirements","reviewASRemission", "reviewLARemission", "reviewHOWaiverRemission", "reviewAuthorityRemission", "reviewHWFRemission", "reviewECRRemission", "detainedReviewASRemission", "detainedReviewLARemission", "detainedReviewHOWaiverRemission", "detainedReviewAuthorityRemission", "detainedReviewHWFRemission", "detainedReviewECRRemission", "respondToQuery" diff --git a/src/main/resources/wa-task-types-ia-asylum.dmn b/src/main/resources/wa-task-types-ia-asylum.dmn index dbde84ab..40ad5c70 100644 --- a/src/main/resources/wa-task-types-ia-asylum.dmn +++ b/src/main/resources/wa-task-types-ia-asylum.dmn @@ -1,5 +1,5 @@ - + @@ -1566,6 +1566,17 @@ "Detained - Review ECR remission" + + + + + + "respondToQuery" + + + "Respond to Query" + + diff --git a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskCompletionTest.java b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskCompletionTest.java index 59dbdabe..02c87409 100644 --- a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskCompletionTest.java +++ b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskCompletionTest.java @@ -697,7 +697,7 @@ void if_this_test_fails_needs_updating_with_your_changes() { //The purpose of this test is to prevent adding new rows without being tested DmnDecisionTableImpl logic = (DmnDecisionTableImpl) decision.getDecisionLogic(); - assertThat(logic.getRules().size(), is(96)); + assertThat(logic.getRules().size(), is(97)); } diff --git a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskConfigurationTest.java b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskConfigurationTest.java index e4ef7296..c62a568c 100644 --- a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskConfigurationTest.java +++ b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskConfigurationTest.java @@ -73,7 +73,7 @@ void when_taskId_then_return_Access_Requests(String taskType) { void if_this_test_fails_needs_updating_with_your_changes() { //The purpose of this test is to prevent adding new rows without being tested DmnDecisionTableImpl logic = (DmnDecisionTableImpl) decision.getDecisionLogic(); - assertThat(logic.getRules().size(), is(36)); + assertThat(logic.getRules().size(), is(37)); } @SuppressWarnings("checkstyle:indentation") diff --git a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskInitiationTest.java b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskInitiationTest.java index d77eb869..915adade 100644 --- a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskInitiationTest.java +++ b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskInitiationTest.java @@ -4870,7 +4870,7 @@ void if_this_test_fails_needs_updating_with_your_changes() { DmnDecisionTableImpl logic = (DmnDecisionTableImpl) decision.getDecisionLogic(); assertThat(logic.getInputs().size(), is(32)); assertThat(logic.getOutputs().size(), is(4)); - assertThat(logic.getRules().size(), is(201)); + assertThat(logic.getRules().size(), is(202)); } public static Stream addendumScenarioProvider() { diff --git a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskTypesTest.java b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskTypesTest.java index 81ee2ba9..dd731f81 100644 --- a/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskTypesTest.java +++ b/src/test/java/uk/gov/hmcts/reform/iataskconfiguration/dmn/CamundaTaskTypesTest.java @@ -904,7 +904,7 @@ void check_dmn_changed() { DmnDecisionTableImpl logic = (DmnDecisionTableImpl) decision.getDecisionLogic(); assertThat(logic.getInputs().size(), is(1)); assertThat(logic.getOutputs().size(), is(2)); - assertThat(logic.getRules().size(), is(141)); + assertThat(logic.getRules().size(), is(142)); } }