diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonMessageRecord.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonMessageRecord.java new file mode 100644 index 0000000..387e5e9 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonMessageRecord.java @@ -0,0 +1,77 @@ +package cn.estsh.i3plus.pojo.andon.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil; +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 javax.persistence.Transient; + +/** + * @Description: 安灯通知记录表 + * @Reference: + * @Author: Crish + * @CreateDate:2019-11-11-14:23 + * @Modify: + **/ +@Data +@Entity +@Table(name="ANDON_MESSAGE_RECORD") +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Api("通知记录") +public class AndonMessageRecord extends BaseBean { + + @Column(name = "ANDON_ORDER_NO") + @ApiParam(value = "安灯队列编号") + private String andonOrderNo; + + @Column(name = "ALARM_CODE") + @AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description") + @ApiParam(value = "安灯类型") + private String alarmCode; + + @Column(name = "STATUS_CODE") + @AnnoOutputColumn(refClass = AndonEnumUtil.ANDON_ACTION_TAG.class,refForeignKey = "code",value = "description") + @ApiParam(value = "安灯状态代码") + private String statusCode; + + @Column(name = "RP_OBJECT_CODE") + @ApiParam(value = "通知对象代码") + private String rpObjectCode; + + @Transient + @ApiParam(value = "通知对象名称") + private String rpObjectName; + + @Column(name = "RP_CODE") + @AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_TYPE.class,refForeignKey = "value",value = "description") + @ApiParam(value = "通知方式") + private String rpCode; + + @Column(name = "RP_NAME") + @AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_TYPE.class,refForeignKey = "value",value = "description") + @ApiParam(value = "通知方式名称") + private String rpName; + + @Column(name = "RP_LEVEL") + @ApiParam(value = "通知等级") + private String rpLevel; + + @Column(name = "IS_SUCCEED") + @ApiParam(value = "成功标识") + private String isSucceed; + + @Column(name = "MEMO") + @ApiParam(value = "备注") + private String memo; +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonResponse.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonResponse.java new file mode 100644 index 0000000..fee0346 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonResponse.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.pojo.andon.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil; +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; + +/** + * @Description: + * @Reference: 通知方式 + * @Author: Crish + * @CreateDate:2019-11-11-14:23 + * @Modify: + **/ +@Data +@Entity +@Table(name="ANDON_RESPONSE") +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Api("通知方式") +public class AndonResponse extends BaseBean { + + @Column(name = "RESPONSE_CODE") + @AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_TYPE.class,refForeignKey = "value",value = "description") + @ApiParam(value = "通知方式") + private String responseCode; + + @Column(name = "RESPONSE_NAME") + @AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_TYPE.class,refForeignKey = "value",value = "description") + @ApiParam(value = "通知名称") + private String responseName; + + @Column(name = "RESPONSE_CONTENT") + @ApiParam(value = "通知内容") + private String responseContent; +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonMessageRecordRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonMessageRecordRepository.java new file mode 100644 index 0000000..5bf36cf --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonMessageRecordRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.andon.repository; + +import cn.estsh.i3plus.pojo.andon.bean.AndonMessageRecord; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @Description: + * @Reference: + * @Author: Crish + * @CreateDate:2019-11-12-14:24 + * @Modify: + **/ +@Repository +public interface IAndonMessageRecordRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonResponseRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonResponseRepository.java new file mode 100644 index 0000000..b14dd1a --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/repository/IAndonResponseRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.andon.repository; + +import cn.estsh.i3plus.pojo.andon.bean.AndonResponse; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @Description: 通知方式 + * @Reference: + * @Author: Crish + * @CreateDate:2019-11-11-15:12 + * @Modify: + **/ +@Repository +public interface IAndonResponseRepository 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 9362815..4bc0eba 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 @@ -20,7 +20,38 @@ import org.apache.commons.lang3.StringUtils; * @Modify: **/ public class AndonHqlPack { - /***************** crish 工作单元呼叫原因配置, 处理方法配置, 处理事件原因配置, 事件现象配置 Start ***********/ + + /** + * 安灯通知方式查询封装 + * @param andonResponse + * @return + */ + public static DdlPackBean getAndonResponse(AndonResponse andonResponse) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getStringEqualPack(andonResponse.getOrganizeCode(), "organizeCode", packBean); + DdlPreparedPack.getStringEqualPack(andonResponse.getResponseCode(), "responseCode", packBean); + return packBean; + } + + /** + * 安灯通知记录查询条件封装 + * @param andonMessageRecord + * @return + */ + public static DdlPackBean getAndonMessageRecord(AndonMessageRecord andonMessageRecord) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getOrganizeCode(), "organizeCode", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getAlarmCode(), "alarmCode", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getAndonOrderNo(), "andonOrderNo", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getRpCode(), "rpCode", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getRpObjectCode(), "rpObjectCode", packBean); + DdlPreparedPack.getStringEqualPack(andonMessageRecord.getStatusCode(), "statusCode", packBean); + if(StringUtils.isNotBlank(andonMessageRecord.getCreateDateTimeStart()) || StringUtils.isNotBlank(andonMessageRecord.getCreateDateTimeEnd())){ + DdlPreparedPack.timeBuilder(andonMessageRecord.getCreateDateTimeStart(), andonMessageRecord.getCreateDateTimeEnd(), "createDatetime", packBean, true); + } + return packBean; + } + /** * 工作单元呼叫原因配置查询条件封装 * @param andonCellAlarmCause @@ -137,7 +168,6 @@ public class AndonHqlPack { DdlPreparedPack.getNumEqualPack(andonQueueAttach.getIsValid(),"isValid",packBean); return packBean; } - /***************** crish 工作单元呼叫原因配置, 处理方法配置, 处理事件原因配置, 事件现象配置 End ************/ /** 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 627a36c..46733f3 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 @@ -12,8 +12,78 @@ import org.apache.commons.lang3.StringUtils; **/ public class AndonEnumUtil { /** + * 成功失败标识 + * + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ANDON_SUCCESS_FLAG{ + SUCCESS(1, "1","成功"), + FAIL(2, "2","失败"); + + private int value; + private String code; + private String description; + + ANDON_SUCCESS_FLAG(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; + } + + 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; + } + + public static String codeOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (StringUtils.equalsIgnoreCase(values()[i].code, val)) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static int descriptionOfValue(String val) { + int tmp = -1; + for (int i = 0; i < values().length; i++) { + if (StringUtils.equalsIgnoreCase(values()[i].description, val)) { + tmp = values()[i].value; + } + } + return tmp; + } + + public static String descriptionOfCode(String val) { + String tmp = ""; + for (int i = 0; i < values().length; i++) { + if (StringUtils.equalsIgnoreCase(values()[i].description, val)) { + tmp = values()[i].code; + } + } + return tmp; + } + } + + /** * 通知超时标识 - * 10 - 一级,20 - 二级,30 - 三级 + * */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum NOTICE_OVER_TIME_FLAG{ @@ -62,9 +132,17 @@ public class AndonEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum BROADCAST_CUSTOM_CONDITION { - CALL("{A}","workCenterCode","产线"), - SIGN("{B}","workCellCode","工位"), - RESOLVE("{C}","alarmCode","安灯类型"); + LINE("{A}","workCenterCode","产线代码"), + LINE_NAME("{B}","workCenterName","产线名称"), + CELL("{C}","workCellCode","工位代码"), + CELL_NAME("{D}","workCellName","工位名称"), + ALARM_CODE("{E}","alarmCode","安灯类型代码"), + ALARM_NAME("{F}","alarmName","安灯类型名称"), + CALL_USER("{G}","callUser","呼叫人名称"), + ALARM_DETAIL("{H}","alarmDetailCode","安灯子类型"), + ALARM_DETAIL_NAME("{L}","alarmDetailNameRdd","安灯子类型名称"), + AC_CODE("{J}","acCode","事件描述代码"), + AC_NAME("{K}","acNameRdd","事件描述名称"); private String value; private String code;