|
@@ -18,6 +18,7 @@ import com.google.common.collect.Maps;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -36,8 +37,6 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
private GenTableMapper genTableMapper;
|
|
private GenTableMapper genTableMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private TableSqlMapper tableSqlMapper;
|
|
private TableSqlMapper tableSqlMapper;
|
|
- @Autowired
|
|
|
|
- private ILoadTableServer loadTableServer;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询业务字段列表
|
|
* 查询业务字段列表
|
|
@@ -49,15 +48,15 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId) {
|
|
public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId) {
|
|
List<GenTableColumn> genTableColumns = genTableColumnMapper.selectGenTableColumnListByTableId(tableId);
|
|
List<GenTableColumn> genTableColumns = genTableColumnMapper.selectGenTableColumnListByTableId(tableId);
|
|
for (GenTableColumn genTableColumn : genTableColumns) {
|
|
for (GenTableColumn genTableColumn : genTableColumns) {
|
|
- if (genTableColumn.getHrParentId() != null){
|
|
|
|
|
|
+ if (genTableColumn.getHrParentId() != null) {
|
|
for (GenTableColumn tableColumn : genTableColumns) {
|
|
for (GenTableColumn tableColumn : genTableColumns) {
|
|
- if (genTableColumn.getHrParentId().equals(tableColumn.getId())){
|
|
|
|
|
|
+ if (genTableColumn.getHrParentId().equals(tableColumn.getId())) {
|
|
genTableColumn.setHrParentName(tableColumn.getColumnName());
|
|
genTableColumn.setHrParentName(tableColumn.getColumnName());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (genTableColumn.getForeignKey() != null){
|
|
|
|
|
|
+ if (genTableColumn.getForeignKey() != null) {
|
|
GenTableColumn genTableColumn1 = selectGenTableColumnListByColumnId(genTableColumn.getId());
|
|
GenTableColumn genTableColumn1 = selectGenTableColumnListByColumnId(genTableColumn.getId());
|
|
genTableColumn.setForeignKeyName(genTableColumn1.getColumnName());
|
|
genTableColumn.setForeignKeyName(genTableColumn1.getColumnName());
|
|
}
|
|
}
|
|
@@ -127,9 +126,10 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
@Override
|
|
@Override
|
|
public int insertGenTableColumn(GenTableColumn genTableColumn) {
|
|
public int insertGenTableColumn(GenTableColumn genTableColumn) {
|
|
int i = genTableColumnMapper.insertGenTableColumn(genTableColumn);
|
|
int i = genTableColumnMapper.insertGenTableColumn(genTableColumn);
|
|
- isAk(genTableColumn);
|
|
|
|
- insertCreateLog(genTableColumn, BusinessType.INSERT);
|
|
|
|
- loadTableServer.loadTable(new GenTable());
|
|
|
|
|
|
+ List<GenTableColumn> list = new ArrayList<>();
|
|
|
|
+ list.add(genTableColumn);
|
|
|
|
+ isAk(list);
|
|
|
|
+ insertCreateLog(list, BusinessType.INSERT);
|
|
return i;
|
|
return i;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -141,35 +141,53 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int updateGenTableColumn(GenTableColumn genTableColumn) {
|
|
public int updateGenTableColumn(GenTableColumn genTableColumn) {
|
|
|
|
+ List<GenTableColumn> list = new ArrayList<>();
|
|
|
|
+ list.add(genTableColumn);
|
|
|
|
+ isAk(list);
|
|
|
|
+ insertCreateLog(list, BusinessType.UPDATE);
|
|
|
|
+ return genTableColumnMapper.updateGenTableColumn(genTableColumn);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 批量修改genTableColumn
|
|
|
|
+ *
|
|
|
|
+ * @param genTableColumn
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void updateGenTableColumnList(List<GenTableColumn> genTableColumn) {
|
|
isAk(genTableColumn);
|
|
isAk(genTableColumn);
|
|
- insertCreateLog(genTableColumn, BusinessType.UPDATE);
|
|
|
|
- int i = genTableColumnMapper.updateGenTableColumn(genTableColumn);
|
|
|
|
- loadTableServer.loadTable(new GenTable());
|
|
|
|
- return i;
|
|
|
|
|
|
+ insertCreateLog(genTableColumn,BusinessType.UPDATE);
|
|
|
|
+ for (GenTableColumn tableColumn : genTableColumn) {
|
|
|
|
+ genTableColumnMapper.updateGenTableColumn(tableColumn);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 插入表sql日志
|
|
* 插入表sql日志
|
|
*/
|
|
*/
|
|
- public void insertCreateLog(GenTableColumn genTableColumn, BusinessType type) {
|
|
|
|
- GenTable genTable = genTableMapper.selectGenTableById(genTableColumn.getTableId());
|
|
|
|
|
|
+ public void insertCreateLog(List<GenTableColumn> genTableColumnList, BusinessType type) {
|
|
|
|
+ GenTable genTable = genTableMapper.selectGenTableById(genTableColumnList.get(0).getTableId());
|
|
|
|
+ TableSql tableSql = tableSqlMapper.selectTableSqlByTableId(genTableColumnList.get(0).getTableId());
|
|
//新增业务字段的同时新增一条建表sql修改日志
|
|
//新增业务字段的同时新增一条建表sql修改日志
|
|
- TableSql tableSql = tableSqlMapper.selectTableSqlByTableId(genTableColumn.getTableId());
|
|
|
|
String createLog = "";
|
|
String createLog = "";
|
|
if (tableSql != null) {
|
|
if (tableSql != null) {
|
|
createLog = tableSql.getCreateLog();
|
|
createLog = tableSql.getCreateLog();
|
|
}
|
|
}
|
|
StringBuffer sb = new StringBuffer(createLog);
|
|
StringBuffer sb = new StringBuffer(createLog);
|
|
- //ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100) DEFAULT NULL COMMENT '新加字段';
|
|
|
|
- sb.append("\r\n").append(DateUtils.getTime()).append(" ").append(SecurityUtils.getUsername()).append(" ALTER TABLE ").append(genTable.getTableName());
|
|
|
|
- if (BusinessType.INSERT.equals(type)) {
|
|
|
|
- sb.append(" ADD COLUMN ").append(genTableColumn.getColumnName()).append(" ").append(genTableColumn.getColumnType());
|
|
|
|
- sb = genTableColumn.getDefaultValue() == null ? sb.append(" DEFAULT NULL COMMENT ") : sb.append(" DEFAULT '").append(genTableColumn.getDefaultValue()).append("' COMMENT '");
|
|
|
|
- sb.append(genTableColumn.getColumnComment()).append("';");
|
|
|
|
- } else if (BusinessType.UPDATE.equals(type)) {
|
|
|
|
- sb.append(" MODIFY ").append(genTableColumn.getColumnName()).append(" ").append(genTableColumn.getColumnType()).append(";");
|
|
|
|
- } else if (BusinessType.DELETE.equals(type)) {
|
|
|
|
- sb.append(" DROP ").append(genTableColumn.getColumnName()).append(";");
|
|
|
|
|
|
+ for (GenTableColumn genTableColumn : genTableColumnList) {
|
|
|
|
+ //ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100) DEFAULT NULL COMMENT '新加字段';
|
|
|
|
+ sb.append("\r\n").append(DateUtils.getTime()).append(" ").append(SecurityUtils.getUsername()).append(" ALTER TABLE ").append(genTable.getTableName());
|
|
|
|
+ if (BusinessType.INSERT.equals(type)) {
|
|
|
|
+ sb.append(" ADD COLUMN ").append(genTableColumn.getColumnName()).append(" ").append(genTableColumn.getColumnType());
|
|
|
|
+ sb = genTableColumn.getDefaultValue() == null ? sb.append(" DEFAULT NULL COMMENT ") : sb.append(" DEFAULT '").append(genTableColumn.getDefaultValue()).append("' COMMENT '");
|
|
|
|
+ sb.append(genTableColumn.getColumnComment()).append("';");
|
|
|
|
+ } else if (BusinessType.UPDATE.equals(type)) {
|
|
|
|
+ sb.append(" MODIFY ").append(genTableColumn.getColumnName()).append(" ").append(genTableColumn.getColumnType()).append(";");
|
|
|
|
+ } else if (BusinessType.DELETE.equals(type)) {
|
|
|
|
+ sb.append(" DROP ").append(genTableColumn.getColumnName()).append(";");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (tableSql != null) {
|
|
if (tableSql != null) {
|
|
tableSql.setCreateLog(sb.toString());
|
|
tableSql.setCreateLog(sb.toString());
|
|
@@ -180,43 +198,53 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
/**
|
|
/**
|
|
* 判断对象是否设置显示和输入字段
|
|
* 判断对象是否设置显示和输入字段
|
|
*
|
|
*
|
|
- * @param genTableColumn
|
|
|
|
|
|
+ * @param genTableColumnList
|
|
*/
|
|
*/
|
|
- public void isAk(GenTableColumn genTableColumn) {
|
|
|
|
-
|
|
|
|
- //是否是输入
|
|
|
|
- String isIn = genTableColumn.getIsIn();
|
|
|
|
- //是否是显示
|
|
|
|
- String isOut = genTableColumn.getIsOut();
|
|
|
|
- //查询出该表所有是输入或者是显示的字段
|
|
|
|
- List<GenTableColumn> genTableColumns = genTableColumnMapper.selectGenTableColumnListByTableId(genTableColumn.getTableId());
|
|
|
|
- GenTable genTable = new GenTable();
|
|
|
|
- if (UserConstants.YES.equals(isIn)) {
|
|
|
|
- //判断是否已经存在输入字段且不是同一个字段
|
|
|
|
- for (GenTableColumn tableColumn : genTableColumns) {
|
|
|
|
- if (UserConstants.YES.equals(tableColumn.getIsIn()) && !tableColumn.getId().equals(genTableColumn.getId())) {
|
|
|
|
- tableColumn.setIsIn("N");
|
|
|
|
- genTableColumnMapper.updateGenTableColumn(tableColumn);
|
|
|
|
- break;
|
|
|
|
|
|
+ public void isAk(List<GenTableColumn> genTableColumnList) {
|
|
|
|
+ for (GenTableColumn genTableColumn : genTableColumnList) {
|
|
|
|
+ //是否是输入
|
|
|
|
+ String isIn = genTableColumn.getIsIn();
|
|
|
|
+ //是否是显示
|
|
|
|
+ String isOut = genTableColumn.getIsOut();
|
|
|
|
+ //查询出该表所有是输入或者是显示的字段
|
|
|
|
+ List<GenTableColumn> genTableColumns = genTableColumnMapper.selectGenTableColumnIsListByTableId(genTableColumn.getTableId());
|
|
|
|
+ GenTable genTable = new GenTable();
|
|
|
|
+ if (UserConstants.YES.equals(isIn)) {
|
|
|
|
+ //判断是否已经存在输入字段且不是同一个字段
|
|
|
|
+ if (genTableColumns.size() > 0) {
|
|
|
|
+ for (GenTableColumn tableColumn : genTableColumns) {
|
|
|
|
+ if (UserConstants.YES.equals(tableColumn.getIsIn()) && !tableColumn.getId().equals(genTableColumn.getId())) {
|
|
|
|
+ tableColumn.setIsIn("N");
|
|
|
|
+ genTableColumnMapper.updateGenTableColumn(tableColumn);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ genTable.setId(genTableColumn.getTableId());
|
|
|
|
+ genTable.setAkColumn(genTableColumn.getId());
|
|
|
|
+ genTable.setDkColumn(null);
|
|
}
|
|
}
|
|
- genTable.setId(genTableColumn.getTableId());
|
|
|
|
- genTable.setAkColumn(genTableColumn.getId());
|
|
|
|
- }
|
|
|
|
- if (UserConstants.YES.equals(isOut)) {
|
|
|
|
- //判断是否已经存在显示字段且不是同一个字段
|
|
|
|
- for (GenTableColumn tableColumn : genTableColumns) {
|
|
|
|
- if (UserConstants.YES.equals(tableColumn.getIsOut()) && !tableColumn.getId().equals(genTableColumn.getId())) {
|
|
|
|
- tableColumn.setIsOut("N");
|
|
|
|
- genTableColumnMapper.updateGenTableColumn(tableColumn);
|
|
|
|
- break;
|
|
|
|
|
|
+ if (UserConstants.YES.equals(isOut)) {
|
|
|
|
+ //判断是否已经存在显示字段且不是同一个字段
|
|
|
|
+ if (genTableColumns.size() > 0) {
|
|
|
|
+ for (GenTableColumn tableColumn : genTableColumns) {
|
|
|
|
+ if (UserConstants.YES.equals(tableColumn.getIsOut()) && !tableColumn.getId().equals(genTableColumn.getId())) {
|
|
|
|
+ tableColumn.setIsOut("N");
|
|
|
|
+ genTableColumnMapper.updateGenTableColumn(tableColumn);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ genTable.setId(genTableColumn.getTableId());
|
|
|
|
+ genTable.setDkColumn(genTableColumn.getId());
|
|
|
|
+ genTable.setAkColumn(null);
|
|
|
|
+ }
|
|
|
|
+ if (genTable.getId() != null) {
|
|
|
|
+ genTableMapper.updateGenTable(genTable);
|
|
|
|
+ } else {
|
|
|
|
+ //表明没有显示和输入字段更新到gen表上
|
|
|
|
+ genTableMapper.updateGenTableColumnNull(genTableColumn.getTableId());
|
|
}
|
|
}
|
|
- genTable.setId(genTableColumn.getTableId());
|
|
|
|
- genTable.setDkColumn(genTableColumn.getId());
|
|
|
|
- }
|
|
|
|
- if (genTable.getId() != null) {
|
|
|
|
- genTableMapper.updateGenTable(genTable);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -229,9 +257,7 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int deleteGenTableColumnByIds(String ids) {
|
|
public int deleteGenTableColumnByIds(String ids) {
|
|
- int i = genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids));
|
|
|
|
- loadTableServer.loadTable(new GenTable());
|
|
|
|
- return i;
|
|
|
|
|
|
+ return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -243,13 +269,13 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
|
|
@Override
|
|
@Override
|
|
public int deleteGenTableColumnByColumnIds(String ids) {
|
|
public int deleteGenTableColumnByColumnIds(String ids) {
|
|
Long[] longs = Convert.toLongArray(ids);
|
|
Long[] longs = Convert.toLongArray(ids);
|
|
|
|
+ List<GenTableColumn> list = new ArrayList<>();
|
|
for (Long aLong : longs) {
|
|
for (Long aLong : longs) {
|
|
GenTableColumn genTableColumn = genTableColumnMapper.selectGenTableColumnByColumnId(aLong);
|
|
GenTableColumn genTableColumn = genTableColumnMapper.selectGenTableColumnByColumnId(aLong);
|
|
- insertCreateLog(genTableColumn, BusinessType.DELETE);
|
|
|
|
|
|
+ list.add(genTableColumn);
|
|
}
|
|
}
|
|
- int i = genTableColumnMapper.deleteGenTableColumnByColumnIds(Convert.toLongArray(ids));
|
|
|
|
- loadTableServer.loadTable(new GenTable());
|
|
|
|
- return i;
|
|
|
|
|
|
+ insertCreateLog(list, BusinessType.DELETE);
|
|
|
|
+ return genTableColumnMapper.deleteGenTableColumnByColumnIds(Convert.toLongArray(ids));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|