diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java index 6ba04c9..73b4328 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java @@ -1,6 +1,7 @@ package cc.smtweb.framework.core.cache; import cc.smtweb.framework.core.annotation.SwCache; +import cc.smtweb.framework.core.common.SwConsts; import cc.smtweb.framework.core.redis.RedisBroadcastEvent; import cc.smtweb.framework.core.redis.RedisManager; import cc.smtweb.framework.core.util.CommUtil; @@ -30,7 +31,6 @@ public abstract class AbstractCache implements ISwCache< protected final static int LS_LOADING = 1; protected final static int LS_LOADED = 2; - private final static String SPLIT_CHAR = "-"; //唯一标识 protected String ident; //展示名称 @@ -278,7 +278,7 @@ public abstract class AbstractCache implements ISwCache< //本地调用,删除一个对象时,更新列表缓存 private void doRemoveList(String regionKey, String key, T value) { if (StringUtils.isEmpty(key)) return; - Set list = mapListLocal.get(regionKey + SPLIT_CHAR + key); + Set list = mapListLocal.get(regionKey + SwConsts.SPLIT_CHAR + key); if (list == null) { return; } @@ -297,7 +297,7 @@ public abstract class AbstractCache implements ISwCache< //本地调用,更新列表缓存 private void doUpdateList(String regionKey, String key, T value) { if (StringUtils.isEmpty(key)) return; - Set list = mapListLocal.computeIfAbsent(regionKey + SPLIT_CHAR + key, k -> new LinkedHashSet<>()); + Set list = mapListLocal.computeIfAbsent(regionKey + SwConsts.SPLIT_CHAR + key, k -> new LinkedHashSet<>()); list.add(value); } @@ -361,7 +361,7 @@ public abstract class AbstractCache implements ISwCache< } public final Set getListByKey(String rk, String key) { - return mapListLocal.get(rk + SPLIT_CHAR + key); + return mapListLocal.get(rk + SwConsts.SPLIT_CHAR + key); } /** diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java index cdd0f69..f18fa94 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java @@ -1,10 +1,14 @@ package cc.smtweb.framework.core.common; +import lombok.Data; + /** * Created by Akmm at 2022/3/23 9:46 */ public interface SwConsts { - - //树节点按parent的key + //缓存中:树节点按parent的key String KEY_PARENT_ID = "pr"; + //级次码、字符串连接符 + String SPLIT_CHAR = "-"; + } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java index 3d54bbc..7331cae 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java @@ -1,9 +1,71 @@ package cc.smtweb.framework.core.common; +import lombok.Data; + /** * Created by Akmm at 2022/3/23 9:39 * 系统的一些枚举变量 */ public interface SwEnum { + /** + * Created by Akmm at 2022/2/9 10:01 + * 字段业务类别 + */ + class FieldType extends IntEnum{ + public static FieldType instance = new FieldType(); + + public static IntEnumBean ID = instance.addEnum(0, "主键"); + public static IntEnumBean PARENT_ID = instance.addEnum(1, "父ID"); + public static IntEnumBean LEVEL_CODE = instance.addEnum(2, "级次码"); + public static IntEnumBean ORDER = instance.addEnum(3, "排序字段"); + public static IntEnumBean CODE = instance.addEnum(4, "编码字段"); + public static IntEnumBean NAME = instance.addEnum(5, "名称字段"); + public static IntEnumBean CREATE_TIME = instance.addEnum(6, "创建时间"); + public static IntEnumBean LAST_TIME = instance.addEnum(7, "更新时间"); + } + + /** + * 数据类型定义,参见design_db.yaml配置 + */ + @Data + class DataType { + /*{type: "id", name: "ID", sql-type: "bigint", java-type: "long", widget: "fz-field-long", defaultValue: "0"} + - {type: "code", name: "编码", sql-type: "varchar", java-type: "string", data-length: 32, widget: "fz-field-string", defaultValue: ""} + - {type: "name", name: "名字", sql-type: "varchar", java-type: "string", data-length: 100, widget: "fz-field-string", defaultValue: ""} + - {type: "remark", name: "备注", sql-type: "varchar", data-length: 255, java-type: "string", widget: "fz-field-string", defaultValue: ""} + - {type: "text", name: "大文本", sql-type: "text", java-type: "string", widget: "fz-field-string", defaultValue: ""} + - {type: "currency", name: "货币", sql-type: "bigint", java-type: "long", widget: "fz-field-long", defaultValue: "0"} + - {type: "datetime", name: "时间日期", sql-type: "bigint", java-type: "long", widget: "fz-field-datetime", defaultValue: "0"} + - {type: "date", name: "日期", sql-type: "int", java-type: "int", widget: "fz-field-date", defaultValue: "0"} + - {type: "time", name: "时间", sql-type: "int", java-type: "int", widget: "fz-field-time", defaultValue: "0"} + - {type: "int", name: "整型", sql-type: "int", java-type: "int", widget: "fz-field-int", defaultValue: "0"} + - {type: "smallint", name: "短整型", sql-type: "smallint", java-type: "short", widget: "fz-field-int", defaultValue: "0"} + - {type: "bool", name: "布尔型", sql-type: "tinyint", java-type: "boolean", widget: "fz-field-bool", defaultValue: "0"}*/ + public static final String TYPE_STR = "varchar"; + public static final String TYPE_BOOL = "bool"; + public static final String TYPE_DATETIME = "datetime"; + public static final String TYPE_DATE = "date"; + + private String type; + private String name; + private String sqlType; + private int dataLength; + private String javaType; + private String defaultValue; + } + + /** + * 表类型 + */ + class TableType extends IntEnum { + public static TableType instance = new TableType(); + + public static AbstractEnum.IntEnumBean TYPE_GENERAL = instance.addEnum(0, "普通表"); + public static AbstractEnum.IntEnumBean TYPE_TREE = instance.addEnum(1, "树型表"); + public static AbstractEnum.IntEnumBean TYPE_CODE = instance.addEnum(2, "编码表"); + public static AbstractEnum.IntEnumBean TYPE_ABSTACT = instance.addEnum(3, "虚拟抽象表"); + public static AbstractEnum.IntEnumBean TYPE_VIEW = instance.addEnum(4, "视图"); + + } } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java index 9e38fce..8faf39f 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java @@ -1,21 +1,15 @@ package cc.smtweb.framework.core.db; import cc.smtweb.framework.core.SwException; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.dao.AbstractEntityDao; import cc.smtweb.framework.core.db.dao.EntityColumn; import cc.smtweb.framework.core.db.jdbc.JdbcEngine; -import cc.smtweb.framework.core.db.vo.KeyValueVO; import cc.smtweb.framework.core.db.vo.ModelField; -import cc.smtweb.framework.core.db.vo.def.FieldType; import cc.smtweb.framework.core.util.CommUtil; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; -import org.springframework.jdbc.core.ResultSetExtractor; -import org.springframework.jdbc.core.RowMapper; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -147,7 +141,7 @@ public class EntityDao extends AbstractEntityDao { sql.append("insert into ").append(tableName).append("("); - List listFields = adjustFields(fields, FieldType.CREATE_TIME, FieldType.LAST_TIME); + List listFields = adjustFields(fields, SwEnum.FieldType.CREATE_TIME.value, SwEnum.FieldType.LAST_TIME.value); List insertColumns = new ArrayList<>(this.columns.size()); if (listFields == null) { @@ -262,7 +256,7 @@ public class EntityDao extends AbstractEntityDao { */ public Map queryNames(List ids) { if (ids == null || ids.isEmpty()) return new HashMap<>(); - ModelField field = modelTable.findFieldByType(FieldType.NAME); + ModelField field = modelTable.findFieldByType(SwEnum.FieldType.NAME.value); if (field == null) return new HashMap<>(); StringBuilder sb = new StringBuilder(); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/config/DesignConfig.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/config/DesignConfig.java index 766e726..fe5185c 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/config/DesignConfig.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/config/DesignConfig.java @@ -1,6 +1,6 @@ package cc.smtweb.framework.core.db.config; -import cc.smtweb.framework.core.db.vo.def.DataType; +import cc.smtweb.framework.core.common.SwEnum; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @@ -14,16 +14,16 @@ import java.util.Map; @PropertySource(value = "classpath:config/design_db.yaml", factory = YamlPropertyLoaderFactory.class) @ConfigurationProperties(prefix = "design") public class DesignConfig { - private List dataTypes; + private List dataTypes; - private Map mapType = null; + private Map mapType = null; private void adjustMap() { if (mapType == null) { synchronized (DesignConfig.class) { if (mapType == null) { - Map map = new HashMap<>(); - for (DataType type : dataTypes) { + Map map = new HashMap<>(); + for (SwEnum.DataType type : dataTypes) { map.put(type.getType(), type); } mapType = map; @@ -32,12 +32,12 @@ public class DesignConfig { } } - public DataType getDataType(String type) { + public SwEnum.DataType getDataType(String type) { adjustMap(); return mapType.get(type); } - public List getDataTypes() { + public List getDataTypes() { return dataTypes; } } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java index 1102a36..bf121c8 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java @@ -2,10 +2,10 @@ package cc.smtweb.framework.core.db.dao; import cc.smtweb.framework.core.annotation.SwTable; import cc.smtweb.framework.core.cache.CacheManager; +import cc.smtweb.framework.core.common.AbstractEnum; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.cache.ModelTableCache; -import cc.smtweb.framework.core.db.impl.BaseBean; import cc.smtweb.framework.core.db.impl.DefaultEntity; -import cc.smtweb.framework.core.db.vo.def.FieldType; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelTable; import cc.smtweb.framework.core.exception.DbException; @@ -123,7 +123,7 @@ public abstract class AbstractEntityDao { columns.put(field.getName(), beanColumn); } - protected void updateTime(T obj, FieldType type) { + protected void updateTime(T obj, int type) { ModelField field = modelTable.findFieldByType(type); if (field == null) return; EntityColumn col = columns.get(field.getName()); @@ -138,7 +138,7 @@ public abstract class AbstractEntityDao { * @param fields * @return */ - protected List adjustFields(String fields, FieldType... types) { + protected List adjustFields(String fields, int... types) { if (StringUtils.isEmpty(fields)) return null; String[] fieldNames = fields.toLowerCase().split(","); List listFields = new ArrayList<>(fieldNames.length + 2); @@ -150,7 +150,7 @@ public abstract class AbstractEntityDao { for (String name : fieldNames) { EntityColumn column = this.columns.get(name.trim()); for (int i = 0, len = types.length; i < len; i++) { - if (types[i].name().equalsIgnoreCase(column.getField().getFieldType())) { + if (types[i]== column.getField().getFieldType()) { includeTypes[i] = true; } } @@ -175,11 +175,11 @@ public abstract class AbstractEntityDao { */ protected Object[] handleInsert(T obj, StringBuilder sql, String fields) { List result; - List listFields = adjustFields(fields, FieldType.CREATE_TIME, FieldType.LAST_TIME); + List listFields = adjustFields(fields, SwEnum.FieldType.CREATE_TIME.value, SwEnum.FieldType.LAST_TIME.value); sql.append("insert into ").append(tableName).append("("); - updateTime(obj, FieldType.CREATE_TIME); - updateTime(obj, FieldType.LAST_TIME); + updateTime(obj, SwEnum.FieldType.CREATE_TIME.value); + updateTime(obj, SwEnum.FieldType.LAST_TIME.value); if (listFields == null) { result = new ArrayList<>(this.columns.size()); @@ -222,8 +222,8 @@ public abstract class AbstractEntityDao { protected Object[] handleUpdate(T obj, StringBuilder sql, String fields, String whereFields) { EntityColumn idColumn = findIdColumn(); - List listFields = adjustFields(fields, FieldType.LAST_TIME); - updateTime(obj, FieldType.LAST_TIME); + List listFields = adjustFields(fields, SwEnum.FieldType.LAST_TIME.value); + updateTime(obj, SwEnum.FieldType.LAST_TIME.value); sql.append("update ").append(tableName).append(" set "); List result = new ArrayList<>(); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/impl/DefaultEntity.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/impl/DefaultEntity.java index e8b66b2..6ea2a22 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/impl/DefaultEntity.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/impl/DefaultEntity.java @@ -13,16 +13,16 @@ import java.io.Serializable; */ public class DefaultEntity extends BaseBean implements Serializable, Cloneable { //表名 - private String tableName; + private String _def_table_name; public DefaultEntity() {} - public DefaultEntity(String tableName) { - this.tableName = tableName; + public DefaultEntity(String _def_table_name) { + this._def_table_name = _def_table_name; } public ModelTable getModelTable() { - return ModelTableCache.getInstance().getByName(tableName); + return ModelTableCache.getInstance().getByName(_def_table_name); } //根据实体定义,设默认值 diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalog.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelCatalog.java similarity index 97% rename from smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalog.java rename to smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelCatalog.java index 7fab779..c1428a0 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalog.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelCatalog.java @@ -1,4 +1,4 @@ -package cc.smtweb.system.bpm.web.design.catalog; +package cc.smtweb.framework.core.db.vo; import cc.smtweb.framework.core.annotation.SwTable; import cc.smtweb.framework.core.db.impl.DefaultEntity; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelField.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelField.java index cd0fe35..a95a565 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelField.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelField.java @@ -1,11 +1,8 @@ package cc.smtweb.framework.core.db.vo; -import cc.smtweb.framework.core.db.vo.def.DataType; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; -import java.util.List; - /** * 字段定义 * {name:"字段名,如id",fieldType:"字段类型,如编码字段", dataType:"数据类型,如ID/CODE/NAME等", null:"0-空/1-非空", default: "默认值", title:"中文名",link:"外键关联表",editor:"控件类型:TEXT/TextArea/NUMBER/COMBO"} @@ -16,7 +13,7 @@ public class ModelField { private String title; private String remark; //字段类型,如编码字段,参见FieldTypeDef - private String fieldType; + private int fieldType; /** * 数据类型,参见DataType */ diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProject.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelProject.java similarity index 97% rename from smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProject.java rename to smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelProject.java index 97db447..6b8382f 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProject.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelProject.java @@ -1,4 +1,4 @@ -package cc.smtweb.system.bpm.web.design.project; +package cc.smtweb.framework.core.db.vo; import cc.smtweb.framework.core.annotation.SwTable; import cc.smtweb.framework.core.db.impl.DefaultEntity; diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java index 1d847d7..4df751f 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java @@ -1,14 +1,14 @@ package cc.smtweb.framework.core.db.vo; import cc.smtweb.framework.core.annotation.SwTable; +import cc.smtweb.framework.core.common.AbstractEnum; +import cc.smtweb.framework.core.common.IntEnum; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.impl.DefaultEntity; -import cc.smtweb.framework.core.db.vo.def.FieldType; import cc.smtweb.framework.core.util.JsonUtil; -import lombok.Data; import org.apache.commons.lang3.StringUtils; -import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -250,12 +250,10 @@ public class ModelTable extends DefaultEntity { return null; } - public ModelField findFieldByType(FieldType type) { - if (type != null) { - for (ModelField value : fields) { - if (type.name().equalsIgnoreCase(value.getFieldType())) { - return value; - } + public ModelField findFieldByType(int type) { + for (ModelField value : fields) { + if (type == value.getFieldType()) { + return value; } } @@ -281,7 +279,7 @@ public class ModelTable extends DefaultEntity { if (linkTable == null) { continue; } - ModelField linkNameField = linkTable.findFieldByType(FieldType.NAME); + ModelField linkNameField = linkTable.findFieldByType(SwEnum.FieldType.NAME.value); if (linkNameField != null) { list.add(new ModelLinkName(field.getName(), linkTable, linkNameField.getName())); } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/DataType.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/DataType.java deleted file mode 100644 index a80061e..0000000 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/DataType.java +++ /dev/null @@ -1,33 +0,0 @@ -package cc.smtweb.framework.core.db.vo.def; - -import lombok.Data; - -/** - * 数据类型定义,参见design_db.yaml配置 - */ -@Data -public class DataType { - /*{type: "id", name: "ID", sql-type: "bigint", java-type: "long", widget: "fz-field-long", defaultValue: "0"} - - {type: "code", name: "编码", sql-type: "varchar", java-type: "string", data-length: 32, widget: "fz-field-string", defaultValue: ""} - - {type: "name", name: "名字", sql-type: "varchar", java-type: "string", data-length: 100, widget: "fz-field-string", defaultValue: ""} - - {type: "remark", name: "备注", sql-type: "varchar", data-length: 255, java-type: "string", widget: "fz-field-string", defaultValue: ""} - - {type: "text", name: "大文本", sql-type: "text", java-type: "string", widget: "fz-field-string", defaultValue: ""} - - {type: "currency", name: "货币", sql-type: "bigint", java-type: "long", widget: "fz-field-long", defaultValue: "0"} - - {type: "datetime", name: "时间日期", sql-type: "bigint", java-type: "long", widget: "fz-field-datetime", defaultValue: "0"} - - {type: "date", name: "日期", sql-type: "int", java-type: "int", widget: "fz-field-date", defaultValue: "0"} - - {type: "time", name: "时间", sql-type: "int", java-type: "int", widget: "fz-field-time", defaultValue: "0"} - - {type: "int", name: "整型", sql-type: "int", java-type: "int", widget: "fz-field-int", defaultValue: "0"} - - {type: "smallint", name: "短整型", sql-type: "smallint", java-type: "short", widget: "fz-field-int", defaultValue: "0"} - - {type: "bool", name: "布尔型", sql-type: "tinyint", java-type: "boolean", widget: "fz-field-bool", defaultValue: "0"}*/ - public static final String TYPE_STR = "varchar"; - public static final String TYPE_BOOL = "bool"; - public static final String TYPE_DATETIME = "datetime"; - public static final String TYPE_DATE = "date"; - - private String type; - private String name; - private String sqlType; - private int dataLength; - private String javaType; - private String defaultValue; -} diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/FieldType.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/FieldType.java deleted file mode 100644 index 30cc8f4..0000000 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/FieldType.java +++ /dev/null @@ -1,24 +0,0 @@ -package cc.smtweb.framework.core.db.vo.def; - -/** - * Created by Akmm at 2022/2/9 10:01 - * 字段业务类别 - */ -public enum FieldType { - // 主键 - ID, - // 上级ID,树结构需要 - PARENT_ID, - //级次码 - LEVEL_CODE, - // 排序字段,树结构需要 - ORDER, - // 编码字段 - CODE, - // 名词字段 - NAME, - // 创建时间 - CREATE_TIME, - // 更新时间 - LAST_TIME -} diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/TableType.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/TableType.java deleted file mode 100644 index d75c0ca..0000000 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/TableType.java +++ /dev/null @@ -1,14 +0,0 @@ -package cc.smtweb.framework.core.db.vo.def; - -/** - * Created by Akmm at 2022/3/17 17:02 - */ -public class TableType { - //0-普通表,1 树型表 2 编码表 9-虚拟抽象表 11 视图 - public static final int TYPE_GENERAL = 0; - public static final int TYPE_TREE = 1; - public static final int TYPE_CODE = 2; - public static final int TYPE_ABSTACT = 3; - public static final int TYPE_VIEW = 3; - -} diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java index 4a53563..c183d8e 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java @@ -3,16 +3,12 @@ package cc.smtweb.framework.core.mvc.service; import cc.smtweb.framework.core.R; import cc.smtweb.framework.core.SwException; import cc.smtweb.framework.core.SwMap; -import cc.smtweb.framework.core.cache.AbstractCache; -import cc.smtweb.framework.core.cache.CacheManager; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.DbEngine; -import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.impl.DefaultEntity; import cc.smtweb.framework.core.db.vo.ModelField; -import cc.smtweb.framework.core.db.vo.ModelLinkName; import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.db.vo.def.FieldType; import org.apache.commons.lang3.StringUtils; import java.util.*; @@ -77,10 +73,10 @@ public class DefaultComboHandler extends DefaultListHan //构建参与搜索的字段,默认为code和name字段 protected void getFilterFields(List fields) { ModelTable table = ModelTableCache.getInstance().getByName(tableName); - ModelField field = table.findFieldByType(FieldType.CODE); + ModelField field = table.findFieldByType(SwEnum.FieldType.CODE.value); if (field != null) fields.add(field.getName()); - field = table.findFieldByType(FieldType.NAME); + field = table.findFieldByType(SwEnum.FieldType.NAME.value); if (field != null) fields.add(field.getName()); } } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java index 20c9350..6369468 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java @@ -3,6 +3,7 @@ package cc.smtweb.framework.core.mvc.service; import cc.smtweb.framework.core.SwMap; import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; @@ -10,7 +11,6 @@ import cc.smtweb.framework.core.db.impl.DefaultEntity; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelLinkName; import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.db.vo.def.FieldType; import org.apache.commons.lang3.StringUtils; import java.util.*; @@ -61,7 +61,7 @@ public class DefaultListHandler extends AbstractListHan if (table == null) return; sql.append(" order by "); - ModelField field = table.findFieldByType(FieldType.CODE); + ModelField field = table.findFieldByType(SwEnum.FieldType.CODE.value); if (field != null) sql.append(field.getName()).append(","); sql.append(table.getIdField()); } diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java index 131a42a..1aa8074 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java @@ -4,6 +4,7 @@ import cc.smtweb.framework.core.R; import cc.smtweb.framework.core.SwException; import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; @@ -12,11 +13,8 @@ import cc.smtweb.framework.core.db.jdbc.AbsDbWorker; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelIndex; import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.db.vo.def.FieldType; -import cc.smtweb.framework.core.db.vo.def.TableType; import org.apache.commons.lang3.StringUtils; -import java.util.Collection; import java.util.List; /** @@ -86,7 +84,7 @@ public class DefaultSaveHandler extends AbstractSaveHan } else { dao.updateEntity(bean); ModelTable table = ModelTableCache.getInstance().getByName(tableName); - if (table.getType() == TableType.TYPE_TREE) { + if (table.getType() == SwEnum.TableType.TYPE_TREE.value) { listTreeBean = TreeHelper.getTreeHelper(tableName).resetTreeLevel(bean); } } @@ -123,7 +121,7 @@ public class DefaultSaveHandler extends AbstractSaveHan //树,改变父亲 protected R changeParent() throws Exception { ModelTable table = ModelTableCache.getInstance().getByName(tableName); - if (table.getType() != TableType.TYPE_TREE) throw new SwException("非树型表,不支持更改父节点"); + if (table.getType() != SwEnum.TableType.TYPE_TREE.value) throw new SwException("非树型表,不支持更改父节点"); long id = params.readLong("id"); long parentId = params.readLong("parent_id"); @@ -135,7 +133,7 @@ public class DefaultSaveHandler extends AbstractSaveHan bean = loadComp(id); } //不考虑没有级次码等情况,这个在表设计时校验 - ModelField fieldParentCode = table.findFieldByType(FieldType.PARENT_ID); + ModelField fieldParentCode = table.findFieldByType(SwEnum.FieldType.PARENT_ID.value); bean.put(fieldParentCode.getName(), parentId); DbEngine.getInstance().doTrans(new AbsDbWorker() { diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java index 27b81b4..dee3937 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java @@ -4,14 +4,13 @@ import cc.smtweb.framework.core.SwException; import cc.smtweb.framework.core.cache.AbstractCache; import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.common.SwConsts; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.impl.DefaultEntity; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.db.vo.def.FieldType; -import cc.smtweb.framework.core.db.vo.def.TableType; import java.util.ArrayList; import java.util.Collection; @@ -43,9 +42,9 @@ public class TreeHelper { cache = CacheManager.getIntance().getCache(tableName); dao = DbEngine.getInstance().findDao(tableName); - ModelField field = table.findFieldByType(FieldType.PARENT_ID); + ModelField field = table.findFieldByType(SwEnum.FieldType.PARENT_ID.value); fieldParent = field.getName(); - field = table.findFieldByType(FieldType.LEVEL_CODE); + field = table.findFieldByType(SwEnum.FieldType.LEVEL_CODE.value); fieldLevelCode = field.getName(); } @@ -75,7 +74,7 @@ public class TreeHelper { public List resetTreeLevel(T bean) throws Exception { List list = new ArrayList<>(); - if (table.getType() != TableType.TYPE_TREE) return list; + if (table.getType() != SwEnum.TableType.TYPE_TREE.value) return list; if (!table.isNeedCache()) throw new SwException("请定义为需要缓存!"); T oldBean = cache.get(bean.getEntityId()); @@ -88,7 +87,7 @@ public class TreeHelper { private void resetParentChildren(T bean, List list) throws Exception { T parent = cache.get(getParentId(bean)); if (parent != null) { - bean.put(fieldLevelCode, getLevelCode(parent) + "-" + parent.getEntityId()); + bean.put(fieldLevelCode, getLevelCode(parent) + SwConsts.SPLIT_CHAR + parent.getEntityId()); dao.updateEntity(bean, fieldLevelCode); list.add(bean); } diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogService.java similarity index 79% rename from smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogService.java rename to smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogService.java index fe1a9ed..cae58c8 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogService.java @@ -1,11 +1,8 @@ -package cc.smtweb.system.bpm.web.design.catalog; +package cc.smtweb.system.bpm.web.design.table; -import cc.smtweb.framework.core.R; -import cc.smtweb.framework.core.SwMap; -import cc.smtweb.framework.core.annotation.SwBody; import cc.smtweb.framework.core.annotation.SwService; +import cc.smtweb.framework.core.db.vo.ModelCatalog; import cc.smtweb.framework.core.mvc.service.*; -import cc.smtweb.framework.core.session.UserSession; /** * Created by Akmm at 2022/3/1 17:00 diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogTreeHandler.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogTreeHandler.java similarity index 95% rename from smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogTreeHandler.java rename to smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogTreeHandler.java index 76d797b..52fe6a4 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogTreeHandler.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogTreeHandler.java @@ -1,18 +1,16 @@ -package cc.smtweb.system.bpm.web.design.catalog; +package cc.smtweb.system.bpm.web.design.table; import cc.smtweb.framework.core.SwMap; -import cc.smtweb.framework.core.cache.AbstractCache; -import cc.smtweb.framework.core.cache.CacheManager; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.impl.DefaultEntity; +import cc.smtweb.framework.core.db.vo.ModelCatalog; import cc.smtweb.framework.core.db.vo.ModelTable; import cc.smtweb.framework.core.mvc.service.AbstractTreeHandler; import cc.smtweb.framework.core.mvc.service.TreeHelper; import cc.smtweb.framework.core.session.UserSession; import cc.smtweb.framework.core.util.CommUtil; -import org.apache.commons.lang3.StringUtils; import java.util.*; diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelDatabaseService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelDatabaseService.java index e076749..5656640 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelDatabaseService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelDatabaseService.java @@ -2,9 +2,8 @@ package cc.smtweb.system.bpm.web.design.table; import cc.smtweb.framework.core.annotation.SwService; import cc.smtweb.framework.core.db.vo.ModelDatabase; -import cc.smtweb.framework.core.db.vo.ModelTable; import cc.smtweb.framework.core.mvc.service.*; -import cc.smtweb.system.bpm.web.design.catalog.ModelCatalog; +import cc.smtweb.framework.core.db.vo.ModelCatalog; /** * Created by Akmm at 2022/3/22 9:12 diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProjectService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelProjectService.java similarity index 90% rename from smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProjectService.java rename to smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelProjectService.java index 241aece..0ea7a75 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProjectService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelProjectService.java @@ -1,6 +1,7 @@ -package cc.smtweb.system.bpm.web.design.project; +package cc.smtweb.system.bpm.web.design.table; import cc.smtweb.framework.core.annotation.SwService; +import cc.smtweb.framework.core.db.vo.ModelProject; import cc.smtweb.framework.core.mvc.service.*; /** diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelTableService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelTableService.java index ea1300f..ca0cdde 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelTableService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelTableService.java @@ -3,8 +3,7 @@ package cc.smtweb.system.bpm.web.design.table; import cc.smtweb.framework.core.annotation.SwService; import cc.smtweb.framework.core.db.vo.ModelTable; import cc.smtweb.framework.core.mvc.service.*; -import cc.smtweb.system.bpm.web.design.catalog.ModelCatalog; -import cc.smtweb.system.bpm.web.design.catalog.ModelCatalogTreeHandler; +import cc.smtweb.framework.core.db.vo.ModelCatalog; /** * Created by Akmm at 2022/3/22 9:12 diff --git a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/task/service/BpmTaskCardService.java b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/task/service/BpmTaskCardService.java index ae9f728..7262e80 100644 --- a/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/task/service/BpmTaskCardService.java +++ b/smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/task/service/BpmTaskCardService.java @@ -2,9 +2,9 @@ package cc.smtweb.system.bpm.web.task.service; import cc.smtweb.framework.core.SwMap; import cc.smtweb.framework.core.annotation.SwService; +import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.db.vo.ModelField; import cc.smtweb.framework.core.db.vo.ModelTable; -import cc.smtweb.framework.core.db.vo.def.DataType; import cc.smtweb.system.bpm.engine.process.impl.AbstractTaskCardService; import cc.smtweb.system.bpm.engine.process.impl.entity.LoadTaskAckVO; import cc.smtweb.system.bpm.engine.process.runtime.ProcessInstance; @@ -101,11 +101,11 @@ public class BpmTaskCardService extends AbstractTaskCardService { } } else { switch (modelField.getDataType()) { - case DataType.TYPE_BOOL: + case SwEnum.DataType.TYPE_BOOL: uiField.put("component", "fy-checkbox"); break; - case DataType.TYPE_DATETIME: - case DataType.TYPE_DATE: + case SwEnum.DataType.TYPE_DATETIME: + case SwEnum.DataType.TYPE_DATE: uiField.put("component", "fy-datetime"); break; default: