diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index 86a9633..81d92e8 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -5822,4 +5822,175 @@ public class MesEnumUtil { } } + /** + * 数据格式 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum DATA_FORMAT { + STRING_FORMAT(1, "String", "字符串格式"), + INTEGER_FORMAT(2, "Integer", "整数格式"), + DOUBLE_FORMAT(3, "Double", "高精度浮点格式"), + DATE_FORMAT(4, "Date", "日期格式"), + FLOAT_FORMAT(5, "Float", "浮点格式"), + BOOL_FORMAT(6, "Boolean", "布尔格式"), + LONG_FORMAT(7, "LONG", "长整数格式"); + + private int value; + private String code; + private String description; + + DATA_FORMAT(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public String getCode() { + return code; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static int descOf(String desc) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static String valueOfDescription(int val) { + return valueOf(val); + } + } + + /** + * 数据导入类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum TEMPLATE_IMPORT_TYPE { + SINGLE_TABLE(10, "SINGLE_TABLE", "单表"), + MULTI_TABLE(20, "MULTI_TABLE", "多表"); + + private int value; + private String code; + private String description; + + TEMPLATE_IMPORT_TYPE(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public String getCode() { + return code; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static int descOf(String desc) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static String valueOfDescription(int val) { + return valueOf(val); + } + } + + /** + * 数据更新类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum TEMPLATE_UPDATE_TYPE { + FULL_COVERAGE(10, "FULL_COVERAGE", "全覆盖"), + DIFF_UPDATE(20, "DIFF_UPDATE", "差异更新"), + REPEATE_NO_IMPORT(30, "REPEATE_NO_IMPORT", "重复不导入"); + + private int value; + private String code; + private String description; + + TEMPLATE_UPDATE_TYPE(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public String getCode() { + return code; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static int descOf(String desc) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static String valueOfDescription(int val) { + return valueOf(val); + } + } + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplate.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplate.java new file mode 100644 index 0000000..a043ec9 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplate.java @@ -0,0 +1,75 @@ +package cn.estsh.i3plus.pojo.mes.bean.template; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.util.List; + +/** + * @Description : 导入模板信息 + * @Reference : + * @Author : adair.song --复用--> siliter.yuan + * @CreateDate : 2020-05-18 16:49 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="BAS_IMPORT_TEMPLATE") +@Api("导入模板信息") +public class BasImportTemplate extends BaseBean{ + + private static final long serialVersionUID = 9214639813072592889L; + @Column(name="TEMPLATE_CODE") + @ApiParam("模板代码") + private String templateCode; + + @Column(name="TEMPLATE_NAME") + @ApiParam("模板名称") + private String templateName; + + @Column(name="TEMPLATE_DESC") + @ApiParam("模板描述") + private String templateDesc; + + @Column(name="GROUP_NAME") + @ApiParam("分组名称") + private String groupName; + + /** + * 10-单表,20-多表 + */ + @Column(name="IMPORT_TYPE") + @ApiParam(value = "导入类型", example = "0") + private Integer importType; + + /** + * 10-全覆盖,20-差异更新,30-重复不导入 + */ + @Column(name="UPDATE_TYPE") + @ApiParam(value = "更新类型", example = "0") + private Integer updateType; + + @Column(name="SCRIPT_NO") + @ApiParam("脚本编号") + private String scriptNo; + + @Column(name="START_ROW") + @ApiParam(value = "起始行", example = "0") + private Integer startRow; + + @Transient + @ApiParam("模板明细列表") + private List templateDetailsList; +} \ No newline at end of file diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplateDetails.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplateDetails.java new file mode 100644 index 0000000..736b6ba --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/template/BasImportTemplateDetails.java @@ -0,0 +1,117 @@ +package cn.estsh.i3plus.pojo.mes.bean.template; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description : 导入模板明细信息 + * @Reference : + * @Author : adair.song --复用--> siliter.yuan + * @CreateDate : 2020-05-18 16:49 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="BAS_IMPORT_TEMPLATE_DETAILS") +@Api("导入模板明细信息") +public class BasImportTemplateDetails extends BaseBean{ + + private static final long serialVersionUID = 9214639813072592999L; + @Column(name="TEMPLATE_CODE") + @ApiParam("模板代码") + private String templateCode; + + @Column(name="TABLE_NAME") + @ApiParam("表名称") + private String tableName; + + @Column(name="FIELD_CODE") + @ApiParam("字段英文名称") + private String fieldCode; + + @Column(name="FIELD_ALIAS") + @ApiParam("字段别名") + private String fieldAlias; + + @Column(name="LABEL_CODE") + @ApiParam("标签代码") + private String labelCode; + + @Column(name="LABEL_NAME") + @ApiParam("标签名称") + private String labelName; + + @Column(name="DEFAULT_VALUE") + @ApiParam("默认值") + private String defaultValue; + + /** + * 数据格式 文本、整数、小数、日期 + */ + @Column(name="DATA_FORAMT") + @ApiParam("数据格式") + private String dataFormat; + + /** + * 1-是,2-否 + */ + @Column(name="IS_REQUIRE") + @ApiParam(value = "是否必填", example = "0") + private Integer isRequire; + + @Column(name="DECIMAIL_SPLIT") + @ApiParam("小数点分隔符") + private String decimalSplit; + + @Column(name="THOUSANDS_SPLIT") + @ApiParam("千分位分隔符") + private String thousandsSplit; + + // YYYY-MM-DD/DD-MM-YY/YYYY-MM-DD HH:mm:ss + @Column(name="DATE_FORMAT") + @ApiParam("日期格式") + private String dateFormat; + + @Column(name="REMARK") + @ApiParam("备注") + private String remark; + + @Column(name="SEQ") + @ApiParam(value = "序号", example = "0") + private Integer seq; + + @Column(name="MAX_LENGTH") + @ApiParam(value = "最大长度", example = "0") + private Integer maxLength; + + @Column(name="RELATION_TABLE") + @ApiParam("关联表名") + private String relationTable; + + @Column(name="RELATION_FIELD") + @ApiParam("关联字段") + private String relationField; + + /** + * 是否主键 1-是,2-否 + */ + @Column(name="IS_PK") + @ApiParam(value = "是否主键", example = "0") + private Integer isPk; + + @Column(name="SHEET_NAME") + @ApiParam("工作薄名称") + private String sheetName; +} \ No newline at end of file diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/BasBeanFieldModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/BasBeanFieldModel.java new file mode 100644 index 0000000..c8747c9 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/BasBeanFieldModel.java @@ -0,0 +1,39 @@ +package cn.estsh.i3plus.pojo.mes.model; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @description 数据库实例字段模型 + * @author adair.song --复用--> siliter.yuan + * @CreateDate : 2020-05-18 16:49 + */ +@Data +@Api("数据库实例字段模型") +public class BasBeanFieldModel { + + @ApiParam("表名") + private String tableName; + + @ApiParam("表描述") + private String tableDesc; + + @ApiParam("字段英文名称") + private String fieldEnName; + + @ApiParam("字段类型") + public String fieldType; + + @ApiParam("字段描述") + private String fieldDesc; + + @ApiParam("实例类名") + public String entityName; + + @ApiParam("实例字段名称") + public String propertyName; + + @ApiParam("实例类全名") + public String entityClassName; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateDetailsRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateDetailsRepository.java new file mode 100644 index 0000000..164974a --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateDetailsRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.template.BasImportTemplateDetails; +import org.springframework.stereotype.Repository; + +/** + * @Description : 导入模板明细数据操作仓库 + * @Reference : + * @Author : adair.song --复用--> siliter.yuan + * @CreateDate : 2020-05-18 16:49 + * @Modify: + **/ +@Repository +public interface BasImportTemplateDetailsRepository extends BaseRepository { + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateRepository.java new file mode 100644 index 0000000..e5d8957 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BasImportTemplateRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.template.BasImportTemplate; +import org.springframework.stereotype.Repository; + +/** + * @Description : 导入模板数据操作仓库 + * @Reference : + * @Author : adair.song --复用--> siliter.yuan + * @CreateDate : 2020-05-18 16:49 + * @Modify: + **/ +@Repository +public interface BasImportTemplateRepository extends BaseRepository { + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index 80191ce..e7d3159 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -7,6 +7,8 @@ import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.bean.template.BasImportTemplate; +import cn.estsh.i3plus.pojo.mes.bean.template.BasImportTemplateDetails; import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper; import org.springframework.util.StringUtils; @@ -2859,4 +2861,30 @@ public class MesHqlPack { } return packBean; } + + /** + * 导入模板信息分页查询条件 + * @param template + * @return + */ + public static DdlPackBean packHqlBasImportTemplate(BasImportTemplate template) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringLikerPack(template.getTemplateName(), "templateName", result); + DdlPreparedPack.getStringEqualPack(template.getTemplateCode(), "templateCode", result); + DdlPreparedPack.getStringEqualPack(template.getGroupName(), "groupName", result); + getStringBuilderPack(template, result); + return result; + } + + /** + * 导入模板明细信息分页查询条件 + * @param details + * @return + */ + public static DdlPackBean packHqlBasImportTemplateDetails(BasImportTemplateDetails details) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(details.getTemplateCode(), "templateCode", result); + getStringBuilderPack(details, result); + return result; + } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanFieldInfoModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanFieldInfoModel.java new file mode 100644 index 0000000..2155452 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanFieldInfoModel.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.pojo.model.mes; + +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Description : Wms实体字段Model信息 + * @Reference : + * @Author : siliter.yuan + * @CreateDate : 2020-04-24 09:53 + * @Modify: + **/ +@Data +@NoArgsConstructor +public class BasBeanFieldInfoModel implements Serializable { + + private static final long serialVersionUID = -6376845639646448895L; + + @ApiParam(value = "表名称") + public String tableName; + + @ApiParam(value = "表字段名称") + private String fieldName; + + @ApiParam(value = "表字段描述") + private String fieldDesc; + + @ApiParam(value = "表字段类型") + private String fieldType; + + @ApiParam(value = "主键") + private String isFieldPrimaryKey; + + @ApiParam(value = "非空") + private String isFieldNull; + + @ApiParam(value = "外键") + private String isFieldForeignKey; + + @ApiParam(value = "唯一约束") + private String isFieldUnique; + + @ApiParam(value = "自增") + private String isFieldGeneric; +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanInfoModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanInfoModel.java new file mode 100644 index 0000000..de64920 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/BasBeanInfoModel.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.pojo.model.mes; + +import cn.estsh.i3plus.pojo.model.mes.BasBeanFieldInfoModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description : Wms实体字段Model信息 + * @Reference : + * @Author : siliter.yuan + * @CreateDate : 2020-04-24 09:53 + * @Modify: + **/ +@Data +@NoArgsConstructor +public class BasBeanInfoModel implements Serializable { + + private static final long serialVersionUID = -6376845639646448495L; + + @ApiParam(value = "系统名称") + public String systemName; + + @ApiParam(value = "实体名称") + public String entityName; + + @ApiParam(value = "数据表名称") + private String tableName; + + @ApiParam(value = "数据表描述") + private String tableDesc; + + @ApiParam(value = "字段列表数据") + private List fieldInfoModelList; +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/ExcelsImportModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/ExcelsImportModel.java new file mode 100644 index 0000000..7e412c4 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/mes/ExcelsImportModel.java @@ -0,0 +1,40 @@ +package cn.estsh.i3plus.pojo.model.mes; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @Author: siliter.yuan + * @CreateDate: 2020/4/21 9:19 AM + * @Description: + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Api("导入结果model") +public class ExcelsImportModel implements Serializable { + + private static final long serialVersionUID = 1444172647244864339L; + @ApiParam("结果") + private boolean result; + + @ApiParam("成功行数量") + private int successRowNum; + + @ApiParam("工作薄名称") + private String sheetName; + + @ApiParam("导入数据集合") + private List> excelList; + + @ApiParam("错误信息集合") + private List ImportErrorModels; +}