diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/FieldAnnotation.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/FieldAnnotation.java new file mode 100644 index 0000000..5a6b149 --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/annotation/FieldAnnotation.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.base.annotation; + +import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; + +import java.lang.annotation.*; + +/** + * 字段类型属性注解 + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface FieldAnnotation { + // Web前端字段数据类型 + WmsEnumUtil.FIELD_TYPE webFieldType(); +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java index a05fe1b..5ba62b3 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.base.bean; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; import com.alibaba.fastjson.annotation.JSONField; @@ -67,11 +68,13 @@ public abstract class BaseBean implements Serializable { @Column(name="IS_VALID", columnDefinition = "int default 1", nullable = false) @ApiParam(value = "有效性",example = "1") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @AnnoOutputColumn(refClass = WmsEnumUtil.TRUE_OR_FALSE.class,refForeignKey = "value",value = "description", hidden = true) public Integer isValid; //CommonEnumUtil.IS_VAILD; @Column(name="IS_DELETED", columnDefinition = "int default 2", nullable = false) @ApiParam(value = "是否已删除",example = "2") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @AnnoOutputColumn(hidden = true) //逻辑删除,软删除 public Integer isDeleted; //CommonEnumUtil.TRUE_OR_FALSEA @@ -127,6 +130,7 @@ public abstract class BaseBean implements Serializable { @Transient @ApiParam(value = "排序类型,1 正序,2 倒序",example = "1") @AnnoOutputColumn(hidden = true) + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) //CommonEnumUtil.ASC_OR_DESC 1 asc,2 desc public transient Integer ascOrDesc = 1; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index 665cbcb..a25a0d7 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -4792,5 +4792,41 @@ public class WmsEnumUtil { } } + /** + * WEB页面字段类型 + * 10-文本类型,20-数字类型,30-下拉框类型,40,时间类型,50-开窗查询类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum FIELD_TYPE { + TEXT(10, "text"), NUMBER(20, "number"), + SELECT(30, "select"), DATETIME(40, "datetime"), + LIST(50, "list"); + + private int value; + private String description; + + FIELD_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } } \ No newline at end of file diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProductData.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProductData.java index 532ec2a..5bd3895 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProductData.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProductData.java @@ -9,10 +9,7 @@ import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Index; -import javax.persistence.Table; +import javax.persistence.*; /** * @Description :生产数据 @@ -102,4 +99,9 @@ public class MesProductData extends BaseBean { @ApiParam("数据组号") private String groupNo; + @Lob + @Column(name = "TEST_DATA") + @ApiParam("测试json数据") + private String testData; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/UseMongoDb.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/ElasticSearch.java similarity index 87% rename from modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/UseMongoDb.java rename to modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/ElasticSearch.java index e4d90a6..93e0ba9 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/UseMongoDb.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/ElasticSearch.java @@ -11,5 +11,5 @@ import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @Documented -public @interface UseMongoDb { +public @interface ElasticSearch { } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/Json4Es.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/Json4Es.java new file mode 100644 index 0000000..3921f97 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/annotation/Json4Es.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.pojo.mes.annotation; + + +import java.lang.annotation.*; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/25 1:45 下午 + * @Description: + **/ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface Json4Es { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProductData.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProductData.java index 602bb21..fc86e50 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProductData.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProductData.java @@ -2,7 +2,8 @@ package cn.estsh.i3plus.pojo.mes.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import cn.estsh.i3plus.pojo.mes.annotation.UseMongoDb; +import cn.estsh.i3plus.pojo.mes.annotation.ElasticSearch; +import cn.estsh.i3plus.pojo.mes.annotation.Json4Es; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -10,11 +11,7 @@ import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Index; -import javax.persistence.Table; -import javax.persistence.Transient; +import javax.persistence.*; /** * @Description :生产数据 @@ -34,7 +31,7 @@ import javax.persistence.Transient; @Index(columnList = "OBJECT_CODE"), @Index(columnList = "MODIFY_DATE_TIME") }) -//@UseMongoDb +@ElasticSearch @Api("生产数据") public class MesProductData extends BaseBean { @Column(name = "WORK_CENTER_CODE") @@ -109,6 +106,12 @@ public class MesProductData extends BaseBean { @ApiParam("数据组号") private String groupNo; + @Json4Es + @Column(name = "TEST_DATA") + @ApiParam("测试json数据") + private String testData; + + @Lob @Transient @ApiParam("字段总数") private Integer fieldNum; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java index 0f31d20..1b049a9 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.wms.bean; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; import io.swagger.annotations.Api; @@ -46,6 +47,7 @@ public class WmsPart extends BaseBean { @Column(name = "PART_TYPE") @ApiParam(value = "物料类型") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @AnnoOutputColumn(refClass = WmsEnumUtil.WMS_PART_TYPE_STR.class, refForeignKey = "value", value = "description") private String partType; @@ -96,6 +98,7 @@ public class WmsPart extends BaseBean { @ColumnDefault("2") @Column(name = "IQC") @ApiParam(value = "是否免检", example = "1") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) private Integer iqc; @Column(name = "MIN", columnDefinition = "decimal(18,8)") @@ -116,6 +119,7 @@ public class WmsPart extends BaseBean { @Column(name = "SN_CONTROL") @ApiParam(value = "是否条码管理", example = "1") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) private Integer snControl; @Column(name = "VENDOR_NO") @@ -152,6 +156,7 @@ public class WmsPart extends BaseBean { @Column(name = "IS_REPORT_PARTNO") @ApiParam("是否报工零件") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) private Integer isReportPartNo; @Column(name = "REPORT_LOCATE_NO") @@ -172,6 +177,7 @@ public class WmsPart extends BaseBean { @Column(name = "IS_VALUABLE", columnDefinition = "int default 2") @ApiParam(value = "是否贵重") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @AnnoOutputColumn(refClass = WmsEnumUtil.IS_VALUABLE.class, refForeignKey = "value", value = "description") private Integer isValuable; @@ -189,10 +195,12 @@ public class WmsPart extends BaseBean { private Double verbNum; @Column(name = "IS_PROD_LOT") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @ApiParam(value = "是否录入生产批次", example = "1") private Integer isProdLot = 2; @Column(name = "PULL_WAY") + @FieldAnnotation(webFieldType = WmsEnumUtil.FIELD_TYPE.SELECT) @ApiParam(value = "拉动方式", example = "0") private Integer pullWay = 0;