Add customer search and sponsor DD reconciliation modules; stop tracking logs
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s
Adds customersearch and sponsordd portfolio modules with associated changelog parts, updates cashier deposit request handling, and stops tracking fineract-provider/logs/.
This commit is contained in:
@@ -370,4 +370,20 @@
|
||||
<include file="parts/0340_add_terminate_true_to_savings_and_current_account.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0341_add_current_account_pending_edit_table.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0342_add_current_account_edit_approval_permissions.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0343_create_sponsor_bank_dd_tables.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0344_create_sponsor_dd_issue_request_tables.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0345_add_sponsor_dd_payable_gl_account_sbi.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0347_add_sponsor_dd_walkin_cash_support.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0348_add_sponsor_dd_cash_charges_gl_mapping.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0349_replace_payment_type_with_sponsor_bank.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0350_add_sponsor_dd_cash_receipt_suspense.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0351_add_sponsor_dd_reprint_approval.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0352_add_sponsor_dd_payable_at.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0353_add_sponsor_dd_gst_on_charges.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0354_add_sponsor_bank_identification_codes.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0355_add_sponsor_dd_cashier_deposit_link.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0356_add_dd_breakdown_to_cashier_deposit_request.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0357_add_dd_limit_to_sponsor_dd_gl_mapping.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0358_add_batch_id_to_sponsor_dd_issue_request.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0359_reclassify_dd_gst_payable_as_income.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
|
||||
+1290
File diff suppressed because it is too large
Load Diff
+143
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Per sponsor-bank GL account configuration: which GL account is credited when a DD is
|
||||
issued (liability owed to the sponsor bank), and which suspense GL account is debited
|
||||
when the customer pays by cheque instead of an account debit. -->
|
||||
<changeSet author="fineract" id="0344-1-create-gl-mapping">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_sponsor_dd_gl_mapping">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false" />
|
||||
</column>
|
||||
<column name="payment_type_id" type="BIGINT">
|
||||
<constraints nullable="false" unique="true" uniqueConstraintName="sdd_glmap_unq_payment_type"
|
||||
foreignKeyName="fk_sdd_glmap_payment_type_id" references="m_payment_type(id)" />
|
||||
</column>
|
||||
<column name="dd_payable_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_glmap_payable_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
<column name="cheque_clearing_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_glmap_clearing_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
<column name="created_date" type="DATETIME" defaultValueComputed="now()">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
<!-- Maker-checker queue: clerk submits a PENDING request when a customer wants a DD issued
|
||||
(either by debiting their own savings/current account, or by handing over a cheque);
|
||||
a manager/head-cashier approval performs the actual GL posting and flips the leaflet
|
||||
to ISSUED via the existing SponsorDDWritePlatformService.issueDemandDraft(). -->
|
||||
<changeSet author="fineract" id="0344-2-create-issue-request">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_sponsor_dd_issue_request">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false" />
|
||||
</column>
|
||||
<column name="leaflet_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_issuereq_leaflet_id" references="m_sponsor_dd_leaflet(id)" />
|
||||
</column>
|
||||
<column name="client_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_issuereq_client_id" references="m_client(id)" />
|
||||
</column>
|
||||
<column name="beneficiary_name" type="VARCHAR(150)">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="face_value" type="DECIMAL(19,6)">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="issuing_branch_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_issuereq_branch_id" references="m_office(id)" />
|
||||
</column>
|
||||
<column name="issued_date" type="DATE">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<!-- ACCOUNT_DEBIT or CHEQUE -->
|
||||
<column name="payment_method" type="VARCHAR(20)">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="savings_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_savings_id" references="m_savings_account(id)" />
|
||||
</column>
|
||||
<column name="current_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_current_id" references="m_current_account(id)" />
|
||||
</column>
|
||||
<column name="cheque_number" type="VARCHAR(30)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="cheque_bank_name" type="VARCHAR(100)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<!-- PENDING, APPROVED, REJECTED -->
|
||||
<column name="status" type="VARCHAR(20)" defaultValue="PENDING">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="maker_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_issuereq_maker_id" references="m_appuser(id)" />
|
||||
</column>
|
||||
<column name="created_date" type="DATETIME" defaultValueComputed="now()">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="checker_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_checker_id" references="m_appuser(id)" />
|
||||
</column>
|
||||
<column name="checker_date" type="DATETIME">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="rejection_reason" type="VARCHAR(255)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="resulting_savings_transaction_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_result_savings_txn" references="m_savings_account_transaction(id)" />
|
||||
</column>
|
||||
<column name="resulting_current_transaction_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_result_current_txn" references="m_current_account_transaction(id)" />
|
||||
</column>
|
||||
<column name="resulting_journal_entry_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_result_journal" references="acc_gl_journal_entry(id)" />
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0344-3-index-issue-request-status">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<indexExists tableName="m_sponsor_dd_issue_request" indexName="idx_sdd_issuereq_status" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<createIndex indexName="idx_sdd_issuereq_status" tableName="m_sponsor_dd_issue_request">
|
||||
<column name="status" />
|
||||
</createIndex>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Dedicated liability GL account for the Sponsor DD Payable balance owed to SBI, as a child
|
||||
of the existing "OTHER LIABILITY" account (gl_code 9), matching the pattern already used
|
||||
by "INTEREST PAYABLE" (gl_code 9.2). -->
|
||||
<changeSet author="fineract" id="0345-1-insert-sponsor-dd-payable-sbi-gl-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.3'</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<insert tableName="acc_gl_account">
|
||||
<column name="name" value="Sponsor DD Payable - SBI"/>
|
||||
<column name="gl_code" value="9.3"/>
|
||||
<column name="parent_id" valueNumeric="22"/>
|
||||
<column name="hierarchy" value="."/>
|
||||
<column name="account_usage" valueNumeric="1"/>
|
||||
<column name="classification_enum" valueNumeric="2"/>
|
||||
<column name="disabled" valueBoolean="false"/>
|
||||
<column name="manual_journal_entries_allowed" valueBoolean="true"/>
|
||||
<column name="description" value="Liability owed to SBI for sponsor bank demand drafts issued on their behalf, pending clearing."/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<!-- Fineract's GL hierarchy path embeds the row's own auto-generated id, so it can only be
|
||||
set after the insert above. -->
|
||||
<changeSet author="fineract" id="0345-2-fix-sponsor-dd-payable-sbi-hierarchy">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.3' and hierarchy = '.'</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE acc_gl_account SET hierarchy = CONCAT('.', id, '.') WHERE gl_code = '9.3' AND hierarchy = '.';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- Wire the new GL account into the Sponsor DD GL mapping for the SBI payment type, so
|
||||
DD issuance requests for SBI can be approved without manual configuration. -->
|
||||
<changeSet author="fineract" id="0345-3-map-sponsor-dd-payable-sbi">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">
|
||||
select count(*) from m_sponsor_dd_gl_mapping m join m_payment_type pt on pt.id = m.payment_type_id where pt.value = 'SBI'
|
||||
</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
INSERT INTO m_sponsor_dd_gl_mapping (payment_type_id, dd_payable_gl_account_id, created_date)
|
||||
SELECT pt.id, gl.id, CURRENT_TIMESTAMP
|
||||
FROM m_payment_type pt, acc_gl_account gl
|
||||
WHERE pt.value = 'SBI' AND gl.gl_code = '9.3';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Support DD issuance to a walk-in person paying cash who is not a bank client at all
|
||||
(not just a different-branch customer). client_id becomes optional; when absent, the
|
||||
walk-in purchaser's own KYC details are captured instead. Aadhaar is stored masked only
|
||||
(last 4 digits) per UIDAI/RBI guidance — the full number is never persisted. -->
|
||||
|
||||
<changeSet author="fineract" id="0347-1-issue-request-client-id-nullable">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="client_id" />
|
||||
</preConditions>
|
||||
<dropNotNullConstraint tableName="m_sponsor_dd_issue_request" columnName="client_id" columnDataType="BIGINT" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0347-2-issue-request-add-walkin-fields">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="walkin_purchaser_name" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="walkin_purchaser_name" type="VARCHAR(150)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="walkin_purchaser_address" type="VARCHAR(255)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="walkin_purchaser_aadhaar_masked" type="VARCHAR(20)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="charges_amount" type="DECIMAL(19,6)" defaultValueNumeric="0">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0347-3-leaflet-add-walkin-fields">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_leaflet" columnName="walkin_purchaser_name" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_leaflet">
|
||||
<column name="walkin_purchaser_name" type="VARCHAR(150)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="walkin_purchaser_address" type="VARCHAR(255)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="walkin_purchaser_aadhaar_masked" type="VARCHAR(20)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<!-- GL accounts for a CASH payment: Dr Cash-in-Hand (face value + charges) / Cr Sponsor DD
|
||||
Payable (face value) / Cr Charges Income (charges, if any). Both optional — CASH issuance
|
||||
is blocked with a clear error until these are configured, matching the existing pattern
|
||||
for cheque_clearing_gl_account_id. -->
|
||||
<changeSet author="fineract" id="0347-4-gl-mapping-add-cash-and-charges-accounts">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_gl_mapping" columnName="cash_gl_account_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_gl_mapping">
|
||||
<column name="cash_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_glmap_cash_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
<column name="charges_income_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_glmap_charges_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Dedicated income GL account for charges/commission collected on sponsor bank DD issuance,
|
||||
as a child of the existing "INCOME HEAD" account (gl_code 10), matching the pattern
|
||||
already used by "INCOME FROM LOAN" (gl_code 10.1) / "INCOME FROM ALL" (gl_code 10.2). -->
|
||||
<changeSet author="fineract" id="0348-1-insert-dd-charges-income-gl-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '10.3'</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<insert tableName="acc_gl_account">
|
||||
<column name="name" value="DD Issuance Charges Income"/>
|
||||
<column name="gl_code" value="10.3"/>
|
||||
<column name="parent_id" valueNumeric="25"/>
|
||||
<column name="hierarchy" value="."/>
|
||||
<column name="account_usage" valueNumeric="1"/>
|
||||
<column name="classification_enum" valueNumeric="4"/>
|
||||
<column name="disabled" valueBoolean="false"/>
|
||||
<column name="manual_journal_entries_allowed" valueBoolean="true"/>
|
||||
<column name="description" value="Commission/charges income collected from customers and walk-in purchasers when issuing a sponsor bank demand draft."/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<!-- Fineract's GL hierarchy path embeds the row's own auto-generated id, so it can only be
|
||||
set after the insert above. -->
|
||||
<changeSet author="fineract" id="0348-2-fix-dd-charges-income-hierarchy">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '10.3' and hierarchy = '.'</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE acc_gl_account SET hierarchy = CONCAT('.', id, '.') WHERE gl_code = '10.3' AND hierarchy = '.';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- Wire "Cash at Tellers" (the standard Fineract GL account for cash physically received at
|
||||
the teller counter, gl_code 2) and the new charges income account into the existing
|
||||
Sponsor DD GL mapping row(s), so CASH-method walk-in DD issuance can be approved without
|
||||
further manual configuration. -->
|
||||
<changeSet author="fineract" id="0348-3-map-dd-cash-and-charges-accounts">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="0">
|
||||
select count(*) from m_sponsor_dd_gl_mapping where cash_gl_account_id is null or charges_income_gl_account_id is null
|
||||
</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE m_sponsor_dd_gl_mapping
|
||||
SET cash_gl_account_id = (select id from acc_gl_account where gl_code = '2'),
|
||||
charges_income_gl_account_id = (select id from acc_gl_account where gl_code = '10.3')
|
||||
WHERE cash_gl_account_id is null or charges_income_gl_account_id is null;
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<changeSet author="fineract" id="0349-0-drop-old-sponsor-bank-table">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_bank" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_bank" columnName="createdby_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<sql>
|
||||
DROP TABLE IF EXISTS m_sponsor_bank CASCADE;
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-1-create-sponsor-bank-table-v3">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<tableExists tableName="m_sponsor_bank" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_sponsor_bank">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false" />
|
||||
</column>
|
||||
<column name="name" type="VARCHAR(100)">
|
||||
<constraints nullable="false" unique="true" uniqueConstraintName="sdd_bank_unq_name" />
|
||||
</column>
|
||||
<column name="description" type="VARCHAR(255)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="createdby_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_bank_maker_id" references="m_appuser(id)" />
|
||||
</column>
|
||||
<column name="created_date" type="DATETIME" defaultValueComputed="now()">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-2-migrate-existing-payment-types">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_bank" />
|
||||
<tableExists tableName="m_payment_type" />
|
||||
</preConditions>
|
||||
<sql>
|
||||
-- Insert unique sponsor banks from payment types into m_sponsor_bank
|
||||
INSERT INTO m_sponsor_bank (name, description, createdby_id, created_date)
|
||||
SELECT DISTINCT pt.value, pt.description, 1, CURRENT_TIMESTAMP
|
||||
FROM m_payment_type pt
|
||||
WHERE (pt.description = 'Sponsor Bank'
|
||||
OR pt.id IN (SELECT DISTINCT payment_type_id FROM m_sponsor_dd_inventory))
|
||||
AND pt.value NOT IN (SELECT name FROM m_sponsor_bank);
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-3-add-sponsor-bank-id-to-inventory">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_inventory" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_inventory" columnName="sponsor_bank_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_inventory">
|
||||
<column name="sponsor_bank_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_inv_sponsor_bank_id" references="m_sponsor_bank(id)" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-4-update-inventory-sponsor-bank-ids">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<columnExists tableName="m_sponsor_dd_inventory" columnName="sponsor_bank_id" />
|
||||
<columnExists tableName="m_sponsor_dd_inventory" columnName="payment_type_id" />
|
||||
</preConditions>
|
||||
<sql>
|
||||
-- Update sponsor_bank_id based on name matching from m_payment_type
|
||||
UPDATE m_sponsor_dd_inventory
|
||||
SET sponsor_bank_id = (
|
||||
SELECT sb.id
|
||||
FROM m_sponsor_bank sb
|
||||
JOIN m_payment_type pt ON pt.value = sb.name
|
||||
WHERE pt.id = m_sponsor_dd_inventory.payment_type_id
|
||||
LIMIT 1
|
||||
)
|
||||
WHERE sponsor_bank_id IS NULL;
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-5-set-sponsor-bank-id-not-null">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<columnExists tableName="m_sponsor_dd_inventory" columnName="sponsor_bank_id" />
|
||||
</preConditions>
|
||||
<addNotNullConstraint tableName="m_sponsor_dd_inventory" columnName="sponsor_bank_id" columnDataType="BIGINT" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-6-drop-payment-type-from-inventory">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<columnExists tableName="m_sponsor_dd_inventory" columnName="payment_type_id" />
|
||||
</preConditions>
|
||||
<dropForeignKeyConstraint baseTableName="m_sponsor_dd_inventory" constraintName="fk_sdd_inv_payment_type_id" />
|
||||
<dropColumn tableName="m_sponsor_dd_inventory" columnName="payment_type_id" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0349-7-decouple-gl-mapping-payment-type">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping" />
|
||||
<columnExists tableName="m_sponsor_dd_gl_mapping" columnName="payment_type_id" />
|
||||
</preConditions>
|
||||
<dropForeignKeyConstraint baseTableName="m_sponsor_dd_gl_mapping" constraintName="fk_sdd_glmap_payment_type_id" />
|
||||
<dropUniqueConstraint tableName="m_sponsor_dd_gl_mapping" constraintName="sdd_glmap_unq_payment_type" />
|
||||
<dropColumn tableName="m_sponsor_dd_gl_mapping" columnName="payment_type_id" />
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Interim liability GL account for cash physically received from a walk-in DD purchaser at
|
||||
submission time, before the manager has approved the request. Real-world equivalent of
|
||||
"advance received against demand draft application" - keeps the cash movement auditable
|
||||
immediately (the teller's cash-in-hand balance is correct as soon as cash is taken),
|
||||
without prematurely crediting the Sponsor DD Payable liability, which is only actually
|
||||
owed to the sponsor bank once the draft is approved/issued. -->
|
||||
<changeSet author="fineract" id="0350-1-insert-dd-cash-suspense-gl-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.4'</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<insert tableName="acc_gl_account">
|
||||
<column name="name" value="DD Cash Received - Pending Approval"/>
|
||||
<column name="gl_code" value="9.4"/>
|
||||
<column name="parent_id" valueNumeric="22"/>
|
||||
<column name="hierarchy" value="."/>
|
||||
<column name="account_usage" valueNumeric="1"/>
|
||||
<column name="classification_enum" valueNumeric="2"/>
|
||||
<column name="disabled" valueBoolean="false"/>
|
||||
<column name="manual_journal_entries_allowed" valueBoolean="true"/>
|
||||
<column name="description" value="Interim liability for cash physically received from a walk-in DD purchaser at submission time, pending manager approval of the issuance request. Cleared into Sponsor DD Payable + Charges Income on approval, or reversed back to Cash at Tellers on rejection."/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0350-2-fix-dd-cash-suspense-hierarchy">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.4' and hierarchy = '.'</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE acc_gl_account SET hierarchy = CONCAT('.', id, '.') WHERE gl_code = '9.4' AND hierarchy = '.';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0350-3-add-cash-suspense-to-gl-mapping">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_gl_mapping" columnName="cash_suspense_gl_account_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_gl_mapping">
|
||||
<column name="cash_suspense_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_glmap_cash_suspense_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0350-4-map-dd-cash-suspense-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="0">
|
||||
select count(*) from m_sponsor_dd_gl_mapping where cash_suspense_gl_account_id is null
|
||||
</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE m_sponsor_dd_gl_mapping
|
||||
SET cash_suspense_gl_account_id = (select id from acc_gl_account where gl_code = '9.4')
|
||||
WHERE cash_suspense_gl_account_id is null;
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- Audit trail: which journal entry recorded the initial cash receipt (posted at submission),
|
||||
and which one reversed it (posted only if the request is later rejected). Both are nullable
|
||||
since ACCOUNT_DEBIT/CHEQUE requests never populate them, and an approved CASH request only
|
||||
ever gets a receipt entry (never a refund one). -->
|
||||
<changeSet author="fineract" id="0350-5-add-cash-receipt-journal-entry-column">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="cash_receipt_journal_entry_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="cash_receipt_journal_entry_id" type="BIGINT">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0350-6-add-cash-refund-journal-entry-column">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="cash_refund_journal_entry_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="cash_refund_journal_entry_id" type="BIGINT">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- A DD leaflet is a negotiable instrument - printing it a second time is a control risk
|
||||
(duplicate physical drafts). The first print is free; any print after that requires a
|
||||
reprint request approved by a higher authority (maker-checker), same pattern as issuance. -->
|
||||
<changeSet author="fineract" id="0351-1-add-print-tracking-to-leaflet">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_leaflet" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_leaflet" columnName="print_count" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_leaflet">
|
||||
<column name="print_count" type="INT" defaultValueNumeric="0">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="last_printed_date" type="DATETIME">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0351-2-create-reprint-request-table">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<tableExists tableName="m_sponsor_dd_reprint_request" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_sponsor_dd_reprint_request">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false" />
|
||||
</column>
|
||||
<column name="leaflet_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_reprint_leaflet_id" references="m_sponsor_dd_leaflet(id)" />
|
||||
</column>
|
||||
<column name="reason" type="VARCHAR(500)">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="status" type="VARCHAR(20)" defaultValue="PENDING">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="consumed" type="BOOLEAN" defaultValueBoolean="false">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="maker_id" type="BIGINT">
|
||||
<constraints nullable="false" foreignKeyName="fk_sdd_reprint_maker_id" references="m_appuser(id)" />
|
||||
</column>
|
||||
<column name="created_date" type="DATETIME" defaultValueComputed="now()">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="checker_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_reprint_checker_id" references="m_appuser(id)" />
|
||||
</column>
|
||||
<column name="checker_date" type="DATETIME">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="rejection_reason" type="VARCHAR(1000)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- "Payable at [Branch], [City]" - standard field on a demand draft telling the beneficiary
|
||||
where it can be encashed. Nullable at the DB level (existing rows have neither); the
|
||||
write service enforces it as required for new submissions. -->
|
||||
<changeSet author="fineract" id="0352-1-add-payable-at-to-issue-request">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="payable_at_branch" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="payable_at_branch" type="VARCHAR(150)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="payable_at_city" type="VARCHAR(100)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0352-2-add-payable-at-to-leaflet">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_leaflet" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_leaflet" columnName="payable_at_branch" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_leaflet">
|
||||
<column name="payable_at_branch" type="VARCHAR(150)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="payable_at_city" type="VARCHAR(100)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- GST collected on DD issuance charges is money owed to the government, not bank income -
|
||||
it gets its own liability GL account, separate from Charges Income. -->
|
||||
<changeSet author="fineract" id="0353-1-insert-gst-payable-gl-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.5'</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<insert tableName="acc_gl_account">
|
||||
<column name="name" value="GST Payable on DD Charges"/>
|
||||
<column name="gl_code" value="9.5"/>
|
||||
<column name="parent_id" valueNumeric="22"/>
|
||||
<column name="hierarchy" value="."/>
|
||||
<column name="account_usage" valueNumeric="1"/>
|
||||
<column name="classification_enum" valueNumeric="2"/>
|
||||
<column name="disabled" valueBoolean="false"/>
|
||||
<column name="manual_journal_entries_allowed" valueBoolean="true"/>
|
||||
<column name="description" value="GST collected from customers/purchasers on Sponsor DD issuance charges, held pending remittance to the government - not bank income."/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0353-2-fix-gst-payable-hierarchy">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.5' and hierarchy = '.'</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE acc_gl_account SET hierarchy = CONCAT('.', id, '.') WHERE gl_code = '9.5' AND hierarchy = '.';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- gst_percentage is deliberately a configurable column, not a hardcoded constant in Java -
|
||||
it can be changed at any time (e.g. when the government revises the GST rate) via the
|
||||
existing GL mapping admin endpoint, without a code deployment. Defaults to 18.00 (the
|
||||
current GST rate on Indian banking service charges) for existing/new rows. -->
|
||||
<changeSet author="fineract" id="0353-3-add-gst-columns-to-gl-mapping">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_gl_mapping" columnName="gst_percentage" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_gl_mapping">
|
||||
<column name="gst_percentage" type="DECIMAL(5,2)" defaultValueNumeric="18.00">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="gst_payable_gl_account_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_glmap_gst_gl_id" references="acc_gl_account(id)" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0353-4-map-gst-payable-account">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not>
|
||||
<sqlCheck expectedResult="0">
|
||||
select count(*) from m_sponsor_dd_gl_mapping where gst_payable_gl_account_id is null
|
||||
</sqlCheck>
|
||||
</not>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE m_sponsor_dd_gl_mapping
|
||||
SET gst_payable_gl_account_id = (select id from acc_gl_account where gl_code = '9.5')
|
||||
WHERE gst_payable_gl_account_id is null;
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- Locked in at submission time (not recomputed at approval), so a rate change between
|
||||
submission and approval never silently alters a request already in flight. -->
|
||||
<changeSet author="fineract" id="0353-5-add-gst-columns-to-issue-request">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="gst_amount" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="gst_amount" type="DECIMAL(19,6)" defaultValueNumeric="0">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
<column name="gst_percentage_applied" type="DECIMAL(5,2)" defaultValueNumeric="0">
|
||||
<constraints nullable="false" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Identification codes needed to route/reconcile settlement with the sponsor bank and
|
||||
confirm its identity unambiguously - IFSC (settlement branch), RBI/NPCI bank code, and
|
||||
SWIFT/BIC (only relevant if it's ever a foreign correspondent bank). All optional at the
|
||||
DB level since existing rows have none, but the API validates IFSC format when supplied. -->
|
||||
<changeSet author="fineract" id="0354-1-add-sponsor-bank-identification-codes">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_bank" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_bank" columnName="ifsc_code" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_bank">
|
||||
<column name="ifsc_code" type="VARCHAR(11)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="bank_code" type="VARCHAR(20)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
<column name="swift_code" type="VARCHAR(11)">
|
||||
<constraints nullable="true" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- CASH DD requests no longer post their own "cash received" GL entry - the cashier records
|
||||
the physical cash intake themselves via Transaction Entry (AC.TP=GL, target = the DD Cash
|
||||
Suspense GL account), which is the existing, real cashier-position-tracked mechanism
|
||||
(m_cashier_deposit_request + m_savings_txn_denomination). This column links a sponsor DD
|
||||
issue request to the specific approved cashier deposit request that received its cash, so
|
||||
we can validate the amount/account match and prevent the same cash being reused twice. -->
|
||||
<changeSet author="fineract" id="0355-1-add-cashier-deposit-request-link">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_issue_request" />
|
||||
<tableExists tableName="m_cashier_deposit_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="cashier_deposit_request_id" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="cashier_deposit_request_id" type="BIGINT">
|
||||
<constraints nullable="true" foreignKeyName="fk_sdd_issuereq_cashier_deposit_id"
|
||||
references="m_cashier_deposit_request(id)" />
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<!-- The cashier's Transaction Entry GL-deposit flow always contras cash against "Cash at Vault"
|
||||
(gl_code 1), not "Cash at Teller" (gl_code 2) - see CashierDepositRequestApiResource's
|
||||
executeGlJournalEntry / the frontend's loadCashVaultGl(). Repoint our cash_gl_account_id to
|
||||
match, since the reject/refund leg (Dr DD Cash Suspense / Cr this account) must reverse
|
||||
against the same account the cashier's approved deposit actually touched. -->
|
||||
<changeSet author="fineract" id="0355-2-repoint-cash-account-to-vault">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping" />
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '1'</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE m_sponsor_dd_gl_mapping
|
||||
SET cash_gl_account_id = (select id from acc_gl_account where gl_code = '1')
|
||||
WHERE cash_gl_account_id = (select id from acc_gl_account where gl_code = '2');
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Transaction Entry's DD + Cash + GL row splits the single deposit amount into DD face value,
|
||||
issuance charges and GST on those charges (Amount + Charges + GST, rounded up to the target
|
||||
cash-collected total). Today m_cashier_deposit_request only stores that combined "amount" -
|
||||
the breakdown is lost once the request is submitted, forcing whoever later issues the actual
|
||||
DD leaflet in the Sponsor DD module to retype face value/charges from scratch. These columns
|
||||
persist the breakdown at submit time (null for ordinary, non-DD deposit requests) so the DD
|
||||
issuance screen can read it back via the linked cashier_deposit_request_id and pre-fill its
|
||||
form instead of retyping. -->
|
||||
<changeSet author="fineract" id="0356-1-add-dd-breakdown-to-cashier-deposit-request">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_cashier_deposit_request" />
|
||||
<not>
|
||||
<columnExists tableName="m_cashier_deposit_request" columnName="dd_face_value" />
|
||||
</not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_cashier_deposit_request">
|
||||
<column name="dd_face_value" type="DECIMAL(19,6)" />
|
||||
<column name="dd_charges" type="DECIMAL(19,6)" />
|
||||
<column name="dd_gst_percentage" type="DECIMAL(19,6)" />
|
||||
<column name="dd_gst_amount" type="DECIMAL(19,6)" />
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Admin-configurable ceiling for a single DD's face value, also used as the ceiling for the
|
||||
combined face value of all DDs issued to the same beneficiary on the same day (structuring
|
||||
control for walk-in/large-cash DD issuance). Null/unset means no limit is enforced. -->
|
||||
<changeSet author="fineract" id="0357-1-add-dd-limit-amount">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<and>
|
||||
<tableExists tableName="m_sponsor_dd_gl_mapping"/>
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_gl_mapping" columnName="dd_limit_amount"/>
|
||||
</not>
|
||||
</and>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_gl_mapping">
|
||||
<column name="dd_limit_amount" type="DECIMAL(19,6)">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Groups several DD issue requests submitted together as one "DD slip" (one customer account
|
||||
debited/one cheque, several drafts for different beneficiaries/amounts). Set to the id of the
|
||||
first row inserted for the slip - every row in the slip, including that first row, carries the
|
||||
same batch_id, so the group can be queried/approved/rejected as one unit. Null for an ordinary
|
||||
single-DD request (unchanged behaviour). No FK - it's a grouping tag, not a relationship to a
|
||||
separate header row. -->
|
||||
<changeSet author="fineract" id="0358-1-add-batch-id">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<and>
|
||||
<tableExists tableName="m_sponsor_dd_issue_request"/>
|
||||
<not>
|
||||
<columnExists tableName="m_sponsor_dd_issue_request" columnName="batch_id"/>
|
||||
</not>
|
||||
</and>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_sponsor_dd_issue_request">
|
||||
<column name="batch_id" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="fineract" id="0358-2-index-batch-id">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<and>
|
||||
<tableExists tableName="m_sponsor_dd_issue_request"/>
|
||||
<not>
|
||||
<indexExists tableName="m_sponsor_dd_issue_request" indexName="idx_sdd_issue_req_batch_id"/>
|
||||
</not>
|
||||
</and>
|
||||
</preConditions>
|
||||
<createIndex tableName="m_sponsor_dd_issue_request" indexName="idx_sdd_issue_req_batch_id">
|
||||
<column name="batch_id"/>
|
||||
</createIndex>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- Bank's own choice: book GST collected on DD charges as income rather than tracking it as a
|
||||
payable owed to the government. Same GL account (gl_code 9.5), same id, so
|
||||
m_sponsor_dd_gl_mapping.gst_payable_gl_account_id and the DD-issuance GL posting code need no
|
||||
change at all - this only re-tags how the account is classified/grouped for reporting.
|
||||
parent_id=25 matches the parent already used by "DD Issuance Charges Income" (gl_code 10.3,
|
||||
see 0348), so both DD-related income accounts group together under the same income parent. -->
|
||||
<changeSet author="fineract" id="0359-1-reclassify-gst-payable-as-income">
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="1">select count(*) from acc_gl_account where gl_code = '9.5' and classification_enum = 2</sqlCheck>
|
||||
</preConditions>
|
||||
<sql>
|
||||
UPDATE acc_gl_account
|
||||
SET classification_enum = 4, parent_id = 25
|
||||
WHERE gl_code = '9.5';
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
Reference in New Issue
Block a user