From 5b712ce774a8865386107826495e35af1ff42416 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 29 Oct 2019 15:17:33 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=9A=E6=96=B0=E5=A2=9E=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E6=A1=86=E9=80=89=E6=8B=A9=E5=A4=9A=E4=B8=AA=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/aps/annotation/FieldAnnotation.java | 3 ++ .../cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java | 5 ++++ .../cn/estsh/i3plus/pojo/aps/bean/Material.java | 2 +- .../cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java | 3 ++ .../cn/estsh/i3plus/pojo/aps/bean/SysParam.java | 5 ++++ .../estsh/i3plus/pojo/aps/common/BeanRelation.java | 34 ++++++++++++++++++++++ .../estsh/i3plus/pojo/aps/common/DateDuration.java | 6 ++-- .../cn/estsh/i3plus/pojo/aps/enums/EDIT_TYPE.java | 28 ++++++++++++++++++ .../i3plus/pojo/aps/enums/ROUTING_VALID_TYPE.java | 14 +++++++++ 9 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/EDIT_TYPE.java create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/ROUTING_VALID_TYPE.java diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java index eddecd7..2d099f0 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java @@ -1,5 +1,7 @@ package cn.estsh.i3plus.pojo.aps.annotation; +import cn.estsh.i3plus.pojo.aps.enums.EDIT_TYPE; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -22,4 +24,5 @@ public @interface FieldAnnotation { boolean mainkey() default false; // 是否为主键 String defaultValue() default ""; // 字段的默认值 boolean popSearch() default false; // 弹出选择对象时是否显示 + EDIT_TYPE editType() default EDIT_TYPE.NONE; // 定义字段的编辑类型 } 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 aedbbcd..ea3296d 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 @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.enums.EDIT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.FIELD_TYPE; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -92,6 +93,10 @@ public class FieldInfo extends BaseCode { @ApiParam(value ="弹出选择时是否显示") private Boolean popSearch; + @Column(name="EDIT_TYPE") + @ApiParam(value ="字段编辑类型") + private EDIT_TYPE editType; + @ApiParam(value ="枚举项内容") private transient Enum[] enumItems; 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 46880ed..7b7ba76 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 @@ -70,7 +70,7 @@ public class Material extends BaseCode { @Column(name="LEVEL") @ApiParam(value ="低阶码") - @RippleAnnotation(dependence = {"OperOutputs.Operation.ProductRouting.Material"}, method = "calcLevel") + @RippleAnnotation(dependence = {"OperInputs.Operation.ProductRouting.Material.level"}, method = "calcLevel") @FieldAnnotation(modify = false) private Integer level; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java index 2ec0cbc..d1bb335 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java @@ -1,7 +1,9 @@ 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.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.enums.EDIT_TYPE; import cn.estsh.i3plus.pojo.aps.holders.EResCalendar; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; @@ -27,6 +29,7 @@ import java.util.List; public class ResCalendar extends BaseAPS { @Column(name="RES_CODES") @ApiParam(value ="资源代码") + @FieldAnnotation(editType = EDIT_TYPE.MULTI_OBJECT) private String resCodes; @Column(name="WEEKS") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java index 261164e..4f68bf4 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java @@ -2,6 +2,7 @@ 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.aps.enums.ROUTING_VALID_TYPE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -31,6 +32,10 @@ public class SysParam extends BaseAPS { @ApiParam(value ="最大中断次数") private Integer maxInterruptCount; + @Column(name="TYPE") + @ApiParam(value ="工艺路径有效判断类型") + private ROUTING_VALID_TYPE type; + @Column(name="RULE_GROUP_ID") @ApiParam(value ="规则组id") @FieldAnnotation(display = false) diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java index 86df02c..4a5e2a9 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java @@ -400,4 +400,38 @@ public class BeanRelation { recursionImpl(relaBean, fun, holders, index + 1); } } + + /** + * 判断target是否为bean为起点的以holders路径上的点。 + * @param bean + * @param target + * @param holders + * @return + */ + public static boolean recursionContains(BaseBean bean, BaseBean target, Enum... holders) { + if (holders.length == 0) { + return false; + } + + return recursionContainsImpl(bean, target, holders, 0); + } + + private final static boolean recursionContainsImpl(BaseBean bean, BaseBean target, + Enum[] holders, int index) { + if (index >= holders.length) { + if (target == bean) { + return true; + } + index = 0; + } + + List relaBeans = list(bean, holders[index]); + for (BaseBean relaBean : relaBeans) { + if (recursionContainsImpl(relaBean, target, holders, index + 1)) { + return true; + } + } + + return false; + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/DateDuration.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/DateDuration.java index af5476a..68b2fd5 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/DateDuration.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/DateDuration.java @@ -25,7 +25,7 @@ public class DateDuration { public static final double PRECISION = 0.00001; private String value; - private long time = 0; + private int time = 0; private double rate = 0.0; private boolean bValid = false; @@ -60,7 +60,7 @@ public class DateDuration { * 对于无效的时间区间,返回0。单位为秒。 * @return */ - public long getTime() { + public int getTime() { return this.time; } @@ -68,7 +68,7 @@ public class DateDuration { * 设置新的时间区间。 * @return */ - public void setTime(long time) { + public void setTime(int time) { this.time = time; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/EDIT_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/EDIT_TYPE.java new file mode 100644 index 0000000..b231839 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/EDIT_TYPE.java @@ -0,0 +1,28 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +/** + * @Description :字段的编辑类型 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-17 + * @Modify: + **/ +public enum EDIT_TYPE { + NONE, + BOOLEAN, // 布尔, 开关编辑 + CHAR, // 字符, 文本框编辑 + SHORT, // 短整型, 数字编辑 + INTEGER, // 整型, 数字编辑 + LONG, // 长整型, 数字编辑 + DOUBLE, // 浮点型, 文本框编辑 + DATE, // 日期类型(2019-09-16) + TIME, // 时间类型(17:35:30) + DATE_TIME, // 日期时间类型(2019-09-16 17:35:30) + DURATION, // 时间段(1H),文本框编辑 + ENUM, // 枚举,下拉选择 + MULTI_ENUM, // 多选枚举, 下拉多选 + STRING, // 字符串,文本框编辑 + OBJECT, // 关联对象,下来选择关联对象的Code值 + LIST, // 对象集合,不可编辑。 + MULTI_OBJECT // 多选对象,弹出框选择,可以选择全部对象,以*表示选择全部 +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/ROUTING_VALID_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/ROUTING_VALID_TYPE.java new file mode 100644 index 0000000..47f2580 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/ROUTING_VALID_TYPE.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +/** + * @Description :工艺路径有效性判断类型 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-10-29 + * @Modify: + **/ +public enum ROUTING_VALID_TYPE { + ORDER_CALC_LET, // 与订单的最晚结束时刻计算值做比较 + CALC_LET_LT, // 与最晚结束时刻计算值-提前期做比较 + BASE_TIME // 与基准时刻做比较 +}