From c117515b6931c0f5d4b33aca5abdb9dfffa72b78 Mon Sep 17 00:00:00 2001 From: wynne1005 Date: Fri, 9 Oct 2020 17:06:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=87=AA=E5=8A=A8=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/MesPcnEnumUtil.java | 120 +++++++++++++++++++++ .../estsh/i3plus/pojo/mes/bean/MesEquAlarmLog.java | 43 ++++++++ .../i3plus/pojo/mes/bean/MesLineOperation.java | 67 ++++++++++++ .../mes/bean/MesTaktAlarmContinuousConfig.java | 12 ++- .../pojo/mes/bean/MesTaktAlarmLevelConfig.java | 14 ++- .../i3plus/pojo/mes/bean/MesTaktAlarmRecord.java | 4 +- .../estsh/i3plus/pojo/mes/bean/MesWorkCenter.java | 4 + .../pojo/mes/bean/MesWorkCenterMonitorLog.java | 63 +++++++++++ .../estsh/i3plus/pojo/mes/model/AlarmMessage.java | 12 ++- .../i3plus/pojo/mes/model/EquAutoAlarmModel.java | 34 ++++++ .../mes/repository/MesLineOperationRepository.java | 16 +++ .../MesWorkCenterMonitorLogRepository.java | 13 +++ 12 files changed, 396 insertions(+), 6 deletions(-) create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquAlarmLog.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesLineOperation.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenterMonitorLog.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EquAutoAlarmModel.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesLineOperationRepository.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterMonitorLogRepository.java 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 b8719b6..4fb7ac3 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 @@ -5598,4 +5598,124 @@ public class MesPcnEnumUtil { return tmp; } } + + /** + * 设备自动报警 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum EQU_AUTO_ALARM_TYPE { + + NORMAL(10, "正常"), + RUNNING(20, "正在运行"), + ERROR(30, "发生异常"); + + private String description; + private Integer value; + + EQU_AUTO_ALARM_TYPE(Integer value, String description) { + this.value = value; + this.description = description; + } + + public Integer getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(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; + } + } + + + /** + * 过程检测数据源类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum LINE_OPERATION_TYPE { + DB(10, "数据库"), + PLC(20, "PLC"); + + private int value; + private String description; + + LINE_OPERATION_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; + } + } + + /** + * 产线监控业务类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum WORK_CENTER_MONITOR_BUSI_TYPE { + EQU_ALARM(10, "设备自动报警"); + + private int value; + private String description; + + WORK_CENTER_MONITOR_BUSI_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; + } + } + + + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquAlarmLog.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquAlarmLog.java new file mode 100644 index 0000000..67387e7 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquAlarmLog.java @@ -0,0 +1,43 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/10/16 2:42 PM + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_EQU_ALARM_LOG", indexes = { + @Index(columnList = "CREATE_DATE_TIME"), + @Index(columnList = "WORK_CENTER_CODE") +}) +@Api("设备自动报警日志") +public class MesEquAlarmLog extends BaseBean implements Serializable { + private static final long serialVersionUID = -494552645021304934L; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam("工作中心") + private String workCenterCode; + + @Column(name = "MESSAGE") + @ApiParam("异常信息") + private String message; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesLineOperation.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesLineOperation.java new file mode 100644 index 0000000..7610ada --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesLineOperation.java @@ -0,0 +1,67 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @author Wynne.Lu + * @date 2020/9/29 17:25 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_LINE_OPERATION") +@Api(value = "产线 开线或停线") +public class MesLineOperation extends BaseBean implements Serializable { + private static final long serialVersionUID = -710375930652577157L; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam("产线") + private String workCenterCode; + + @Column(name = "WORK_CELL_CODE") + @ApiParam("工位") + private String workCellCode; + + @Column(name = "OBJECT_TYPE") + @ApiParam("对象类型") + private Integer objectType; + + /** + * MesDataSource dsCode 或者plcCode + */ + @Column(name = "OBJECT_CODE") + @ApiParam("对象代码") + private String objectCode; + + @Column(name = "OP_TYPE") + @ApiParam("操作类型 开线、停线") + private Integer opType; + + /** + * 仅db jdbc 进行行更新 example:update a set b=:b + */ + @Column(name = "DB_OP_CMD") + @ApiParam("db操作指令") + private String dbOpCmd; + + /** + * 反写plc的值 + */ + @Column(name = "PLC_OP_VALUE") + @ApiParam("plc更新值") + private String plcOpValue; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmContinuousConfig.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmContinuousConfig.java index 9990170..3d405cd 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmContinuousConfig.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmContinuousConfig.java @@ -24,14 +24,14 @@ import java.io.Serializable; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name = "MES_TAKT_LEVEL_CONFIG", indexes = { +@Table(name = "MES_TAKT_ALARM_CONTINUOUS_CONFIG", indexes = { @Index(columnList = "WORK_CENTER_CODE") }) @Api("节拍故障等级配置表") public class MesTaktAlarmContinuousConfig extends BaseBean implements Serializable { private static final long serialVersionUID = -1046263075313178823L; - @Column(name = "WORK_CETNER_CODE") + @Column(name = "WORK_CENTER_CODE") @ApiParam("产线") private String workCenterCode; @@ -55,4 +55,12 @@ public class MesTaktAlarmContinuousConfig extends BaseBean implements Serializab @ApiParam("是否触发安灯") private Integer isTriggerAndon; + @Column(name = "OBJECT_TYPE") + @ApiParam("对象类型") + private Integer objectType; + + @Column(name = "OBJECT_CODE") + @ApiParam("对象代码") + private String objectCode; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmLevelConfig.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmLevelConfig.java index 1c3567c..60c3f9f 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmLevelConfig.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmLevelConfig.java @@ -31,7 +31,7 @@ import java.io.Serializable; public class MesTaktAlarmLevelConfig extends BaseBean implements Serializable { private static final long serialVersionUID = -3550230985173772736L; - @Column(name = "WORK_CETNER_CODE") + @Column(name = "WORK_CENTER_CODE") @ApiParam("产线") private String workCenterCode; @@ -51,6 +51,10 @@ public class MesTaktAlarmLevelConfig extends BaseBean implements Serializable { @ApiParam("是否触发安灯") private Integer isTriggerAndon; + @Column(name = "ANDON_API_TYPE") + @ApiParam("安灯接口类型") + private Integer andonApiType; + @Column(name = "MIN_MULTIPLE") @ApiParam("最小倍数") private Double minMultiple; @@ -59,4 +63,12 @@ public class MesTaktAlarmLevelConfig extends BaseBean implements Serializable { @ApiParam("最大倍数") private Double maxMultiple; + @Column(name = "OBJECT_TYPE") + @ApiParam("对象类型") + private Integer objectType; + + @Column(name = "OBJECT_CODE") + @ApiParam("对象代码") + private String objectCode; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmRecord.java index b506e6a..3da16b9 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmRecord.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesTaktAlarmRecord.java @@ -33,7 +33,7 @@ import java.io.Serializable; public class MesTaktAlarmRecord extends BaseBean implements Serializable { private static final long serialVersionUID = 3267756779912298635L; - @Column(name = "WORK_CETNER_CODE") + @Column(name = "WORK_CENTER_CODE") @ApiParam("产线") private String workCenterCode; @@ -54,6 +54,6 @@ public class MesTaktAlarmRecord extends BaseBean implements Serializable { private String levelCode; @Column(name = "IS_PROCESSED") - @ApiParam("异常等级") + @ApiParam("是否完成") private Integer isProcessed = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(); } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java index f961799..bebe2dd 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java @@ -79,6 +79,10 @@ public class MesWorkCenter extends BaseBean implements Serializable { @ApiParam("序号") private Integer seq; + @Column(name = "IS_EQU_MONITOR") + @ApiParam("是否需要设备自动报警") + private Integer isEquMonitor; + @Transient @ApiParam(value = "子集列表") private List childTreeList; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenterMonitorLog.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenterMonitorLog.java new file mode 100644 index 0000000..38e8073 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenterMonitorLog.java @@ -0,0 +1,63 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/10/16 2:42 PM + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_WORK_CENTER_MONITOR_LOG", indexes = { + @Index(columnList = "CREATE_DATE_TIME"), + @Index(columnList = "WORK_CENTER_CODE") +}) +@Api("工位监控异常信息") +public class MesWorkCenterMonitorLog extends BaseBean implements Serializable { + private static final long serialVersionUID = 1432794181428753903L; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam("工作中心") + private String workCenterCode; + + @Column(name = "PART_NO") + @ApiParam("物料号") + private String partNo; + + @Column(name = "WORK_ORDER_NO") + @ApiParam("工单") + private String workOrderNo; + + @Column(name = "PROCESS_CODE") + @ApiParam("工序") + private String processCode; + + @Column(name = "ROUTE_CODE") + @ApiParam("流程") + private String routeCode; + + @Column(name = "MESSAGE") + @ApiParam("异常信息") + private String message; + + @Column(name = "BUSI_TYPE") + @ApiParam("业务类型") + private Integer busiType; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/AlarmMessage.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/AlarmMessage.java index 6c8428b..7c8b17f 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/AlarmMessage.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/AlarmMessage.java @@ -1,8 +1,11 @@ package cn.estsh.i3plus.pojo.mes.model; +import cn.estsh.i3plus.pojo.mes.bean.MesTaktAlarmContinuousConfig; +import cn.estsh.i3plus.pojo.mes.bean.MesTaktAlarmLevelConfig; import cn.estsh.i3plus.pojo.mes.bean.MesTaktAlarmRecord; import lombok.Data; +import java.util.List; import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit; @@ -16,10 +19,17 @@ public class AlarmMessage implements Delayed { private MesTaktAlarmRecord taktAlarmRecord; + private List levelConfigs; + + private List continuousConfigs; + private long time; - public AlarmMessage(MesTaktAlarmRecord taktAlarmRecord, long time, TimeUnit unit) { + public AlarmMessage(MesTaktAlarmRecord taktAlarmRecord, List levelConfigs, + List continuousConfigs, long time, TimeUnit unit) { this.taktAlarmRecord = taktAlarmRecord; + this.levelConfigs = levelConfigs; + this.continuousConfigs = continuousConfigs; this.time = System.currentTimeMillis() + (time > 0 ? unit.toMillis(time) : 0); } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EquAutoAlarmModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EquAutoAlarmModel.java new file mode 100644 index 0000000..f25fce6 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EquAutoAlarmModel.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.pojo.mes.model; + +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Wynne.Lu + * @date 2020/9/29 11:42 + * @desc + */ +@Data +public class EquAutoAlarmModel implements Serializable { + private static final long serialVersionUID = -8671950864141698966L; + + private String org; + + private String workCenterCode; + + private Integer takt; + + private String plcTagAddr; + + private String levelCode; + + private String startTime; + + private String endTime; + + private Integer isFinished = MesPcnEnumUtil.EQU_AUTO_ALARM_TYPE.NORMAL.getValue(); + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesLineOperationRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesLineOperationRepository.java new file mode 100644 index 0000000..717784b --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesLineOperationRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesLineOperation; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Repository +public interface MesLineOperationRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterMonitorLogRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterMonitorLogRepository.java new file mode 100644 index 0000000..5b6dad7 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterMonitorLogRepository.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.pojo.mes.repository; + + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenterMonitorLog; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/9/27 1:58 PM + * @Description: + **/ +public interface MesWorkCenterMonitorLogRepository extends BaseRepository { +}