You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by na...@apache.org on 2017/05/05 11:52:09 UTC
[1/2] incubator-fineract git commit: #261 validation added on
disabling gl account
Repository: incubator-fineract
Updated Branches:
refs/heads/develop 516160bf4 -> cb28f2a01
#261 validation added on disabling gl account
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/94a4bf57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/94a4bf57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/94a4bf57
Branch: refs/heads/develop
Commit: 94a4bf570a64bb016196cb3e954afa572cfbe0a4
Parents: 8baf9f4
Author: nazeer1100126 <na...@confluxtechnologies.com>
Authored: Fri Apr 21 15:26:19 2017 +0530
Committer: nazeer1100126 <na...@confluxtechnologies.com>
Committed: Fri Apr 21 15:26:19 2017 +0530
----------------------------------------------------------------------
.../exception/GLAccountDisableException.java | 35 ++++++++++++++++++++
...ntWritePlatformServiceJpaRepositoryImpl.java | 25 ++++++++++++--
2 files changed, 57 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/94a4bf57/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/exception/GLAccountDisableException.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/exception/GLAccountDisableException.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/exception/GLAccountDisableException.java
new file mode 100644
index 0000000..5ad0658
--- /dev/null
+++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/exception/GLAccountDisableException.java
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.accounting.glaccount.exception;
+
+import org.apache.fineract.infrastructure.core.exception.AbstractPlatformDomainRuleException;
+
+/**
+ *
+ * when gl account is attached with any product(loan/saving) then we can not
+ * disable the gl account
+ */
+public class GLAccountDisableException extends
+ AbstractPlatformDomainRuleException {
+
+ public GLAccountDisableException() {
+ super("error.msg.glaccount.attached.to.product",
+ "General Ledger Account is already attached to product.");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/94a4bf57/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java
index 4597c6a..2135efd 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java
@@ -27,6 +27,7 @@ import org.apache.fineract.accounting.glaccount.command.GLAccountCommand;
import org.apache.fineract.accounting.glaccount.domain.GLAccount;
import org.apache.fineract.accounting.glaccount.domain.GLAccountRepository;
import org.apache.fineract.accounting.glaccount.domain.GLAccountType;
+import org.apache.fineract.accounting.glaccount.exception.GLAccountDisableException;
import org.apache.fineract.accounting.glaccount.exception.GLAccountDuplicateException;
import org.apache.fineract.accounting.glaccount.exception.GLAccountInvalidDeleteException;
import org.apache.fineract.accounting.glaccount.exception.GLAccountInvalidParentException;
@@ -44,10 +45,12 @@ import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
+import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -60,15 +63,17 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount
private final JournalEntryRepository glJournalEntryRepository;
private final GLAccountCommandFromApiJsonDeserializer fromApiJsonDeserializer;
private final CodeValueRepositoryWrapper codeValueRepositoryWrapper;
+ private final JdbcTemplate jdbcTemplate;
@Autowired
public GLAccountWritePlatformServiceJpaRepositoryImpl(final GLAccountRepository glAccountRepository,
final JournalEntryRepository glJournalEntryRepository, final GLAccountCommandFromApiJsonDeserializer fromApiJsonDeserializer,
- final CodeValueRepositoryWrapper codeValueRepositoryWrapper) {
+ final CodeValueRepositoryWrapper codeValueRepositoryWrapper, final RoutingDataSource dataSource) {
this.glAccountRepository = glAccountRepository;
this.glJournalEntryRepository = glJournalEntryRepository;
this.fromApiJsonDeserializer = fromApiJsonDeserializer;
this.codeValueRepositoryWrapper = codeValueRepositoryWrapper;
+ this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Transactional
@@ -115,7 +120,13 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount
try {
final GLAccountCommand accountCommand = this.fromApiJsonDeserializer.commandFromApiJson(command.json());
accountCommand.validateForUpdate();
-
+ if (command.hasParameter(GLAccountJsonInputParams.DISABLED
+ .getValue())
+ && command
+ .booleanPrimitiveValueOfParameterNamed(GLAccountJsonInputParams.DISABLED
+ .getValue())) {
+ validateForAttachedProduct(glAccountId);
+ }
final Long parentId = command.longValueOfParameterNamed(GLAccountJsonInputParams.PARENT_ID.getValue());
if (glAccountId.equals(parentId)) { throw new InvalidParentGLAccountHeadException(glAccountId, parentId); }
// is the glAccount valid
@@ -165,7 +176,15 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount
}
}
- @Transactional
+ private void validateForAttachedProduct(Long glAccountId) {
+ String sql = "select count(*) from acc_product_mapping acc where acc.gl_account_id = "+glAccountId;
+ int count = this.jdbcTemplate.queryForObject(sql, Integer.class);
+ if(count>0){
+ throw new GLAccountDisableException();
+ }
+ }
+
+ @Transactional
@Override
public CommandProcessingResult deleteGLAccount(final Long glAccountId) {
final GLAccount glAccount = this.glAccountRepository.findOne(glAccountId);
[2/2] incubator-fineract git commit: Merge branch 'FINERACT-261' into
develop
Posted by na...@apache.org.
Merge branch 'FINERACT-261' into develop
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/cb28f2a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/cb28f2a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/cb28f2a0
Branch: refs/heads/develop
Commit: cb28f2a018e1f0cf4e12d1fafb3ea2ac09128d1f
Parents: 516160b 94a4bf5
Author: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Authored: Fri May 5 17:21:48 2017 +0530
Committer: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Committed: Fri May 5 17:21:48 2017 +0530
----------------------------------------------------------------------
.../exception/GLAccountDisableException.java | 35 ++++++++++++++++++++
...ntWritePlatformServiceJpaRepositoryImpl.java | 25 ++++++++++++--
2 files changed, 57 insertions(+), 3 deletions(-)
----------------------------------------------------------------------