package com.dayou.entity;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.dayou.annotation.*;
import com.dayou.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import static com.dayou.enums.MainBusinessEnum.MAJOR_BUSINESS;

/**
 * <p>
 * 大中型项目
 * </p>
 *
 * @author wucl
 * @since 2023-10-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ExcelSheet(sheetName = "大中型项目")
@LuceneResource(value = MAJOR_BUSINESS,serviceImplClassName = "majorServiceImpl",url = "/major/list",menuName = "正在进行")
public class Major extends BaseEntity {

    private static final long serialVersionUID=1L;


    /**
     * 项目名称
     */
    @ImportCell
    @ExportCell(columnName = "项目名称")
    @LuceneSearchable("name")
    private String name;

    /**
     * 项目编号
     */
    @ImportCell
    @ExportCell(columnName = "项目编号")
    @LuceneSearchable("order_id")
    private String orderId;

    /**
     * 是否金融
     */
    @ImportCell
    @ExportCell(columnName = "是否金融")
    private Boolean financial;

    /**
     * 分单类型
     */
    @ImportCell
    @ExportCell(columnName = "分单类型")
    private String allotType;

    /**
     * 客户经理id(user_id)
     */
    private Long clientManagerId;

    /**
     * 项目负责人id(user_id)
     */
    private Long principalId;

    /**
     * 接单部门id
     */
    private Long departmentId;

    /**
     * 评估对象类型（土地，房地产）
     */
    @ImportCell
    @ExportCell(columnName = "评估对象类型（土地，房地产）")
    private String businessObjectType;

    /**
     * 特殊类型
     */
    @ImportCell
    @ExportCell(columnName = "特殊类型")
    private String specialType;

    /**
     * 业务类型
     */
    @ImportCell
    @ExportCell(columnName = "业务类型")
    private String businessGener;

    /**
     * 评估目的
     */
    @ImportCell
    @ExportCell(columnName = "评估目的")
    private String evaluateAim;

    /**
     * 客户再次委托
     */
    @ImportCell
    @ExportCell(columnName = "客户再次委托")
    private Boolean entrustAgain;

    /**
     * 是否分户搬迁
     */
    @ImportCell
    @ExportCell(columnName = "是否分户搬迁")
    private Boolean multipleRemoval;

    /**
     * 是否口估
     */
    @ImportCell
    @ExportCell(columnName = "是否口估")
    private Boolean informalEvaluate;

    /**
     * 客户类型（企业，个人）
     */
    @ImportCell
    @ExportCell(columnName = "客户类型（企业，个人）")
    private String clienteleType;

    /**
     * 客户id
     */
    private Long clienteleId;

    /**
     * 业务来源（下级客户id）
     */
    private Long clienteleSubId;

    /**
     * 客户联系人id
     */
    private Long clienteleContactId;

    /**
     * 是否分配产值
     */
    @ImportCell
    @ExportCell(columnName = "是否分配产值")
    private Boolean dispenseBenefit;

    /**
     * 是否异地
     */
    @ImportCell
    @ExportCell(columnName = "是否异地")
    private Boolean nonnative;

    /**
     * 是否续贷
     */
    @ImportCell
    @ExportCell(columnName = "是否续贷")
    private Boolean refinance;

    /**
     * 贷款额度
     */
    @ImportCell
    @ExportCell(columnName = "贷款额度")
    private BigDecimal loanLimit;

    /**
     * 贷款期限
     */
    @ImportCell
    @ExportCell(columnName = "贷款期限")
    private BigDecimal loanPeriod;

    /**
     * 贷款性质
     */
    @ImportCell
    @ExportCell(columnName = "贷款性质")
    private String loanNature;

    /**
     * 贷款用途
     */
    @ImportCell
    @ExportCell(columnName = "贷款用途")
    private String loanAim;

    /**
     * 贷款是否到期
     */
    @ImportCell
    @ExportCell(columnName = "贷款是否到期")
    private Boolean loanExpire;

    /**
     * 委托人
     */
    @ImportCell
    @ExportCell(columnName = "委托人")
    @LuceneSearchable("bailor")
    private String bailor;

    /**
     * 委托人地址
     */
    @ImportCell
    @ExportCell(columnName = "委托人地址")
    private String bailorAddress;

    /**
     * 委托联系人姓名
     */
    @ImportCell
    @ExportCell(columnName = "委托联系人姓名")
    private String bailorContactName;

    /**
     * 委托人联系人电话
     */
    @ImportCell
    @ExportCell(columnName = "委托人联系人电话")
    private String bailorContactTel;

    /**
     * 产权人
     */
    @ImportCell
    @ExportCell(columnName = "产权人")
    @LuceneSearchable("owner")
    private String owner;

    /**
     * 产权人联系电话
     */
    @ImportCell
    @ExportCell(columnName = "产权人联系电话")
    private String ownerTel;

    /**
     * 是否加急
     */
    @ImportCell
    @ExportCell(columnName = "是否加急")
    private Boolean urgent;

    /**
     * 终端客户id
     */
    private Long terminalClienteleId;

    /**
     * 终端客户类型（企业，个人）
     */
    @ImportCell
    @ExportCell(columnName = "终端客户类型（企业，个人）")
    private String terminalClienteleType;

    /**
     * 终端联系人
     */
    private Long terminalClienteleContactId;

    /**
     * 备注
     */
    @ImportCell
    @ExportCell(columnName = "备注")
    private String remark;

    /**
     * 项目参与人
     */
    @TableField(fill = FieldFill.UPDATE)
    private String members;

    /**
     * 客户反馈信息
     */
    private String feedbackInfo;

    /**
     * 市场部id(下单部门)
     */
    private Long marketDepartmentId;

}
