diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlPcnEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlPcnEnumUtil.java index 674fede..8a3b947 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlPcnEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlPcnEnumUtil.java @@ -117,14 +117,16 @@ public class PtlPcnEnumUtil { @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum RouteType { - GEN_TASK(10, "生成任务"), - OFF_TAG(20, "灭灯"); + GEN_TASK(10, "GEN_TASK", "生成任务"), + OFF_TAG(20, "OFF_TAG", "灭灯"); private int value; + private String code; private String description; - RouteType(int value, String description) { + RouteType(int value, String code, String description) { this.value = value; + this.code = code; this.description = description; } @@ -132,6 +134,10 @@ public class PtlPcnEnumUtil { return value; } + public String getCode() { + return code; + } + public String getDescription() { return description; } @@ -141,7 +147,9 @@ public class PtlPcnEnumUtil { public enum MonitorProcessMessageType { CONNECT_CONTROL(10, "CONNECT_CONTROL", "连接控制器"), DISCONNECT_CONTROL(20, "DISCONNECT_CONTROL", "断开控制器"), - LIGHT_ON_CMD(30, "LIGHT_ON_CMD", "亮灯命令"); + LIGHT_ON_CMD(30, "LIGHT_ON_CMD", "亮灯命令"), + LIGHT_OFF_CMD(40, "LIGHT_OFF_CMD", "灭灯命令"), + INTERFACE_FEEDBACK(100, "INTERFACE_FEEDBACK", "发送给界面actor通过websocket返回"); private int value; private String code; @@ -178,4 +186,59 @@ public class PtlPcnEnumUtil { } } + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum WsBusiType { + MONITOR_PROCESS(10, "MONITOR_PROCESS", "控制器相关"); + + private int value; + private String code; + private String description; + + WsBusiType(int value, String code, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + } + + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum WsDataType { + TEXT(10, "TEXT", "正常信息"), + EXP_TEXT(20, "EXP_TEXT", "异常信息"), + TABLE(30, "TABLE", "表格"); + + private int value; + private String code; + private String description; + + WsDataType(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + } + } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesNumberSerialno.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesNumberSerialno.java index 3938dbe..3be0723 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesNumberSerialno.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesNumberSerialno.java @@ -12,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Version; import java.io.Serializable; /** @@ -40,4 +41,9 @@ public class MesNumberSerialno extends BaseBean implements Serializable { @Column(name = "CURRENT_NUMBER") @ApiParam("当前编号") private String currentNumber; + + @Version + @Column(name = "LOCK_VERSION") + @ApiParam(value = "乐观锁", example = "1") + public Integer lockVersion; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkCellMonitorLog.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkCellMonitorLog.java index 3ef3027..8047c46 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkCellMonitorLog.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkCellMonitorLog.java @@ -9,10 +9,7 @@ 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 javax.persistence.*; import java.io.Serializable; /** @@ -60,6 +57,7 @@ public class MesWorkCellMonitorLog extends BaseBean implements Serializable { @ApiParam("流程") private String routeCOde; + @Lob @Column(name = "MESSAGE") @ApiParam("异常信息") private String message; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java index fe11f2f..956a931 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java @@ -27,7 +27,7 @@ import java.io.Serializable; @Table(name = "MES_WORK_ORDER", indexes = {@Index(columnList = "ORDER_NO") }, uniqueConstraints = { @UniqueConstraint(columnNames = {"ORGANIZE_CODE", "ORDER_NO", "PART_NO"}) - } +} ) @Api("生产工单") public class MesWorkOrder extends BaseBean implements Serializable { @@ -152,10 +152,10 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam("首检生成数量") private Double fiGenerateQty; -// @Version -// @Column(name = "LOCK_VERSION") -// @ApiParam(value = "乐观锁", example = "1") -// public transient Integer lockVersion; + @Version + @Column(name = "LOCK_VERSION") + @ApiParam(value = "乐观锁", example = "1") + public Integer lockVersion; /********************** 冗余字段 *********************************/ @Transient diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java index 6e3bfb8..7633f77 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java @@ -152,10 +152,10 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam("首检生成数量") private Double fiGenerateQty; -// @Version -// @Column(name = "LOCK_VERSION") -// @ApiParam(value = "乐观锁", example = "1") -// public transient Integer lockVersion; + @Version + @Column(name = "LOCK_VERSION") + @ApiParam(value = "乐观锁", example = "1") + public Integer lockVersion; /********************** 冗余字段 *********************************/ @Transient diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElement.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElement.java new file mode 100644 index 0000000..585bf28 --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElement.java @@ -0,0 +1,40 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.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/2/14 11:18 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_ELEMENT") +@EqualsAndHashCode(callSuper = true) +@Api("元素") +public class PtlElement extends BaseBean implements Serializable { + private static final long serialVersionUID = 5562337056340313246L; + + @Column(name = "ELEMENT_NO") + @ApiParam("元素代码") + private String elementNo; + + @Column(name = "ELEMENT_NAME") + @ApiParam("元素名称") + private String elementName; + + +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElementAttribute.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElementAttribute.java new file mode 100644 index 0000000..39f7d2e --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlElementAttribute.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.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/2/14 11:19 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_ELEMENT_ATTRIBUTE") +@EqualsAndHashCode(callSuper = true) +@Api("元素属性") +public class PtlElementAttribute extends BaseBean implements Serializable { + private static final long serialVersionUID = 4591354414381724731L; + + @Column(name = "ELEMENT_NO") + @ApiParam("元素代码") + private String elementNo; + + @Column(name = "ATTRIBUTE_NO") + @ApiParam("属性代码") + private String attributeNo; + + @Column(name = "ATTRIBUTE_NAME") + @ApiParam("属性名称") + private String attributeName; +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterface.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterface.java new file mode 100644 index 0000000..a32c7ee --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterface.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.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/2/14 11:15 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_INTERFACE") +@EqualsAndHashCode(callSuper = true) +@Api("界面") +public class PtlInterface extends BaseBean implements Serializable { + private static final long serialVersionUID = 5905965593463421411L; + + @Column(name = "INTERFACE_NO") + @ApiParam("界面代码") + private String interfaceNo; + + @Column(name = "INTERFACE_NAME") + @ApiParam("界面名称") + private String interfaceName; +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElement.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElement.java new file mode 100644 index 0000000..61d9af6 --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElement.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.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/2/14 11:21 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_ELEMENT_ATTRIBUTE") +@EqualsAndHashCode(callSuper = true) +@Api("界面元素") +public class PtlInterfaceElement extends BaseBean implements Serializable { + private static final long serialVersionUID = -8436630151033411240L; + + @Column(name = "INTERFACE_NO") + @ApiParam("界面代码") + private String interfaceNo; + + @Column(name = "ELEMENT_NO") + @ApiParam("元素代码") + private String elementNo; + + @Column(name = "FEEDBACK_ELEMENT") + @ApiParam("界面代码") + private String feedbackElement; +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElementAttribute.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElementAttribute.java new file mode 100644 index 0000000..8b728ca --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/bean/PtlInterfaceElementAttribute.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.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/2/14 11:22 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_INTERFACE_ELEMENT_ATTRIBUTE") +@EqualsAndHashCode(callSuper = true) +@Api("界面元素属性") +public class PtlInterfaceElementAttribute extends BaseBean implements Serializable { + private static final long serialVersionUID = 6603839514256277172L; + + @Column(name = "INTERFACE_NO") + @ApiParam("界面代码") + private String interfaceNo; + + @Column(name = "ATTRIBUTE_NO") + @ApiParam("属性代码") + private String attributeNo; + + @Column(name = "ATTRIBUTE_VALUE") + @ApiParam("属性值") + private String attributeValue; +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/AttrModel.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/AttrModel.java new file mode 100644 index 0000000..e664646 --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/AttrModel.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AttrModel implements Serializable { + + @ApiParam("属性名称") + private String attrName; + + @ApiParam("属性名称别名") + private String attrNameAlias; + +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/CommonMsgModel.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/CommonMsgModel.java index a134cc1..e244d3c 100644 --- a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/CommonMsgModel.java +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/CommonMsgModel.java @@ -26,11 +26,17 @@ public class CommonMsgModel implements Serializable { @ApiModelProperty("用户信息") private String userInfo; + @ApiModelProperty("消息类型") + private String msgType; + + @ApiModelProperty("消息数据") + private Map msgData; + @ApiModelProperty("客户端信息") private String clientInfo; - @ApiModelProperty("消息类型") - private String msgType; + @ApiModelProperty("websocket消息") + private WsResultBean wsResultBean; @ApiModelProperty("流程状态集合") private List routeStatusList; @@ -38,6 +44,4 @@ public class CommonMsgModel implements Serializable { @ApiModelProperty("当前流程状态") private PtlRouteStatus curRouteStatus; - @ApiModelProperty("消息数据") - private Map msgData; } diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/WsResultBean.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/WsResultBean.java new file mode 100644 index 0000000..4f6a724 --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/model/WsResultBean.java @@ -0,0 +1,55 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * @Description : 工位结果bean + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-24 + * @Modify: + **/ +@Data +public class WsResultBean implements Serializable { + + /** + * 根据客户端所需数据结构,约定不同数据类型,message:信息、stepList:工步列表、stepContent:工步内容、 + * moduleContent组件内容,taskComplete整个扫描完成 + */ + @ApiParam("业务类型") + private String busiType; + + /** + * 对于相同业务类型的数据,区分不同数据类型。 + * 比如:包含table-表格,text-正常文本,expText-异常文本,button-按钮, + * image-图片 + */ + @ApiParam("数据类型") + private String dataType; + + @ApiParam("执行结果信息") + private String message; + + @ApiParam("List结果集") + private List resultList; + + @ApiParam("结果对象") + private Object resultObj; + + @ApiParam("Map结果集") + public Map resultMap; + + @ApiParam("List结果集的属性") + private List dataAttrList; + + @ApiParam("图片路径") + private String imageUrl; + + @ApiParam("多个数据集") + private List> wsResultBeans; +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlElementRepository.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlElementRepository.java new file mode 100644 index 0000000..dd9031c --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlElementRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.repository; + + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.ptl.pcn.bean.PtlElement; + +/** + * @author Wynne.Lu + * @date 2020/2/12 17:41 + * @desc + */ +public interface PtlElementRepository extends BaseRepository { + +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceElementRepository.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceElementRepository.java new file mode 100644 index 0000000..ccb4caa --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceElementRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.repository; + + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.ptl.pcn.bean.PtlInterfaceElement; + +/** + * @author Wynne.Lu + * @date 2020/2/12 17:41 + * @desc + */ +public interface PtlInterfaceElementRepository extends BaseRepository { + +} diff --git a/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceRepository.java b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceRepository.java new file mode 100644 index 0000000..5478236 --- /dev/null +++ b/modules/i3plus-pojo-ptl-pcn/src/main/java/cn/estsh/i3plus/pojo/ptl/pcn/repository/PtlInterfaceRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.ptl.pcn.repository; + + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.ptl.pcn.bean.PtlInterface; + +/** + * @author Wynne.Lu + * @date 2020/2/12 17:41 + * @desc + */ +public interface PtlInterfaceRepository extends BaseRepository { + +}