package com.zfire.mall.manager.datasource.engin.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.sql.Timestamp;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AgencyBills extends Model<AgencyBills> {

    private static final long serialVersionUID=1L;
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private int id;
    /**
     * 所属经销商(组织表id)
     */
    private int organizationid;


    private String beDepartment;    //所属部门
    private String zoneWork;        //分区业务


    /**
     * userid
     */
    private Integer userid;
    /**
     * 经销商名称(组织表)
     */
    private String organizationName;






    /**
     * 工程编号
     */
    private String recordNo;
    /**
     * 所属部门(组织表)同上
     */
    private String organizationDept;
    /**
     * 经销商所属区域(组织表)
     */
    private String organizationRegion;
    /**
     * 产品类型(产品类别表单选)
     */
    private String productCategory;
    /**
     * 项目类别(项目类别表单选)
     */
    private String projectName;
    /**
     * 行业类别(行业分类表单选)
     */
    private String tradeCategory;
    /**
     * 经销商联系人
     */
    private String agencyName;
    /**
     * 经销商电话
     */
    private String agencyPhone;

    /**
     * 使用单位
     */
    private String useUnit;
    /**
     * 政府采购类型
     */
    private String govBuyType;
    /**
     * 竞争品牌
     */
    private String competeBrand;
    /**
     * 购买单位名称
     */
    private String buyUnitName;
    /**
     * 购买单位联系人
     */
    private String buyUnitCallMen;
    /**
     * 购买单位固定电话
     */
    private String buyUnitTel;
    /**
     * 购买单位手机
     */
    private String buyUnitPhone;
    /**
     * 安装地址
     */
    private String installAddress;
    /**
     * 地图安装地址
     */
    private String mapInstallAddress;
    /**
     * 经纬度
     */
    private String locationCoordinate;
    /**
     * 补充说明
     */
    private String buChonShuoMing;
    /**
     * 地址拼音字段
     */
    private String spellAddres;
    /**
     * 使用单位拼音字段
     */
    private String spellUseUnit;
    /**
     * 跨区区域类型(佛山/非佛山)
     */
    private String crossDistrictType;
    /**
     * 合同号（二级经销商不可生成）
     */
    private String contractNo;
    /**
     * 授权生成合同号(是/否)
     */
    private Integer authContract=0;
    /**
     * 提交保证函（已保证，未保证）
     */
    private Integer promiseProvide=0;
    /**
     * 同意跟进函（提供/未提供）
     */
    private Integer followProvide=0;
    /**
     * 同意跟进函-提交日期
     */
    private Timestamp followProvideDate;
    /**
     * 保证函提交日期
     */
    private Timestamp promisePriceDate;
    private Timestamp promiseAcceptTime;//保证函受理时间
    /**
     * 登录单过期的日期(成功批复后90天过期)
     */
    private Timestamp billsExpireDate;
    /**
     * 资料状态（已提交/未提交）
     */
    private Integer datumProvide=0;
    /**
     * 资料提交日期(当前时间,可修改)
     */
    private Timestamp datumProvideDate;
    /**
     * 跨区工程（是否 判断安装地址）
     */
    private Integer isCross=0;
    /**
     * 跨区单是否被引用
     */
    private Integer isQuote=0;
    /**
     * 跨区区域（区域表)
     */
    private String crossDistrictName;
    /**
     * 跨区编号（区域表）
     */
    private String crossDistrictNo;
    /**
     * 操作员的用户名(用户表)
     */
    private String operatorNick;
    /**
     * 项目编号
     */
    private String projectNo;
    /**
     * 驳回原因(驳回时才有)
     */
    private String rejectCause;
    /**
     * 安装委托文件受理状态Date(待受理，驳回，已受理)
     */
    private String installFileAcceptStatus;
    /**
     * 其他附件受理状态Date(待受理，驳回，已受理)
     */
    private String attachmentAcceptStatus;



    /**
     * 工程状态
     */
    private String projectStatus;
    /**
     * 第几申报
     */
    private Integer declareNo;
    /**
     * 登录审核人(显示用户账号)
     */
    private String checkUserName;
    /**
     * 申报时间（操作员编辑）
     */
    private Timestamp declareTime;
    /**
     * 跨区申报时间（操作员编辑）
     */
    private Timestamp crossDeclareTime;
    /**
     * 其他附件提交日期
     */
    private Timestamp attachmentDate;
    /**
     * 其他附件受理日期
     */
    private Timestamp attachmentAcceptDate;
    /**
     * 安装委托文件提交日期
     */
    private Timestamp installFileDate;
    /**
     * 安装委托文件受理日期
     */
    private Timestamp installFileAcceptDate;
    /**
     * 登录审核时间
     */
    private Timestamp checkTime;
    private String checkTime4StrExport;
    private String promisePriceDate4StrExport;


    /**
     * 保证函受理状态(待受驳回已受)
     */
    private String promiseAcceptStatus;
    /**
     * 保证函申价状态(常规/特价/一票)
     */
    private String promiseStatus;
    /**
     * 保证函申价
     */
    private Integer promisePrice;
    /**
     * 其他附件(已提供未提供)
     */
    private Integer attachmentProvide=0;
    /**
     * 同意跟进函-受理日期
     */
    private Timestamp followAcceptDate;
    /**
     * 资料审核结果(已审/未审/驳回)
     */
    private String datumAcceptStatus;
    /**
     * 跟进函受理状态
     */
    private String followAcceptStatus;
    /**
     * 安装日期（操作员编辑）
     */
    private Timestamp installDate;
    /**
     * 寄厂日期（操作员编辑）
     */
    private Timestamp sendFactoryDate;
    /**
     * 资料过期剩余天数
     */
    private Integer datumExpireOverplus;
    /**
     * 申请更改文件(0全部1保证函2跟进函3资料)
     */
    private Integer applyUpdateFile;
    /**
     * 是否可以更改文件(0可以1不可以)
     */
    private Integer canUpdateFile=0;
    /**
     * 资料过期(未/已过期)
     */
    private Integer datumExpireStatus=0;
    /**
     * 上传的文件是否审核了
     */
    private Integer fileHasCheck;
    /**
     * 安装地区（操作员 组织表-单选）
     */
    private String installRegion;
    /**
     * 上传的文件审核描述
     */
    private String fileCheckDiscri;
    /**
     * 区域业务（操作员编辑）
     */
    private String regionWork;
    /**
     * 自编号（流水号-跨区时)
     */
    private String selfNo;
    /**
     * 跨区处理情况(待受已受驳回)
     */
    private String crossAcceptStatus;
    private String beiCrossCompany;//被跨区公司
    /**
     * 跨区结果(登录单不显示出来)
     */
    private String crossResult;
    /**
     * 引用了几次（跨区单用,某一单）
     */
    private Integer hasUse;
    /**
     * 默认引用次数1(某条跨区单的)
     */
    private Integer canUse;
    /**
     * 安装要求（操作员编辑）
     */
    private String installRequire;
    /**
     * 安装情况(已委托/未委托)
     */
    private String installThing;
    /**
     * 登录单审核状态(待审核/有效/驳回/无效)
     */
    private Integer billsAcceptStatus;
    /**
     * 安装网点
     */
    private String installPoint;
    /**
     * 大额工程(是否)（操作员编辑）
     */
    private Integer isBigAmount=0;
    /**
     * 项目总额（操作员编辑）
     */
    private Integer projectAmount;
    /**
     * 提货状态(未/已提完）
     */
    private Integer pickGoodsStatus=0;
    /**
     * 提货更新日期（按更新操作日期）
     */
    private Timestamp pickGoodsDate;
    /**
     * 押金状态（未/已退押）
     */
    private Integer cashPledgeStatus=0;
    /**
     * 退押日期(显示退押操作的日期)
     */
    private Timestamp returnPledgeDate;
    /**
     * 开单账号（操作员）
     */
    private String billAccount;
    /**
     * 拥有使用单位名称（操作员）
     */
    private String hasUseUnitName;


    /**
     * 跨区备注
     */
    private String crossRemark;

    /**
     * 附件备注
     */
    private String fjShenPiRemark;

    /**
     * 保证函备注
     */
    private String promisePriceRemark;

    /**
     * 跟进函备注
     */
    private String followAcceptRemark;

    /**
     * 登录备注（操作员）
     */
    private String recordDiscri;
    private String crossDiscri;
    private String agreeCrossCerImgs;
    private String factoryNo;//厂编号
    private String factoryAotuNo;//厂系统自动编号


    private Integer currentFjLishiRecordId;	//当前申请附件历史记录id
    private String fjShouLiYiJian;		//其他附件-受理意见(经销商不可见)
    private String fjShenPiYiJian;		//其他附件-审批意见
    private String fjShenPiResult;		//其他附件-审批结果(同意/不同意/待审批)
    private String fjBoHui;			    //其他附件-驳回原因
    private String fjData;			    //其他附件-数据
    private String promisePriceYiJian;	//保证函-受理意见
    private String followAcceptYiJian;	//跟进函-受理意见
    private String installFileBoHui;	//安装委托-驳回原因
    private String promisePriceBoHui;	//保证函-驳回原因
    private String followAcceptBoHui;	//跟进函-驳回原因
    private String datumBohui;		    //资料拒审原因
    private String datumProblem;		//资料问题类别(无/纸质资料/电子资料)


    /**
     * 省
     */
    private String cmbProvince;
    /**
     * 市
     */
    private String cmbCity;
    /**
     * 区
     */
    private String cmbArea;


    /**
     * 登录次序（操作员）
     */
    private Integer recordOrder;
    /**
     * 版本号（version，用于锁）
     */
    private Integer editV;
    /**
     * 编辑中（用于锁）
     */
    private Integer editing;


    private String jiXing;  //机型
    private String jixingNum;
    private String recordNoArr; //前序项目

    private String contractResult;  //合同变更批复结果
    private String contractIdea;    //合同变更审批意见
    private String toRetailResult;  //工程机转零售批复结果
    private String toRetailIdea;    //工程机转零售审批意见
    private String dataDelayResult; //资料延期批复结果
    private String dataDelayIdea;   //资料延期审批意见
    private String otherAnnexResult;//其他附件批复结果
    private String otherAnnexIdea;  //其他附件审批意见

    private String crossCheckUserName;  //跨区处理员
    private Timestamp crossHandlerDate; //跨区处理时间

    private Timestamp datumAcceptDate; //资料审核日期
    /**
     * 外部查询 false=不允许 true=允许
     */
    private Boolean externalQuery;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
