feat(production): 新增安灯模块

- 新增 AndonRule 实体类,定义安灯规则配置对象及其属性和方法
- 新增安灯看板配置、事件、派工记录、操作日志等 API 接口- 新增安灯看板配置页面,支持增删改查及位产线、工下拉选择- 新增安灯事件管理页面,支持事件查询、导出及状态展示
- 实现安灯事件的确认、处理、完成和取消等操作接口调用
- 添加相关字典数据支持,如触发源类型、事件状态、是否有效等
- 隐藏部分非必要搜索和展示字段,优化用户操作体验- 安灯事件数据保留用于统计分析,不支持直接删除- 完善表单校验规则,确保核心字段如看板编码、名称等必填
- 提供刷新间隔、展示字段等看板配置项,支持个性化配置
master
zangch@mesnac.com 2 months ago
parent 2584433878
commit 63600ab90c

@ -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();
}
}
Loading…
Cancel
Save