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 // 与基准时刻做比较 +} 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 856f7c2..8403580 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 @@ -12,6 +12,43 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class MesEnumUtil { /** + * MesScrap 报废原因 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum SCRAP_TYPE { + + SCRAP_TYPE(10, "过期"), + SCRAP_TYPE2(20, "不合格"), + SCRAP_TYPE3(30, "缺失"); + + private int value; + private String description; + + SCRAP_TYPE(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; + } + } + + /** * mes 图片面位 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java index 0b2d4a4..c7a0b65 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java @@ -12,6 +12,82 @@ import org.apache.commons.lang3.StringUtils; **/ public class MesPcnEnumUtil { + + /** + * MesScrap 报废原因 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum SCRAP_TYPE { + + SCRAP_TYPE(10, "过期"), + SCRAP_TYPE2(20, "不合格"), + SCRAP_TYPE3(30, "缺失"); + + private int value; + private String description; + + SCRAP_TYPE(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; + } + } + + /** + * MesProduceSn实体对应的qcStatus值 条码表条码质量状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum PRODUCE_SN_QC_STATUS { + + QUALIFIED(10, "合格"), + DEFECTED(20, "不合格"), + SCRAPED(30, "报废"), + DISMANTLED(40, "已拆解"); + + private int value; + private String description; + + PRODUCE_SN_QC_STATUS(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; + } + } + /** * mes 工位类型 */ diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDefectRecord.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDefectRecord.java index 53f4b36..30c641c 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDefectRecord.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDefectRecord.java @@ -53,6 +53,10 @@ public class MesDefectRecord extends BaseBean { @ApiParam("缺陷位置") private String defectLocation; + @Column(name = "SIDE_LOCATION") + @ApiParam("面位") + private String sideLocation; + @Column(name="REPAIR_STATUS") @ApiParam("维修状态") private Integer repairStatus; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrap.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrap.java index cad4af5..c42611a 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrap.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrap.java @@ -36,4 +36,8 @@ public class MesScrap extends BaseBean { @ApiParam("报废名称") private String scrapName; + @Column(name = "SCRAP_TYPE") + @ApiParam("报废类型") + private String scrapType; + } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrapRecord.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrapRecord.java index 2c60f7a..46b20b1 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrapRecord.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesScrapRecord.java @@ -60,10 +60,6 @@ public class MesScrapRecord extends BaseBean { @ApiParam("工位") private String workCellCode; - @Column(name = "SCRAP_REASON") - @ApiParam("报废原因") - private String scrapReason; - @Column(name = "MEMO") @ApiParam("备注") private String memo; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java index aaa7497..8736abb 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java @@ -36,6 +36,16 @@ public class MesProdBindRecordModel { private Integer missQty; @ApiParam("报废数") private Integer scrapQty; + @ApiParam("创建时间") + private String createUser; + @ApiParam("创建时间") + private String createDatetime; + @ApiParam("修改人") + private String modifyUser; + @ApiParam("修改时间") + private String modifyDatetime; + @ApiParam("产品条码") + private String serialNumber; public MesProdBindRecordModel() { } @@ -72,4 +82,26 @@ public class MesProdBindRecordModel { this.parentPartNo = parentPartNo; this.parentPartName = parentPartName; } + + public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String serialNumber) { + this.id = id; + this.itemPartNo = itemPartNo; + this.itemPartName = itemPartName; + this.qty = qty; + this.isValid = isValid; + this.isDeleted = isDeleted; + this.organizeCode = organizeCode; + this.isFeed = isFeed; + this.workCenterCode = workCenterCode; + this.workCellCode = workCellCode; + this.kpSn = kpSn; + this.parentPartNo = parentPartNo; + this.parentPartName = parentPartName; + this.createUser = createUser; + this.createDatetime = createDatetime; + this.modifyUser = modifyUser; + this.modifyDatetime = modifyDatetime; + this.serialNumber = serialNumber; + } + } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java index c9a071a..82ef884 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java @@ -220,4 +220,64 @@ public class MesHqlPack { return packBean; } + /** + * MES PCN系维修信息条件查询 + * + * @param mesRepair + * @return + */ + public static DdlPackBean getMesRepair(MesRepair mesRepair, String organizeCode) { + DdlPackBean packBean = getAllBaseData(organizeCode); + if (StringUtils.isNotEmpty(mesRepair.getRepairCode())) { + DdlPreparedPack.getStringLikerPack(mesRepair.getRepairCode(), "repairCode", packBean); + } + if (StringUtils.isNotEmpty(mesRepair.getRepairName())) { + DdlPreparedPack.getStringLikerPack(mesRepair.getRepairName(), "repairName", packBean); + } + if (mesRepair.getRepairType() != null) { + DdlPreparedPack.getNumEqualPack(mesRepair.getRepairType(), "repairType", packBean); + } + return packBean; + } + + /** + * MES PCN系维修信息条件查询 + * + * @param mesScrap + * @return + */ + public static DdlPackBean getMesScrap(MesScrap mesScrap, String organizeCode) { + DdlPackBean packBean = getAllBaseData(organizeCode); + if (StringUtils.isNotEmpty(mesScrap.getScrapCode())) { + DdlPreparedPack.getStringLikerPack(mesScrap.getScrapCode(), "scrapCode", packBean); + } + if (StringUtils.isNotEmpty(mesScrap.getScrapName())) { + DdlPreparedPack.getStringLikerPack(mesScrap.getScrapName(), "scrapName", packBean); + } + if (StringUtils.isNotEmpty(mesScrap.getScrapType())) { + DdlPreparedPack.getStringLikerPack(mesScrap.getScrapType(), "scrapType", packBean); + } + return packBean; + } + + /** + * MES PCN缺陷原因信息条件查询 + * + * @param mesDefectCause + * @return + */ + public static DdlPackBean getMesDefectCause(MesDefectCause mesDefectCause, String organizeCode) { + DdlPackBean packBean = getAllBaseData(organizeCode); + if (StringUtils.isNotEmpty(mesDefectCause.getDcCode())) { + DdlPreparedPack.getStringLikerPack(mesDefectCause.getDcCode(), "dcCode", packBean); + } + if (StringUtils.isNotEmpty(mesDefectCause.getDcName())) { + DdlPreparedPack.getStringLikerPack(mesDefectCause.getDcName(), "dcName", packBean); + } + if (mesDefectCause.getDcType() != null) { + DdlPreparedPack.getNumEqualPack(mesDefectCause.getDcType(), "dcType", packBean); + } + return packBean; + } + }