Administrator 4 years ago
parent
commit
dc24894d52

+ 18 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/domain/GenTable.java

@@ -99,11 +99,13 @@ public class GenTable extends BaseEntity
      * 输入字段
      */
     private Long akColumn;
+    private String akColumnName;
 
     /**
      * 输出字段
      */
     private Long dkColumn;
+    private String dkColumnName;
 
     /**
      * 新增触发器
@@ -172,6 +174,22 @@ public class GenTable extends BaseEntity
      */
     private String tablePrimaryKeyName;
 
+    public String getAkColumnName() {
+        return akColumnName;
+    }
+
+    public void setAkColumnName(String akColumnName) {
+        this.akColumnName = akColumnName;
+    }
+
+    public String getDkColumnName() {
+        return dkColumnName;
+    }
+
+    public void setDkColumnName(String dkColumnName) {
+        this.dkColumnName = dkColumnName;
+    }
+
     public String getTablePrimaryKeyName() {
         return tablePrimaryKeyName;
     }

+ 1 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/service/GenTableColumnServiceImpl.java

@@ -70,6 +70,7 @@ public class GenTableColumnServiceImpl implements IGenTableColumnService {
      */
     @Override
     public int insertGenTableColumn(GenTableColumn genTableColumn) {
+        isAk(genTableColumn);
         return genTableColumnMapper.insertGenTableColumn(genTableColumn);
     }
 

+ 37 - 21
boman-modules/boman-gen/src/main/java/com/boman/gen/service/GenTableServiceImpl.java

@@ -64,6 +64,7 @@ public class GenTableServiceImpl implements IGenTableService {
 
     @Autowired
     private TableSqlServiceImpl tableSqlService;
+
     /**
      * 查询业务信息
      *
@@ -74,14 +75,24 @@ public class GenTableServiceImpl implements IGenTableService {
     public GenTable selectGenTableById(Long id) {
         GenTable genTable = genTableMapper.selectGenTableById(id);
         Long tablePrimaryKey = genTable.getTablePrimaryKey();
-        if (tablePrimaryKey != null){
-            List<GenTableColumn> columns = genTable.getColumns();
-            for (GenTableColumn column : columns) {
-                Long columnId = column.getColumnId();
-                if (tablePrimaryKey.equals(columnId)){
-                    genTable.setTablePrimaryKeyName(column.getColumnName());
-                    break;
-                }
+        Long akColumn = genTable.getAkColumn();
+        Long dkColumn = genTable.getDkColumn();
+        List<GenTableColumn> columns = genTable.getColumns();
+        int index = 0;
+        for (GenTableColumn column : columns) {
+            Long columnId = column.getColumnId();
+            if (tablePrimaryKey != null && tablePrimaryKey.equals(columnId)) {
+                genTable.setTablePrimaryKeyName(column.getColumnName());
+                index++;
+            }else if(akColumn != null && akColumn.equals(columnId)){
+                genTable.setAkColumnName(column.getColumnName());
+                index++;
+            }else if(dkColumn != null && dkColumn.equals(columnId)){
+                genTable.setDkColumnName(column.getColumnName());
+                index++;
+            }
+            if (index == 3) {
+                break;
             }
         }
         setTableFromOptions(genTable);
@@ -415,7 +426,7 @@ public class GenTableServiceImpl implements IGenTableService {
         int i = genTableMapper.insertGenTable(genTable);
         if (i > 0) {
             Long id = insertCommonColumn(genTable.getTableId());
-            if (id != -1){
+            if (id != -1) {
                 genTable.setTablePrimaryKey(id);
                 genTableMapper.updateGenTable(genTable);
             }
@@ -436,6 +447,7 @@ public class GenTableServiceImpl implements IGenTableService {
      * @param tableId
      */
     public Long insertCommonColumn(Long tableId) {
+        int num = 1000;
         GenTableColumn genTableColumnLog = new GenTableColumn();
         GenTableColumn genTableColumnBaseInfo = new GenTableColumn();
 
@@ -448,7 +460,7 @@ public class GenTableServiceImpl implements IGenTableService {
         genTableColumnLog.setIsInsert("1");
         genTableColumnLog.setQueryType("LIKE");
         genTableColumnLog.setHtmlType("input");
-        genTableColumnLog.setSort(7);
+        genTableColumnLog.setSort(num);
         genTableColumnLog.setCreateBy("admin");
         genTableColumnLog.setCreateTime(DateUtils.getNowDate());
         genTableColumnMapper.insertGenTableColumn(genTableColumnLog);
@@ -462,7 +474,7 @@ public class GenTableServiceImpl implements IGenTableService {
         genTableColumnBaseInfo.setIsInsert("1");
         genTableColumnBaseInfo.setQueryType("LIKE");
         genTableColumnBaseInfo.setHtmlType("input");
-        genTableColumnBaseInfo.setSort(8);
+        genTableColumnBaseInfo.setSort(20);
         genTableColumnBaseInfo.setCreateBy("admin");
         genTableColumnBaseInfo.setCreateTime(DateUtils.getNowDate());
         genTableColumnMapper.insertGenTableColumn(genTableColumnBaseInfo);
@@ -470,8 +482,8 @@ public class GenTableServiceImpl implements IGenTableService {
 
         Long columnId = -1L;
         String[] columnName = new String[]{"id", "create_by", "create_time", "update_by", "update_time", "is_del"};
-        String[] columnComment = new String[]{"编号","创建者", "创建时间", "更新者", "更新时间", "是否删除"};
-        String[] columnType = new String[]{"bigint(20)","varchar(64)", "datetime", "varchar(64)", "datetime", "char(1)"};
+        String[] columnComment = new String[]{"编号", "创建者", "创建时间", "更新者", "更新时间", "是否删除"};
+        String[] columnType = new String[]{"bigint(20)", "varchar(64)", "datetime", "varchar(64)", "datetime", "char(1)"};
         String[] htmlType = new String[]{"input", "input", "datetime", "input", "datetime", "select"};
         for (int i = 0; i < columnName.length; i++) {
             GenTableColumn genTableColumn = new GenTableColumn();
@@ -484,18 +496,20 @@ public class GenTableServiceImpl implements IGenTableService {
             genTableColumn.setIsInsert("1");
             genTableColumn.setQueryType("EQ");
             genTableColumn.setHtmlType(htmlType[i]);
-            genTableColumn.setSort(i + 1);
+            genTableColumn.setSort(num + 1);
             genTableColumn.setCreateBy("admin");
             genTableColumn.setCreateTime(DateUtils.getNowDate());
             genTableColumn.setHrParentId(genTableColumnBaseInfo.getColumnId());
-            if (i == 0){
+            genTableColumn.setMask("000000");
+            if (i == 0) {
+                genTableColumn.setSort(1);
                 genTableColumn.setIsIncrement("1");
                 genTableColumn.setHrParentId(genTableColumnLog.getColumnId());
             }
             genTableColumnMapper.insertGenTableColumn(genTableColumn);
             //获得id字段的id
-            if (i == 0){
-                 columnId = genTableColumn.getColumnId();
+            if (i == 0) {
+                columnId = genTableColumn.getColumnId();
             }
         }
         return columnId;
@@ -503,6 +517,7 @@ public class GenTableServiceImpl implements IGenTableService {
 
     /**
      * 判断是否是菜单
+     *
      * @param genTable
      */
     public void isMenu(GenTable genTable) {
@@ -529,7 +544,7 @@ public class GenTableServiceImpl implements IGenTableService {
                 SysMenu menu = new SysMenu();
                 menu.setParentId(sysMenu.getId());
                 menu.setMenuName(menuName[i]);
-                menu.setOrderNum(String.valueOf(i+1));
+                menu.setOrderNum(String.valueOf(i + 1));
                 menu.setMenuType("F");
                 menu.setIcon("#");
                 sysMenu.setCreateBy(SecurityUtils.getUsername());
@@ -616,14 +631,15 @@ public class GenTableServiceImpl implements IGenTableService {
     }
 
     /**
-     *校验表名称是否存在
+     * 校验表名称是否存在
+     *
      * @param genTable
      * @return
      */
     @Override
-    public String checkTableNameUnique(GenTable genTable){
+    public String checkTableNameUnique(GenTable genTable) {
         List<GenTable> genTables = genTableMapper.selectGenTableList(genTable);
-        if (genTables.size() > 0){
+        if (genTables.size() > 0) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;

+ 4 - 6
boman-modules/boman-gen/src/main/java/com/boman/gen/service/TableSqlServiceImpl.java

@@ -4,6 +4,7 @@ import com.boman.common.core.constant.UserConstants;
 import com.boman.common.core.utils.DateUtils;
 import com.boman.common.core.utils.SecurityUtils;
 import com.boman.common.core.utils.StringUtils;
+import com.boman.common.core.utils.obj.ObjectUtils;
 import com.boman.common.core.web.domain.AjaxResult;
 import com.boman.gen.domain.GenTable;
 import com.boman.gen.domain.GenTableColumn;
@@ -54,7 +55,7 @@ public class TableSqlServiceImpl implements ITableSqlService {
         String tableName = genTable.getTableName();
         tableSql.setCreateSql(createSql(tableSql, tableName));
         tableSql.setCreateBy(SecurityUtils.getUsername());
-        tableSql.setCreateLog(DateUtils.getTime() +" "+ SecurityUtils.getUsername() + " 创建表 " + tableName);
+        tableSql.setCreateLog(DateUtils.getTime() + " " + SecurityUtils.getUsername() + " 创建表 " + tableName);
         tableSqlMapper.insertTableSql(tableSql);
         return AjaxResult.success();
     }
@@ -103,6 +104,7 @@ public class TableSqlServiceImpl implements ITableSqlService {
 
     /**
      * 查询建表SQL
+     *
      * @param id
      * @return
      */
@@ -131,11 +133,7 @@ public class TableSqlServiceImpl implements ITableSqlService {
 
         for (GenTableColumn genTableColumn : genTableColumns) {
             sb.append(genTableColumn.getColumnName()).append(" ").append(genTableColumn.getColumnType());
-            if (genTableColumn.getIsIncrement().equals(UserConstants.INCREMENT)) {
-                sb = genTableColumn.getDefaultValue() == null ? sb.append(" DEFAULT NULL AUTO_INCREMENT COMMENT ") : sb.append(" DEFAULT '" + genTableColumn.getDefaultValue() + "' AUTO_INCREMENT COMMENT '");
-            } else {
-                sb = genTableColumn.getDefaultValue() == null ? sb.append(" DEFAULT NULL COMMENT ") : sb.append(" DEFAULT '" + genTableColumn.getDefaultValue() + "' COMMENT '");
-            }
+            sb = genTableColumn.getDefaultValue() == null ? sb.append(" DEFAULT NULL COMMENT ") : sb.append(" DEFAULT '").append(genTableColumn.getDefaultValue()).append("' COMMENT '");
             sb.append(genTableColumn.getColumnComment()).append("'").append(",\r\n");
             if (genTableColumn.getIsPk().equals(UserConstants.INCREMENT)) {
                 primaryKey = genTableColumn.getColumnName();

+ 1 - 1
boman-modules/boman-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml

@@ -152,7 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isQuery != null and isQuery != ''">is_query = #{isQuery},</if>
             <if test="queryType != null and queryType != ''">query_type = #{queryType},</if>
             <if test="htmlType != null and htmlType != ''">html_type = #{htmlType},</if>
-            <if test="foreignKey != null">foreign_key = #{foreignKey},</if>
+            <if test="foreignKey != null and foreignKey != ''">foreign_key = #{foreignKey},</if>
             <if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
             <if test="sort != null">sort = #{sort},</if>
             <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>

+ 1 - 0
boman-modules/boman-gen/src/main/resources/mapper/generator/GenTableRelationMapper.xml

@@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		left join gen_table t on t.table_id = r.relation_parent_id
 		left join gen_table_column c on c.column_id = r.relation_child_id
 		<where>
+			is_del = 'N'
 			<if test="description != null and description != ''">
 				AND description like concat('%', #{description}, '%')
 			</if>