diff --git a/modules/i3plus-pojo-aps/pom.xml b/modules/i3plus-pojo-aps/pom.xml
index 4426ba9..b0a3f82 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;
+ }
+}
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 cb8dae6..3673841 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
@@ -1308,7 +1308,7 @@ public class MesEnumUtil {
MES_SHIFT(180, "班次"),
MES_SHIFT_GROUP(190, "班组"),
MES_WORK_CELL_PARAM_CFG(200, "工作单元参数配置"),
- MES_PROCESS_BOM(210, "工序BOM表");
+ MES_STATION_BOM(210, "工位BOM表");
private int value;
private String description;
@@ -1461,10 +1461,10 @@ public class MesEnumUtil {
}
/**
- * mes 工位类型
+ * mes 工位Bom 是否可重复
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
- public enum MES_IS_REPEAT {
+ public enum MES_STATION_BOM_IS_REPEAT {
REPEATABLE(1, "可重复"),
NOT_REPEAT(2, "不可重复");
@@ -1472,7 +1472,7 @@ public class MesEnumUtil {
private int value;
private String description;
- MES_IS_REPEAT(int value, String description) {
+ MES_STATION_BOM_IS_REPEAT(int value, String description) {
this.value = value;
this.description = description;
}
@@ -1486,8 +1486,8 @@ public class MesEnumUtil {
}
// 根据value返回枚举类型,主要在switch中使用
- public static MES_IS_REPEAT getByValue(int value) {
- for (MES_IS_REPEAT mesInsertExcel : values()) {
+ public static MES_STATION_BOM_IS_REPEAT getByValue(int value) {
+ for (MES_STATION_BOM_IS_REPEAT mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
@@ -1506,6 +1506,157 @@ public class MesEnumUtil {
return tmp;
}
+ public static Integer descriptionOfValue(String description) {
+ Integer tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].description.equals(description)) {
+ tmp = values()[i].value;
+ }
+ }
+ return tmp;
+ }
+
+ }
+
+ /**
+ * mes 工位Bom 是否检查
+ */
+ @JsonFormat(shape = JsonFormat.Shape.OBJECT)
+ public enum MES_STATION_BOM_IS_CHECK {
+
+ REPEATABLE(1, "是"),
+ NOT_REPEAT(2, "否");
+
+ private int value;
+ private String description;
+
+ MES_STATION_BOM_IS_CHECK(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;
+ }
+
+ public static Integer descriptionOfValue(String description) {
+ Integer tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].description.equals(description)) {
+ tmp = values()[i].value;
+ }
+ }
+ return tmp;
+ }
+
+ }
+
+ /**
+ * mes 工位Bom 是否投料配置
+ */
+ @JsonFormat(shape = JsonFormat.Shape.OBJECT)
+ public enum MES_STATION_BOM_IS_FEED {
+
+ REPEATABLE(1, "是"),
+ NOT_REPEAT(2, "否");
+
+ private int value;
+ private String description;
+
+ MES_STATION_BOM_IS_FEED(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;
+ }
+
+ public static Integer descriptionOfValue(String description) {
+ Integer tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].description.equals(description)) {
+ tmp = values()[i].value;
+ }
+ }
+ return tmp;
+ }
+
+ }
+
+ /**
+ * mes 工位Bom 是否绑定关键件
+ */
+ @JsonFormat(shape = JsonFormat.Shape.OBJECT)
+ public enum MES_STATION_BOM_IS_BIND_KEY {
+
+ REPEATABLE(1, "是"),
+ NOT_REPEAT(2, "否");
+
+ private int value;
+ private String description;
+
+ MES_STATION_BOM_IS_BIND_KEY(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;
+ }
+
+ public static Integer descriptionOfValue(String description) {
+ Integer tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].description.equals(description)) {
+ tmp = values()[i].value;
+ }
+ }
+ return tmp;
+ }
+
}
/**
diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/RequestModel.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/RequestModel.java
index bec442b..45bf859 100644
--- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/RequestModel.java
+++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/RequestModel.java
@@ -33,6 +33,8 @@ public class RequestModel {
private Integer destStatus; // 目的状态
+ private List orderNoList;//工单编号
+
public RequestModel(List queueOrderList, Double currentSeq, Double nextSeq) {
this.queueOrderList = queueOrderList;
this.currentSeq = currentSeq;
@@ -101,6 +103,14 @@ public class RequestModel {
this.queueOrderList = queueOrderList;
}
+ public void setOrderNoList(List orderNoList) {
+ this.orderNoList = orderNoList;
+ }
+
+ public List getOrderNoList() {
+ return orderNoList;
+ }
+
public Double getCurrentSeq() {
return currentSeq == null ? 0.0d : currentSeq;
}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStationBom.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStationBom.java
index 233bf70..a0ab37f 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStationBom.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStationBom.java
@@ -16,7 +16,7 @@ import javax.persistence.Table;
import javax.persistence.Transient;
/**
- * @Description :工序物料清单
+ * @Description :工位物料清单
* @Reference :
* @Author : jack.jia
* @CreateDate : 2019-04-02
@@ -28,7 +28,7 @@ import javax.persistence.Transient;
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_STATION_BOM")
-@Api("工序物料清单")
+@Api("工位物料清单")
public class MesStationBom extends BaseBean {
@Column(name = "PART_NO")
@ApiParam("零件号")
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/RequestModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/RequestModel.java
index 91b5e18..1bada8a 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/RequestModel.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/RequestModel.java
@@ -32,6 +32,10 @@ public class RequestModel {
private Integer destStatus; // 目的状态
+ private List orderNoList;//工单编号
+
+ private List requestBeanList;//工单下达
+
public RequestModel(List queueOrderList, Double currentSeq, Double nextSeq) {
this.queueOrderList = queueOrderList;
this.currentSeq = currentSeq;
@@ -84,6 +88,20 @@ public class RequestModel {
this.queueOrderList = queueOrderList;
}
+ public void setOrderNoList(List orderNoList) {
+ this.orderNoList = orderNoList;
+ }
+
+ public List getOrderNoList() {
+ return orderNoList;
+ }
+
+ public void setRequestBeanList(List requestBeanList) {
+ this.requestBeanList = requestBeanList;
+ }
+
+ public List getRequestBeanList() { return requestBeanList; }
+
public Double getCurrentSeq() {
return currentSeq == null ? 0.0d : currentSeq;
}