package com.ruoyi.system.domain.projectV2;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

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

/**
 * 招商引资_申报_首谈信息_主对象 zsyz_sbbzb
 * 
 * @author boman
 * @date 2023-02-23
 */
public class ZsyzSbbzb extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 单位名称 */
    @Excel(name = "单位名称" ,width = 20, needMerge = true)
    private String sbdw;

    /** 填表日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "填表日期", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true)
    private Date tbrq;

    /** 项目负责人 */
    @Excel(name = "项目负责人", needMerge = true)
    private String zszxfzr;

    /** 项目线索名称 */
    @Excel(name = "项目线索名称", needMerge = true)
    private String xmxsmc;

    /** 项目编号 */
    @Excel(name = "项目编号", needMerge = true)
    private String xmbh;

    /** 是否为领航信息项目 1：是，2：否 */
    @Excel(name = "是否为领航信息项目 Y=是,N=否", needMerge = true)
    private String sfwlhxxxm;

    /** 引资地区 */
    private String yzdqId;

    /** 引资地区名称 */
    @Excel(name = "引资地区", needMerge = true)
    private String yzdqName;

    /** 引资省市名称 */
    @Excel(name = "引资省市", needMerge = true)
    private String yzssName;

    /** 拟投资额（亿元） */
    @Excel(name = "拟投资额(亿元)", needMerge = true)
    private String ntze;

    /** 产业类型id */
    //@Excel(name = "产业类型id")
    private String cylxId;

    /** 产业类型名称 */
    @Excel(name = "产业类型", needMerge = true)
    private String cylxName;

    /** 项目类别（1：首位产业，2：工业项目，3：战新产业，4：现代服务业，5：三产融合，6：共引共建项目，7：其他） */
    @Excel(name = "项目类别", readConverterExp = "1=首位产业,2=工业项目,3=战新产业,4=现代服务业,5=三产融合,6=共引共建项目,7=其他", needMerge = true)
    private String xmlb;

    /** 投资类别 */
    @Excel(name = "投资类别", needMerge = true)
    private String tzlb;

    /** 拟落户地 */
    @Excel(name = "拟落户地", needMerge = true)
    private String nlhd;

    /** 承载平台 */
    @Excel(name = "承载平台", needMerge = true)
    private String czpt;

    /** 投资主体 */
    @Excel(name = "投资主体", needMerge = true)
    private String tzzt;

    /** 项目进度 */
    //@Excel(name = "项目进度")
    private String xmjz;

    /** 个体投资人身份证号码 */
    @Excel(name = "个体投资人身份证号码", needMerge = true)
    private String gtzzrsfzhm;

    /** 企业投资人信用证代码 */
    @Excel(name = "企业投资人信用证代码", needMerge = true)
    private String qytzrxyzdm;

    /** 企业背景（1：500强企业，2：上市公司，3：行业100强，4：头部企业，5：外资企业，6：民营企业，7：高新技术企业，8：其他） */
    @Excel(name = "企业背景", readConverterExp = "1=500强企业,2=上市公司,3=行业100强,4=头部企业,5=外资企业,6=民营企业,7=高新技术企业,8=其他", needMerge = true)
    private String qybj;

    /** 投资方简介 */
    @Excel(name = "投资方简介", needMerge = true)
    private String tzfjj;

    /** 上年度销售额(万元) */
    @Excel(name = "上年度销售额(万元)", needMerge = true)
    private String sndxse;

    /** 上年度纳税额(万元) */
    @Excel(name = "上年度纳税额(万元)", needMerge = true)
    private String sndnse;

    /** 投资人姓名 */
    @Excel(name = "投资人姓名", needMerge = true)
    private String tzrxm;

    /** 投资人职务 */
    @Excel(name = "投资人职务", needMerge = true)
    private String tzrzw;

    /** 投资人电话 */
    @Excel(name = "投资人电话", needMerge = true)
    private String tzrdh;

    /** 项目简介 */
    @Excel(name = "项目简介", needMerge = true)
    private String xmjj;

    /** 首谈人 */
    @Excel(name = "首谈人", needMerge = true)
    private String name;

    /** 首谈日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首谈日期", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true)
    private Date strq;

    /** 首谈人手机号 */
    @Excel(name = "首谈人手机号", needMerge = true)
    private String phone;

    /** 首谈人职务 */
    @Excel(name = "首谈人职务", needMerge = true)
    private String zw;

    /** 申请人用户ID */
    //@Excel(name = "申请人用户ID")
    private Long userId;

    /** 申报状态 1:正常 2:暂缓 */
    //@Excel(name = "申报状态 1:正常 2:暂缓")
    private String type;

    /** 项目进度 1:项目首谈 2:项目承接 3:项目签约 4:项目开工 5:项目投产  */
    @Excel(name = "项目进度",readConverterExp =" 1=项目首谈, 2=项目承接, 3=项目签约, 4=项目开工, 5=项目投产", needMerge = true)
    private String progress;

    /**
     * 项目状态 1:待审核 2:已通过 3:被退回
     */
    @Excel(name = "项目状态",readConverterExp ="1=待审核, 2=已通过, 3=被退回", needMerge = true)
    private String xmStatus;

    /** 申请人部门ID */
    //@Excel(name = "申请人部门ID")
    private Long deptId;

    /** 是否删除 N:否 Y:是 */
    //@Excel(name = "是否删除 N:否 Y:是")
    private String isDel;

    /** 承接地id */
    //@Excel(name = "承接地id")
    private Long cjdId;

    /** 承接地部门名称 */
    @Excel(name = "承接地", needMerge = true)
    private String cjdName;

    /** 是否需要会议支持 N:否 Y:是 */
    //@Excel(name = "是否需要会议支持 N=否, Y=是")
    private String isMeet;

    /** 会议申请备注 */
    @Excel(name = "会议申请备注", needMerge = true)
    private String meetRemark;

    /**
     * 最新的审核进度
     */
    private String shjg;

    /** 附件集合 */
    private List<ZsyzFj> zsyzFjList;

    /**
     * 前端使用 指派的类型 1:指派给要素部门 2:指派给承接地
     */
    private String zpType;

    /**
     * 审核意见列表
     */
    private List<ZsyzShyj> shyjList;

    private String shsj;


    /** 签约信息对象 */
    @Excels({
            @Excel(name = "企业注册名称+项目名称", targetAttr = "xmmc", needMerge = true),
            @Excel(name = "建设内容", targetAttr = "jsnr", needMerge = true),
            @Excel(name = "对方签约人", targetAttr = "dfqyr", needMerge = true),
            @Excel(name = "我方签约人", targetAttr = "wfqyr", needMerge = true),
            @Excel(name = "签约日期",targetAttr = "qyrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "协议投资额（万元）", targetAttr = "xytze", needMerge = true),
            @Excel(name = "市外资金（万元）", targetAttr = "swzj", needMerge = true),
            @Excel(name = "固定资产投资额（万元）", targetAttr = "gdzctze", needMerge = true),
            @Excel(name = "项目跟进人姓名", targetAttr = "xmgjrxm", needMerge = true),
            @Excel(name = "项目跟进人职务", targetAttr = "xmgjrzw", needMerge = true),
            @Excel(name = "项目跟进人手机号", targetAttr = "xmgjrsjh", needMerge = true),
            @Excel(name = "项目所在地", targetAttr = "xmszd", needMerge = true),
            @Excel(name = "所属行业", targetAttr = "sshy", readConverterExp = "1=智能 (汽车) 制造,2=装备制造,3=轻工制造,4=新材料,5=新能源,6=生物医药,7=石油化工,8=电子元器件 (信息),9=汽车零部件,10=纺织服装,11=农产品深加工,12=食品加工,13=大数据,14=大健康,15=文化旅游,16=现代服务业,17=三产融台,18=其他 ", needMerge = true),
            @Excel(name = "投资方式", targetAttr = "tzfs", readConverterExp = "1=独资,2=合资,3=合作,4=收购,5=参股,6=兼并,7=其他", needMerge = true),
            @Excel(name = "建设方式", targetAttr = "jsfs", readConverterExp = "1=新建,2=改建,3=扩建,4=租赁", needMerge = true),
            @Excel(name = "租赁厂房(平方米)", targetAttr = "zlcf", needMerge = true),
            @Excel(name = "供地面积(亩)", targetAttr = "gdmj", needMerge = true),
           // @Excel(name = "备注", targetAttr = "remark"),
            @Excel(name = "注册日期", targetAttr = "zcrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "注册资本（万元）", targetAttr = "zczb", needMerge = true),
            @Excel(name = "法人代表", targetAttr = "frdb", needMerge = true),
            @Excel(name = "联系方式", targetAttr = "lxfs", needMerge = true),
            @Excel(name = "经营范围", targetAttr = "jyfw", needMerge = true),
            @Excel(name = "立项日期", targetAttr = "lxrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "计划开工日期", targetAttr = "nkgrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true)
    })
    //@Excel(name = "签约信息")
    private ZsyzQyxx zsyzQyxx;



    /** 开工信息对象 */
    @Excels({
            @Excel(name = "开工日期", targetAttr = "kgrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "拟竣工日期", targetAttr = "njgrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "拟投产时间", targetAttr = "ntcsj", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            //@Excel(name = "分期投资情况", targetAttr = "jsnr"), 没有这个字段吧
            //@Excel(name = "备注", targetAttr = "remark")
    })
    //@Excel(name = "开工信息", needMerge = true)
    private ZsyzKgxx zsyzKgxx;


    /** 投产信息对象 */
    @Excels({
            @Excel(name = "投产日期", targetAttr = "tcrq", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true),
            @Excel(name = "实际到资额（万元）", targetAttr = "sjdze", needMerge = true),
            @Excel(name = "用地面积（亩）", targetAttr = "ydmj", needMerge = true),
            @Excel(name = "新建厂房（平方米）", targetAttr = "xjcf", needMerge = true),
            @Excel(name = "设备发票（万元）", targetAttr = "sbfp", needMerge = true),
            //@Excel(name = "新增应税销售额", targetAttr = "xjcf"),
            //@Excel(name = "租赁厂房项目增值税抵扣设备投资额", targetAttr = "xjcf"),
            //@Excel(name = "备注", targetAttr = "remark")
    })
    //@Excel(name = "投产信息")
    private ZsyzTcxx zsyzTcxx;

    //项目进展
    @Excel(name = "项目进展情况")
    private List<ZsyzJzqk> zsyzJzqkList;


    /***
     * 导出控制字段（1：列表导出，2详情导出）
     */
    private String exportType;

    /***
     * 最新的一次领导批示内容
     */
    private String psnr;

    /**
     * 存在问题
     */
    private String czwt;

    public String getCzwt() {
        return czwt;
    }

    public void setCzwt(String czwt) {
        this.czwt = czwt;
    }

    public String getPsnr() {
        return psnr;
    }

    public void setPsnr(String psnr) {
        this.psnr = psnr;
    }

    public String getShsj() {
        return shsj;
    }

    public void setShsj(String shsj) {
        this.shsj = shsj;
    }

    public List<ZsyzJzqk> getZsyzJzqkList() {
        return zsyzJzqkList;
    }

    public String getExportType() {
        return exportType;
    }

    public void setZsyzJzqkList(List<ZsyzJzqk> zsyzJzqkList) {
        this.zsyzJzqkList = zsyzJzqkList;
    }

    public void setExportType(String exportType) {
        this.exportType = exportType;
    }

    public String getXmStatus() {
        return xmStatus;
    }

    public void setXmStatus(String xmStatus) {
        this.xmStatus = xmStatus;
    }

    public String getShjg() {
        return shjg;
    }

    public void setShjg(String shjg) {
        this.shjg = shjg;
    }

    public List<ZsyzShyj> getShyjList() {
        return shyjList;
    }

    public void setShyjList(List<ZsyzShyj> shyjList) {
        this.shyjList = shyjList;
    }

    public String getZpType() {
        return zpType;
    }

    public void setZpType(String zpType) {
        this.zpType = zpType;
    }

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

    public Long getId() 
    {
        return id;
    }
    public void setSbdw(String sbdw) 
    {
        this.sbdw = sbdw;
    }

    public String getSbdw() 
    {
        return sbdw;
    }
    public void setTbrq(Date tbrq) 
    {
        this.tbrq = tbrq;
    }

    public Date getTbrq() 
    {
        return tbrq;
    }
    public void setZszxfzr(String zszxfzr) 
    {
        this.zszxfzr = zszxfzr;
    }

    public String getZszxfzr() 
    {
        return zszxfzr;
    }
    public void setXmbh(String xmbh) 
    {
        this.xmbh = xmbh;
    }

    public String getXmbh() 
    {
        return xmbh;
    }
    public void setXmxsmc(String xmxsmc) 
    {
        this.xmxsmc = xmxsmc;
    }

    public String getXmxsmc() 
    {
        return xmxsmc;
    }
    public void setSfwlhxxxm(String sfwlhxxxm) 
    {
        this.sfwlhxxxm = sfwlhxxxm;
    }

    public String getSfwlhxxxm() 
    {
        return sfwlhxxxm;
    }
    public void setYzdqId(String yzdqId) 
    {
        this.yzdqId = yzdqId;
    }

    public String getYzdqId() 
    {
        return yzdqId;
    }
    public void setYzdqName(String yzdqName) 
    {
        this.yzdqName = yzdqName;
    }

    public String getYzdqName() 
    {
        return yzdqName;
    }
    public void setYzssName(String yzssName) 
    {
        this.yzssName = yzssName;
    }

    public String getYzssName() 
    {
        return yzssName;
    }
    public void setNtze(String ntze) 
    {
        this.ntze = ntze;
    }

    public String getNtze() 
    {
        return ntze;
    }
    public void setCylxId(String cylxId) 
    {
        this.cylxId = cylxId;
    }

    public String getCylxId() 
    {
        return cylxId;
    }
    public void setCylxName(String cylxName) 
    {
        this.cylxName = cylxName;
    }

    public String getCylxName() 
    {
        return cylxName;
    }
    public void setXmlb(String xmlb) 
    {
        this.xmlb = xmlb;
    }

    public String getXmlb() 
    {
        return xmlb;
    }
    public void setTzlb(String tzlb) 
    {
        this.tzlb = tzlb;
    }

    public String getTzlb() 
    {
        return tzlb;
    }
    public void setNlhd(String nlhd) 
    {
        this.nlhd = nlhd;
    }

    public String getNlhd() 
    {
        return nlhd;
    }
    public void setCzpt(String czpt) 
    {
        this.czpt = czpt;
    }

    public String getCzpt() 
    {
        return czpt;
    }
    public void setTzzt(String tzzt) 
    {
        this.tzzt = tzzt;
    }

    public String getTzzt() 
    {
        return tzzt;
    }
    public void setXmjz(String xmjz) 
    {
        this.xmjz = xmjz;
    }

    public String getXmjz() 
    {
        return xmjz;
    }
    public void setGtzzrsfzhm(String gtzzrsfzhm) 
    {
        this.gtzzrsfzhm = gtzzrsfzhm;
    }

    public String getGtzzrsfzhm() 
    {
        return gtzzrsfzhm;
    }
    public void setQytzrxyzdm(String qytzrxyzdm) 
    {
        this.qytzrxyzdm = qytzrxyzdm;
    }

    public String getQytzrxyzdm() 
    {
        return qytzrxyzdm;
    }
    public void setQybj(String qybj) 
    {
        this.qybj = qybj;
    }

    public String getQybj() 
    {
        return qybj;
    }
    public void setTzfjj(String tzfjj) 
    {
        this.tzfjj = tzfjj;
    }

    public String getTzfjj() 
    {
        return tzfjj;
    }
    public void setSndxse(String sndxse) 
    {
        this.sndxse = sndxse;
    }

    public String getSndxse() 
    {
        return sndxse;
    }
    public void setSndnse(String sndnse) 
    {
        this.sndnse = sndnse;
    }

    public String getSndnse() 
    {
        return sndnse;
    }
    public void setTzrxm(String tzrxm) 
    {
        this.tzrxm = tzrxm;
    }

    public String getTzrxm() 
    {
        return tzrxm;
    }
    public void setTzrzw(String tzrzw) 
    {
        this.tzrzw = tzrzw;
    }

    public String getTzrzw() 
    {
        return tzrzw;
    }
    public void setTzrdh(String tzrdh) 
    {
        this.tzrdh = tzrdh;
    }

    public String getTzrdh() 
    {
        return tzrdh;
    }
    public void setXmjj(String xmjj) 
    {
        this.xmjj = xmjj;
    }

    public String getXmjj() 
    {
        return xmjj;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setStrq(Date strq) 
    {
        this.strq = strq;
    }

    public Date getStrq() 
    {
        return strq;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setZw(String zw) 
    {
        this.zw = zw;
    }

    public String getZw() 
    {
        return zw;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setProgress(String progress) 
    {
        this.progress = progress;
    }

    public String getProgress() 
    {
        return progress;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setIsDel(String isDel) 
    {
        this.isDel = isDel;
    }

    public String getIsDel() 
    {
        return isDel;
    }
    public void setCjdId(Long cjdId) 
    {
        this.cjdId = cjdId;
    }

    public Long getCjdId() 
    {
        return cjdId;
    }
    public void setCjdName(String cjdName) 
    {
        this.cjdName = cjdName;
    }

    public String getCjdName() 
    {
        return cjdName;
    }
    public void setIsMeet(String isMeet) 
    {
        this.isMeet = isMeet;
    }

    public String getIsMeet() 
    {
        return isMeet;
    }
    public void setMeetRemark(String meetRemark) 
    {
        this.meetRemark = meetRemark;
    }

    public String getMeetRemark() 
    {
        return meetRemark;
    }

    public List<ZsyzFj> getZsyzFjList() {
        return zsyzFjList;
    }

    public void setZsyzFjList(List<ZsyzFj> zsyzFjList) {
        this.zsyzFjList = zsyzFjList;
    }

    public ZsyzQyxx getZsyzQyxx() {
        return zsyzQyxx;
    }

    public ZsyzKgxx getZsyzKgxx() {
        return zsyzKgxx;
    }

    public ZsyzTcxx getZsyzTcxx() {
        return zsyzTcxx;
    }

    public void setZsyzQyxx(ZsyzQyxx zsyzQyxx) {
        this.zsyzQyxx = zsyzQyxx;
    }

    public void setZsyzKgxx(ZsyzKgxx zsyzKgxx) {
        this.zsyzKgxx = zsyzKgxx;
    }

    public void setZsyzTcxx(ZsyzTcxx zsyzTcxx) {
        this.zsyzTcxx = zsyzTcxx;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sbdw", getSbdw())
            .append("tbrq", getTbrq())
            .append("zszxfzr", getZszxfzr())
            .append("xmbh", getXmbh())
            .append("xmxsmc", getXmxsmc())
            .append("sfwlhxxxm", getSfwlhxxxm())
            .append("yzdqId", getYzdqId())
            .append("yzdqName", getYzdqName())
            .append("yzssName", getYzssName())
            .append("ntze", getNtze())
            .append("cylxId", getCylxId())
            .append("cylxName", getCylxName())
            .append("xmlb", getXmlb())
            .append("tzlb", getTzlb())
            .append("nlhd", getNlhd())
            .append("czpt", getCzpt())
            .append("tzzt", getTzzt())
            .append("xmjz", getXmjz())
            .append("gtzzrsfzhm", getGtzzrsfzhm())
            .append("qytzrxyzdm", getQytzrxyzdm())
            .append("qybj", getQybj())
            .append("tzfjj", getTzfjj())
            .append("sndxse", getSndxse())
            .append("sndnse", getSndnse())
            .append("tzrxm", getTzrxm())
            .append("tzrzw", getTzrzw())
            .append("tzrdh", getTzrdh())
            .append("xmjj", getXmjj())
            .append("name", getName())
            .append("strq", getStrq())
            .append("phone", getPhone())
            .append("zw", getZw())
            .append("userId", getUserId())
            .append("createBy", getCreateBy())
            .append("type", getType())
            .append("progress", getProgress())
            .append("xmStatus", getXmStatus())
            .append("deptId", getDeptId())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("isDel", getIsDel())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("cjdId", getCjdId())
            .append("cjdName", getCjdName())
            .append("isMeet", getIsMeet())
            .append("meetRemark", getMeetRemark())
            .append("shyjList", getShyjList())
            .append("shjg", getShjg())
            .toString();
    }
}
