diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java index 52363f2..156db58 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java @@ -2,9 +2,12 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.ExcludeImportExport; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -29,7 +32,17 @@ import java.util.List; @MappedSuperclass @Api("订单基类") @ExcludeImportExport -public class BaseOrder extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class BaseOrder extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; @Column(name="MATERIAL_ID") @ApiParam(value ="物料") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java index 6f816fb..acdf7e4 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java @@ -1,8 +1,10 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -24,7 +26,18 @@ import javax.persistence.Table; @Entity @Table(name = "APS_DAY_SHIFT") @Api("班次") -public class DayShift extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class DayShift extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; + @Column(name="WORK_TIMES") @ApiParam(value ="工作时间") @FieldAnnotation(notEmpty = true) diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java index a93133b..194075b 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java @@ -2,7 +2,7 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.ExcludeImportExport; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -34,7 +34,17 @@ import java.sql.JDBCType; @Table(name="APS_FIELD_INFO") @Api("字段信息") @ExcludeImportExport -public class FieldInfo extends BaseCode { +public class FieldInfo extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; + @Column(name="CLASS_NAME") @ApiParam(value ="所属类简称") private String className; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java index cb15093..694c22a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java @@ -1,10 +1,13 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.annotation.RippleAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EMaterial; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; @@ -29,7 +32,18 @@ import java.util.List; @Entity @Table(name = "APS_MATERIAL") @Api("物料") -public class Material extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class Material extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; + @Column(name="TYPE") @ApiParam(value ="物料类型") @FieldAnnotation(defaultValue = "PRODUCT") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java index 830d392..06ac508 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java @@ -1,9 +1,12 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EProductRouting; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -28,7 +31,18 @@ import java.util.List; @Entity @Table(name = "APS_PRODUCT_ROUTING") @Api("工艺路线") -public class ProductRouting extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class ProductRouting extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; + @Column(name="MATERIAL_ID") @ApiParam(value ="物料") @FieldAnnotation(relation = "Material", notEmpty = true, display = false) diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java index c9dc2e7..963ff6f 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java @@ -1,9 +1,12 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EResource; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; @@ -28,7 +31,18 @@ import java.util.List; @Entity @Table(name = "APS_RESOURCE") @Api("资源") -public class Resource extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class Resource extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; + @Column(name="TYPE") @ApiParam(value ="资源类型") @FieldAnnotation(defaultValue = "MAIN") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java index 90b158f..b24c7aa 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java @@ -1,7 +1,10 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -24,7 +27,17 @@ import javax.persistence.Table; @Entity @Table(name = "APS_STAND_OPERATION") @Api("标准工序") -public class StandOperation extends BaseCode { +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) +public class StandOperation extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true) + private String name; @Column(name="DIRECTION") @ApiParam(value ="排程方向") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java index 3a8d8c4..72bec5a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java @@ -1,10 +1,12 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; -import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EWork; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; @@ -30,6 +32,7 @@ import java.util.List; @Entity @Table(name = "APS_WORK") @Api("工作") +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) public class Work extends BaseAPS { @Column(name="CODE") @ApiParam(value ="编码") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java deleted file mode 100644 index 03a9bcf..0000000 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.estsh.i3plus.pojo.aps.common; - -import cn.estsh.i3plus.pojo.aps.annotation.ExcludeImportExport; -import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; -import cn.estsh.i3plus.pojo.aps.annotation.MainKey; -import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; -import io.swagger.annotations.ApiParam; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import javax.persistence.Column; -import javax.persistence.MappedSuperclass; - -/** - * @Description :含有编码,名字的基类 - * @Reference : - * @Author : jason.niu - * @CreateDate : 2019-09-12 - * @Modify: - **/ -@Data -@EqualsAndHashCode(callSuper = true) -@MappedSuperclass -@MainKey(groups = {InsertGroup.class}) -@ExcludeImportExport -public abstract class BaseCode extends BaseAPS { - @Column(name="CODE") - @ApiParam(value ="编码") - @FieldAnnotation(popSearch = true, mainkey = true) - private String code; - - @Column(name="NAME") - @ApiParam(value ="名称") - @FieldAnnotation(popSearch = true) - private String name; -} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java index a8cdb93..510e091 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.common; +import cn.estsh.i3plus.pojo.aps.validator.IMainKeyValidatorImpl; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; @@ -177,6 +178,7 @@ public class BeanInfo { private static Map, BeanInfo> beanInfos = new HashMap<>(); private static Map nameMapBeanInfos = new HashMap<>(); + private static IMainKeyValidatorImpl mainKeyValidator; static { BeanInfo beanInfo = new BeanInfo(BaseBean.class); @@ -306,4 +308,8 @@ public class BeanInfo { return cls; } + + public static IMainKeyValidatorImpl getMainKeyValidator() { return mainKeyValidator; } + + public static void setMainKeyValidator(IMainKeyValidatorImpl impl) { mainKeyValidator = impl; } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/IMainKeyValidatorImpl.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/IMainKeyValidatorImpl.java new file mode 100644 index 0000000..d9ed765 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/IMainKeyValidatorImpl.java @@ -0,0 +1,7 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; + +public interface IMainKeyValidatorImpl { + boolean isValid(BaseBean bean); +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/MainKeyValidator.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/MainKeyValidator.java index 73ba5d0..4162a83 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/MainKeyValidator.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/MainKeyValidator.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.aps.validator; import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.common.BeanInfo; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import javax.validation.ConstraintValidator; @@ -9,6 +10,6 @@ import javax.validation.ConstraintValidatorContext; public class MainKeyValidator implements ConstraintValidator { @Override public boolean isValid(BaseBean bean, ConstraintValidatorContext constraintValidatorContext) { - return true; + return BeanInfo.getMainKeyValidator().isValid(bean); } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/UpdateGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/UpdateGroup.java new file mode 100644 index 0000000..8b6c6bc --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/UpdateGroup.java @@ -0,0 +1,4 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +public interface UpdateGroup { +}