package com.ruoyi.project.asset.domain;


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

import java.util.Date;

/**
 * 固定资产对象 t_specdev_fixed_asset
 *
 * @author ruoyi
 * @date 2022-10-18
 */
public class TSpecdevFixedAsset extends BaseEntity {
    private static final long serialVersionUID = 1L;

    public TSpecdevFixedAsset(TSpecdevMain main) {
        this.devNo = main.getDevno();
        this.pidNo = main.getPidNo();
        this.devName = main.getDevName();
        this.devEnname = main.getDevEnname();
        this.installPosition = main.getInstallPosition();
//        this.assetNo = main.getAssetNo();
        this.usingStatus = main.getAssetStatus();
    }

    public TSpecdevFixedAsset() {
    }

    /**
     * 唯一标识id
     */
    private Long id;

    /**
     * 资产类别
     */
    @Excel(name = "资产类别")
    private String assetType;

    /**
     * 资产编号
     */
    @Excel(name = "资产编号")
    private String assetNo;

    /**
     * 资产子编号
     */
    @Excel(name = "资产子编号")
    private String assetSubNo;

    /**
     * 资产描述（中文）
     */
    @Excel(name = "资产描述(中文)")
    private String devName;

    /**
     * 资产描述（英文）
     */
    @Excel(name = "资产描述(英文)")
    private String devEnname;

    /**
     * 成本中心名称
     */
    @Excel(name = "成本中心名称")
    private String costCenter;

    /**
     * 成本中心代码
     */
    @Excel(name = "成本中心代码")
    private String costCenterCode;

    /**
     * 资产类别AP03XXX
     */
    @Excel(name = "资产类别AP03XXX")
    private String assetTypeAp;

    /**
     * 资本化日期Capitalized on
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "资本化日期Capitalized on", width = 30, dateFormat = "yyyy-MM-dd")
    private Date capitalizedDate;

    /**
     * 数量Quantity
     */
    @Excel(name = "数量Quantity")
    private String quantity;

    /**
     * 币种
     */
    @Excel(name = "币种")
    private String currency;

    /**
     * 原值Current APC
     */
    @Excel(name = "原值Current APC")
    private String currentApc;

    /**
     * 使用年限
     */
    @Excel(name = "使用年限")
    private String serviceLife;

    /**
     * 管理人
     */
    @Excel(name = "管理人")
    private String administrator;

    /**
     * 位号
     */
    @Excel(name = "位号")
    private String devNo;

    /**
     * 资产详细
     */
    @Excel(name = "资产详细")
    private String assetDetail;

    /**
     * 工艺子单元
     */
    @Excel(name = "工艺子单元")
    private String processSubunit;

    /**
     * PID图号/其他图号
     */
    @Excel(name = "PID图号/其他图号")
    private String pidNo;

    /**
     * 安装位置
     */
    @Excel(name = "安装位置")
    private String installPosition;

    /**
     * 创建原由（项目号MOC号）
     */
    @Excel(name = "创建原由（项目号MOC号）")
    private String createReason;

    /**
     * 条形码位置
     */
    @Excel(name = "条形码位置")
    private String barcodePosition;

    /**
     * 报废原由
     */
    @Excel(name = "报废原由")
    private String scrapReason;

    /**
     * 报废提出时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "报废提出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scrapPoseDate;

    /**
     * 报废完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "报废完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scrapDoneDate;

    /**
     * 报废人
     */
    @Excel(name = "报废人")
    private String scraper;

    /**
     * 在用状态
     */
    @Excel(name = "在用状态", dictType = "spec_dev_status")
    private String usingStatus;

    /**
     * 状态
     */
    private Long status;

    /**
     * 状态 0 ：正常 ；-1：删除
     */
    private Long delFlag;

    /**
     * 创建人
     */
    private Long createrCode;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createdate;

    /**
     * 修改人
     */
    private Long updaterCode;

    /**
     * 修改时间
     */
    private Date updatedate;

    /**
     * 部门编号
     */
    private Long deptId;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;


    private String fuzzy;

    public String getFuzzy() {
        return fuzzy;
    }

    public void setFuzzy(String fuzzy) {
        this.fuzzy = fuzzy;
    }

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

    public Long getId() {
        return id;
    }

    public void setAssetType(String assetType) {
        this.assetType = assetType;
    }

    public String getAssetType() {
        return assetType;
    }

    public void setAssetNo(String assetNo) {
        this.assetNo = assetNo;
    }

    public String getAssetNo() {
        return assetNo;
    }

    public void setAssetSubNo(String assetSubNo) {
        this.assetSubNo = assetSubNo;
    }

    public String getAssetSubNo() {
        return assetSubNo;
    }

    public void setDevName(String devName) {
        this.devName = devName;
    }

    public String getDevName() {
        return devName;
    }

    public void setDevEnname(String devEnname) {
        this.devEnname = devEnname;
    }

    public String getDevEnname() {
        return devEnname;
    }

    public void setCostCenter(String costCenter) {
        this.costCenter = costCenter;
    }

    public String getCostCenter() {
        return costCenter;
    }

    public void setCostCenterCode(String costCenterCode) {
        this.costCenterCode = costCenterCode;
    }

    public String getCostCenterCode() {
        return costCenterCode;
    }

    public void setAssetTypeAp(String assetTypeAp) {
        this.assetTypeAp = assetTypeAp;
    }

    public String getAssetTypeAp() {
        return assetTypeAp;
    }

    public void setCapitalizedDate(Date capitalizedDate) {
        this.capitalizedDate = capitalizedDate;
    }

    public Date getCapitalizedDate() {
        return capitalizedDate;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    public String getQuantity() {
        return quantity;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrentApc(String currentApc) {
        this.currentApc = currentApc;
    }

    public String getCurrentApc() {
        return currentApc;
    }

    public void setServiceLife(String serviceLife) {
        this.serviceLife = serviceLife;
    }

    public String getServiceLife() {
        return serviceLife;
    }

    public void setAdministrator(String administrator) {
        this.administrator = administrator;
    }

    public String getAdministrator() {
        return administrator;
    }

    public void setDevNo(String devNo) {
        this.devNo = devNo;
    }

    public String getDevNo() {
        return devNo;
    }

    public void setAssetDetail(String assetDetail) {
        this.assetDetail = assetDetail;
    }

    public String getAssetDetail() {
        return assetDetail;
    }

    public void setProcessSubunit(String processSubunit) {
        this.processSubunit = processSubunit;
    }

    public String getProcessSubunit() {
        return processSubunit;
    }

    public void setPidNo(String pidNo) {
        this.pidNo = pidNo;
    }

    public String getPidNo() {
        return pidNo;
    }

    public void setInstallPosition(String installPosition) {
        this.installPosition = installPosition;
    }

    public String getInstallPosition() {
        return installPosition;
    }

    public void setCreateReason(String createReason) {
        this.createReason = createReason;
    }

    public String getCreateReason() {
        return createReason;
    }

    public void setBarcodePosition(String barcodePosition) {
        this.barcodePosition = barcodePosition;
    }

    public String getBarcodePosition() {
        return barcodePosition;
    }

    public void setScrapReason(String scrapReason) {
        this.scrapReason = scrapReason;
    }

    public String getScrapReason() {
        return scrapReason;
    }

    public void setScrapPoseDate(Date scrapPoseDate) {
        this.scrapPoseDate = scrapPoseDate;
    }

    public Date getScrapPoseDate() {
        return scrapPoseDate;
    }

    public void setScrapDoneDate(Date scrapDoneDate) {
        this.scrapDoneDate = scrapDoneDate;
    }

    public Date getScrapDoneDate() {
        return scrapDoneDate;
    }

    public void setScraper(String scraper) {
        this.scraper = scraper;
    }

    public String getScraper() {
        return scraper;
    }

    public void setUsingStatus(String usingStatus) {
        this.usingStatus = usingStatus;
    }

    public String getUsingStatus() {
        return usingStatus;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getStatus() {
        return status;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    public void setCreaterCode(Long createrCode) {
        this.createrCode = createrCode;
    }

    public Long getCreaterCode() {
        return createrCode;
    }

    public void setCreatedate(Date createdate) {
        this.createdate = createdate;
    }

    public Date getCreatedate() {
        return createdate;
    }

    public void setUpdaterCode(Long updaterCode) {
        this.updaterCode = updaterCode;
    }

    public Long getUpdaterCode() {
        return updaterCode;
    }

    public void setUpdatedate(Date updatedate) {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate() {
        return updatedate;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("assetType", getAssetType())
                .append("assetNo", getAssetNo())
                .append("assetSubNo", getAssetSubNo())
                .append("devName", getDevName())
                .append("devEnname", getDevEnname())
                .append("costCenter", getCostCenter())
                .append("costCenterCode", getCostCenterCode())
                .append("assetTypeAp", getAssetTypeAp())
                .append("capitalizedDate", getCapitalizedDate())
                .append("quantity", getQuantity())
                .append("currency", getCurrency())
                .append("currentApc", getCurrentApc())
                .append("serviceLife", getServiceLife())
                .append("administrator", getAdministrator())
                .append("devNo", getDevNo())
                .append("assetDetail", getAssetDetail())
                .append("processSubunit", getProcessSubunit())
                .append("pidNo", getPidNo())
                .append("installPosition", getInstallPosition())
                .append("createReason", getCreateReason())
                .append("barcodePosition", getBarcodePosition())
                .append("scrapReason", getScrapReason())
                .append("scrapPoseDate", getScrapPoseDate())
                .append("scrapDoneDate", getScrapDoneDate())
                .append("scraper", getScraper())
                .append("usingStatus", getUsingStatus())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createrCode", getCreaterCode())
                .append("createdate", getCreatedate())
                .append("updaterCode", getUpdaterCode())
                .append("updatedate", getUpdatedate())
                .append("deptId", getDeptId())
                .append("remarks", getRemarks())
                .toString();
    }
}
