move additional fields functionality to look at m_code/m_code_value
This commit is contained in:
@@ -49,8 +49,6 @@ DROP TABLE IF EXISTS `r_enum_value`;
|
|||||||
-- additional data and report tables
|
-- additional data and report tables
|
||||||
DROP TABLE IF EXISTS `stretchydata_dataset_fields`;
|
DROP TABLE IF EXISTS `stretchydata_dataset_fields`;
|
||||||
DROP TABLE IF EXISTS `stretchydata_dataset`;
|
DROP TABLE IF EXISTS `stretchydata_dataset`;
|
||||||
DROP TABLE IF EXISTS `stretchydata_allowed_value`;
|
|
||||||
DROP TABLE IF EXISTS `stretchydata_allowed_list`;
|
|
||||||
DROP TABLE IF EXISTS `stretchydata_datasettype`;
|
DROP TABLE IF EXISTS `stretchydata_datasettype`;
|
||||||
DROP TABLE IF EXISTS `stretchy_parameter`;
|
DROP TABLE IF EXISTS `stretchy_parameter`;
|
||||||
DROP TABLE IF EXISTS `stretchy_report_parameter`;
|
DROP TABLE IF EXISTS `stretchy_report_parameter`;
|
||||||
@@ -620,22 +618,6 @@ CREATE TABLE `stretchy_parameter` (
|
|||||||
UNIQUE KEY `name_UNIQUE` (`parameter_name`)
|
UNIQUE KEY `name_UNIQUE` (`parameter_name`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE `stretchydata_allowed_list` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` varchar(45) NOT NULL,
|
|
||||||
PRIMARY KEY (`id`),
|
|
||||||
UNIQUE KEY `name` (`name`)
|
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
||||||
|
|
||||||
CREATE TABLE `stretchydata_allowed_value` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` varchar(45) NOT NULL,
|
|
||||||
`allowed_list_id` int(11) NOT NULL,
|
|
||||||
PRIMARY KEY (`id`),
|
|
||||||
UNIQUE KEY `stretchydata_allowed_value_fk1` (`allowed_list_id`,`name`),
|
|
||||||
CONSTRAINT `stretchydata_allowed_value_fk1` FOREIGN KEY (`allowed_list_id`) REFERENCES `stretchydata_allowed_list` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
||||||
|
|
||||||
CREATE TABLE `stretchydata_dataset` (
|
CREATE TABLE `stretchydata_dataset` (
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`name` varchar(45) NOT NULL,
|
`name` varchar(45) NOT NULL,
|
||||||
@@ -652,13 +634,13 @@ CREATE TABLE `stretchydata_dataset_fields` (
|
|||||||
`data_length` int(11) DEFAULT NULL,
|
`data_length` int(11) DEFAULT NULL,
|
||||||
`display_type` varchar(45) DEFAULT NULL,
|
`display_type` varchar(45) DEFAULT NULL,
|
||||||
`dataset_id` int(11) NOT NULL,
|
`dataset_id` int(11) NOT NULL,
|
||||||
`allowed_list_id` int(11) DEFAULT NULL,
|
`code_id` int(11) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `stretchydata_dataset_fields_fk1` (`dataset_id`,`name`),
|
UNIQUE KEY `stretchydata_dataset_fields_fk1` (`dataset_id`,`name`),
|
||||||
KEY `stretchydata_dataset_fields_fk2` (`allowed_list_id`),
|
KEY `stretchydata_dataset_fields_fk2` (`code_id`),
|
||||||
CONSTRAINT `stretchydata_dataset_fields_fk1` FOREIGN KEY (`dataset_id`) REFERENCES `stretchydata_dataset` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
CONSTRAINT `stretchydata_dataset_fields_fk2` FOREIGN KEY (`code_id`) REFERENCES `m_code` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||||
CONSTRAINT `stretchydata_dataset_fields_fk2` FOREIGN KEY (`allowed_list_id`) REFERENCES `stretchydata_allowed_list` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
CONSTRAINT `stretchydata_dataset_fields_fk1` FOREIGN KEY (`dataset_id`) REFERENCES `stretchydata_dataset` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE `stretchy_report` (
|
CREATE TABLE `stretchy_report` (
|
||||||
`report_id` int(11) NOT NULL AUTO_INCREMENT,
|
`report_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
insert into m_code (code_name)
|
||||||
|
select name from stretchydata_allowed_list;
|
||||||
|
|
||||||
|
insert into m_code_value (code_id, code_value, order_position)
|
||||||
|
select c.id, sv.name, sv.id
|
||||||
|
from stretchydata_allowed_value sv
|
||||||
|
join stretchydata_allowed_list sl on sv.allowed_list_id = sl.id
|
||||||
|
join m_code c on c.code_name = sl.name;
|
||||||
|
|
||||||
|
|
||||||
|
SET foreign_key_checks = 0;
|
||||||
|
|
||||||
|
ALTER TABLE `stretchydata_dataset_fields` DROP FOREIGN KEY `stretchydata_dataset_fields_fk2` ;
|
||||||
|
|
||||||
|
ALTER TABLE `stretchydata_dataset_fields`
|
||||||
|
CHANGE COLUMN `allowed_list_id` `code_id` INT(11) NULL DEFAULT NULL ,
|
||||||
|
ADD CONSTRAINT `stretchydata_dataset_fields_fk2`
|
||||||
|
FOREIGN KEY (`code_id` )
|
||||||
|
REFERENCES `m_code` (`id` )
|
||||||
|
ON DELETE NO ACTION
|
||||||
|
ON UPDATE NO ACTION;
|
||||||
|
|
||||||
|
SET foreign_key_checks = 1;
|
||||||
|
|
||||||
|
|
||||||
|
update stretchydata_dataset_fields f
|
||||||
|
join stretchydata_allowed_list l on l.id = f.code_id
|
||||||
|
join m_code c on c.code_name = l.name
|
||||||
|
set code_id = c.id
|
||||||
|
where f.code_id is not null;
|
||||||
|
|
||||||
|
|
||||||
|
DROP TABLE `stretchydata_allowed_value`;
|
||||||
|
DROP TABLE `stretchydata_allowed_list`;
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
package org.mifosng.platform.noncore;
|
package org.mifosng.platform.noncore;
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.Statement;
|
|
||||||
|
|
||||||
import javax.sql.rowset.CachedRowSet;
|
import javax.sql.rowset.CachedRowSet;
|
||||||
|
|
||||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||||
@@ -19,6 +16,4 @@ public interface GenericDataService {
|
|||||||
|
|
||||||
String wrapSQL(String sql);
|
String wrapSQL(String sql);
|
||||||
|
|
||||||
void dbClose(Statement db_statement, Connection db_connection);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+1
-2
@@ -157,8 +157,7 @@ public class GenericDataServiceImpl implements GenericDataService {
|
|||||||
return "select x.* from (" + sql + ") x";
|
return "select x.* from (" + sql + ") x";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private void dbClose(Statement db_statement, Connection db_connection) {
|
||||||
public void dbClose(Statement db_statement, Connection db_connection) {
|
|
||||||
logger.debug("dbClose");
|
logger.debug("dbClose");
|
||||||
try {
|
try {
|
||||||
if (db_statement != null) {
|
if (db_statement != null) {
|
||||||
|
|||||||
+8
-8
@@ -144,7 +144,7 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private CachedRowSet getAdditionalFieldsMetaData(String type, String set) {
|
private CachedRowSet getAdditionalFieldsMetaData(String type, String set) {
|
||||||
String sql = "select f.`name`, f.data_type, f.data_length, f.display_type, f.allowed_list_id "
|
String sql = "select f.`name`, f.data_type, f.data_length, f.display_type, f.code_id "
|
||||||
+ " from stretchydata_datasettype t "
|
+ " from stretchydata_datasettype t "
|
||||||
+ " join stretchydata_dataset d on d.datasettype_id = t.id "
|
+ " join stretchydata_dataset d on d.datasettype_id = t.id "
|
||||||
+ " join stretchydata_dataset_fields f on f.dataset_id = d.id "
|
+ " join stretchydata_dataset_fields f on f.dataset_id = d.id "
|
||||||
@@ -174,7 +174,7 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Integer allowedListId;
|
Integer codeId;
|
||||||
while (columnDefinitions.next()) {
|
while (columnDefinitions.next()) {
|
||||||
ResultsetColumnHeader rsch = new ResultsetColumnHeader();
|
ResultsetColumnHeader rsch = new ResultsetColumnHeader();
|
||||||
rsch.setColumnName(columnDefinitions.getString("name"));
|
rsch.setColumnName(columnDefinitions.getString("name"));
|
||||||
@@ -186,16 +186,16 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
|||||||
|
|
||||||
rsch.setColumnDisplayType(columnDefinitions
|
rsch.setColumnDisplayType(columnDefinitions
|
||||||
.getString("display_type"));
|
.getString("display_type"));
|
||||||
allowedListId = columnDefinitions.getInt("allowed_list_id");
|
codeId = columnDefinitions.getInt("code_id");
|
||||||
|
|
||||||
if (allowedListId > 0) {
|
if (codeId > 0) {
|
||||||
|
String sql = "select code_value from m_code_value where code_id = "
|
||||||
String sql = "select v.`name` from stretchydata_allowed_value v where allowed_list_id = "
|
+ codeId + " order by order_position, id";
|
||||||
+ allowedListId + " order by id";
|
|
||||||
CachedRowSet rsValues = genericDataService
|
CachedRowSet rsValues = genericDataService
|
||||||
.getCachedResultSet(sql, "SQL: " + sql);
|
.getCachedResultSet(sql, "SQL: " + sql);
|
||||||
while (rsValues.next()) {
|
while (rsValues.next()) {
|
||||||
rsch.getColumnValues().add(rsValues.getString("name"));
|
rsch.getColumnValues().add(
|
||||||
|
rsValues.getString("code_value"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
columnHeaders.add(rsch);
|
columnHeaders.add(rsch);
|
||||||
|
|||||||
Reference in New Issue
Block a user