package com.ruoyi.asset.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资产信息对象 tb_asset_information
 * 
 * @author 原动力
 * @date 2023-05-15
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class TbAssetInformation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 资产条码 */
    @Excel(name = "资产条码")
    private String code;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String name;

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

    /** 图片路径 */
    @Excel(name = "图片路径")
    private String imageUrl;

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

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specificationsModel;

    /** ABC分类 */
    @Excel(name = "ABC分类")
    private String abcCategory;

    /** 管理状态，0：闲置 */
    @Excel(name = "管理状态，0：闲置")
    private Long manageStatus;

    /** 使用部门 */
    @Excel(name = "使用部门")
    private String userDepartment;

    /** 管理部门 */
    @Excel(name = "管理部门")
    private String department;

    /** 责任人 */
    @Excel(name = "责任人")
    private String responsiblePerson;

    /** 所在位置编号 */
    @Excel(name = "所在位置编号")
    private String locationNumber;

    /** 资产性质 */
    @Excel(name = "资产性质")
    private String property;

    /** 购置日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购置日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 启用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date commissioningDate;

    /** 原值（元） */
    @Excel(name = "原值", readConverterExp = "元=")
    private String originalValue;

    /** 使用年限 */
    @Excel(name = "使用年限")
    private Long durableYears;

    /** 净值（元） */
    @Excel(name = "净值", readConverterExp = "元=")
    private String netValue;

    /** 残值（元） */
    @Excel(name = "残值", readConverterExp = "元=")
    private String residualValue;

    /** 累计折旧（元） */
    @Excel(name = "累计折旧", readConverterExp = "元=")
    private String accumulatedDepreciation;

    /** 最近折旧日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近折旧日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastDepreciationDate;

    /** 折旧方式，0：其他 */
    @Excel(name = "折旧方式，0：其他")
    private Long depreciationMethod;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNumber;

    /** 出厂编号 */
    @Excel(name = "出厂编号")
    private String factoryNumber;

    /** 制造商 */
    @Excel(name = "制造商")
    private String manufacturer;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 资产用途 */
    @Excel(name = "资产用途")
    private String purpose;

    /** 维保到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维保到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maintenanceDate;

    /** 维修电话 */
    @Excel(name = "维修电话")
    private String maintenanceTel;

    /** 维修人员 */
    @Excel(name = "维修人员")
    private String maintenanceUser;

    /** 所属公司 */
    @Excel(name = "所属公司")
    private String corporation;

    /** 记录状态，0：未提交，1：已提交 */
    @Excel(name = "记录状态，0：未提交，1：已提交")
    private Long recordStatus;

    /** 预留字段a */
    @Excel(name = "是否白名单")
    private String isWhitelist;

    /** 预留字段b */
    @Excel(name = "预留字段b")
    private String reservedColumnB;

    /** 预留字段c */
    @Excel(name = "预留字段c")
    private String reservedColumnC;

    /** 预留字段d */
    @Excel(name = "预留字段d")
    private String reservedColumnD;

    /** 预留字段e */
    @Excel(name = "预留字段e")
    private String reservedColumnE;

    /** 预留字段f */
    @Excel(name = "预留字段f")
    private String reservedColumnF;

    /** 预留字段g */
    @Excel(name = "预留字段g")
    private String reservedColumnG;

    /** 预留字段h */
    @Excel(name = "预留字段h")
    private String reservedColumnH;

    /** 预留字段i */
    @Excel(name = "预留字段i")
    private String reservedColumnI;

    /** 预留字段j */
    @Excel(name = "预留字段j")
    private String reservedColumnJ;


}
