diff --git a/.gitignore b/.gitignore index 770b014b1..b7371f7a4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,10 @@ ganttzk/target .project .settings/ +# ignore IDEA configuration files +.idea +*.iml + #ignore patches files *.patch diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/IntegrationEntity.java b/libreplan-business/src/main/java/org/libreplan/business/common/IntegrationEntity.java index 6a573170d..e9bc65af8 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/IntegrationEntity.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/IntegrationEntity.java @@ -105,6 +105,7 @@ public abstract class IntegrationEntity extends BaseEntity { * with the same code. This method is a Template method that calls on * the private method findIntegrationEntityDAO, which in turn * calls on the abstract method getIntegrationEntityDAO(). + * Code of entity looks like: "WORK_REPORT_0001" */ @AssertTrue(message="code is already used") public boolean isUniqueCodeConstraint() { diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/daos/EntitySequenceDAO.java b/libreplan-business/src/main/java/org/libreplan/business/common/daos/EntitySequenceDAO.java index bb9581063..f39417da0 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/daos/EntitySequenceDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/daos/EntitySequenceDAO.java @@ -110,16 +110,13 @@ public class EntitySequenceDAO extends for (int i = 0; i < 5; i++) { try { String code; - Integer cont = 0; EntitySequence entitySequence = getActiveEntitySequence(entityName); do { entitySequence.incrementLastValue(); code = entitySequence.getCode(); - cont++; } while (entityName.getIntegrationEntityDAO() - .existsByCode(code) - && cont < 100); + .existsByCode(code)); save(entitySequence); return code; diff --git a/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReport.java b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReport.java index 09d71b1a1..dd0d97448 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReport.java +++ b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReport.java @@ -440,19 +440,23 @@ public class WorkReport extends IntegrationEntity implements public void generateWorkReportLineCodes(int numberOfDigits) { for (WorkReportLine line : this.getWorkReportLines()) { - if ((line.getCode() == null) || (line.getCode().isEmpty()) - || (!line.getCode().startsWith(this.getCode()))) { + + if ((line.getCode() == null) || (line.getCode().isEmpty()) || + (!line.getCode().startsWith(this.getCode()))) { + this.incrementLastWorkReportLineSequenceCode(); - String lineCode = EntitySequence.formatValue(numberOfDigits, - this.getLastWorkReportLineSequenceCode()); - line.setCode(this.getCode() - + EntitySequence.CODE_SEPARATOR_CHILDREN + lineCode); + + String lineCode = EntitySequence.formatValue( + numberOfDigits, this.getLastWorkReportLineSequenceCode()); + + line.setCode(this.getCode() + + EntitySequence.CODE_SEPARATOR_CHILDREN + lineCode); } } } public void incrementLastWorkReportLineSequenceCode() { - if(lastWorkReportLineSequenceCode==null){ + if(lastWorkReportLineSequenceCode == null){ lastWorkReportLineSequenceCode = 0; } lastWorkReportLineSequenceCode++;