package com.sifang.modules.supply.order.request;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.Valid;
import java.io.Serializable;
import java.util.List;

/**
 * @author hongzq
 */
public class ApplyOrderReq implements Serializable {
    private String id;
    @NotBlank(message = "下单类型不能为空")
    private String type;
    @NotBlank(message = "入库仓库不能为空")
    private String inWarehouseId;

    @NotBlank(message = "接货人不能为空")
    private String personInCharge;
    @NotBlank(message = "联系方式不能为空")
    private String mobile;

    private String remark;
    @NotBlank(message = "地址不能为空")
    private String province;
    @NotBlank(message = "地址不能为空")
    private String city;
    @NotBlank(message = "地址不能为空")
    private String area;
    @NotBlank(message = "地址不能为空")
    private String address;

    private String entryIds;

    private String insuranceFiles; // 施工人员保单
    private String safetyFiles; // 安全教育登记表

    @Valid
    @NotEmpty
    private List<ApplyOrderDetailReq> details;

    // 1 暂存  2 提交(或者为空)
    private String actionType;

    private String qqProjectCode;

    private String files;

    public String getQqProjectCode() {
        return qqProjectCode;
    }

    public void setQqProjectCode(String qqProjectCode) {
        this.qqProjectCode = qqProjectCode;
    }

    public String getFiles() {
        return files;
    }

    public void setFiles(String files) {
        this.files = files;
    }

    public String getEntryIds() {
        return entryIds;
    }

    public void setEntryIds(String entryIds) {
        this.entryIds = entryIds;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getActionType() {
        return actionType;
    }

    public void setActionType(String actionType) {
        this.actionType = actionType;
    }

    public String getPersonInCharge() {
        return personInCharge;
    }

    public void setPersonInCharge(String personInCharge) {
        this.personInCharge = personInCharge;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getInWarehouseId() {
        return inWarehouseId;
    }

    public void setInWarehouseId(String inWarehouseId) {
        this.inWarehouseId = inWarehouseId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<ApplyOrderDetailReq> getDetails() {
        return details;
    }

    public void setDetails(List<ApplyOrderDetailReq> details) {
        this.details = details;
    }

    public String getInsuranceFiles() {
        return insuranceFiles;
    }

    public void setInsuranceFiles(String insuranceFiles) {
        this.insuranceFiles = insuranceFiles;
    }

    public String getSafetyFiles() {
        return safetyFiles;
    }

    public void setSafetyFiles(String safetyFiles) {
        this.safetyFiles = safetyFiles;
    }

    @Override
    public String toString() {
        return "ApplyOrderReq{" +
                "id='" + id + '\'' +
                ", inWarehouseId='" + inWarehouseId + '\'' +
                ", remark='" + remark + '\'' +
                ", details=" + details +
                '}';
    }
}
