diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatus.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatus.java index 8367100..c74a432 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatus.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatus.java @@ -85,27 +85,27 @@ public class AndonRouteStatus extends BaseBean implements Serializable { private Long alarmRouteId; @Transient - @ApiParam("默认不缓存") + @ApiParam("状态机异常时默认不缓存") private boolean cacheFlag = false; @Transient - @ApiParam("触发组件集默认未执行") + @ApiParam("当前状态点的触发组件集默认未执行") private boolean actionAmgIdFalg = false; @Transient - @ApiParam("触发类型默认不需要外部触发") + @ApiParam("进入触发方法时默认不需要校验外部触发") private boolean checkTriggerTypeFalg = false; @Transient - @ApiParam("组件执行完成根据业务设置下个触发事件,如果是外部告知下个触发事件则设置null,一个组件集执行完毕后这个值赋给CommonMsgModel的triggerEvent") + @ApiParam("每个组件执行完成根据业务设置下个触发事件,如果需要外部告知下个触发事件则设置null,一个组件集执行完毕后将这个值赋给CommonMsgModel的triggerEvent") private String nextTriggerEvent; @Transient - @ApiParam("默认继续执行下个组件,当组件集中一个组件根据业务需要跳出去进去下个状态点,则设置未false,同时配置下个状态点的触发事件nextTriggerEvent") + @ApiParam("在一个组件集中默认继续执行下一个组件,当组件集中一个组件执行失败或者根据业务需要跳出去进去下个状态点,则设置未false(即这个组件集中剩余的组件停止执行),同时配置下个状态点的触发事件nextTriggerEvent") private boolean execNextModuleFlag = true; @Transient - @ApiParam("默认异常未处理") + @ApiParam("默认异常未处理,业务异常抛出后,如果需要缓存,则设置cacheFlag为true,因为会被catch捕获,所以这里需要设置为true,避免异常重复被处理") private boolean doErrorFlag = false; } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatusErrorRecord.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatusErrorRecord.java index fcbecc0..153b1ad 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatusErrorRecord.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonRouteStatusErrorRecord.java @@ -50,7 +50,7 @@ public class AndonRouteStatusErrorRecord extends BaseBean implements Serializabl public String workCenterCode; @Column(name = "WORK_CELL_CODE") - @ApiParam(value = "工作中心") + @ApiParam(value = "工作单元") public String workCellCode; @Column(name = "ALARM_CODE") @@ -65,9 +65,16 @@ public class AndonRouteStatusErrorRecord extends BaseBean implements Serializabl @ApiParam(value = "缓存标识") private Integer cacheFlag; - @Lob - @Column(name = "CONTENT") - @ApiParam(value = "内容") - private String content; + @Column(name = "CACHE_KEY") + @ApiParam(value = "缓存KEY") + private String cacheKey; + + @Column(name = "HANDLE_TYPE") + @ApiParam(value = "处理方式") + private Integer handleType; + + @Column(name = "HANDLE_STATUS") + @ApiParam(value = "处理状态") + private Integer handleStatus; } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/CommonMsgModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/CommonMsgModel.java index 85f3f30..8efdfa3 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/CommonMsgModel.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/CommonMsgModel.java @@ -42,4 +42,10 @@ public class CommonMsgModel implements Serializable { @ApiModelProperty("触发事件") private String triggerEvent; + @ApiModelProperty("缓存KEY") + private String cacheKey; + + @ApiModelProperty("默认非异常内部处理,内部异常处理是设置为true") + private boolean errorInnerAction = false; + } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java index c8eddfd..b30f6cd 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/sqlpack/AndonHqlPack.java @@ -97,6 +97,7 @@ public class AndonHqlPack { DdlPreparedPack.getStringEqualPack(andonMessageRecord.getRpLevel(), "rpLevel", packBean); DdlPreparedPack.getStringEqualPack(andonMessageRecord.getRpObjectCode(), "rpObjectCode", packBean); DdlPreparedPack.getStringEqualPack(andonMessageRecord.getStatusCode(), "statusCode", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getIsSucceed(), "isSucceed", packBean); if(!StringUtils.isEmpty(andonMessageRecord.getCreateDateTimeStart()) || !StringUtils.isEmpty(andonMessageRecord.getCreateDateTimeEnd())){ DdlPreparedPack.timeBuilder(andonMessageRecord.getCreateDateTimeStart(), andonMessageRecord.getCreateDateTimeEnd(), "createDatetime", packBean, true); } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java index bddd84b..c2732ee 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java @@ -13,6 +13,83 @@ import org.apache.commons.lang3.StringUtils; public class AndonEnumUtil { /** + * 状态机异常处理方式 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ROUTE_STATUS_ERROR_RECORD_HANDLE_TYPE { + INNER(10, "内部处理"), + OUTER(20, "外部处理"), + REVIEW(30, "人工审核"); + + private int value; + private String description; + + ROUTE_STATUS_ERROR_RECORD_HANDLE_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 状态机异常处理状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ROUTE_STATUS_ERROR_RECORD_HANDLE_STATUS { + TRUE(10, "已处理"), + FALSE(20, "未处理"); + + private int value; + private String description; + + ROUTE_STATUS_ERROR_RECORD_HANDLE_STATUS(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 状态机异常缓存标识 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ROUTE_STATUS_ERROR_RECORD_CACHE_FLAG { + FALSE(10, "否"), + TRUE(20, "是"), + ORIGINAL(30, "原先"); + + private int value; + private String description; + + ROUTE_STATUS_ERROR_RECORD_CACHE_FLAG(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** * 状态机执行方法 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlEnumUtil.java index 34baf30..128e322 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/PtlEnumUtil.java @@ -14,14 +14,14 @@ public class PtlEnumUtil { * 流程状态-触发类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum TRIGGER_TYPE { + public enum ROUTE_STATUS_TRIGGER_TYPE { INNER_TRIGGER(10, "内部触发"), OUTER_TRIGGER(20, "外部触发"); private int value; private String description; - TRIGGER_TYPE(int value, String description) { + ROUTE_STATUS_TRIGGER_TYPE(int value, String description) { this.value = value; this.description = description; } @@ -73,17 +73,16 @@ public class PtlEnumUtil { * 组件状态类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum STATUS_TYPE { + public enum ROUTE_STATUS_TYPE { START(10, "START", "开始状态"), EXECUTING(20, "EXECUTING", "执行中状态"), - TERMINATE(30, "TERMINATE", "中断状态"), - FINISH(40, "FINISH", "完成状态"); + FINISH(30, "FINISH", "完成状态"); private int value; private String code; private String description; - STATUS_TYPE(int value, String code, String description) { + ROUTE_STATUS_TYPE(int value, String code, String description) { this.value = value; this.code = code; this.description = description; 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 4ae9867..8791cb5 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 @@ -654,14 +654,14 @@ public class PtlPcnEnumUtil { * 流程状态-触发类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum TRIGGER_TYPE { + public enum ROUTE_STATUS_TRIGGER_TYPE { INNER_TRIGGER(10, "内部触发"), OUTER_TRIGGER(20, "外部触发"); private int value; private String description; - TRIGGER_TYPE(int value, String description) { + ROUTE_STATUS_TRIGGER_TYPE(int value, String description) { this.value = value; this.description = description; } @@ -931,17 +931,16 @@ public class PtlPcnEnumUtil { * 组件状态类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum STATUS_TYPE { + public enum ROUTE_STATUS_TYPE { START(10, "START", "开始状态"), EXECUTING(20, "EXECUTING", "执行中状态"), - TERMINATE(30, "TERMINATE", "中断状态"), - FINISH(40, "FINISH", "完成状态"); + FINISH(30, "FINISH", "完成状态"); private int value; private String code; private String description; - STATUS_TYPE(int value, String code, String description) { + ROUTE_STATUS_TYPE(int value, String code, String description) { this.value = value; this.code = code; this.description = description; diff --git a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatus.java b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatus.java index aea73c0..d81607b 100644 --- a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatus.java +++ b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatus.java @@ -85,8 +85,20 @@ public class PtlRouteStatus extends BaseBean implements Serializable { private boolean actionAmgIdFalg = false; @Transient - @ApiParam("触发组件集默认未执行") + @ApiParam("触发类型默认不需要外部触发") private boolean checkTriggerTypeFalg = false; + @Transient + @ApiParam("组件执行完成根据业务设置下个触发事件,如果是外部告知下个触发事件则设置null,一个组件集执行完毕后这个值赋给CommonMsgModel的triggerEvent") + private String nextTriggerEvent; + + @Transient + @ApiParam("默认继续执行下个组件,当组件集中一个组件根据业务需要跳出去进去下个状态点,则设置未false,同时配置下个状态点的触发事件nextTriggerEvent") + private boolean execNextModuleFlag = true; + + @Transient + @ApiParam("默认异常未处理") + private boolean doErrorFlag = false; + } diff --git a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatusErrorRecord.java b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatusErrorRecord.java new file mode 100644 index 0000000..ec94e86 --- /dev/null +++ b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/bean/PtlRouteStatusErrorRecord.java @@ -0,0 +1,64 @@ +package cn.estsh.i3plus.pojo.ptl.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.Lob; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @author wangjie + * @date 2020/2/12 17:41 + * @desc + */ + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "PTL_ROUTE_STATUS_ERROR_RECORD") +@EqualsAndHashCode(callSuper = true) +@Api("流程状态异常记录") +public class PtlRouteStatusErrorRecord extends BaseBean implements Serializable { + + private static final long serialVersionUID = 4507582337334278877L; + + @Column(name = "ROUTE_CODE") + @ApiParam("流程代码") + private String routeCode; + + @Column(name = "STATUS_CODE") + @ApiParam("状态代码") + private String statusCode; + + @Column(name = "TASK_NO") + @ApiParam("主任务编号") + private String taskNo; + + @Column(name = "ERROR_DESC") + @ApiParam(value = "失败描述") + public String errorDesc; + + @Column(name = "AREA_NO") + @ApiParam("区域代码") + private String areaNo; + + @Column(name = "CACHE_FLAG") + @ApiParam(value = "缓存标识") + private Integer cacheFlag; + + @Lob + @Column(name = "CONTENT") + @ApiParam(value = "内容") + private String content; + +} diff --git a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/model/CommonMsgModel.java b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/model/CommonMsgModel.java index 3de028f..c079dc1 100644 --- a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/model/CommonMsgModel.java +++ b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/model/CommonMsgModel.java @@ -1,6 +1,5 @@ package cn.estsh.i3plus.pojo.ptl.model; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.ptl.bean.PtlRouteStatus; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -31,9 +30,6 @@ public class CommonMsgModel implements Serializable { @ApiModelProperty("消息类型") private String msgType; - @ApiModelProperty("是否重试") - private Integer isRestart= CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(); - @ApiModelProperty("消息数据") private Map msgData; @@ -52,4 +48,7 @@ public class CommonMsgModel implements Serializable { @ApiModelProperty("外部触发事件") private String triggerEvent; + @ApiModelProperty("流程类型") + private Integer routeType; + } diff --git a/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/repository/PtlRouteStatusErrorRecordRepository.java b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/repository/PtlRouteStatusErrorRecordRepository.java new file mode 100644 index 0000000..2e89209 --- /dev/null +++ b/modules/i3plus-pojo-ptl/src/main/java/cn/estsh/i3plus/pojo/ptl/repository/PtlRouteStatusErrorRecordRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.ptl.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.ptl.bean.PtlRouteStatusErrorRecord; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Repository +public interface PtlRouteStatusErrorRecordRepository extends BaseRepository { +}