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 extends Payload>[] 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;
+ }
+}