diff --git a/modules/i3plus-pojo-aps/pom.xml b/modules/i3plus-pojo-aps/pom.xml index b6adafd..c052a9d 100644 --- a/modules/i3plus-pojo-aps/pom.xml +++ b/modules/i3plus-pojo-aps/pom.xml @@ -17,6 +17,10 @@ i3plus.pojo i3plus-pojo-base + + org.hibernate.validator + hibernate-validator + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/MainKey.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/MainKey.java new file mode 100644 index 0000000..105400d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/MainKey.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.pojo.aps.annotation; + +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.MainKeyValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy={MainKeyValidator.class}) +public @interface MainKey { + String message() default "主键重复"; + Class[] groups() default {}; + Class[] payload() default {}; +} 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 0dfe904..9115264 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 @@ -13,6 +13,8 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.MappedSuperclass; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotEmpty; import java.util.Date; import java.util.List; @@ -37,6 +39,7 @@ public class BaseOrder extends BaseCode { @Column(name="COUNT") @ApiParam(value ="数量") @FieldAnnotation(notEmpty = true) + @Min(0) private Double count; @Column(name="PRIORITY") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceCapacity.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceCapacity.java index cdf99a2..ea84c13 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceCapacity.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceCapacity.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -11,6 +13,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.validation.constraints.Min; /** * @Description :炉资源容量限制 @@ -30,17 +33,21 @@ public class FurnaceCapacity extends BaseAPS { @Column(name="RES_CODES") @ApiParam(value ="资源编码") + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Resource", notEmpty = true) private String resCodes; @Column(name="STAND_CODE") @ApiParam(value ="标准工序编码") + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "StandOperation") private String standCode; @Column(name="MATERIAL_CODE") @ApiParam(value ="物料编码") + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Material") private String materialCode; @Column(name="CAPACITY") @ApiParam(value ="容量限制") + @Min(0) private Double capacity; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceSetting.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceSetting.java index af4ca6f..40835b2 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceSetting.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnaceSetting.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -30,6 +32,7 @@ public class FurnaceSetting extends BaseAPS { @Column(name="RES_CODES") @ApiParam(value ="资源编码") + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Resource", notEmpty = true) private String resCodes; @Column(name="SAME_MATERIAL") 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 index 638f867..e311e89 100644 --- 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 @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.aps.common; 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; @@ -18,6 +20,7 @@ import javax.persistence.MappedSuperclass; @Data @EqualsAndHashCode(callSuper = true) @MappedSuperclass +@MainKey(groups = {InsertGroup.class}) public abstract class BaseCode extends BaseAPS { @Column(name="CODE") @ApiParam(value ="编码") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/InsertGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/InsertGroup.java new file mode 100644 index 0000000..2efcf07 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/InsertGroup.java @@ -0,0 +1,4 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +public interface InsertGroup { +} 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 new file mode 100644 index 0000000..15c92bf --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/MainKeyValidator.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +public class MainKeyValidator implements ConstraintValidator { + @Override + public boolean isValid(BaseBean bean, ConstraintValidatorContext constraintValidatorContext) { + return false; + } +}