From eb2741a0e2be5e78954413ddfab56e9fbc3a006a Mon Sep 17 00:00:00 2001 From: MithunKashyap Date: Tue, 18 Nov 2014 16:59:03 +0530 Subject: [PATCH] MIFOSX-1642: Added sub status to client resource --- .../codes/data/CodeValueData.java | 30 +++- .../portfolio/client/data/ClientData.java | 166 ++++++++++++++---- .../ClientReadPlatformServiceImpl.java | 33 +++- .../common/domain/DayOfWeekType.java | 5 + .../portfolio/common/domain/NthDayType.java | 5 + ...nt_substatus_and_codevalue_description.sql | 12 ++ 6 files changed, 197 insertions(+), 54 deletions(-) create mode 100644 mifosng-provider/src/main/resources/sql/migrations/core_db/V217__client_substatus_and_codevalue_description.sql diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/data/CodeValueData.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/data/CodeValueData.java index 7852da730..f0d757eab 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/data/CodeValueData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/data/CodeValueData.java @@ -19,20 +19,32 @@ public class CodeValueData implements Serializable { @SuppressWarnings("unused") private final Integer position; + + @SuppressWarnings("unused") + private final String description; public static CodeValueData instance(final Long id, final String name, final Integer position) { - return new CodeValueData(id, name, position); - } + String description = null; + return new CodeValueData(id, name, position, description); + } + public static CodeValueData instance(final Long id, final String name, final String description) { + Integer position = null; + return new CodeValueData(id, name, position, description); + } + public static CodeValueData instance(final Long id, final String name) { - return new CodeValueData(id, name, null); - } + String description = null; + Integer position=null; + return new CodeValueData(id, name, position, description); + } - private CodeValueData(final Long id, final String name, final Integer position) { - this.id = id; - this.name = name; - this.position = position; - } + private CodeValueData(final Long id, final String name, final Integer position, final String description) { + this.id = id; + this.name = name; + this.position = position; + this.description = description; + } public Long getId() { return this.id; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java index bd92d278a..f85385585 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java @@ -30,6 +30,8 @@ final public class ClientData implements Comparable { private final String externalId; private final EnumOptionData status; + private final CodeValueData subStatus; + @SuppressWarnings("unused") private final Boolean active; private final LocalDate activationDate; @@ -78,17 +80,44 @@ final public class ClientData implements Comparable { final Collection staffOptions, final Collection closureReasons, final Collection genderOptions, final Collection savingProductOptions, final Collection clientTypeOptions, final Collection clientClassificationOptions) { + final String accountNo = null; + final EnumOptionData status = null; + final CodeValueData subStatus = null; + final String officeName = null; + final Long transferToOfficeId = null; + final String transferToOfficeName = null; + final Long id = null; + final String firstname = null; + final String middlename = null; + final String lastname = null; + final String fullname = null; + final String displayName = null; + final String externalId = null; + final String mobileNo = null; + final LocalDate dateOfBirth = null; + final CodeValueData gender = null; + final Long imageId = null; + final Long staffId = null; + final String staffName = null; + final Collection groups = null; + final ClientTimelineData timeline = null; + final Long savingsProductId = null; + final String savingsProductName = null; + final Long savingsAccountId = null; + final Collection savingAccountOptions = null; final CodeValueData clientType = null; final CodeValueData clientClassification = null; - return new ClientData(null, null, officeId, null, null, null, null, null, null, null, null, null, null, null, null, null, - joinedDate, null, null, null, officeOptions, null, staffOptions, closureReasons, genderOptions, null, savingProductOptions, - null, null, null, null, clientType, clientClassification, clientTypeOptions, clientClassificationOptions); + return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, joinedDate, imageId, staffId, + staffName, officeOptions, groups, staffOptions, closureReasons, genderOptions, timeline, savingProductOptions, + savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions, clientType, clientClassification, + clientTypeOptions, clientClassificationOptions); } public static ClientData templateOnTop(final ClientData clientData, final ClientData templateData) { - return new ClientData(clientData.accountNo, clientData.status, clientData.officeId, clientData.officeName, + return new ClientData(clientData.accountNo, clientData.status, clientData.subStatus, clientData.officeId, clientData.officeName, clientData.transferToOfficeId, clientData.transferToOfficeName, clientData.id, clientData.firstname, clientData.middlename, clientData.lastname, clientData.fullname, clientData.displayName, clientData.externalId, clientData.mobileNo, clientData.dateOfBirth, clientData.gender, clientData.activationDate, clientData.imageId, clientData.staffId, @@ -103,7 +132,7 @@ final public class ClientData implements Comparable { public static ClientData templateWithSavingAccountOptions(final ClientData clientData, final Collection savingAccountOptions) { - return new ClientData(clientData.accountNo, clientData.status, clientData.officeId, clientData.officeName, + return new ClientData(clientData.accountNo, clientData.status, clientData.subStatus, clientData.officeId, clientData.officeName, clientData.transferToOfficeId, clientData.transferToOfficeName, clientData.id, clientData.firstname, clientData.middlename, clientData.lastname, clientData.fullname, clientData.displayName, clientData.externalId, clientData.mobileNo, clientData.dateOfBirth, clientData.gender, clientData.activationDate, clientData.imageId, clientData.staffId, @@ -115,7 +144,7 @@ final public class ClientData implements Comparable { } public static ClientData setParentGroups(final ClientData clientData, final Collection parentGroups) { - return new ClientData(clientData.accountNo, clientData.status, clientData.officeId, clientData.officeName, + return new ClientData(clientData.accountNo, clientData.status, clientData.subStatus, clientData.officeId, clientData.officeName, clientData.transferToOfficeId, clientData.transferToOfficeName, clientData.id, clientData.firstname, clientData.middlename, clientData.lastname, clientData.fullname, clientData.displayName, clientData.externalId, clientData.mobileNo, clientData.dateOfBirth, clientData.gender, clientData.activationDate, clientData.imageId, clientData.staffId, @@ -126,56 +155,118 @@ final public class ClientData implements Comparable { } - public static ClientData clientIdentifier(final Long id, final String accountNo, final EnumOptionData status, final String firstname, - final String middlename, final String lastname, final String fullname, final String displayName, final Long officeId, - final String officeName) { + public static ClientData clientIdentifier(final Long id, final String accountNo, final EnumOptionData status, + final CodeValueData subStatus, final String firstname, final String middlename, final String lastname, final String fullname, + final String displayName, final Long officeId, final String officeName) { + + final Long transferToOfficeId = null; + final String transferToOfficeName = null; + final String externalId = null; + final String mobileNo = null; + final LocalDate dateOfBirth = null; + final CodeValueData gender = null; + final LocalDate activationDate = null; + final Long imageId = null; + final Long staffId = null; + final String staffName = null; + final Collection allowedOffices = null; + final Collection groups = null; + final Collection staffOptions = null; + final Collection closureReasons = null; + final Collection genderOptions = null; + final ClientTimelineData timeline = null; + final Collection savingProductOptions = null; + final Long savingsProductId = null; + final String savingsProductName = null; + final Long savingsAccountId = null; + final Collection savingAccountOptions = null; final CodeValueData clientType = null; final CodeValueData clientClassification = null; final Collection clientTypeOptions = null; final Collection clientClassificationOptions = null; - return new ClientData(accountNo, status, officeId, officeName, null, null, id, firstname, middlename, lastname, fullname, - displayName, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, clientType, clientClassification, clientTypeOptions, clientClassificationOptions); - + return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, + staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions, timeline, savingProductOptions, + savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions, clientType, clientClassification, + clientTypeOptions, clientClassificationOptions); } public static ClientData lookup(final Long id, final String displayName, final Long officeId, final String officeName) { + final String accountNo = null; + final EnumOptionData status = null; + final CodeValueData subStatus = null; + final Long transferToOfficeId = null; + final String transferToOfficeName = null; + final String firstname = null; + final String middlename = null; + final String lastname = null; + final String fullname = null; + final String externalId = null; + final String mobileNo = null; + final LocalDate dateOfBirth = null; + final CodeValueData gender = null; + final LocalDate activationDate = null; + final Long imageId = null; + final Long staffId = null; + final String staffName = null; + final Collection allowedOffices = null; + final Collection groups = null; + final Collection staffOptions = null; + final Collection closureReasons = null; + final Collection genderOptions = null; + final ClientTimelineData timeline = null; + final Collection savingProductOptions = null; + final Long savingsProductId = null; + final String savingsProductName = null; + final Long savingsAccountId = null; + final Collection savingAccountOptions = null; final CodeValueData clientType = null; final CodeValueData clientClassification = null; final Collection clientTypeOptions = null; final Collection clientClassificationOptions = null; - return new ClientData(null, null, officeId, officeName, null, null, id, null, null, null, null, displayName, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, clientType, - clientClassification, clientTypeOptions, clientClassificationOptions); + return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, + staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions, timeline, savingProductOptions, + savingsProductId, savingsProductName, savingsAccountId, savingAccountOptions, clientType, clientClassification, + clientTypeOptions, clientClassificationOptions); } - public static ClientData instance(final String accountNo, final EnumOptionData status, final Long officeId, final String officeName, - final Long transferToOfficeId, final String transferToOfficeName, final Long id, final String firstname, - final String middlename, final String lastname, final String fullname, final String displayName, final String externalId, - final String mobileNo, final LocalDate dateOfBirth, final CodeValueData gender, final LocalDate activationDate, - final Long imageId, final Long staffId, final String staffName, final ClientTimelineData timeline, final Long savingsProductId, - final String savingsProductName, final Long savingsAccountId, final CodeValueData clientType, - final CodeValueData clientClassification) { + public static ClientData instance(final String accountNo, final EnumOptionData status, final CodeValueData subStatus, + final Long officeId, final String officeName, final Long transferToOfficeId, final String transferToOfficeName, final Long id, + final String firstname, final String middlename, final String lastname, final String fullname, final String displayName, + final String externalId, final String mobileNo, final LocalDate dateOfBirth, final CodeValueData gender, + final LocalDate activationDate, final Long imageId, final Long staffId, final String staffName, + final ClientTimelineData timeline, final Long savingsProductId, final String savingsProductName, final Long savingsAccountId, + final CodeValueData clientType, final CodeValueData clientClassification) { + + final Collection allowedOffices = null; + final Collection groups = null; + final Collection staffOptions = null; + final Collection closureReasons = null; + final Collection genderOptions = null; + final Collection savingProductOptions = null; final Collection clientTypeOptions = null; final Collection clientClassificationOptions = null; - return new ClientData(accountNo, status, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, middlename, - lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, staffName, - null, null, null, null, null, timeline, null, savingsProductId, savingsProductName, savingsAccountId, null, clientType, - clientClassification, clientTypeOptions, clientClassificationOptions); + return new ClientData(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, + staffName, allowedOffices, groups, staffOptions, closureReasons, genderOptions, timeline, savingProductOptions, + savingsProductId, savingsProductName, savingsAccountId, null, clientType, clientClassification, clientTypeOptions, + clientClassificationOptions); } - private ClientData(final String accountNo, final EnumOptionData status, final Long officeId, final String officeName, - final Long transferToOfficeId, final String transferToOfficeName, final Long id, final String firstname, - final String middlename, final String lastname, final String fullname, final String displayName, final String externalId, - final String mobileNo, final LocalDate dateOfBirth, final CodeValueData gender, final LocalDate activationDate, - final Long imageId, final Long staffId, final String staffName, final Collection allowedOffices, - final Collection groups, final Collection staffOptions, - final Collection closureReasons, final Collection genderOptions, - final ClientTimelineData timeline, final Collection savingProductOptions, final Long savingsProductId, - final String savingsProductName, final Long savingsAccountId, final Collection savingAccountOptions, - final CodeValueData clientType, final CodeValueData clientClassification, final Collection clientTypeOptions, + private ClientData(final String accountNo, final EnumOptionData status, final CodeValueData subStatus, final Long officeId, + final String officeName, final Long transferToOfficeId, final String transferToOfficeName, final Long id, + final String firstname, final String middlename, final String lastname, final String fullname, final String displayName, + final String externalId, final String mobileNo, final LocalDate dateOfBirth, final CodeValueData gender, + final LocalDate activationDate, final Long imageId, final Long staffId, final String staffName, + final Collection allowedOffices, final Collection groups, + final Collection staffOptions, final Collection closureReasons, + final Collection genderOptions, final ClientTimelineData timeline, + final Collection savingProductOptions, final Long savingsProductId, final String savingsProductName, + final Long savingsAccountId, final Collection savingAccountOptions, final CodeValueData clientType, + final CodeValueData clientClassification, final Collection clientTypeOptions, final Collection clientClassificationOptions) { this.accountNo = accountNo; this.status = status; @@ -184,6 +275,7 @@ final public class ClientData implements Comparable { } else { this.active = null; } + this.subStatus = subStatus; this.officeId = officeId; this.officeName = officeName; this.transferToOfficeId = transferToOfficeId; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java index 194801c26..52fc8315c 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java @@ -274,8 +274,8 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService public ClientMembersOfGroupMapper() { final StringBuilder sqlBuilder = new StringBuilder(200); - sqlBuilder.append("c.id as id, c.account_no as accountNo, c.external_id as externalId, c.status_enum as statusEnum, "); - sqlBuilder.append("c.office_id as officeId, o.name as officeName, "); + sqlBuilder.append("c.id as id, c.account_no as accountNo, c.external_id as externalId, c.status_enum as statusEnum,c.sub_status as subStatus, "); + sqlBuilder.append("cvSubStatus.code_value as subStatusValue,cvSubStatus.code_description as subStatusDesc,c.office_id as officeId, o.name as officeName, "); sqlBuilder.append("c.transfer_to_office_id as transferToOfficeId, transferToOffice.name as transferToOfficeName, "); sqlBuilder.append("c.firstname as firstname, c.middlename as middlename, c.lastname as lastname, "); sqlBuilder.append("c.fullname as fullname, c.display_name as displayName, "); @@ -319,6 +319,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService sqlBuilder.append("left join m_code_value cv on cv.id = c.gender_cv_id "); sqlBuilder.append("left join m_code_value cvclienttype on cvclienttype.id = c.client_type_cv_id "); sqlBuilder.append("left join m_code_value cvclassification on cvclassification.id = c.client_classification_cv_id "); + sqlBuilder.append("left join m_code_value cvSubStatus on cvSubStatus.id = c.sub_status "); this.schema = sqlBuilder.toString(); } @@ -334,6 +335,11 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum"); final EnumOptionData status = ClientEnumerations.status(statusEnum); + + final Long subStatusId = JdbcSupport.getLong(rs, "subStatus"); + final String subStatusValue = rs.getString("subStatusValue"); + final String subStatusDesc = rs.getString("subStatusDesc"); + final CodeValueData subStatus = CodeValueData.instance(subStatusId, subStatusValue, subStatusDesc); final Long officeId = JdbcSupport.getLong(rs, "officeId"); final String officeName = rs.getString("officeName"); @@ -390,7 +396,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService submittedByLastname, activationDate, activatedByUsername, activatedByFirstname, activatedByLastname, closedOnDate, closedByUsername, closedByFirstname, closedByLastname); - return ClientData.instance(accountNo, status, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + return ClientData.instance(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, staffName, timeline, savingsProductId, savingsProductName, savingsAccountId, clienttype, classification); @@ -419,8 +425,8 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService public ClientMapper() { final StringBuilder builder = new StringBuilder(400); - builder.append("c.id as id, c.account_no as accountNo, c.external_id as externalId, c.status_enum as statusEnum, "); - builder.append("c.office_id as officeId, o.name as officeName, "); + builder.append("c.id as id, c.account_no as accountNo, c.external_id as externalId, c.status_enum as statusEnum,c.sub_status as subStatus, "); + builder.append("cvSubStatus.code_value as subStatusValue,cvSubStatus.code_description as subStatusDesc,c.office_id as officeId, o.name as officeName, "); builder.append("c.transfer_to_office_id as transferToOfficeId, transferToOffice.name as transferToOfficeName, "); builder.append("c.firstname as firstname, c.middlename as middlename, c.lastname as lastname, "); builder.append("c.fullname as fullname, c.display_name as displayName, "); @@ -463,6 +469,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService builder.append("left join m_code_value cv on cv.id = c.gender_cv_id "); builder.append("left join m_code_value cvclienttype on cvclienttype.id = c.client_type_cv_id "); builder.append("left join m_code_value cvclassification on cvclassification.id = c.client_classification_cv_id "); + builder.append("left join m_code_value cvSubStatus on cvSubStatus.id = c.sub_status "); this.schema = builder.toString(); } @@ -479,6 +486,11 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum"); final EnumOptionData status = ClientEnumerations.status(statusEnum); + final Long subStatusId = JdbcSupport.getLong(rs, "subStatus"); + final String subStatusValue = rs.getString("subStatusValue"); + final String subStatusDesc = rs.getString("subStatusDesc"); + final CodeValueData subStatus = CodeValueData.instance(subStatusId, subStatusValue, subStatusDesc); + final Long officeId = JdbcSupport.getLong(rs, "officeId"); final String officeName = rs.getString("officeName"); @@ -533,7 +545,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService submittedByLastname, activationDate, activatedByUsername, activatedByFirstname, activatedByLastname, closedOnDate, closedByUsername, closedByFirstname, closedByLastname); - return ClientData.instance(accountNo, status, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, + return ClientData.instance(accountNo, status, subStatus, officeId, officeName, transferToOfficeId, transferToOfficeName, id, firstname, middlename, lastname, fullname, displayName, externalId, mobileNo, dateOfBirth, gender, activationDate, imageId, staffId, staffName, timeline, savingsProductId, savingsProductName, savingsAccountId, clienttype, classification); @@ -604,7 +616,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService private static final class ClientIdentifierMapper implements RowMapper { public String clientLookupByIdentifierSchema() { - return "c.id as id, c.account_no as accountNo, c.status_enum as statusEnum, c.firstname as firstname, c.middlename as middlename, c.lastname as lastname, " + return "c.id as id, c.account_no as accountNo, c.status_enum as statusEnum, c.sub_status as subStatus, c.firstname as firstname, c.middlename as middlename, c.lastname as lastname, " + "c.fullname as fullname, c.display_name as displayName," + "c.office_id as officeId, o.name as officeName " + " from m_client c, m_office o, m_client_identifier ci " @@ -620,6 +632,11 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum"); final EnumOptionData status = ClientEnumerations.status(statusEnum); + + final Long subStatusId = JdbcSupport.getLong(rs, "subStatus"); + final String subStatusValue = rs.getString("subStatusValue"); + final String subStatusDesc = rs.getString("subStatusDesc"); + final CodeValueData subStatus = CodeValueData.instance(subStatusId, subStatusValue, subStatusDesc); final String firstname = rs.getString("firstname"); final String middlename = rs.getString("middlename"); @@ -630,7 +647,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService final Long officeId = rs.getLong("officeId"); final String officeName = rs.getString("officeName"); - return ClientData.clientIdentifier(id, accountNo, status, firstname, middlename, lastname, fullname, displayName, officeId, + return ClientData.clientIdentifier(id, accountNo, status,subStatus, firstname, middlename, lastname, fullname, displayName, officeId, officeName); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/DayOfWeekType.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/DayOfWeekType.java index 30dc9d807..86548f07a 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/DayOfWeekType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/DayOfWeekType.java @@ -1,3 +1,8 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + */ package org.mifosplatform.portfolio.common.domain; import org.joda.time.DateTimeConstants; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/NthDayType.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/NthDayType.java index 657130278..861d3e300 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/NthDayType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/common/domain/NthDayType.java @@ -1,3 +1,8 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + */ package org.mifosplatform.portfolio.common.domain; public enum NthDayType { diff --git a/mifosng-provider/src/main/resources/sql/migrations/core_db/V217__client_substatus_and_codevalue_description.sql b/mifosng-provider/src/main/resources/sql/migrations/core_db/V217__client_substatus_and_codevalue_description.sql new file mode 100644 index 000000000..8edd88d65 --- /dev/null +++ b/mifosng-provider/src/main/resources/sql/migrations/core_db/V217__client_substatus_and_codevalue_description.sql @@ -0,0 +1,12 @@ + +ALTER TABLE `m_client` + ADD COLUMN `sub_status` INT(11) NULL DEFAULT NULL AFTER `status_enum`, + ADD CONSTRAINT `FK_m_client_substatus_m_code_value` FOREIGN KEY (`sub_status`) REFERENCES `m_code_value` (`id`); + + +INSERT INTO `m_code` (`code_name`, `is_system_defined`) VALUES ('ClientSubStatus', 1); + + +ALTER TABLE `m_code_value` + ADD COLUMN `code_description` VARCHAR(500) NULL DEFAULT NULL AFTER `code_value`; +