package cn.ezhizao.project.business.domain;

import java.util.Date;

import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
import cn.ezhizao.framework.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;

/**
 * 最高权限报工修改历史记录对象 biz_daywork_item_max_history
 *
 * @author ezhizao
 * @date 2024-08-03
 */
@Data
@TableName(value = "biz_daywork_item_max_history")
public class BizDayworkItemMaxHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报工历史记录来源报工记录id */
    @ApiModelProperty(value = "${comment}")
    private Long dayworkItemId;

    /** 用户id */
    @ApiModelProperty(value = "${comment}")
    private Long userId;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    @ApiModelProperty(value = "员工姓名")
    private String nickName;

    /** 租户（厂别）id */
    @ApiModelProperty(value = "员工姓名")
    private Long tenantId;

    /** daywork的id */
    @ApiModelProperty(value = "员工姓名")
    private Long dayworkId;

    /** 产品描述 */
    @Excel(name = "产品描述")
    @ApiModelProperty(value = "产品描述")
    private String productDescription;

    /** 投料/计划单号 */
    @Excel(name = "投料/计划单号")
    @ApiModelProperty(value = "投料/计划单号")
    private String productionPlanNo;

    /** 计划单明细id */
    @ApiModelProperty(value = "投料/计划单号")
    private Long productionPlanDetailId;

    /** 批次号 */
    @Excel(name = "批次号")
    @ApiModelProperty(value = "批次号")
    private String lotCode;

    /** 投产数(周转到外协时填写投产数，其余周转不填写) */
    @Excel(name = "投产数(周转到外协时填写投产数，其余周转不填写)")
    @ApiModelProperty(value = "投产数(周转到外协时填写投产数，其余周转不填写)")
    private Integer prodNum;

    /** 合格数 */
    @Excel(name = "合格数")
    @ApiModelProperty(value = "合格数")
    private Integer qualifiedNum;

    /** 废品数 */
    @Excel(name = "废品数")
    @ApiModelProperty(value = "废品数")
    private Integer rejectNum;

    /** 工艺版本号 */
    @Excel(name = "工艺版本号")
    @ApiModelProperty(value = "工艺版本号")
    private String technologyVersion;

    /** 工艺id（通过工艺id，获取版本号） */
    @ApiModelProperty(value = "工艺版本号")
    private Long technologicalProcessId;

    /** 工艺版本明细id */
    @ApiModelProperty(value = "工艺版本号")
    private Long technologicalProcessDetailId;

    /** =seq1(2位)+seq2(1位)+0(第4位用于单批单改) */
    @Excel(name = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
    @ApiModelProperty(value = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
    private String processStepNumber;

    /** 工序id */
    @ApiModelProperty(value = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
    private Long processId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /** 设备id */
    @ApiModelProperty(value = "结束时间")
    private Long equipmentDetailId;
    @TableField(exist = false)
    private String processAlias;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @ApiModelProperty(value = "设备编码")
    private String equipmentDetailCode;

    /** 箱子id */
    @ApiModelProperty(value = "设备编码")
    private String carrierId;

    /** 箱子编码 */
    @Excel(name = "箱子编码")
    @ApiModelProperty(value = "箱子编码")
    private String carrierCode;

    /** 生产状态 0:未开始, 1: 生产中, 2: 报工结束 ,3: 工序已完成, 4: 待周转，5: 周转中，6: 已送达，7：已接收 */
    @Excel(name = "生产状态 0:未开始, 1: 生产中, 2: 报工结束 ,3: 工序已完成, 4: 待周转，5: 周转中，6: 已送达，7：已接收")
    @ApiModelProperty(value = "生产状态 0:未开始, 1: 生产中, 2: 报工结束 ,3: 工序已完成, 4: 待周转，5: 周转中，6: 已送达，7：已接收")
    private String status;
    @TableField(exist = false)
    private String creatorName;

}
