package com.shzg.project.worn.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.shzg.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.shzg.framework.aspectj.lang.annotation.Excel;

/**
 * 申报单查看对象 worn_declare_bill
 * 
 * @author shzg
 * @date 2026-04-14
 */
public class WornDeclareBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 申报单号 */
    @Excel(name = "申报单号")
    private String billNo;

    /** 项目ID（对应sys_dept.dept_id） */
    @Excel(name = "项目ID", readConverterExp = "对=应sys_dept.dept_id")
    private Long projectId;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contactName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 交付时间 */
    @Excel(name = "交付时间")
    private String deliveryTime; // 0 15天1 立即 2其他

    /** 存放地址 */
    @Excel(name = "存放地址")
    private String address;

    /** 状态（0草稿，1已提交，2已转入库，9已作废） */
    @Excel(name = "状态", readConverterExp = "0=草稿，1已提交，2已转入库，9已作废")
    private String status;

    /** 是否删除（0正常 1删除） */
    @Excel(name = "是否删除", readConverterExp = "0=正常,1=删除")
    private String isDelete;
    /** 物料列表 */
    private List<WornDeclareItem> itemList;
    /** 附件列表 */
    private List<WornDeclareFile> fileList;

    public List<WornDeclareFile> getFileList()
    {
        return fileList;
    }

    public void setFileList(List<WornDeclareFile> fileList)
    {
        this.fileList = fileList;
    }
    public List<WornDeclareItem> getItemList()
    {
        return itemList;
    }

    public void setItemList(List<WornDeclareItem> itemList)
    {
        this.itemList = itemList;
    }
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBillNo(String billNo) 
    {
        this.billNo = billNo;
    }

    public String getBillNo() 
    {
        return billNo;
    }

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }

    public void setContactName(String contactName) 
    {
        this.contactName = contactName;
    }

    public String getContactName() 
    {
        return contactName;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setDeliveryTime(String deliveryTime)
    {
        this.deliveryTime = deliveryTime;
    }

    public String getDeliveryTime()
    {
        return deliveryTime;
    }

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

    public String getAddress() 
    {
        return address;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setIsDelete(String isDelete) 
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("billNo", getBillNo())
            .append("projectId", getProjectId())
            .append("contactName", getContactName())
            .append("contactPhone", getContactPhone())
            .append("deliveryTime", getDeliveryTime())
            .append("address", getAddress())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .toString();
    }
}
