From 63600ab90ceb6c155e3b3797605402301d4c4e19 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 29 Oct 2025 20:10:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(production):=20=E6=96=B0=E5=A2=9E=E5=AE=89?= =?UTF-8?q?=E7=81=AF=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 AndonRule 实体类,定义安灯规则配置对象及其属性和方法 - 新增安灯看板配置、事件、派工记录、操作日志等 API 接口- 新增安灯看板配置页面,支持增删改查及位产线、工下拉选择- 新增安灯事件管理页面,支持事件查询、导出及状态展示 - 实现安灯事件的确认、处理、完成和取消等操作接口调用 - 添加相关字典数据支持,如触发源类型、事件状态、是否有效等 - 隐藏部分非必要搜索和展示字段,优化用户操作体验- 安灯事件数据保留用于统计分析,不支持直接删除- 完善表单校验规则,确保核心字段如看板编码、名称等必填 - 提供刷新间隔、展示字段等看板配置项,支持个性化配置 --- .../aucma/production/domain/AndonRule.java | 257 ++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 aucma-production/src/main/java/com/aucma/production/domain/AndonRule.java diff --git a/aucma-production/src/main/java/com/aucma/production/domain/AndonRule.java b/aucma-production/src/main/java/com/aucma/production/domain/AndonRule.java new file mode 100644 index 0000000..88da43f --- /dev/null +++ b/aucma-production/src/main/java/com/aucma/production/domain/AndonRule.java @@ -0,0 +1,257 @@ +package com.aucma.production.domain; + +import com.aucma.common.annotation.Excel; +import com.aucma.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 安灯规则配置对象 andon_rule + * + * @author Yinq + * @date 2025-10-28 + */ +public class AndonRule extends BaseEntity + { +private static final long serialVersionUID=1L; + + /** 主键ID */ + private Long ruleId; + + /** 规则名称 */ + @Excel(name = "规则名称") + private String ruleName; + + /** 呼叫类型编码 */ + @Excel(name = "呼叫类型编码") + private String callTypeCode; + + /** 适用产线编码 */ + @Excel(name = "适用产线编码") + private String productLineCode; + + /** 适用工位/工序编码 */ + @Excel(name = "适用工位/工序编码") + private String stationCode; + + /** 适用班组编码 */ + @Excel(name = "适用班组编码") + private String teamCode; + + /** 限定触发源类型(可选) */ + @Excel(name = "限定触发源类型", readConverterExp = "可=选") + private String sourceType; + + /** 确认时限(分钟) */ + @Excel(name = "确认时限", readConverterExp = "分=钟") + private Long ackTimeoutMin; + + /** 解决时限(分钟) */ + @Excel(name = "解决时限", readConverterExp = "分=钟") + private Long resolveTimeoutMin; + + /** 默认优先级(数值越小越高) */ + @Excel(name = "默认优先级", readConverterExp = "数=值越小越高") + private Long priorityDefault; + + /** 通知角色(逗号分隔,角色编码) */ + @Excel(name = "通知角色", readConverterExp = "逗=号分隔,角色编码") + private String notifyRoles; + + /** 通知用户(逗号分隔,用户ID) */ + @Excel(name = "通知用户", readConverterExp = "逗=号分隔,用户ID") + private String notifyUsers; + + /** 升级链(如 1>2>3) */ + @Excel(name = "升级链", readConverterExp = "如=,1=>2>3") + private String escalateLevels; + + /** 生效开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "生效开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date effectiveBeginTime; + + /** 生效结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "生效结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date effectiveEndTime; + + /** 是否有效(1有效/0无效) */ + @Excel(name = "是否有效", readConverterExp = "1=有效/0无效") + private String isFlag; + + public void setRuleId(Long ruleId) + { + this.ruleId = ruleId; + } + + public Long getRuleId() + { + return ruleId; + } + public void setRuleName(String ruleName) + { + this.ruleName = ruleName; + } + + public String getRuleName() + { + return ruleName; + } + public void setCallTypeCode(String callTypeCode) + { + this.callTypeCode = callTypeCode; + } + + public String getCallTypeCode() + { + return callTypeCode; + } + public void setProductLineCode(String productLineCode) + { + this.productLineCode = productLineCode; + } + + public String getProductLineCode() + { + return productLineCode; + } + public void setStationCode(String stationCode) + { + this.stationCode = stationCode; + } + + public String getStationCode() + { + return stationCode; + } + public void setTeamCode(String teamCode) + { + this.teamCode = teamCode; + } + + public String getTeamCode() + { + return teamCode; + } + public void setSourceType(String sourceType) + { + this.sourceType = sourceType; + } + + public String getSourceType() + { + return sourceType; + } + public void setAckTimeoutMin(Long ackTimeoutMin) + { + this.ackTimeoutMin = ackTimeoutMin; + } + + public Long getAckTimeoutMin() + { + return ackTimeoutMin; + } + public void setResolveTimeoutMin(Long resolveTimeoutMin) + { + this.resolveTimeoutMin = resolveTimeoutMin; + } + + public Long getResolveTimeoutMin() + { + return resolveTimeoutMin; + } + public void setPriorityDefault(Long priorityDefault) + { + this.priorityDefault = priorityDefault; + } + + public Long getPriorityDefault() + { + return priorityDefault; + } + public void setNotifyRoles(String notifyRoles) + { + this.notifyRoles = notifyRoles; + } + + public String getNotifyRoles() + { + return notifyRoles; + } + public void setNotifyUsers(String notifyUsers) + { + this.notifyUsers = notifyUsers; + } + + public String getNotifyUsers() + { + return notifyUsers; + } + public void setEscalateLevels(String escalateLevels) + { + this.escalateLevels = escalateLevels; + } + + public String getEscalateLevels() + { + return escalateLevels; + } + public void setEffectiveBeginTime(Date effectiveBeginTime) + { + this.effectiveBeginTime = effectiveBeginTime; + } + + public Date getEffectiveBeginTime() + { + return effectiveBeginTime; + } + public void setEffectiveEndTime(Date effectiveEndTime) + { + this.effectiveEndTime = effectiveEndTime; + } + + public Date getEffectiveEndTime() + { + return effectiveEndTime; + } + public void setIsFlag(String isFlag) + { + this.isFlag = isFlag; + } + + public String getIsFlag() + { + return isFlag; + } + +@Override +public String toString(){ + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("ruleId",getRuleId()) + .append("ruleName",getRuleName()) + .append("callTypeCode",getCallTypeCode()) + .append("productLineCode",getProductLineCode()) + .append("stationCode",getStationCode()) + .append("teamCode",getTeamCode()) + .append("sourceType",getSourceType()) + .append("ackTimeoutMin",getAckTimeoutMin()) + .append("resolveTimeoutMin",getResolveTimeoutMin()) + .append("priorityDefault",getPriorityDefault()) + .append("notifyRoles",getNotifyRoles()) + .append("notifyUsers",getNotifyUsers()) + .append("escalateLevels",getEscalateLevels()) + .append("effectiveBeginTime",getEffectiveBeginTime()) + .append("effectiveEndTime",getEffectiveEndTime()) + .append("isFlag",getIsFlag()) + .append("remark",getRemark()) + .append("createBy",getCreateBy()) + .append("createTime",getCreateTime()) + .append("updateBy",getUpdateBy()) + .append("updateTime",getUpdateTime()) + .toString(); + } + }