update documentation for Accounting changes
This commit is contained in:
+1
-1
@@ -13,7 +13,7 @@ import java.util.Set;
|
||||
***/
|
||||
public enum JournalEntryJsonInputParams {
|
||||
OFFICE_ID("officeId"), TRANSACTION_DATE("transactionDate"), COMMENTS("comments"), CREDITS("credits"), DEBITS("debits"), LOCALE("locale"), DATE_FORMAT(
|
||||
"dateFormat"), REFERENCE_NUMBER("referenceNumber"),IS_PREDEFINED_RULE_ENTRY("isPredefinedRuleEntry"),ACCOUNTING_RULE("accountingRule"), AMOUNT("amount");
|
||||
"dateFormat"), REFERENCE_NUMBER("referenceNumber"), USE_ACCOUNTING_RULE("useAccountingRule"), ACCOUNTING_RULE("accountingRule"), AMOUNT("amount");
|
||||
|
||||
private final String value;
|
||||
|
||||
|
||||
+12
-12
@@ -23,7 +23,7 @@ public class JournalEntryCommand {
|
||||
private final LocalDate transactionDate;
|
||||
private final String comments;
|
||||
private final String referenceNumber;
|
||||
private final Boolean isPredefinedRuleEntry;
|
||||
private final Boolean useAccountingRule;
|
||||
private final Long accountingRuleId;
|
||||
private final BigDecimal amount;
|
||||
|
||||
@@ -32,26 +32,26 @@ public class JournalEntryCommand {
|
||||
|
||||
public JournalEntryCommand(final Long officeId, final LocalDate transactionDate, final String comments,
|
||||
final SingleDebitOrCreditEntryCommand[] credits, final SingleDebitOrCreditEntryCommand[] debits,
|
||||
final String referenceNumber, final Boolean isPredefinedRuleEntry, final Long accountingRuleId, final BigDecimal amount) {
|
||||
final String referenceNumber, final Boolean useAccountingRule, final Long accountingRuleId, final BigDecimal amount) {
|
||||
this.officeId = officeId;
|
||||
this.transactionDate = transactionDate;
|
||||
this.comments = comments;
|
||||
this.credits = credits;
|
||||
this.debits = debits;
|
||||
this.referenceNumber = referenceNumber;
|
||||
this.isPredefinedRuleEntry = isPredefinedRuleEntry;
|
||||
this.useAccountingRule = useAccountingRule;
|
||||
this.accountingRuleId = accountingRuleId;
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public JournalEntryCommand(final Long officeId, final LocalDate transactionDate, final String comments, final String referenceNumber,
|
||||
final Boolean isPredefinedRuleEntry, final Long accountingRuleId, final BigDecimal amount) {
|
||||
this(officeId, transactionDate, comments, null, null, referenceNumber, isPredefinedRuleEntry, accountingRuleId, amount);
|
||||
final Boolean useAccountingRule, final Long accountingRuleId, final BigDecimal amount) {
|
||||
this(officeId, transactionDate, comments, null, null, referenceNumber, useAccountingRule, accountingRuleId, amount);
|
||||
}
|
||||
|
||||
public JournalEntryCommand(Long officeId, LocalDate transactionDate, String comments, SingleDebitOrCreditEntryCommand[] credits,
|
||||
SingleDebitOrCreditEntryCommand[] debits, String referenceNumber, Boolean isPredefinedRuleEntry) {
|
||||
this(officeId, transactionDate, comments, credits, debits, referenceNumber, isPredefinedRuleEntry, null,null);
|
||||
SingleDebitOrCreditEntryCommand[] debits, String referenceNumber, Boolean useAccountingRule) {
|
||||
this(officeId, transactionDate, comments, credits, debits, referenceNumber, useAccountingRule, null,null);
|
||||
}
|
||||
|
||||
public void validateForCreate() {
|
||||
@@ -66,11 +66,11 @@ public class JournalEntryCommand {
|
||||
|
||||
baseDataValidator.reset().parameter("comments").value(this.comments).ignoreIfNull().notExceedingLengthOf(500);
|
||||
|
||||
baseDataValidator.reset().parameter("isPredefinedRuleEntry").value(this.isPredefinedRuleEntry).notNull();
|
||||
baseDataValidator.reset().parameter("useAccountingRule").value(this.useAccountingRule).notNull();
|
||||
|
||||
baseDataValidator.reset().parameter("referenceNumber").value(this.referenceNumber).ignoreIfNull().notExceedingLengthOf(100);
|
||||
|
||||
if (!this.isPredefinedRuleEntry) {
|
||||
if (!this.useAccountingRule) {
|
||||
|
||||
baseDataValidator.reset().parameter("credits").value(this.credits).notNull();
|
||||
|
||||
@@ -147,8 +147,8 @@ public class JournalEntryCommand {
|
||||
return this.referenceNumber;
|
||||
}
|
||||
|
||||
public Boolean getIsPredefinedRuleEntry() {
|
||||
return this.isPredefinedRuleEntry;
|
||||
}
|
||||
public Boolean getUseAccountingRule() {
|
||||
return this.useAccountingRule;
|
||||
}
|
||||
|
||||
}
|
||||
+5
-4
@@ -59,15 +59,16 @@ public final class JournalEntryCommandFromApiJsonDeserializer extends AbstractFr
|
||||
JournalEntryJsonInputParams.TRANSACTION_DATE.getValue(), element);
|
||||
final String referenceNumber = this.fromApiJsonHelper.extractStringNamed(
|
||||
JournalEntryJsonInputParams.REFERENCE_NUMBER.getValue(), element);
|
||||
final Boolean isPredefinedRuleEntry = this.fromApiJsonHelper.extractBooleanNamed(JournalEntryJsonInputParams.IS_PREDEFINED_RULE_ENTRY.getValue(), element);
|
||||
final Boolean isPredefinedRuleEntry = this.fromApiJsonHelper.extractBooleanNamed(JournalEntryJsonInputParams.USE_ACCOUNTING_RULE.getValue(), element);
|
||||
final Boolean useAccountingRule = isPredefinedRuleEntry==null?false:isPredefinedRuleEntry;
|
||||
|
||||
final JsonObject topLevelJsonElement = element.getAsJsonObject();
|
||||
final Locale locale = this.fromApiJsonHelper.extractLocaleParameter(topLevelJsonElement);
|
||||
|
||||
if(isPredefinedRuleEntry) {
|
||||
if(useAccountingRule) {
|
||||
final Long accountingRuleId = this.fromApiJsonHelper.extractLongNamed(JournalEntryJsonInputParams.ACCOUNTING_RULE.getValue(), element);
|
||||
final BigDecimal amount = this.fromApiJsonHelper.extractBigDecimalNamed(JournalEntryJsonInputParams.AMOUNT.getValue(), element, locale);
|
||||
return new JournalEntryCommand(officeId, transactionDate, comments, referenceNumber, isPredefinedRuleEntry, accountingRuleId, amount);
|
||||
return new JournalEntryCommand(officeId, transactionDate, comments, referenceNumber, useAccountingRule, accountingRuleId, amount);
|
||||
}
|
||||
|
||||
SingleDebitOrCreditEntryCommand[] credits = null;
|
||||
@@ -82,7 +83,7 @@ public final class JournalEntryCommandFromApiJsonDeserializer extends AbstractFr
|
||||
debits = populateCreditsOrDebitsArray(topLevelJsonElement, locale, debits, JournalEntryJsonInputParams.DEBITS.getValue());
|
||||
}
|
||||
}
|
||||
return new JournalEntryCommand(officeId, transactionDate, comments, credits, debits, referenceNumber, isPredefinedRuleEntry);
|
||||
return new JournalEntryCommand(officeId, transactionDate, comments, credits, debits, referenceNumber, useAccountingRule);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+3
-3
@@ -88,7 +88,7 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa
|
||||
final Office office = this.officeRepository.findOne(officeId);
|
||||
if (office == null) { throw new OfficeNotFoundException(officeId); }
|
||||
|
||||
final boolean isPredefinedRuleEntry = command.booleanPrimitiveValueOfParameterNamed(JournalEntryJsonInputParams.IS_PREDEFINED_RULE_ENTRY.getValue());
|
||||
final boolean useAccountingRule = command.booleanPrimitiveValueOfParameterNamed(JournalEntryJsonInputParams.USE_ACCOUNTING_RULE.getValue());
|
||||
|
||||
validateBusinessRulesForJournalEntries(journalEntryCommand);
|
||||
|
||||
@@ -98,7 +98,7 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa
|
||||
final String referenceNumber = journalEntryCommand.getReferenceNumber();
|
||||
final boolean manualEntry = true;
|
||||
|
||||
if (isPredefinedRuleEntry) {
|
||||
if (useAccountingRule) {
|
||||
|
||||
final Long accountingRuleId = command.longValueOfParameterNamed(JournalEntryJsonInputParams.ACCOUNTING_RULE.getValue());
|
||||
final BigDecimal amount = command.bigDecimalValueOfParameterNamed(JournalEntryJsonInputParams.AMOUNT.getValue());
|
||||
@@ -218,7 +218,7 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa
|
||||
if (latestGLClosure.getClosingDate().after(transactionDate) || latestGLClosure.getClosingDate().equals(transactionDate)) { throw new JournalEntryInvalidException(
|
||||
GL_JOURNAL_ENTRY_INVALID_REASON.ACCOUNTING_CLOSED, latestGLClosure.getClosingDate(), null, null); }
|
||||
}
|
||||
if(!command.getIsPredefinedRuleEntry()) {
|
||||
if(!command.getUseAccountingRule()) {
|
||||
/*** check if credits and debits are valid **/
|
||||
final SingleDebitOrCreditEntryCommand[] credits = command.getCredits();
|
||||
final SingleDebitOrCreditEntryCommand[] debits = command.getDebits();
|
||||
|
||||
Reference in New Issue
Block a user