.findByProductAreaYearAndMonthWithClosed(year,
month.getMonth(), productArea);
Map<String, SumAvvikV> deviationMap = new Hashtable<String, SumAvvikV>();
SumAvvikV currentDeviationOpen = null;
SumAvvikV currentDeviationClosed = null;
String jobFunctionName = "";
int count = 0;
if (deviations != null) {
for (SumAvvikV deviation : deviations) {
count++;
if (!jobFunctionName.equalsIgnoreCase(deviation
.getJobFunctionName())
&& count != 1) {
if (currentDeviationOpen != null
&& currentDeviationClosed != null) {
currentDeviationOpen
.setClosedCount(currentDeviationClosed
.getDeviationCount());
deviationMap.put(currentDeviationOpen
.getJobFunctionName(), currentDeviationOpen);
} else if (currentDeviationClosed != null) {
currentDeviationClosed
.setClosedCount(currentDeviationClosed
.getDeviationCount());
currentDeviationClosed.setDeviationCount(0);
deviationMap.put(currentDeviationClosed
.getJobFunctionName(), currentDeviationClosed);
} else if (currentDeviationOpen != null) {
deviationMap.put(currentDeviationOpen
.getJobFunctionName(), currentDeviationOpen);
}
currentDeviationOpen = null;
currentDeviationClosed = null;
}
if (deviation.getClosed() == 0) {
currentDeviationOpen = deviation;
} else {
currentDeviationClosed = deviation;
}
jobFunctionName = deviation.getJobFunctionName();
}
}
// setter siste avvik
if (currentDeviationOpen != null && currentDeviationClosed != null) {
currentDeviationOpen.setClosedCount(currentDeviationClosed
.getDeviationCount());
deviationMap.put(currentDeviationOpen.getJobFunctionName(),
currentDeviationOpen);
} else if (currentDeviationClosed != null) {
currentDeviationClosed.setClosedCount(currentDeviationClosed
.getDeviationCount());
currentDeviationClosed.setDeviationCount(0);
deviationMap.put(currentDeviationClosed.getJobFunctionName(),
currentDeviationClosed);
} else if (currentDeviationOpen != null) {
deviationMap.put(currentDeviationOpen.getJobFunctionName(),
currentDeviationOpen);
}