package com.jeesite.modules.mes.entity; import com.fasterxml.jackson.annotation.JsonFormat; import com.jeesite.common.collect.ListUtils; import com.jeesite.common.entity.DataEntity; import com.jeesite.common.mybatis.annotation.Column; import com.jeesite.common.mybatis.annotation.JoinTable; import com.jeesite.common.mybatis.annotation.Table; import com.jeesite.common.utils.excel.annotation.ExcelField; import com.jeesite.common.utils.excel.annotation.ExcelFields; import javax.validation.constraints.Size; import java.util.Date; import java.util.List; /** * 返工记录表Entity * @author mes * @version 2023-12-04 */ @Table(name="mes_repair", alias="a", label="返工记录表信息", columns={ @Column(name="id", attrName="id", label="id", isPK=true), @Column(name="sn", attrName="sn", label="工件号"), @Column(name="fx_oprno", attrName="fxOprno", label="返修工位"), @Column(name="oprno", attrName="oprno", label="责任工位"), @Column(name="return_oprno", attrName="returnOprno", label="返回工位"), @Column(name="sops", attrName="sops", label="选择的修复方案", isQuery=false), @Column(name="state", attrName="state", label="状态"), @Column(name="remark", attrName="remark", label="备注"), @Column(name="result", attrName="result", label="结果"), @Column(name="fx_by", attrName="fxBy", label="返修人"), @Column(name="ngid", attrName="ngid", label="ng记录id"), @Column(name="type", attrName="type", label="返工类型"), @Column(name="item_id", attrName="itemId", label="白名单"), @Column(name="line_sn", attrName="lineSn", label="产线编号"), @Column(name="fx_date", attrName="fxDate", label="返修时间", isUpdateForce=true), @Column(name="check_by", attrName="checkBy", label="检查人"), @Column(name="check_date", attrName="checkDate", label="检查时间", isUpdateForce=true), @Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false), @Column(name="create_date", attrName="createDate", label="创建日期", isUpdate=false, isQuery=false, isUpdateForce=true), @Column(name="update_by", attrName="updateBy", label="update_by", isQuery=false), @Column(name="update_date", attrName="updateDate", label="update_date", isQuery=false, isUpdateForce=true), }, joinTable={ @JoinTable(type= JoinTable.Type.LEFT_JOIN, entity=MesRepairItems.class, attrName="this", alias="b", on="b.id = a.item_id", columns={ @Column(name="title", attrName="itemTitle", label="返工白名单"), @Column(name="introduction", attrName="itemIntroduction", label="返工动作简要介绍"), @Column(name="return_oprno", attrName="returnOprno", label="回归工位"), }), }, orderBy="a.update_date DESC" ) public class MesRepair extends DataEntity { private static final long serialVersionUID = 1L; private String sn; // 工件号 private String fxOprno; // 返修工位 private String title; private String oprno; // 责任工位 private String sops; // 选择的修复方案 private String state; // 状态 private String lineSn; private String remark; // 备注 private String result; // 结果 private String fxBy; // 返修人 private Date fxDate; // 返修时间 private String checkBy; // 检查人 private Date checkDate; // 检查时间 private String ngid; private String type; private String itemId; private String itemTitle; private String itemIntroduction; private String returnOprno; private List sopList = ListUtils.newArrayList(); private List imgList = ListUtils.newArrayList(); @ExcelFields({ @ExcelField(title="工件码", attrName="sn", align= ExcelField.Align.CENTER, sort=10), // @ExcelField(title="返修工位", attrName="fxOprno", align= ExcelField.Align.CENTER, sort=15), @ExcelField(title="责任工位", attrName="oprno", align= ExcelField.Align.CENTER, sort=20), @ExcelField(title="状态", attrName="state",dictType="mes_repair_state", align= ExcelField.Align.CENTER, sort=40), @ExcelField(title="备注", attrName="remark", align= ExcelField.Align.CENTER, sort=50), @ExcelField(title="结果", attrName="result",dictType="mes_repair_result", align= ExcelField.Align.CENTER, sort=55), @ExcelField(title="返修人", attrName="fxBy", align= ExcelField.Align.CENTER, sort=60), @ExcelField(title="返修时间", attrName="fxDate", align= ExcelField.Align.CENTER, sort=65, dataFormat="yyyy-MM-dd hh:mm:ss"), @ExcelField(title="检查人", attrName="checkBy", align= ExcelField.Align.CENTER, sort=70), @ExcelField(title="检查时间", attrName="checkDate", align= ExcelField.Align.CENTER, sort=75, dataFormat="yyyy-MM-dd hh:mm:ss"), @ExcelField(title="产线编号", attrName="lineSn", align= ExcelField.Align.CENTER, sort=80), }) public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public List getSopList() { return sopList; } public void setSopList(List sopList) { this.sopList = sopList; } public MesRepair() { this(null); } public MesRepair(String id){ super(id); } @Size(min=0, max=50, message="工件号长度不能超过 50 个字符") public String getSn() { return sn; } public void setSn(String sn) { this.sn = sn; } @Size(min=0, max=20, message="返修工位长度不能超过 20 个字符") public String getFxOprno() { return fxOprno; } public void setFxOprno(String fxOprno) { this.fxOprno = fxOprno; } @Size(min=0, max=20, message="责任工位长度不能超过 20 个字符") public String getOprno() { return oprno; } public void setOprno(String oprno) { this.oprno = oprno; } @Size(min=0, max=3000, message="选择的修复方案长度不能超过 3000 个字符") public String getSops() { return sops; } public void setSops(String sops) { this.sops = sops; } @Size(min=0, max=1, message="状态长度不能超过 1 个字符") public String getState() { return state; } public void setState(String state) { this.state = state; } @Size(min=0, max=255, message="备注长度不能超过 255 个字符") public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } @Size(min=0, max=1, message="结果长度不能超过 1 个字符") public String getResult() { return result; } public void setResult(String result) { this.result = result; } @Size(min=0, max=64, message="返修人长度不能超过 64 个字符") public String getFxBy() { return fxBy; } public void setFxBy(String fxBy) { this.fxBy = fxBy; } @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getFxDate() { return fxDate; } public void setFxDate(Date fxDate) { this.fxDate = fxDate; } @Size(min=0, max=64, message="检查人长度不能超过 64 个字符") public String getCheckBy() { return checkBy; } public void setCheckBy(String checkBy) { this.checkBy = checkBy; } @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getCheckDate() { return checkDate; } public void setCheckDate(Date checkDate) { this.checkDate = checkDate; } public String getLineSn() { return lineSn; } public void setLineSn(String lineSn) { this.lineSn = lineSn; } public String getNgid() { return ngid; } public void setNgid(String ngid) { this.ngid = ngid; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getItemId() { return itemId; } public void setItemId(String itemId) { this.itemId = itemId; } public String getItemTitle() { return itemTitle; } public void setItemTitle(String itemTitle) { this.itemTitle = itemTitle; } public String getItemIntroduction() { return itemIntroduction; } public void setItemIntroduction(String itemIntroduction) { this.itemIntroduction = itemIntroduction; } public String getReturnOprno() { return returnOprno; } public void setReturnOprno(String returnOprno) { this.returnOprno = returnOprno; } public List getImgList() { return imgList; } public void setImgList(List imgList) { this.imgList = imgList; } }