FINERACT-2152: Loan term variations audit fields
This commit is contained in:
-11
@@ -23,7 +23,6 @@ import static org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariation
|
|||||||
import static org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType.PROGRESSIVE;
|
import static org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType.PROGRESSIVE;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeParseException;
|
import java.time.format.DateTimeParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -41,13 +40,11 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
|
|||||||
import org.apache.fineract.infrastructure.core.domain.ExternalId;
|
import org.apache.fineract.infrastructure.core.domain.ExternalId;
|
||||||
import org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRuleException;
|
import org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRuleException;
|
||||||
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
|
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||||
import org.apache.fineract.infrastructure.core.service.DateUtils;
|
|
||||||
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
||||||
import org.apache.fineract.portfolio.loanaccount.domain.Loan;
|
import org.apache.fineract.portfolio.loanaccount.domain.Loan;
|
||||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanRepositoryWrapper;
|
import org.apache.fineract.portfolio.loanaccount.domain.LoanRepositoryWrapper;
|
||||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariations;
|
import org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariations;
|
||||||
import org.apache.fineract.portfolio.loanaccount.rescheduleloan.domain.LoanTermVariationsRepository;
|
import org.apache.fineract.portfolio.loanaccount.rescheduleloan.domain.LoanTermVariationsRepository;
|
||||||
import org.apache.fineract.useradministration.domain.AppUser;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@@ -110,10 +107,6 @@ public class InterestPauseWritePlatformServiceImpl implements InterestPauseWrite
|
|||||||
variation.setTermApplicableFrom(startDate);
|
variation.setTermApplicableFrom(startDate);
|
||||||
variation.setDateValue(endDate);
|
variation.setDateValue(endDate);
|
||||||
|
|
||||||
AppUser currentUser = context.authenticatedUser();
|
|
||||||
variation.setUpdatedBy(currentUser != null ? currentUser.getId() : null);
|
|
||||||
variation.setUpdatedOnDate(LocalDateTime.now(DateUtils.getDateTimeZoneOfTenant()));
|
|
||||||
|
|
||||||
LoanTermVariations updatedVariation = loanTermVariationsRepository.save(variation);
|
LoanTermVariations updatedVariation = loanTermVariationsRepository.save(variation);
|
||||||
|
|
||||||
return new CommandProcessingResultBuilder().withEntityId(updatedVariation.getId())
|
return new CommandProcessingResultBuilder().withEntityId(updatedVariation.getId())
|
||||||
@@ -128,10 +121,6 @@ public class InterestPauseWritePlatformServiceImpl implements InterestPauseWrite
|
|||||||
|
|
||||||
LoanTermVariations variation = new LoanTermVariations(INTEREST_PAUSE.getValue(), startDate, null, endDate, false, loan);
|
LoanTermVariations variation = new LoanTermVariations(INTEREST_PAUSE.getValue(), startDate, null, endDate, false, loan);
|
||||||
|
|
||||||
AppUser currentUser = context.authenticatedUser();
|
|
||||||
variation.setCreatedBy(currentUser != null ? currentUser.getId() : null);
|
|
||||||
variation.setCreatedOnDate(LocalDateTime.now(DateUtils.getDateTimeZoneOfTenant()));
|
|
||||||
|
|
||||||
LoanTermVariations savedVariation = loanTermVariationsRepository.saveAndFlush(variation);
|
LoanTermVariations savedVariation = loanTermVariationsRepository.saveAndFlush(variation);
|
||||||
|
|
||||||
return new CommandProcessingResultBuilder().withEntityId(savedVariation.getId()).build();
|
return new CommandProcessingResultBuilder().withEntityId(savedVariation.getId()).build();
|
||||||
|
|||||||
+2
-47
@@ -27,15 +27,14 @@ import jakarta.persistence.OneToOne;
|
|||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
|
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
|
||||||
import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
|
import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom;
|
||||||
import org.apache.fineract.portfolio.loanaccount.data.LoanTermVariationsData;
|
import org.apache.fineract.portfolio.loanaccount.data.LoanTermVariationsData;
|
||||||
import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
|
import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "m_loan_term_variations")
|
@Table(name = "m_loan_term_variations")
|
||||||
public class LoanTermVariations extends AbstractPersistableCustom<Long> {
|
public class LoanTermVariations extends AbstractAuditableWithUTCDateTimeCustom<Long> {
|
||||||
|
|
||||||
@ManyToOne(optional = false)
|
@ManyToOne(optional = false)
|
||||||
@JoinColumn(name = "loan_id", nullable = false)
|
@JoinColumn(name = "loan_id", nullable = false)
|
||||||
@@ -62,18 +61,6 @@ public class LoanTermVariations extends AbstractPersistableCustom<Long> {
|
|||||||
@Column(name = "is_active", nullable = false)
|
@Column(name = "is_active", nullable = false)
|
||||||
private Boolean isActive;
|
private Boolean isActive;
|
||||||
|
|
||||||
@Column(name = "created_by")
|
|
||||||
private Long createdBy;
|
|
||||||
|
|
||||||
@Column(name = "created_on_date")
|
|
||||||
private LocalDateTime createdOnDate;
|
|
||||||
|
|
||||||
@Column(name = "updated_by")
|
|
||||||
private Long updatedBy;
|
|
||||||
|
|
||||||
@Column(name = "updated_on_date")
|
|
||||||
private LocalDateTime updatedOnDate;
|
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "parent_id")
|
@JoinColumn(name = "parent_id")
|
||||||
private LoanTermVariations parent;
|
private LoanTermVariations parent;
|
||||||
@@ -183,36 +170,4 @@ public class LoanTermVariations extends AbstractPersistableCustom<Long> {
|
|||||||
public void markAsInactive() {
|
public void markAsInactive() {
|
||||||
this.isActive = false;
|
this.isActive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getCreatedBy() {
|
|
||||||
return createdBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreatedBy(Long createdBy) {
|
|
||||||
this.createdBy = createdBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDateTime getCreatedOnDate() {
|
|
||||||
return createdOnDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreatedOnDate(LocalDateTime createdOnDate) {
|
|
||||||
this.createdOnDate = createdOnDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getUpdatedBy() {
|
|
||||||
return updatedBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdatedBy(Long updatedBy) {
|
|
||||||
this.updatedBy = updatedBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDateTime getUpdatedOnDate() {
|
|
||||||
return updatedOnDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdatedOnDate(LocalDateTime updatedOnDate) {
|
|
||||||
this.updatedOnDate = updatedOnDate;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+33
@@ -48,4 +48,37 @@
|
|||||||
</column>
|
</column>
|
||||||
</addColumn>
|
</addColumn>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
<!-- Columns were created with wrong data type, this below fix them! -->
|
||||||
|
<changeSet id="2" author="fineract" failOnError="false">
|
||||||
|
<dropColumn tableName="m_loan_term_variations" columnName="created_by"/>
|
||||||
|
<dropColumn tableName="m_loan_term_variations" columnName="created_on_date"/>
|
||||||
|
<dropColumn tableName="m_loan_term_variations" columnName="updated_by"/>
|
||||||
|
<dropColumn tableName="m_loan_term_variations" columnName="updated_on_date"/>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="fineract" id="3" context="mysql">
|
||||||
|
<addColumn tableName="m_loan_term_variations">
|
||||||
|
<column name="created_on_utc" type="DATETIME"/>
|
||||||
|
<column name="created_by" type="BIGINT"/>
|
||||||
|
<column name="last_modified_by" type="BIGINT"/>
|
||||||
|
<column name="last_modified_on_utc" type="DATETIME"/>
|
||||||
|
</addColumn>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="fineract" id="4" context="postgresql">
|
||||||
|
<addColumn tableName="m_loan_term_variations">
|
||||||
|
<column name="created_on_utc" type="TIMESTAMP WITH TIME ZONE"/>
|
||||||
|
<column name="created_by" type="BIGINT"/>
|
||||||
|
<column name="last_modified_by" type="BIGINT"/>
|
||||||
|
<column name="last_modified_on_utc" type="TIMESTAMP WITH TIME ZONE"/>
|
||||||
|
</addColumn>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="fineract" id="5">
|
||||||
|
<addForeignKeyConstraint baseColumnNames="created_by" baseTableName="m_loan_term_variations"
|
||||||
|
constraintName="FK_loan_term_variations_created_by" deferrable="false" initiallyDeferred="false"
|
||||||
|
onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="id"
|
||||||
|
referencedTableName="m_appuser" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="last_modified_by" baseTableName="m_loan_term_variations"
|
||||||
|
constraintName="FK_loan_term_variations_last_modified_by" deferrable="false" initiallyDeferred="false"
|
||||||
|
onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="id"
|
||||||
|
referencedTableName="m_appuser" validate="true"/>
|
||||||
|
</changeSet>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
Reference in New Issue
Block a user