package cn.estsh.i3plus.ext.mes.pojo.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Transient;
import java.io.Serializable;

/**
 * 文件描述
 *
 * @author xiangming.liao
 * @date 2021年09月06日 10:06
 */
@Data
@ApiModel("物料点检明细model")
public class PartCheckDetailModel implements Serializable {

    private static final long serialVersionUID = 1422586735782379113L;

    @ApiParam("id")
    private Long id;

    @ApiParam("生产工单号")
    private String workOrderNo;

    @ApiParam("工作中心代码")
    private String workCenterCode;

    @ApiParam(value = "工作单元代码")
    public String workCellCode;

    @ApiParam(value = "工作单元名称")
    public String workCellName;

    @ApiParam("工序代码")
    private String processCode;

    @ApiParam("工序名称")
    private String processName;

    @ApiParam("子零件")
    private String itemPartNo;

    @ApiParam("原材料物料名称")
    private String itemPartName;

    @ApiParam("班次")
    private String shiftCode;

    @ApiParam("物料号")
    private String partNo;

    @ApiParam("物料名称")
    private String partNameRdd;

    @ApiParam("单据编号")
    private String orderNo;

    @ApiParam(value ="单据状态")
    private Integer orderStatus;

    @ApiParam("单据日期")
    private String orderDate;

    @ApiParam("点检人员")
    private String checkUser;

    @ApiParam("点检时间")
    private String checkTime;

    /**
     * 10=是，20=否
     */
    @Column(name = "SHIFT_GROUP_CHECK")
    private Integer shiftGroupCheck;

    @ApiParam("班组确认人")
    private String shiftGroupCheckUser;

    @ApiParam("班组确认时间")
    private String shiftGroupCheckTime;

    /**
     * 10=是，20=否
     */
    @ApiParam("品质确认")
    private Integer qualityCheck;

    @ApiParam("品质确认人")
    private String qualityCheckUser;

    @ApiParam("品质确认时间")
    private String qualityCheckTime;

    @ApiParam("生成时间")
    private String generateTime;

    @ApiParam("完成时间")
    private String complateTime;

    @ApiParam("组织代码")
    public String organizeCode;

    @ApiParam("创建用户")
    public String createUser;

    @ApiParam("创建日期")
    public String createDatetime;

    @ApiParam("修改人")
    public String modifyUser;

    @ApiParam("修改日期")
    public String modifyDatetime;

    @Transient
    @ApiParam(
            value = "点检开始日期查询用，查询截至日期",
            example = "2021-01-01 00:00:00"
    )
    public String checkStartTime;
    @Transient
    @ApiParam(
            value = "点检结束日期查询用，查询截至日期",
            example = "2022-01-01 00:00:00"
    )
    public String checkEndTime;

    @Transient
    @ApiParam(value = "班组确认名称")
    public String shiftGroupCheckName;

    @Transient
    @ApiParam(value = "品质确认名称")
    public String qualityCheckName;

    public PartCheckDetailModel() {
    }

    public PartCheckDetailModel(Long id, String workOrderNo, String workCenterCode, String workCellCode, String processCode, String processName, String itemPartNo, String itemPartName, String shiftCode, String partNo, String partNameRdd, String orderNo, Integer orderStatus, String orderDate, String checkUser, String checkTime, Integer shiftGroupCheck, String shiftGroupCheckUser, String shiftGroupCheckTime, Integer qualityCheck, String qualityCheckUser, String qualityCheckTime, String generateTime, String complateTime, String organizeCode, String createUser, String createDatetime, String modifyUser, String modifyDatetime) {
        this.id = id;
        this.workOrderNo = workOrderNo;
        this.workCenterCode = workCenterCode;
        this.workCellCode = workCellCode;
        this.processCode = processCode;
        this.processName = processName;
        this.itemPartNo = itemPartNo;
        this.itemPartName = itemPartName;
        this.shiftCode = shiftCode;
        this.partNo = partNo;
        this.partNameRdd = partNameRdd;
        this.orderNo = orderNo;
        this.orderStatus = orderStatus;
        this.orderDate = orderDate;
        this.checkUser = checkUser;
        this.checkTime = checkTime;
        this.shiftGroupCheck = shiftGroupCheck;
        this.shiftGroupCheckUser = shiftGroupCheckUser;
        this.shiftGroupCheckTime = shiftGroupCheckTime;
        this.qualityCheck = qualityCheck;
        this.qualityCheckUser = qualityCheckUser;
        this.qualityCheckTime = qualityCheckTime;
        this.generateTime = generateTime;
        this.complateTime = complateTime;
        this.organizeCode = organizeCode;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
    }
}
