package com.dayou.dto.history;

import lombok.Data;

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

/**
 * 类说明：
 *
 * @author: wucl
 * @since: 2024/5/7
 * created with IntelliJ IDEA.
 */
@Data
public class HisMajorOrder {

    private java.lang.String id;
    private java.lang.String creatorId;
    private java.lang.String creatorName;
    private java.lang.String modifierId;
    private java.lang.String modifierName;
    private java.util.Date createdDatetime;
    private java.util.Date modifiedDatetime;
    private java.lang.String createOrgId;
    private java.lang.String createOrgName;

    private String sourceTypeName;

    /**
     * 金融
     */
    public static final String SOURCE_TYPE_FINANCE = "FINANCE";
    /**
     * 非金融
     */
    public static final String SOURCE_TYPE_NON_FINANCE = "NON_FINANCE";
    /**
     * 土地
     */
    public static final String SOURCE_TYPE_LAND = "LAND";
    public static final String PRODUCT_YJS = "价值意见书";
    public static final String PRODUCT_BG = "报告";
    /**
     * 等待入库
     */
    public static final String REPO_WAIT_IN = "WAIT_IN";
    /**
     * 在库
     */
    public static final String REPO_IN = "IN";
    /**
     * 已出库
     */
    public static final String REPO_OUT = "OUT";
    // 出库申请-部门经理
    public static final String APPLY_WAIT = "WAIT_APPLY";
    // 出库申请-财务经理
    public static final String APPLY_WAIT2 = "WAIT_APPLY2";
    /**
     * 申请终止：同意终止
     */
    public static final String APPLY_PASS = "PASS";
    /**
     * 申请终止：不同意终止
     */
    public static final String APPLY_DENY = "DENY";
    private String sourceType;

    private Boolean assign;

    private String masterId;

    private String masterName;

    private String name;

    private String code;


    private String customerType;
    private String customerId;
    private String customerName;
    private String customerId2;
    private String customerName2;
    private String contactId;
    private String contactOrg;
    private String contactDuty;
    private String terminalId;
    private String terminalName;
    private String terminalType;
    private String terminalContactId;
    private String terminalContactName;
    private String terminalContactMobile;



    private String companyId;
    private String companyName;

    private Boolean refinance;

    private String loanProperty;
    private String loanUsage;

    private Boolean loanExpired;

    private Double loanMoney;

    private Double loanLimit;

    private String principal;

    private String principalAddress;

    private String principalName;

    private String principalMobile;

    private String principalDescription;
    private String propertyName;

    private String propertyMobile;

    private String bankContactName;

    private String bankContactMobile;

    private Boolean urgent;

    private String status;

    private String reportNO;

    private String mainReportNO;

    private Boolean locations;

    private String address;

    private String ruleType;

    private Integer ruleIndex;

    private String masterOrgId;

    private String masterOrgName;

    private String nowNodeId;

    private String nowNodeName;

    private String nowNodeEmpId;

    private String nowNodeEmpName;

    private String managerId;

    private String managerName;

    private String members;

    private String orderEmpId;

    private String orderEmpName;

    private Date orderTime;

    private String performance;

    private Double bonusRate;

    private Double money;
    private Double area;
    private Double landArea;
    private String houseUsage;
    private Double price;


    private Boolean calculateOrders;
    private Boolean calculatePriceEfficiency;

    private String businessType;

    private String businessType2;
    private String spec;


    private String evaluateTarget;
    private String evaluateTargetId;


    private Boolean oral;
    private Boolean originOral;

    private String otherEvaluateTarget;

    private String description;


    private Date surveyDate;

    private Date priceDate;
    private Date approvePriceTime;
    private Double approvePriceDuration;
    private String specDesc;
    private String signEmpId1;
    private String signEmpName1;
    private String signEmpNameNO1;

    private String signEmpId2;
    private String signEmpName2;
    private String signEmpNameNO2;

    private Double discount;

    private Double needPay;
    private Date needPayRecordTime;
    private Double realPay;

    private String incomeId;
    private String companyNO;
    private String payBankName;
    private String payBankNO;
    private String companyAddress;
    private String companyContactName;
    private String companyContactPhone;
    private String needPayDescription;
    private Integer printTimes;
    private Double balanceMoney;
    private Boolean payed;

    // 发票类型
    private String ticketType;

    private Double standardPrice;

    private Boolean deleted;

    private Boolean repeatOrder;
    private Boolean fhbq;

    private Boolean needApprove2;
    // 三审人
    private String approveEmpId3;
    private String approveEmpName3;

    private Boolean needApprove3;

    private String repo;
    private Boolean finished;

    private String applyStop;
    // 申请终止时的流程任务的ID，用于判断
    private String applyStopTaskId;
    private String stopReason;

    // 流程实例ID
    private String flowInstanceId;

    // 评估对象ID，用于取号时传递过来取小号用
    private List<String> targetIds;

    private String progress;

    private String outRepoApply;
    private String outRepoApplyReason;
    private Date outRepoTime;
    private Date yjsInTime;
    private Date yjsOutTime;
    private Date bgInTime;
    private Date bgOutTime;
    private Date archiveTime;

    private Double archiveDuration;

    private String outRepoApplyTaskId;

    private Boolean yjs;
    private Integer yjsPrintQuantity;
    // 意见书二审人
    private String yjsApprove2EmpId;
    private String yjsApprove2EmpName;
    private Integer bgPrintQuantity;
    // 报告二审人
    private String bgApprove2EmpId;
    private String bgApprove2EmpName;

    // 当前产品
    private String nowProduct;
    private Boolean bg;
    private Boolean fph;
    private Integer fphPrintQuantity;


    private String bgScore;
    private Integer cjError1;
    private Integer cjError2;
    private Integer cjError3;
    private String cjReason;
    private Date cjTime;
    private String cjEmpName;
    private String wbtsEmpName;
    private Integer wbtsError1;
    private Integer wbtsError2;
    private Integer wbtsError3;
    private Integer wbtsError4;
    private String wbtsReason;
    private Date wbtsTime;
    private String nbtsEmpName;
    private Integer nbtsError1;
    private Integer nbtsError2;
    private Integer nbtsError3;
    private Integer nbtsError4;
    private String nbtsReason;
    private Date nbtsTime;
    private Double difficultScore;
    private Date difficultTime;
    private String difficultReason;





    private Double lossMoney;
    private Date lossRecordTime;
    private String lossRecordEmpId;
    private String lossRecordEmpName;

    private String lossMoneyDescription;

    // 电子二维码（这里存放的实际上是HTML链接）
    private String infoQR;

    private Boolean history;

    private Double ticketMoney;

    private Date confirmTime;


    private String evaluateMethod;

    private Double score1;

    private Boolean cz;

    // 业务分类（评估人员）提成流程实例ID
    private String pgFlowInstanceId;
    // 业务提成类型审批状态（审批中、通过、不通过）
    private String pgApproveStatus;
    /**
     * 提成业务类型
     *
     * @author 许靖
     * @date 2020年04月13日23:43:52
     * @description 用于确定当前这笔实收款是使用哪一种业务类型来进行提成（评估人员）,数据来自IndexWeightDetail的"评估人员_业务分类"
     * 当审批通过后，有值。
     */
    private String pgBusinessType;
    /**
     * @author 许靖
     * @date 2020年04月03日04:05:53
     * @description 用于确定当前这笔实收款是使用哪一种业务类型来进行提成（客户经理），数据来自IndexWeightDetail的"客户经理_分类提成比例"
     */
    private String masterBusinessType;
    private String masterApproveStatus;
    // 订单提成（给客户经理用的）
    private String masterFlowInstanceId;


    private Integer version;

    private String approveDesc;
    private Date approveTime;
}
