From c373c454fac96851793263d10dc52b905014b009 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 30 May 2012 15:39:02 +0200 Subject: [PATCH] Generate entity sequence codes in monthly timesheets FEA: ItEr76S28UserDashboard --- .../web/users/dashboard/MonthlyTimesheetModel.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetModel.java index daa8e20ed..dd4fa07b6 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/dashboard/MonthlyTimesheetModel.java @@ -32,6 +32,8 @@ import org.hibernate.NonUniqueResultException; import org.joda.time.LocalDate; import org.libreplan.business.calendars.entities.ResourceCalendar; import org.libreplan.business.common.daos.IConfigurationDAO; +import org.libreplan.business.common.daos.IEntitySequenceDAO; +import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.costcategories.entities.TypeOfWorkHours; import org.libreplan.business.orders.daos.IOrderDAO; @@ -109,6 +111,9 @@ public class MonthlyTimesheetModel implements IMonthlyTimesheetModel { @Autowired private IOrderDAO orderDAO; + @Autowired + private IEntitySequenceDAO entitySequenceDAO; + @Override @Transactional(readOnly = true) public void initCreateOrEdit(LocalDate date) { @@ -160,6 +165,9 @@ public class MonthlyTimesheetModel implements IMonthlyTimesheetModel { // If it doesn't exist yet create a new one workReport = WorkReport .create(getMonthlyTimesheetsWorkReportType()); + workReport + .setCode(entitySequenceDAO + .getNextEntityCodeWithoutTransaction(EntityNameEnum.WORK_REPORT)); workReport.setCodeAutogenerated(true); workReport.setResource(user.getWorker()); } @@ -307,6 +315,7 @@ public class MonthlyTimesheetModel implements IMonthlyTimesheetModel { private WorkReportLine createWorkReportLine(OrderElement orderElement, LocalDate date) { WorkReportLine workReportLine = WorkReportLine.create(workReport); + workReportLine.setCodeAutogenerated(true); workReportLine.setOrderElement(orderElement); workReportLine.setDate(date.toDateTimeAtStartOfDay().toDate()); workReportLine.setTypeOfWorkHours(getTypeOfWorkHours()); @@ -332,6 +341,8 @@ public class MonthlyTimesheetModel implements IMonthlyTimesheetModel { sumChargedEffortDAO .updateRelatedSumChargedEffortWithWorkReportLineSet(workReport .getWorkReportLines()); + workReport.generateWorkReportLineCodes(entitySequenceDAO + .getNumberOfDigitsCode(EntityNameEnum.WORK_REPORT)); workReportDAO.save(workReport); }