[2915] Fixed so the checklist overview only takes into account checklists that are attached to the current activity plan.
There are still many orphan checklists in the database and Hibernate can not orphanRemoval them.
This commit is contained in:
parent
c89a1ba931
commit
c16042f06b
core/src/main/java/se/su/dsv/scipro/checklist
@ -29,6 +29,10 @@ public class Checklist extends DomainObject {
|
||||
@Basic(optional = true)
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* @deprecated Go via Project->Activity Plan->Activity->Checklist
|
||||
*/
|
||||
@Deprecated
|
||||
@ManyToOne(optional = false)
|
||||
private Project project;
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package se.su.dsv.scipro.checklist;
|
||||
|
||||
import se.su.dsv.scipro.activityplan.QActivity;
|
||||
import se.su.dsv.scipro.activityplan.QActivityPlan;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.AbstractServiceImpl;
|
||||
|
||||
@ -15,27 +17,30 @@ public class ChecklistServiceImpl extends AbstractServiceImpl<Checklist, Long> i
|
||||
|
||||
@Override
|
||||
public Long countAnswers(Project project, ChecklistAnswerEnum answer) {
|
||||
return from(QChecklist.checklist)
|
||||
.join(QChecklist.checklist.questions, QChecklistQuestion.checklistQuestion)
|
||||
return from(QActivityPlan.activityPlan)
|
||||
.join(QActivityPlan.activityPlan.activities, QActivity.activity)
|
||||
.join(QActivity.activity.checklist.questions, QChecklistQuestion.checklistQuestion)
|
||||
.join(QChecklistQuestion.checklistQuestion.answers, QChecklistAnswer.checklistAnswer)
|
||||
.where(
|
||||
QChecklist.checklist.project.eq(project),
|
||||
QActivityPlan.activityPlan.project.eq(project),
|
||||
QChecklistAnswer.checklistAnswer.answer.eq(answer))
|
||||
.count();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long countUnanswered(Project project) {
|
||||
long questions = from(QChecklist.checklist)
|
||||
.join(QChecklist.checklist.questions)
|
||||
.where(QChecklist.checklist.project.eq(project))
|
||||
long questions = from(QActivityPlan.activityPlan)
|
||||
.join(QActivityPlan.activityPlan.activities, QActivity.activity)
|
||||
.join(QActivity.activity.checklist.questions)
|
||||
.where(QActivityPlan.activityPlan.project.eq(project))
|
||||
.count();
|
||||
questions = questions * project.getProjectParticipants().size();
|
||||
|
||||
long answers = from(QChecklist.checklist)
|
||||
.join(QChecklist.checklist.questions, QChecklistQuestion.checklistQuestion)
|
||||
.join(QChecklistQuestion.checklistQuestion.answers, QChecklistAnswer.checklistAnswer)
|
||||
.where(QChecklist.checklist.project.eq(project))
|
||||
long answers = from(QActivityPlan.activityPlan)
|
||||
.join(QActivityPlan.activityPlan.activities, QActivity.activity)
|
||||
.join(QActivity.activity.checklist.questions, QChecklistQuestion.checklistQuestion)
|
||||
.join(QChecklistQuestion.checklistQuestion.answers)
|
||||
.where(QActivityPlan.activityPlan.project.eq(project))
|
||||
.count();
|
||||
|
||||
return questions - answers;
|
||||
|
Loading…
x
Reference in New Issue
Block a user