TSK-476 fix DB2 unittest errors

This commit is contained in:
BerndBreier 2018-05-07 12:54:35 +02:00 committed by Holger Hagen
parent 4ab2305285
commit a3090ad058
2 changed files with 26 additions and 17 deletions

View File

@ -550,17 +550,26 @@ public class TaskServiceImpl implements TaskService {
// query for existing tasks. use taskMapper.findExistingTasks because this method
// returns only the required information.
List<MinimalTaskSummary> taskSummaries = taskMapper.findExistingTasks(taskIds);
List<MinimalTaskSummary> taskSummaries;
if (taskIds.isEmpty()) {
taskSummaries = new ArrayList<>();
} else {
taskSummaries = taskMapper.findExistingTasks(taskIds);
}
// check source WB (read)+transfer
Set<String> workbasketIds = new HashSet<>();
taskSummaries.stream().forEach(t -> workbasketIds.add(t.getWorkbasketId()));
WorkbasketQueryImpl query = (WorkbasketQueryImpl) workbasketService.createWorkbasketQuery();
query.setUsedToAugmentTasks(true);
List<WorkbasketSummary> sourceWorkbaskets = query
.callerHasPermission(WorkbasketPermission.TRANSFER)
.idIn(workbasketIds.toArray(new String[0]))
.list();
List<WorkbasketSummary> sourceWorkbaskets;
if (taskSummaries.isEmpty()) {
sourceWorkbaskets = new ArrayList<>();
} else {
sourceWorkbaskets = query
.callerHasPermission(WorkbasketPermission.TRANSFER)
.idIn(workbasketIds.toArray(new String[0]))
.list();
}
taskIdIterator = taskIds.iterator();
while (taskIdIterator.hasNext()) {
String currentTaskId = taskIdIterator.next();

View File

@ -208,37 +208,37 @@ public interface TaskMonitorMapper {
@Param("customFieldValues") List<String> customFieldValues);
@Select("<script>"
+ "SELECT TASK.ID FROM TASKANA.TASK "
+ "SELECT T.ID FROM TASKANA.TASK T "
+ "<if test=\"joinWithAttachments\">"
+ "LEFT JOIN TASKANA.ATTACHMENT ON TASK.ID = ATTACHMENT.TASK_ID "
+ "LEFT JOIN TASKANA.ATTACHMENT A ON T.ID = A.TASK_ID "
+ "</if>"
+ "<where>"
+ "<if test=\"workbasketIds != null\">"
+ "TASK.WORKBASKET_ID IN (<foreach collection='workbasketIds' item='workbasketId' separator=','>#{workbasketId}</foreach>) "
+ "T.WORKBASKET_ID IN (<foreach collection='workbasketIds' item='workbasketId' separator=','>#{workbasketId}</foreach>) "
+ "</if>"
+ "<if test=\"states != null\">"
+ "AND TASK.STATE IN (<foreach collection='states' item='state' separator=','>#{state}</foreach>) "
+ "AND T.STATE IN (<foreach collection='states' item='state' separator=','>#{state}</foreach>) "
+ "</if>"
+ "<if test=\"categories != null\">"
+ "AND TASK.CLASSIFICATION_CATEGORY IN (<foreach collection='categories' item='category' separator=','>#{category}</foreach>) "
+ "AND T.CLASSIFICATION_CATEGORY IN (<foreach collection='categories' item='category' separator=','>#{category}</foreach>) "
+ "</if>"
+ "<if test=\"domains != null\">"
+ "AND DOMAIN IN (<foreach collection='domains' item='domain' separator=','>#{domain}</foreach>) "
+ "</if>"
+ "<if test='classificationIds != null'>"
+ "AND TASK.CLASSIFICATION_ID IN (<foreach collection='classificationIds' item='classificationId' separator=','>#{classificationId}</foreach>) "
+ "AND T.CLASSIFICATION_ID IN (<foreach collection='classificationIds' item='classificationId' separator=','>#{classificationId}</foreach>) "
+ "</if>"
+ "<if test='excludedClassificationIds != null'>"
+ "AND TASK.CLASSIFICATION_ID NOT IN (<foreach collection='excludedClassificationIds' item='excludedClassificationId' separator=','>#{excludedClassificationId}</foreach>) "
+ "AND T.CLASSIFICATION_ID NOT IN (<foreach collection='excludedClassificationIds' item='excludedClassificationId' separator=','>#{excludedClassificationId}</foreach>) "
+ "</if>"
+ "<if test=\"customField != null and customFieldValues != null\">"
+ "AND TASK.${customField} IN (<foreach collection='customFieldValues' item='customFieldValue' separator=','>#{customFieldValue}</foreach>) "
+ "AND T.${customField} IN (<foreach collection='customFieldValues' item='customFieldValue' separator=','>#{customFieldValue}</foreach>) "
+ "</if>"
+ "AND TASK.DUE IS NOT NULL AND ( "
+ "AND T.DUE IS NOT NULL AND ( "
+ "<foreach collection='selectedItems' item='selectedItem' separator=' OR '>"
+ "#{selectedItem.key} = TASK.${groupedBy} AND "
+ "#{selectedItem.key} = T.${groupedBy} AND "
+ "<if test=\"joinWithAttachments\">"
+ "ATTACHMENT.CLASSIFICATION_KEY = #{selectedItem.subKey} AND "
+ "A.CLASSIFICATION_KEY = #{selectedItem.subKey} AND "
+ "</if>"
+ "<if test=\"_databaseId == 'db2'\">"
+ "#{selectedItem.upperAgeLimit} >= (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) AND "