package cn.estsh.i3plus.pojo.model.wms;

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

import java.io.Serializable;
import java.util.List;

/**
 * @Description : 任务单模型
 * @Reference :
 * @Author : siliter.yuan
 * @CreateDate : 2019-03-06 15:50
 * @Modify:
 **/
@Data
public class WmsTaskInfoModel implements Serializable {
    private static final long serialVersionUID = 8755413052807531167L;
    @ApiParam("任务单号")
    public String orderNo;
    /**
     * 状态:1=创建,10=待处理,20=已处理
     */
    @ApiParam(value = "任务状态")
    public Integer taskStatus;

    @ApiParam("作业类型名称")
    public String opTypeName;

    @ApiParam(value = "交易类型代码")
    private String transTypeCode;

    @ApiParam("关联单号")
    public String refSrc;

    @ApiParam(value = "关联单据业务类型代码")
    private String busiTypeCode;

    @ApiParam(value = "关联单据业务类型代码集合")
    private List<String> busiTypeCodeLst;

    @ApiParam(value = "计划日期")
    private String zdate;

    @ApiParam(value = "计划时间")
    private String ztime;

    @ApiParam(value = "客户编号")
    private String custNo;

    @ApiParam(value = "供应商编号")
    private String vendorNo;

    @ApiParam(value = "样式")
    private WmsMessageStyleModel wmsMessageStyleModel;

    @ApiParam(value = "源存储区代码")
    private String srcZoneNo;

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

    @ApiParam(value = "创建人")
    public String createUser;

    @ApiParam(value = "关联单据类型")
    public String refType;

    @ApiParam(value = "erp单号")
    public String erpSrcNo;

    @ApiParam(value = "工厂代码")
    public String organizeCode;

    @ApiParam(value = "是否展示删除按钮")
    public Integer isShowDeleteButton;

    @ApiParam(value = "跳转后端请求")
    public String actionUrl;

    @ApiParam(value = "作业人员")
    public String userNo;

    public WmsTaskInfoModel() {
    }

    public WmsTaskInfoModel(String orderNo, Integer taskStatus, String opTypeName, String transTypeCode, String refSrc,
                            String busiTypeCode, String zdate, String ztime, String custNo, String vendorNo,
                            String createDatetime, String srcZoneNo, String createUser, String organizeCode,String userNo) {
        this.orderNo = orderNo;
        this.taskStatus = taskStatus;
        this.opTypeName = opTypeName;
        this.transTypeCode = transTypeCode;
        this.refSrc = refSrc;
        this.busiTypeCode = busiTypeCode;
        this.zdate = zdate;
        this.ztime = ztime;
        this.custNo = custNo;
        this.vendorNo = vendorNo;
        this.createDatetime = createDatetime;
        this.srcZoneNo = srcZoneNo;
        this.createUser = createUser;
        this.organizeCode = organizeCode;
        this.userNo = userNo;
    }

    public WmsTaskInfoModel(String orderNo, Integer taskStatus, String opTypeName, String transTypeCode, String refSrc,
                            String busiTypeCode, String zdate, String ztime, String custNo, String vendorNo,
                            String createDatetime, String srcZoneNo, String createUser) {
        this.orderNo = orderNo;
        this.taskStatus = taskStatus;
        this.opTypeName = opTypeName;
        this.transTypeCode = transTypeCode;
        this.refSrc = refSrc;
        this.busiTypeCode = busiTypeCode;
        this.zdate = zdate;
        this.ztime = ztime;
        this.custNo = custNo;
        this.vendorNo = vendorNo;
        this.createDatetime = createDatetime;
        this.srcZoneNo = srcZoneNo;
        this.createUser = createUser;
    }

    public WmsTaskInfoModel(String organizeCode, String busiTypeCode) {
        this.organizeCode = organizeCode;
        this.busiTypeCode = busiTypeCode;
    }
}
