package com.sifang.modules.customer.entity;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 进件申请-设备清单
 * @TableName crm_customer_incoming_application_equip_info_normal
 */
@Entity
@Table(name = "crm_customer_incoming_application_equip_info_normal")
public class CrmCustomerIncomingApplicationEquipInfoNormal implements Serializable {
    /**
     * id
     */
    private String id;

    /**
     * 进件申请id
     */
    private String applicationId;

    /**
     * crm_customer_entry 表id
     */
    private String entryId;

    /**
     * 租赁物名称
     */
    private String equipName;

    /**
     * 规格型号/材料
     */
    private String model;

    /**
     * 资产识别号
     */
    private String equipNum;

    /**
     * 租赁物数量/单位
     */
    private BigDecimal quantity;

    /**
     * 单价
     */
    private BigDecimal equipValue;

    /**
     * 租赁物原值/评估净值(元)
     */
    private BigDecimal originalAssetValue;

    /**
     * 不含税原值(元)
     */
    private BigDecimal netOriginalAssetValue;

    /**
     * 确定的租赁物价值(元)
     */
    private BigDecimal confirmValue;

    /**
     * 确认折旧(元)
     */
    private BigDecimal accumulatedDepreciation;

    /**
     * 初始确认物净值
     */
    private BigDecimal netAssetValue;

    /**
     * 确认净值日期(yyyy-MM-dd)
     */
    private String confirmNetValueDate;

    /**
     * 购置/建造完工日期(yyyy-MM-dd)
     */
    private String purchasedate;

    /**
     * 入账日期(yyyy-MM-dd)
     */
    private String entryDate;

    /**
     * 存放地点
     */
    private String equipUsePlace;

    private String equipUsePlaceDetails;

    /**
     * 生产单位
     */
    private String manufacturer;

    private String policyImg;

    private String invoiceImg;
    /**
     * 发票号
     */
    private String invoiceNum;

    private String contractImg;

    private String description;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 状态(0 正常 1 删除)
     */
    private String status;

    // 发电户号
    private String generatorNo;


    private String communicationCode;


    public String getInvoiceNum() {
        return invoiceNum;
    }

    public void setInvoiceNum(String invoiceNum) {
        this.invoiceNum = invoiceNum;
    }

    public String getCommunicationCode() {
        return communicationCode;
    }

    public void setCommunicationCode(String communicationCode) {
        this.communicationCode = communicationCode;
    }

    @Transient
    public String getGeneratorNo() {
        return generatorNo;
    }

    public void setGeneratorNo(String generatorNo) {
        this.generatorNo = generatorNo;
    }

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

    /**
     * id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 进件申请id
     */
    public String getApplicationId() {
        return applicationId;
    }

    /**
     * 进件申请id
     */
    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    /**
     * crm_customer_entry 表id
     */
    public String getEntryId() {
        return entryId;
    }

    /**
     * crm_customer_entry 表id
     */
    public void setEntryId(String entryId) {
        this.entryId = entryId;
    }

    /**
     * 租赁物名称
     */
    public String getEquipName() {
        return equipName;
    }

    /**
     * 租赁物名称
     */
    public void setEquipName(String equipName) {
        this.equipName = equipName;
    }

    /**
     * 规格型号/材料
     */
    public String getModel() {
        return model;
    }

    /**
     * 规格型号/材料
     */
    public void setModel(String model) {
        this.model = model;
    }

    /**
     * 资产识别号
     */
    public String getEquipNum() {
        return equipNum;
    }

    /**
     * 资产识别号
     */
    public void setEquipNum(String equipNum) {
        this.equipNum = equipNum;
    }

    /**
     * 租赁物数量/单位
     */
    public BigDecimal getQuantity() {
        return quantity;
    }

    /**
     * 租赁物数量/单位
     */
    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    /**
     * 单价
     */
    public BigDecimal getEquipValue() {
        return equipValue;
    }

    /**
     * 单价
     */
    public void setEquipValue(BigDecimal equipValue) {
        this.equipValue = equipValue;
    }

    /**
     * 租赁物原值/评估净值(元)
     */
    public BigDecimal getOriginalAssetValue() {
        return originalAssetValue;
    }

    /**
     * 租赁物原值/评估净值(元)
     */
    public void setOriginalAssetValue(BigDecimal originalAssetValue) {
        this.originalAssetValue = originalAssetValue;
    }

    /**
     * 不含税原值(元)
     */
    public BigDecimal getNetOriginalAssetValue() {
        return netOriginalAssetValue;
    }

    /**
     * 不含税原值(元)
     */
    public void setNetOriginalAssetValue(BigDecimal netOriginalAssetValue) {
        this.netOriginalAssetValue = netOriginalAssetValue;
    }

    /**
     * 确定的租赁物价值(元)
     */
    public BigDecimal getConfirmValue() {
        return confirmValue;
    }

    /**
     * 确定的租赁物价值(元)
     */
    public void setConfirmValue(BigDecimal confirmValue) {
        this.confirmValue = confirmValue;
    }

    /**
     * 确认折旧(元)
     */
    public BigDecimal getAccumulatedDepreciation() {
        return accumulatedDepreciation;
    }

    /**
     * 确认折旧(元)
     */
    public void setAccumulatedDepreciation(BigDecimal accumulatedDepreciation) {
        this.accumulatedDepreciation = accumulatedDepreciation;
    }

    /**
     * 初始确认物净值
     */
    public BigDecimal getNetAssetValue() {
        return netAssetValue;
    }

    /**
     * 初始确认物净值
     */
    public void setNetAssetValue(BigDecimal netAssetValue) {
        this.netAssetValue = netAssetValue;
    }

    /**
     * 确认净值日期(yyyy-MM-dd)
     */
    public String getConfirmNetValueDate() {
        return confirmNetValueDate;
    }

    /**
     * 确认净值日期(yyyy-MM-dd)
     */
    public void setConfirmNetValueDate(String confirmNetValueDate) {
        this.confirmNetValueDate = confirmNetValueDate;
    }

    /**
     * 购置/建造完工日期(yyyy-MM-dd)
     */
    public String getPurchasedate() {
        return purchasedate;
    }

    /**
     * 购置/建造完工日期(yyyy-MM-dd)
     */
    public void setPurchasedate(String purchasedate) {
        this.purchasedate = purchasedate;
    }

    /**
     * 入账日期(yyyy-MM-dd)
     */
    public String getEntryDate() {
        return entryDate;
    }

    /**
     * 入账日期(yyyy-MM-dd)
     */
    public void setEntryDate(String entryDate) {
        this.entryDate = entryDate;
    }

    /**
     * 存放地点
     */
    public String getEquipUsePlace() {
        return equipUsePlace;
    }

    /**
     * 存放地点
     */
    public void setEquipUsePlace(String equipUsePlace) {
        this.equipUsePlace = equipUsePlace;
    }

    /**
     * 生产单位
     */
    public String getManufacturer() {
        return manufacturer;
    }

    /**
     * 生产单位
     */
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    /**
     * 状态(0 正常 1 删除)
     */
    public String getStatus() {
        return status;
    }

    /**
     * 状态(0 正常 1 删除)
     */
    public void setStatus(String status) {
        this.status = status;
    }


    public String getPolicyImg() {
        return policyImg;
    }

    public void setPolicyImg(String policyImg) {
        this.policyImg = policyImg;
    }

    public String getInvoiceImg() {
        return invoiceImg;
    }

    public void setInvoiceImg(String invoiceImg) {
        this.invoiceImg = invoiceImg;
    }

    public String getContractImg() {
        return contractImg;
    }

    public void setContractImg(String contractImg) {
        this.contractImg = contractImg;
    }

    public String getEquipUsePlaceDetails() {
        return equipUsePlaceDetails;
    }

    public void setEquipUsePlaceDetails(String equipUsePlaceDetails) {
        this.equipUsePlaceDetails = equipUsePlaceDetails;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", applicationId=").append(applicationId);
        sb.append(", entryId=").append(entryId);
        sb.append(", equipName=").append(equipName);
        sb.append(", model=").append(model);
        sb.append(", equipNum=").append(equipNum);
        sb.append(", quantity=").append(quantity);
        sb.append(", equipValue=").append(equipValue);
        sb.append(", originalAssetValue=").append(originalAssetValue);
        sb.append(", netOriginalAssetValue=").append(netOriginalAssetValue);
        sb.append(", confirmValue=").append(confirmValue);
        sb.append(", accumulatedDepreciation=").append(accumulatedDepreciation);
        sb.append(", netAssetValue=").append(netAssetValue);
        sb.append(", confirmNetValueDate=").append(confirmNetValueDate);
        sb.append(", purchasedate=").append(purchasedate);
        sb.append(", entryDate=").append(entryDate);
        sb.append(", equipUsePlace=").append(equipUsePlace);
        sb.append(", manufacturer=").append(manufacturer);
        sb.append(", status=").append(status);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}