diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonConfig.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonConfig.java index c2aa413..9a27fa0 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonConfig.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonConfig.java @@ -38,30 +38,47 @@ public class AndonConfig extends BaseBean implements Serializable { @ApiParam(value ="名称") private String name; - @Column(name="CONFIG_TYPE") - @ApiParam(value ="参数类型ID(枚举:1.系统配置...)" , example ="-1") - private Integer configType; - @Column(name="CONFIG_CODE") @ApiParam(value ="参数代码") private String configCode; - // 枚举 ImppEnumUtil.SYS_CONFIG_GROUP - @Column(name="CONFIG_GROUP") - @ApiParam(value ="参数组") - private Integer configGroup; + @Column(name="CONFIG_DESCRIPTION") + @ApiParam(value ="参数描述") + private String configDescription; + + @Column(name="CONFIG_KEY") + @ApiParam(value ="参数键") + private String configKey; + + @Column(name="CONFIG_KEY_NAME") + @ApiParam(value ="参数键描述") + private String configKeyName; - // 枚举 ImppEnumUtil.SYS_VALUE_TYPE @Column(name="CONFIG_VALUE_TYPE") @ApiParam(value ="参数值类型") private String configValueType; + @Column(name="CONFIG_VALUE_TYPE_NAME") + @ApiParam(value ="参数值类型描述") + private String configValueTypeName; + @Column(name="CONFIG_VALUE") @ApiParam(value ="参数值") private String configValue; - @Column(name="CONFIG_DESCRIPTION") - @ApiParam(value ="参数描述") - private String configDescription; + @Column(name="CONFIG_VALUE_DESC") + @ApiParam(value ="参数值描述") + private String configValueDesc; + + //******以下不用了******* + @Column(name="CONFIG_TYPE") + @ApiParam(value ="参数类型ID(枚举:1.系统配置...)" , example ="-1") + private Integer configType; + + // 枚举 ImppEnumUtil.SYS_CONFIG_GROUP + @Column(name="CONFIG_GROUP") + @ApiParam(value ="参数组") + private Integer configGroup; + } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonManageRouteErrorRecord.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonManageRouteErrorRecord.java new file mode 100644 index 0000000..1794089 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonManageRouteErrorRecord.java @@ -0,0 +1,92 @@ +package cn.estsh.i3plus.pojo.andon.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.*; +import java.io.Serializable; + +/** + * @author wangjie + * @date 2020/2/12 17:41 + * @desc + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "ANDON_MANAGE_ROUTE_ERROR_RECORD", indexes = { + @Index(columnList = "WORK_CENTER_CODE"), + @Index(columnList = "WORK_CELL_CODE"), + @Index(columnList = "WORK_CENTER_CODE, WORK_CELL_CODE"), + @Index(columnList = "ANDON_ORDER_NO"), + @Index(columnList = "MSG_TYPE"), + @Index(columnList = "WORK_CENTER_CODE, WORK_CELL_CODE, ANDON_ORDER_NO"), + @Index(columnList = "WORK_CENTER_CODE, WORK_CELL_CODE, HANDLE_STATUS") +}) +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Api("安灯作业流程异常记录") +public class AndonManageRouteErrorRecord extends BaseBean implements Serializable { + + private static final long serialVersionUID = 2037562788825472674L; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam(value = "工作中心") + public String workCenterCode; + + @Column(name = "WORK_CELL_CODE") + @ApiParam(value = "工作单元") + public String workCellCode; + + @Column(name = "ALARM_CODE") + @ApiParam(value = "安灯类型") + public String alarmCode; + + @Column(name = "ALARM_DETAIL_CODE") + @ApiParam(value = "安灯子类型编码") + private String alarmDetailCode; + + @Column(name = "SOURCE_TYPE") + @ApiParam(value = "安灯来源类型") + private String sourceType; + + @Column(name = "ALARM_STATUS") + @ApiParam(value = "安灯事件") + public String alarmStatus; + + @Column(name = "ALARM_STATUS_NAME") + @ApiParam(value = "安灯事件名称") + public String alarmStatusName; + + @Lob + @Column(name = "ERROR_DESC") + @ApiParam(value = "异常描述") + public String errorDesc; + + @Column(name = "MSG_TYPE") + @ApiParam(value = "信息类型") + private String msgType; + + @Column(name = "ANDON_ORDER_NO") + @ApiParam(value = "安灯队列编号") + public String andonOrderNo; + + @Column(name = "FSM_CACHED_KEY") + @ApiParam(value = "缓存KEY") + private String fsmCachedKey; + + @Column(name = "HANDLE_STATUS") + @ApiParam(value = "处理状态") + private Integer handleStatus; + + @Column(name = "ALARM_ERROR_TIME") + @ApiParam("安灯异常时间") + public String alarmErrorTime; + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonManageRouteErrorRecordModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonManageRouteErrorRecordModel.java new file mode 100644 index 0000000..bf54e47 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonManageRouteErrorRecordModel.java @@ -0,0 +1,36 @@ +package cn.estsh.i3plus.pojo.andon.model; + +import cn.estsh.i3plus.pojo.andon.bean.AndonManageRouteErrorRecord; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author wangjie + * @date 2020/2/12 17:41 + * @desc + */ +@Data +@ApiModel("安灯作业流程异常记录model") +public class AndonManageRouteErrorRecordModel extends AndonManageRouteErrorRecord implements Serializable { + + private static final long serialVersionUID = -3351535059161071801L; + + @ApiParam("安灯类型名称") + private String alarmName; + + @ApiParam(value = "安灯子类型名称") + private String alarmDetailName; + + @ApiParam(value = "安灯来源类型") + private String sourceTypeName; + + @ApiParam(value = "信息类型") + private String msgTypeName; + + @ApiParam(value = "处理状态") + private String handleStatusName; + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonStatusInterfaceCfgModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonStatusInterfaceCfgModel.java new file mode 100644 index 0000000..18fd5bb --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/AndonStatusInterfaceCfgModel.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.andon.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author wangjie + * @date 2020/2/12 17:41 + * @desc + */ +@Data +@ApiModel("安灯事件界面配置MODEL") +public class AndonStatusInterfaceCfgModel implements Serializable { + + private static final long serialVersionUID = -4504617079257753276L; + + @ApiParam("界面代码") + private String value; + + @ApiParam("界面名称") + private String description; + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/FsmModel.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/FsmModel.java new file mode 100644 index 0000000..1c5d24a --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/FsmModel.java @@ -0,0 +1,75 @@ +package cn.estsh.i3plus.pojo.andon.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author wangjie + * @date 2020/2/12 17:41 + * @desc + */ + +@Data +@ApiModel("状态点model") +public class FsmModel implements Serializable { + + private static final long serialVersionUID = -6578122778434730384L; + + @ApiParam("流程代码") + private String routeCode; + + @ApiParam("状态代码") + private String statusCode; + + @ApiParam("状态名称") + private String statusName; + + @ApiParam("下一状态") + private String nextStatus; + + @ApiParam("触发类型") + private Integer triggerType; + + @ApiParam("触发事件") + private String triggerEvent; + + @ApiParam("触发条件(MVEL)") + private String triggerWhere; + + @ApiParam("触发调用") + private Long actionAmgId; + + @ApiParam("进入状态调用") + private Long inAmgId; + + @ApiParam("离开状态调用") + private Long outAmgId; + + @ApiParam("状态类型") + private Integer statusType; + + @ApiParam("安灯类型代码") + private String alarmCode; + + @ApiParam("工作中心代码") + private String workCenterCode; + + @ApiParam("流程类型") + private Integer routeType; + + @ApiParam("界面编号") + private String interfaceNo; + + @ApiParam("安灯流程ID") + private Long alarmRouteId; + + @ApiParam("进入触发方法时默认不需要校验外部触发") + private boolean checkTriggerTypeFalg = false; + + @ApiParam("下个触发事件") + private String nextTriggerEvent; + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBean.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBean.java new file mode 100644 index 0000000..ac70dd0 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBean.java @@ -0,0 +1,44 @@ +package cn.estsh.i3plus.pojo.andon.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description : 工位请求bean + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-04-19 + * @Modify: + **/ +@Data +public class StationRequestBean extends StationRequestBeanAb implements Serializable { + + private static final long serialVersionUID = -3122891627710528829L; + + @Override + public String toString() { + return "StationRequestBean{" + + "actorReceiveStrategyClass='" + get(actorReceiveStrategyClass) + '\'' + + ", stationRequestBeanAbClass='" + get(stationRequestBeanAbClass) + '\'' + + ", fsmCachedKey='" + get(fsmCachedKey) + '\'' + + ", organizeCode='" + get(organizeCode) + '\'' + + ", userInfo='" + get(userInfo) + '\'' + + ", msgType='" + get(msgType) + '\'' + + ", areaCode='" + get(areaCode) + '\'' + + ", workCenterCode='" + get(workCenterCode) + '\'' + + ", workCellCode='" + get(workCellCode) + '\'' + + ", alarmCode='" + get(alarmCode) + '\'' + + ", sourceType='" + get(sourceType) + '\'' + + ", alarmDetailCode='" + get(alarmDetailCode) + '\'' + + ", andonOrderNo='" + get(andonOrderNo) + '\'' + + ", msgData=" + get(msgData) + + ", fsmList=" + get(fsmList) + + ", curFsm=" + get(curFsm) + + ", triggerEvent='" + get(triggerEvent) + '\'' + + ", alarmErrorTime='" + get(alarmErrorTime) + '\'' + + '}'; + } + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBeanAb.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBeanAb.java new file mode 100644 index 0000000..5035598 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/model/StationRequestBeanAb.java @@ -0,0 +1,91 @@ +package cn.estsh.i3plus.pojo.andon.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description : 工位请求bean + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-04-19 + * @Modify: + **/ +@Data +public abstract class StationRequestBeanAb implements Serializable { + + private static final long serialVersionUID = -8537547029096794087L; + + @ApiParam("ACTOR接收策略类名") + public String actorReceiveStrategyClass; + + @ApiParam("工位请求bean子类") + public String stationRequestBeanAbClass; + + @ApiParam("缓存数据KEY") + public String fsmCachedKey; + + @ApiParam("组织代码") + public String organizeCode; + + @ApiParam("用户信息") + public String userInfo; + + @ApiParam("消息类型") + public String msgType; + + @ApiParam("区域代码") + public String areaCode; + + @ApiParam("工作中心代码") + public String workCenterCode; + + @ApiParam("工作单元代码") + public String workCellCode; + + @ApiParam(value = "安灯类型") + public String alarmCode; + + @ApiParam(value = "安灯来源类型") + public String sourceType; + + @ApiParam(value = "安灯子类型编码") + public String alarmDetailCode; + + @ApiParam(value = "安灯队列编号") + public String andonOrderNo; + + @ApiParam(value = "安灯事件") + public String alarmStatus; + + @ApiParam(value = "安灯事件名称(呼叫 响应 解决 撤销 等)") + public String alarmStatusName; + + @ApiParam("消息数据") + public Map msgData = new HashMap<>(); + + @ApiParam("流程状态集合") + public List fsmList; + + @ApiParam("当前流程状态") + public FsmModel curFsm; + + @ApiParam("当前触发事件") + public String triggerEvent; + + @ApiParam("安灯异常时间") + public String alarmErrorTime; + + public String get(Object obj) { + if (null == obj) { + return ""; + } else { + return obj.toString(); + } + } + +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonManageRouteErrorRecordRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonManageRouteErrorRecordRepository.java new file mode 100644 index 0000000..37161d4 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonManageRouteErrorRecordRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.andon.repository; + +import cn.estsh.i3plus.pojo.andon.bean.AndonManageRouteErrorRecord; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-04-02 + * @Modify: + **/ +@Repository +public interface IAndonManageRouteErrorRecordRepository extends BaseRepository { +} 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 0a111a3..9162515 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 @@ -1114,4 +1114,18 @@ public class AndonHqlPack { getStringBuilderPack(andonPlcColorCfg, result); return result; } + + /** + * 安灯异常记录 + * @param record + * @param organizeCode + * @return + */ + public static DdlPackBean getAndonManageRouteErrorRecord(AndonManageRouteErrorRecord record, String organizeCode) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(record.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(record.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getStringLikerPack(record.getAndonOrderNo(), "andonOrderNo", packBean); + return packBean; + } } 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 5e86d59..8e6be1e 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 @@ -1679,4 +1679,83 @@ public class AndonEnumUtil { return tmp; } } + + /** + * redis过期时间 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum EXPIRE_TIME { + + NEVER(-1, "不过期"), + ONE_HOUR(3600, "一小时"), + FIVE_MINS(300, "5分钟"), + HALF_HOUR(1800, "半小时"), + ONE_QUARTER(900, "一刻钟"), + ONE_MIN(60, "一分钟"); + + private int value; + private String description; + + EXPIRE_TIME(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 FSM_ERROR_MSG_TYPE { + + USER("10", "用户"), + SYS("20", "系统"); + + private String value; + private String description; + + FSM_ERROR_MSG_TYPE(String value, String description) { + this.value = value; + this.description = description; + } + + public String 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; + } + + } + }