shiqian 4 жил өмнө
parent
commit
61ae1160f6

+ 40 - 46
boman-api/boman-domain/src/main/java/com.boman.domain/SysDictData.java

@@ -1,14 +1,8 @@
 package com.boman.domain;
 
-import com.boman.common.core.annotation.Excel;
-import com.boman.common.core.annotation.Excel.ColumnType;
-import com.boman.common.core.constant.UserConstants;
-import com.boman.common.core.web.domain.BaseEntity;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
+//import com.boman.common.core.constant.UserConstants;
+//import org.apache.commons.lang3.builder.ToStringBuilder;
+//import org.apache.commons.lang3.builder.ToStringStyle;
 
 /**
  * 字典数据表 sys_dict_data
@@ -20,23 +14,23 @@ public class SysDictData extends BaseEntity
     private static final long serialVersionUID = 1L;
 
     /** 字典编码 */
-    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
+//    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
     private Long id;
 
     /** 字典排序 */
-    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
+//    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
     private Long dictSort;
 
     /** 字典标签 */
-    @Excel(name = "字典标签")
+//    @Excel(name = "字典标签")
     private String dictLabel;
 
     /** 字典键值 */
-    @Excel(name = "字典键值")
+//    @Excel(name = "字典键值")
     private String dictValue;
 
     /** 字典类型 */
-    @Excel(name = "字典类型")
+//    @Excel(name = "字典类型")
     private String dictType;
 
     /** 样式属性(其他样式扩展) */
@@ -46,11 +40,11 @@ public class SysDictData extends BaseEntity
     private String listClass;
 
     /** 是否默认(Y是 N否) */
-    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
+//    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
     private String isDefault;
 
     /** 状态(0正常 1停用) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+//    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
     private String status;
 
     public Long getId()
@@ -73,8 +67,8 @@ public class SysDictData extends BaseEntity
         this.dictSort = dictSort;
     }
 
-    @NotBlank(message = "字典标签不能为空")
-    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
+//    @NotBlank(message = "字典标签不能为空")
+//    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
     public String getDictLabel()
     {
         return dictLabel;
@@ -85,8 +79,8 @@ public class SysDictData extends BaseEntity
         this.dictLabel = dictLabel;
     }
 
-    @NotBlank(message = "字典键值不能为空")
-    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
+//    @NotBlank(message = "字典键值不能为空")
+//    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
     public String getDictValue()
     {
         return dictValue;
@@ -97,8 +91,8 @@ public class SysDictData extends BaseEntity
         this.dictValue = dictValue;
     }
 
-    @NotBlank(message = "字典类型不能为空")
-    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
+//    @NotBlank(message = "字典类型不能为空")
+//    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
     public String getDictType()
     {
         return dictType;
@@ -109,7 +103,7 @@ public class SysDictData extends BaseEntity
         this.dictType = dictType;
     }
 
-    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
+//    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
     public String getCssClass()
     {
         return cssClass;
@@ -130,10 +124,10 @@ public class SysDictData extends BaseEntity
         this.listClass = listClass;
     }
 
-    public boolean getDefault()
-    {
-        return UserConstants.YES.equals(this.isDefault) ? true : false;
-    }
+//    public boolean getDefault()
+//    {
+//        return UserConstants.YES.equals(this.isDefault) ? true : false;
+//    }
 
     public String getIsDefault()
     {
@@ -155,23 +149,23 @@ public class SysDictData extends BaseEntity
         this.status = status;
     }
     
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("dictSort", getDictSort())
-            .append("dictLabel", getDictLabel())
-            .append("dictValue", getDictValue())
-            .append("dictType", getDictType())
-            .append("cssClass", getCssClass())
-            .append("listClass", getListClass())
-            .append("isDefault", getIsDefault())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
+//    @Override
+//    public String toString() {
+//        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+//            .append("id", getId())
+//            .append("dictSort", getDictSort())
+//            .append("dictLabel", getDictLabel())
+//            .append("dictValue", getDictValue())
+//            .append("dictType", getDictType())
+//            .append("cssClass", getCssClass())
+//            .append("listClass", getListClass())
+//            .append("isDefault", getIsDefault())
+//            .append("status", getStatus())
+//            .append("createBy", getCreateBy())
+//            .append("createTime", getCreateTime())
+//            .append("updateBy", getUpdateBy())
+//            .append("updateTime", getUpdateTime())
+//            .append("remark", getRemark())
+//            .toString();
+//    }
 }

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/controller/ObjController.java

@@ -204,7 +204,7 @@ public class ObjController {
     @ApiOperation(value = "获取表单按钮")
     @PostMapping("/getButton")
     public AjaxResult getButton(@RequestBody BaseTableSaveDTO condition) {
-        return tableServiceCmdService.getButton(condition);
+        return AjaxResult.success( tableServiceCmdService.getButton(condition.getTable()));
     }
 
     /**

+ 37 - 16
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -245,11 +245,13 @@ public class TableServiceCmdService {
         List<JSONObject> result = selectService.selectByCondition(genTable.getTableName(), condition, packCondition
                 , showData, dto.getOrderBy(), dto.getLimit(), dto.getOffset());
         // 处理时间
-        handlerDate(result, columns);
+//        handlerDate(result, columns);
         // 处理字典值
-        handlerSysDictData(result, columns);
+//        handlerSysDictData(result, columns);
         // 处理外键
-        handlerForeignKey(result, columns);
+//        handlerForeignKey(result, columns);
+
+        handler(result, columns);
         // 定制接口
         result = isCustomized(dto.getTable(),result,"trigger_retrieve");
 
@@ -257,6 +259,15 @@ public class TableServiceCmdService {
         return AjaxResult.success(rows);
     }
 
+    private void handler(List<JSONObject> result, List<GenTableColumn> columns){
+        // 处理时间
+        handlerDate(result, columns);
+        // 处理字典值
+        handlerSysDictData(result, columns);
+        // 处理外键
+        handlerForeignKey(result, columns);
+    }
+
     /**
      * 功能描述: 处理外键
      *
@@ -367,21 +378,28 @@ public class TableServiceCmdService {
     public AjaxResult getObject(BaseTableSaveDTO dto) {
         requireNonNull(dto.getTable());
 
-        // 拿到每个字段对应的查询类型,=、 like、 >、 <
-        // 拿到pkName
         GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, dto.getTable());
         String pkName = IdUtils.getPkName(genTable.getColumns());
-
         JSONObject fixedData = dto.getFixedData();
         fixedData = ifNullSetEmpty(fixedData);
         Long id = fixedData.getLong(FormDataConstant.ID);
         requireNonNull(id);
         List<GenTableColumn> columns = genTable.getColumns();
+        // id = -1时,查询该表单对应的字段名称
+        if (ltZero(id)) {
+            return getByTableName(genTable.getTableName(), columns);
+        }
+
         // 默认查所有字段,不支持自定义
-        JSONObject jsonObject = selectService.selectById(genTable.getTableName(), pkName, id);
+        JSONObject json = selectService.selectById(genTable.getTableName(), pkName, id);
         // name=username, value=zhangsan, type=input, types=[{},{}]
-        handlerDate(Collections.singletonList(jsonObject), columns);
-        List<JSONObject> result = packSingleObj(jsonObject, columns);
+
+        handler(Collections.singletonList(json), columns);
+
+        List<JSONObject> list = packSingleObj(json, columns);
+        JSONObject result = new JSONObject();
+        result.put(SHOW_DATA, list);
+        result.put(BUTTON_LIST, getButton(genTable.getTableName()));
         return AjaxResult.success(result);
     }
 
@@ -543,9 +561,9 @@ public class TableServiceCmdService {
      * @param condition condition
      * @return com.boman.common.core.web.domain.AjaxResult
      */
-    public AjaxResult getButton(BaseTableSaveDTO condition) {
-        GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, condition.getTable());
-        return AjaxResult.success("成功", Strings.nullToEmpty(genTable.getMenuRole()));
+    public String getButton(String tableName) {
+        GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, tableName);
+        return Strings.nullToEmpty(genTable.getMenuRole());
     }
 
 
@@ -727,6 +745,7 @@ public class TableServiceCmdService {
      * @return com.boman.gen.domain.GenTable
      */
     private GenTable getTableFromRedisByTableName(String redisKeyPrefix, String tableName) {
+        tableName = tableName.trim().toLowerCase();
         String key = requireNonNull(redisKeyPrefix) + requireNonNull(tableName);
         GenTable genTable = redisService.getCacheObject(key);
         if (ObjectUtils.isEmpty(genTable)) {
@@ -762,11 +781,11 @@ public class TableServiceCmdService {
             return AjaxResult.success(genTable);
         } else {
             // 带折叠的展示
-            return getByTableName(allColumns);
+            return getByTableName(genTable.getTableName(), allColumns);
         }
     }
 
-    public AjaxResult getByTableName( List<GenTableColumn> allColumns) {
+    public AjaxResult getByTableName(String tableName, List<GenTableColumn> allColumns) {
         List<GenTableColumn> parentColumns = filter(allColumns, col -> HR.equalsIgnoreCase(col.getHtmlType()));
 
         // 把孩子放入父亲的怀抱
@@ -784,8 +803,10 @@ public class TableServiceCmdService {
         for (GenTableColumn hrColumn : parentColumns) {
             packDictDataToColumns(hrColumn.getHrChildren(), ObjectUtils::isNotEmpty);
         }
-
-        return AjaxResult.success(parentColumns);
+        JSONObject result = new JSONObject();
+        result.put(BUTTON_LIST, getButton(tableName));
+        result.put(SHOW_DATA, parentColumns);
+        return AjaxResult.success(result);
     }
 
     public void packDictDataToColumns(List<GenTableColumn> columns, Predicate<String> predicate) {