소스 검색

初始

master
郑根木 2 년 전
부모
커밋
d29fa5e060
24개의 변경된 파일133개의 추가작업 그리고 162개의 파일을 삭제
  1. +4
    -4
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java
  2. +6
    -2
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java
  3. +62
    -0
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java
  4. +3
    -9
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/EntityDao.java
  5. +7
    -7
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/config/DesignConfig.java
  6. +10
    -10
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java
  7. +4
    -4
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/impl/DefaultEntity.java
  8. +1
    -1
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelCatalog.java
  9. +1
    -4
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelField.java
  10. +1
    -1
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelProject.java
  11. +8
    -10
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/ModelTable.java
  12. +0
    -33
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/DataType.java
  13. +0
    -24
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/FieldType.java
  14. +0
    -14
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/TableType.java
  15. +3
    -7
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultComboHandler.java
  16. +2
    -2
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java
  17. +4
    -6
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultSaveHandler.java
  18. +5
    -6
      smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/TreeHelper.java
  19. +2
    -5
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogService.java
  20. +2
    -4
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelCatalogTreeHandler.java
  21. +1
    -2
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelDatabaseService.java
  22. +2
    -1
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelProjectService.java
  23. +1
    -2
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/table/ModelTableService.java
  24. +4
    -4
      smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/task/service/BpmTaskCardService.java

+ 4
- 4
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<T extends Serializable> 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<T extends Serializable> implements ISwCache<
//本地调用,删除一个对象时,更新列表缓存
private void doRemoveList(String regionKey, String key, T value) {
if (StringUtils.isEmpty(key)) return;
Set<T> list = mapListLocal.get(regionKey + SPLIT_CHAR + key);
Set<T> list = mapListLocal.get(regionKey + SwConsts.SPLIT_CHAR + key);
if (list == null) {
return;
}
@@ -297,7 +297,7 @@ public abstract class AbstractCache<T extends Serializable> implements ISwCache<
//本地调用,更新列表缓存
private void doUpdateList(String regionKey, String key, T value) {
if (StringUtils.isEmpty(key)) return;
Set<T> list = mapListLocal.computeIfAbsent(regionKey + SPLIT_CHAR + key, k -> new LinkedHashSet<>());
Set<T> list = mapListLocal.computeIfAbsent(regionKey + SwConsts.SPLIT_CHAR + key, k -> new LinkedHashSet<>());
list.add(value);
}

@@ -361,7 +361,7 @@ public abstract class AbstractCache<T extends Serializable> implements ISwCache<
}

public final Set<T> getListByKey(String rk, String key) {
return mapListLocal.get(rk + SPLIT_CHAR + key);
return mapListLocal.get(rk + SwConsts.SPLIT_CHAR + key);
}

/**


+ 6
- 2
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 = "-";

}

+ 62
- 0
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, "视图");

}
}

+ 3
- 9
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<T> extends AbstractEntityDao<T> {

sql.append("insert into ").append(tableName).append("(");

List<String> listFields = adjustFields(fields, FieldType.CREATE_TIME, FieldType.LAST_TIME);
List<String> listFields = adjustFields(fields, SwEnum.FieldType.CREATE_TIME.value, SwEnum.FieldType.LAST_TIME.value);
List<EntityColumn> insertColumns = new ArrayList<>(this.columns.size());

if (listFields == null) {
@@ -262,7 +256,7 @@ public class EntityDao<T> extends AbstractEntityDao<T> {
*/
public Map<String, String> queryNames(List<String> 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();


+ 7
- 7
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<DataType> dataTypes;
private List<SwEnum.DataType> dataTypes;

private Map<String, DataType> mapType = null;
private Map<String, SwEnum.DataType> mapType = null;

private void adjustMap() {
if (mapType == null) {
synchronized (DesignConfig.class) {
if (mapType == null) {
Map<String, DataType> map = new HashMap<>();
for (DataType type : dataTypes) {
Map<String, SwEnum.DataType> 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<DataType> getDataTypes() {
public List<SwEnum.DataType> getDataTypes() {
return dataTypes;
}
}

+ 10
- 10
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<T> {
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<T> {
* @param fields
* @return
*/
protected List<String> adjustFields(String fields, FieldType... types) {
protected List<String> adjustFields(String fields, int... types) {
if (StringUtils.isEmpty(fields)) return null;
String[] fieldNames = fields.toLowerCase().split(",");
List<String> listFields = new ArrayList<>(fieldNames.length + 2);
@@ -150,7 +150,7 @@ public abstract class AbstractEntityDao<T> {
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<T> {
*/
protected Object[] handleInsert(T obj, StringBuilder sql, String fields) {
List<Object> result;
List<String> listFields = adjustFields(fields, FieldType.CREATE_TIME, FieldType.LAST_TIME);
List<String> 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<T> {
protected Object[] handleUpdate(T obj, StringBuilder sql, String fields, String whereFields) {
EntityColumn idColumn = findIdColumn();

List<String> listFields = adjustFields(fields, FieldType.LAST_TIME);
updateTime(obj, FieldType.LAST_TIME);
List<String> listFields = adjustFields(fields, SwEnum.FieldType.LAST_TIME.value);
updateTime(obj, SwEnum.FieldType.LAST_TIME.value);

sql.append("update ").append(tableName).append(" set ");
List<Object> result = new ArrayList<>();


+ 4
- 4
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);
}

//根据实体定义,设默认值


smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalog.java → 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;

+ 1
- 4
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
*/


smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProject.java → 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;

+ 8
- 10
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()));
}


+ 0
- 33
smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/DataType.java 파일 보기

@@ -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;
}

+ 0
- 24
smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/FieldType.java 파일 보기

@@ -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
}

+ 0
- 14
smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/vo/def/TableType.java 파일 보기

@@ -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;

}

+ 3
- 7
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<T extends DefaultEntity> extends DefaultListHan
//构建参与搜索的字段,默认为code和name字段
protected void getFilterFields(List<String> 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());
}
}

+ 2
- 2
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<T extends DefaultEntity> 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());
}


+ 4
- 6
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<T extends DefaultEntity> 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<T extends DefaultEntity> 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<T extends DefaultEntity> 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() {


+ 5
- 6
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<T extends DefaultEntity> {
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<T extends DefaultEntity> {

public List<T> resetTreeLevel(T bean) throws Exception {
List<T> 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<T extends DefaultEntity> {
private void resetParentChildren(T bean, List<T> 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);
}


smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogService.java → 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

smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/catalog/ModelCatalogTreeHandler.java → 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.*;


+ 1
- 2
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


smtweb-system/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/project/ModelProjectService.java → 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.*;

/**

+ 1
- 2
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


+ 4
- 4
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:


불러오는 중...
취소
저장