package com.sunda.spmsorder.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 工厂请购单
 * </p>
 *
 * @author Wayne
 * @since 2021-02-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ORDER_WERKS")
@ApiModel(value="OrderWerks对象", description="工厂请购单")
public class OrderWerks implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "工厂请购单号")
    @TableId("SPMS_ID")
    private String spmsId;

    @ApiModelProperty(value = "java生成唯一ID，用于关联工厂请购单明细表")
    @TableField("UUID")
    private String uuid;

    @ApiModelProperty(value = "紧急程度，0正常；1重要；2紧急")
    @TableField("URGENCY")
    private String urgency;

    @ApiModelProperty(value = "申请日期")
    @TableField("APPLICATION_DATE")
    private String applicationDate;

    @ApiModelProperty(value = "要求到货日期")
    @TableField("DATE_REQUIRED")
    private String dateRequired;

    @ApiModelProperty(value = "标题")
    @TableField("SUBJECT")
    private String subject;

    @ApiModelProperty(value = "请购单SPMS状态")
    @TableField("STATUS")
    private String status;

    @ApiModelProperty(value = "工号")
    @TableField("WORK_CODE")
    private String userId;

    @ApiModelProperty(value = "申请人")
    @TableField("LAST_NAME")
    private String lastName;

    @ApiModelProperty(value = "工厂代码")
    @TableField("WERKS")
    private String werks;

    @ApiModelProperty(value = "车间代码")
    @TableField("WORKSHOP_CODE")
    private String workshopCode;

    @ApiModelProperty(value = "部门")
    @TableField("DEPT_ID")
    private String deptId;

    @ApiModelProperty(value = "岗位")
    @TableField("POSITION_ID")
    private String positionId;

    @ApiModelProperty(value = "分公司")
    @TableField("COMPANY")
    private String company;

    @ApiModelProperty(value = "分点")
    @TableField("BRANCH_POINT")
    private String branchPoint;

    @ApiModelProperty(value = "分线")
    @TableField("BRANCH_LINE")
    private String branchLine;

    @ApiModelProperty(value = "采购地点,0国内，1海外")
    @TableField("PURCHASE_LOCATION")
    private String purchaseLocation;

    @ApiModelProperty(value = "申请原因")
    @TableField("JUSTIFICATION")
    private String justification;

    @ApiModelProperty(value = "项目号")
    @TableField("PROJECT_CODE")
    private String projectCode;

    @ApiModelProperty(value = "预计费用合计")
    @TableField("ESTIMATE_COST")
    private Double estimateCost;

    @ApiModelProperty(value = "项目类型,0-洗衣粉厂 1-五金加工厂 2-磁砖厂 3-肯尼亚砖厂 4-加纳砖厂 5-坦桑砖厂 6-科特五金厂 7-坦桑制钉厂 8-塞内加尔项目组 9-纸尿裤厂 10-加纳后山项目 11-分公司贸易 12-莫桑比克砖厂 13-赞比亚陶瓷厂")
    @TableField("PROJECT_TYPE")
    private String projectType;

    @ApiModelProperty(value = "项目状态，0已投产；1未投产")
    @TableField("PROJECT_STATUS")
    private String projectStatus;

    @ApiModelProperty(value = "项目类别")
    @TableField("PROJECT_CATEGORY")
    private String projectCategory;

    @ApiModelProperty(value = "是否海运,0是，1否")
    @TableField("SHIPPING_TYPE")
    private String shippingType;

    @ApiModelProperty(value = "运输方式, 0海运；1空运；2人带")
    @TableField("SHIPPING_FANGSHI")
    private String shippingFangshi;

    @ApiModelProperty(value = "申请类别，0临时采购，1月度；2季度；3年度")
    @TableField("APPLICATION_TYPE")
    private String applicationType;

    @ApiModelProperty(value = "设备/物料类别，3备品备件；4行政物资；5工厂设备；6筹建物资")
    @TableField("DEVICE_CATEGORY")
    private String deviceCategory;

    @ApiModelProperty(value = "设备类型,0实验室设备；生产设备")
    @TableField("DEVICE_TYPE")
    private String deviceType;

    @ApiModelProperty(value = "物料类别")
    @TableField("MATERIAL_CATEGORY")
    private String materialCategory;

    @ApiModelProperty(value = "签字意见")
    @TableField("APPROVAL_COMMENTS")
    private String approvalComments;

    @ApiModelProperty(value = "OA单据号码")
    @TableField("OA_ID")
    private String oaId;

    @ApiModelProperty(value = "OA工作流ID")
    @TableField("OA_PROCESS_ID")
    private String oaProcessId;

    @ApiModelProperty(value = "请购单OA审批通过日期")
    @TableField("OA_APPROVAL_DATE")
    private String oaApprovalDate;

    @ApiModelProperty(value = "内部订单号")
    @TableField("FIELD_FOR_OA")
    private String fieldForOa;

    @ApiModelProperty(value = "详细情况说明")
    @TableField("DETAIL_EXPLAIN")
    private String detailExplain;

    @ApiModelProperty(value = "相关流程")
    @TableField("RELEVANT_PROCESS")
    private String relevantProcess;

    @ApiModelProperty(value = "相关附件")
    @TableField("RELEVANT_DOCUMENT")
    private String relevantDocument;

    @ApiModelProperty(value = "采购经理")
    @TableField("PURCHASE_MANAGER")
    private String purchaseManager;

    @ApiModelProperty(value = "费用承担部门ID")
    @TableField("COST_DEPT_ID")
    private String costDeptId;

    @ApiModelProperty(value = "费用承担部门NAME")
    @TableField("COST_DEPT_NAME")
    private String costDeptName;

    @ApiModelProperty(value = "设备清单说明")
    @TableField("DEVICE_STATEMENT")
    private String deviceStatement;

    @ApiModelProperty(value = "设备清单附件")
    @TableField("DEVICE_ATTACHMENT")
    private String deviceAttachment;

    @ApiModelProperty(value = "备注说明")
    @TableField("COMMENTS")
    private String comments;

    @ApiModelProperty(value = "编号")
    @TableField("OA_BIANHAO")
    private String oaBianhao;

    @ApiModelProperty(value = "工厂关联部门")
    @TableField("RELEVANT_DEPARTMENT")
    private String relevantDepartment;

    @ApiModelProperty(value = "附件清单")
    @TableField("ATTACHMENT_LIST")
    private String attachmentList;

    @ApiModelProperty(value = "单据创建系统时间戳")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "提报类型")
    @TableField("REQUEST_TYPE")
    private String requestType;


    @ApiModelProperty(value = "所属模块")
    @TableField("MODULE_TYPE")
    private String moduleType;

    @ApiModelProperty(value = "是否IT物品")
    @TableField("IT_ITEM_OR_NOT")
    private String itItemOrNot;

    @ApiModelProperty(value = "物品类别")
    @TableField("ITEM_TYPE")
    private String itemType;

    @ApiModelProperty(value = "预计总费用")
    @TableField("ESTIMATED_TOTAL_COST")
    private String estimatedTotalCost;

    @ApiModelProperty(value = "文件名")
    @TableField("ATTACHMENT_NAME")
    private String attachmentName;

    @ApiModelProperty(value = "文件下载路径")
    @TableField("ATTACHMENT_URL")
    private String attachmentUrl;

    @ApiModelProperty(value = "国家")
    @TableField("COUNTRY")
    private String country;

    @ApiModelProperty(value = "国家名称")
    @TableField("COUNTRY_NAME")
    private String countryName;

    @ApiModelProperty(value = "需求主体")
    @TableField("PR_SUBJECT")
    private String prSubject;

    @ApiModelProperty(value = "对接OA的client")
    @TableField("OA_CLIENT")
    private String oaClient;

    public String getOaClient() {
        return oaClient;
    }

    public void setOaClient(String oaClient) {
        this.oaClient = oaClient;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public String getPrSubject() {
        return prSubject;
    }

    public void setPrSubject(String prSubject) {
        this.prSubject = prSubject;
    }

    public String getRequestType() {
        return requestType;
    }

    public void setRequestType(String requestType) {
        this.requestType = requestType;
    }

    public String getModuleType() {
        return moduleType;
    }

    public void setModuleType(String moduleType) {
        this.moduleType = moduleType;
    }

    public String getItItemOrNot() {
        return itItemOrNot;
    }

    public void setItItemOrNot(String itItemOrNot) {
        this.itItemOrNot = itItemOrNot;
    }

    public String getItemType() {
        return itemType;
    }

    public void setItemType(String itemType) {
        this.itemType = itemType;
    }

    public String getEstimatedTotalCost() {
        return estimatedTotalCost;
    }

    public void setEstimatedTotalCost(String estimatedTotalCost) {
        this.estimatedTotalCost = estimatedTotalCost;
    }

    public String getAttachmentName() {
        return attachmentName;
    }

    public void setAttachmentName(String attachmentName) {
        this.attachmentName = attachmentName;
    }

    public String getAttachmentUrl() {
        return attachmentUrl;
    }

    public void setAttachmentUrl(String attachmentUrl) {
        this.attachmentUrl = attachmentUrl;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getSpmsId() {
        return spmsId;
    }

    public void setSpmsId(String spmsId) {
        this.spmsId = spmsId;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getUrgency() {
        return urgency;
    }

    public void setUrgency(String urgency) {
        this.urgency = urgency;
    }

    public String getApplicationDate() {
        return applicationDate;
    }

    public void setApplicationDate(String applicationDate) {
        this.applicationDate = applicationDate;
    }

    public String getDateRequired() {
        return dateRequired;
    }

    public void setDateRequired(String dateRequired) {
        this.dateRequired = dateRequired;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getWerks() {
        return werks;
    }

    public void setWerks(String werks) {
        this.werks = werks;
    }

    public String getWorkshopCode() {
        return workshopCode;
    }

    public void setWorkshopCode(String workshopCode) {
        this.workshopCode = workshopCode;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getPositionId() {
        return positionId;
    }

    public void setPositionId(String positionId) {
        this.positionId = positionId;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getBranchPoint() {
        return branchPoint;
    }

    public void setBranchPoint(String branchPoint) {
        this.branchPoint = branchPoint;
    }

    public String getBranchLine() {
        return branchLine;
    }

    public void setBranchLine(String branchLine) {
        this.branchLine = branchLine;
    }

    public String getPurchaseLocation() {
        return purchaseLocation;
    }

    public void setPurchaseLocation(String purchaseLocation) {
        this.purchaseLocation = purchaseLocation;
    }

    public String getJustification() {
        return justification;
    }

    public void setJustification(String justification) {
        this.justification = justification;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public Double getEstimateCost() {
        return estimateCost;
    }

    public void setEstimateCost(Double estimateCost) {
        this.estimateCost = estimateCost;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(String projectStatus) {
        this.projectStatus = projectStatus;
    }

    public String getProjectCategory() {
        return projectCategory;
    }

    public void setProjectCategory(String projectCategory) {
        this.projectCategory = projectCategory;
    }

    public String getShippingType() {
        return shippingType;
    }

    public void setShippingType(String shippingType) {
        this.shippingType = shippingType;
    }

    public String getShippingFangshi() {
        return shippingFangshi;
    }

    public void setShippingFangshi(String shippingFangshi) {
        this.shippingFangshi = shippingFangshi;
    }

    public String getApplicationType() {
        return applicationType;
    }

    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }

    public String getDeviceCategory() {
        return deviceCategory;
    }

    public void setDeviceCategory(String deviceCategory) {
        this.deviceCategory = deviceCategory;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getMaterialCategory() {
        return materialCategory;
    }

    public void setMaterialCategory(String materialCategory) {
        this.materialCategory = materialCategory;
    }

    public String getApprovalComments() {
        return approvalComments;
    }

    public void setApprovalComments(String approvalComments) {
        this.approvalComments = approvalComments;
    }

    public String getOaId() {
        return oaId;
    }

    public void setOaId(String oaId) {
        this.oaId = oaId;
    }

    public String getOaProcessId() {
        return oaProcessId;
    }

    public void setOaProcessId(String oaProcessId) {
        this.oaProcessId = oaProcessId;
    }

    public String getOaApprovalDate() {
        return oaApprovalDate;
    }

    public void setOaApprovalDate(String oaApprovalDate) {
        this.oaApprovalDate = oaApprovalDate;
    }

    public String getFieldForOa() {
        return fieldForOa;
    }

    public void setFieldForOa(String fieldForOa) {
        this.fieldForOa = fieldForOa;
    }

    public String getDetailExplain() {
        return detailExplain;
    }

    public void setDetailExplain(String detailExplain) {
        this.detailExplain = detailExplain;
    }

    public String getRelevantProcess() {
        return relevantProcess;
    }

    public void setRelevantProcess(String relevantProcess) {
        this.relevantProcess = relevantProcess;
    }

    public String getRelevantDocument() {
        return relevantDocument;
    }

    public void setRelevantDocument(String relventDocument) {
        this.relevantDocument = relevantDocument;
    }

    public String getPurchaseManager() {
        return purchaseManager;
    }

    public void setPurchaseManager(String purchaseManager) {
        this.purchaseManager = purchaseManager;
    }

    public String getCostDeptId() {
        return costDeptId;
    }

    public void setCostDeptId(String costDeptId) {
        this.costDeptId = costDeptId;
    }

    public String getCostDeptName() {
        return costDeptName;
    }

    public void setCostDeptName(String costDeptName) {
        this.costDeptName = costDeptName;
    }

    public String getDeviceStatement() {
        return deviceStatement;
    }

    public void setDeviceStatement(String deviceStatement) {
        this.deviceStatement = deviceStatement;
    }

    public String getDeviceAttachment() {
        return deviceAttachment;
    }

    public void setDeviceAttachment(String deviceAttachment) {
        this.deviceAttachment = deviceAttachment;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getOaBianhao() {
        return oaBianhao;
    }

    public void setOaBianhao(String oaBianhao) {
        this.oaBianhao = oaBianhao;
    }

    public String getRelevantDepartment() {
        return relevantDepartment;
    }

    public void setRelevantDepartment(String relventDepartment) {
        this.relevantDepartment = relevantDepartment;
    }

    public String getAttachmentList() {
        return attachmentList;
    }

    public void setAttachmentList(String attachmentList) {
        this.attachmentList = attachmentList;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "OrderWerks{" +
                "spmsId='" + spmsId + '\'' +
                ", uuid='" + uuid + '\'' +
                ", urgency='" + urgency + '\'' +
                ", applicationDate='" + applicationDate + '\'' +
                ", dateRequired='" + dateRequired + '\'' +
                ", subject='" + subject + '\'' +
                ", status='" + status + '\'' +
                ", userId='" + userId + '\'' +
                ", lastName='" + lastName + '\'' +
                ", werks='" + werks + '\'' +
                ", workshopCode='" + workshopCode + '\'' +
                ", deptId='" + deptId + '\'' +
                ", positionId='" + positionId + '\'' +
                ", company='" + company + '\'' +
                ", branchPoint='" + branchPoint + '\'' +
                ", branchLine='" + branchLine + '\'' +
                ", purchaseLocation='" + purchaseLocation + '\'' +
                ", justification='" + justification + '\'' +
                ", projectCode='" + projectCode + '\'' +
                ", estimateCost=" + estimateCost +
                ", projectType='" + projectType + '\'' +
                ", projectStatus='" + projectStatus + '\'' +
                ", projectCategory='" + projectCategory + '\'' +
                ", shippingType='" + shippingType + '\'' +
                ", shippingFangshi='" + shippingFangshi + '\'' +
                ", applicationType='" + applicationType + '\'' +
                ", deviceCategory='" + deviceCategory + '\'' +
                ", deviceType='" + deviceType + '\'' +
                ", materialCategory='" + materialCategory + '\'' +
                ", approvalComments='" + approvalComments + '\'' +
                ", oaId='" + oaId + '\'' +
                ", oaProcessId='" + oaProcessId + '\'' +
                ", oaApprovalDate='" + oaApprovalDate + '\'' +
                ", fieldForOa='" + fieldForOa + '\'' +
                ", detailExplain='" + detailExplain + '\'' +
                ", relevantProcess='" + relevantProcess + '\'' +
                ", relevantDocument='" + relevantDocument + '\'' +
                ", purchaseManager='" + purchaseManager + '\'' +
                ", costDeptId='" + costDeptId + '\'' +
                ", costDeptName='" + costDeptName + '\'' +
                ", deviceStatement='" + deviceStatement + '\'' +
                ", deviceAttachment='" + deviceAttachment + '\'' +
                ", comments='" + comments + '\'' +
                ", oaBianhao='" + oaBianhao + '\'' +
                ", relevantDepartment='" + relevantDepartment + '\'' +
                ", attachmentList='" + attachmentList + '\'' +
                ", createTime=" + createTime +
                '}';
    }
}
