package cn.iocoder.yudao.module.pms.dal.dataobject;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 设备台账 DO
 *
 * @author 芋道源码
 */
@TableName("rq_iot_device")
@KeySequence("rq_iot_device_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IotDeviceDO extends BaseDO {

    /**
     * 主键id
     */
    @TableId
    private Long id;
    /**
     * 资产编码
     */
    private String deviceCode;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 品牌
     */
    private Long brand;
    /**
     * 规格型号
     */
    private String model;
    /**
     * 所在部门
     */
    private Long deptId;
    /**
     * 设备状态
     */
    private String deviceStatus;
    /**
     * 资产性质
     */
    private String assetProperty;
    /**
     * 图片
     */
    private String picUrl;
    /**
     * 备注
     */
    private String remark;
    /**
     * 制造商id
     */
    private Long manufacturerId;
    /**
     * 供应商id
     */
    private Long supplierId;
    /**
     * 生产日期
     */
    private LocalDateTime manDate;
    /**
     * 铭牌信息
     */
    private String nameplate;
    /**
     * 质保到期
     */
    private LocalDateTime expires;
    /**
     * 采购/租赁价格
     */
    private Integer plPrice;
    /**
     * 采购/租赁日期
     */
    private LocalDateTime plDate;
    /**
     * 折旧年限
     */
    private Integer plYear;
    /**
     * 折旧开始日期
     */
    private LocalDateTime plStartDate;
    /**
     * 已提折旧月数
     */
    private Integer plMonthed;
    /**
     * 已提折旧金额
     */
    private Double plAmounted;
    /**
     * 剩余金额
     */
    private Double remainAmount;
    /**
     * 资料分类id
     */
    private Long infoId;
    /**
     * 资料类型
     */
    private String infoType;
    /**
     * 资料名称
     */
    private String infoName;
    /**
     * 资料备注
     */
    private String infoRemark;
    /**
     * 资料附件
     */
    private String infoUrl;
    /**
     * 动态模板信息
     */
    private String templateJson;
    /**
     * 设备类别
     */
    private Long assetClass;

    private Long sortColumn;

    /**
     * 设备分类BOM同步状态 1已同步 0未同步
     */
    private Integer bomSyncStatus;
    /**
     * 是否在线
     */
    private Integer ifInline;

    private String lastInlineTime;

    private Long yfDeviceId ;

    private Long carId;

    private Double lng;
    private Double lat;
    private String location;
    private String chargeName;

    private LocalDateTime enableDate;

    private String brandName;

    private String vehicleName;
    private String assetOwnership;
    private String useProject;
    /**
     * 编码分类
     */
    private String yfClass;
    private String yfDeviceCode;
    private String carOnline;
    /**
     * 车牌号
     */
    private String carNo;
    private String address;
    /**
     * 设备号
     */
    private String deviceNo;
    /**
     * 设备等级
     */
    private String deviceGrade;
    /**
     * 每月折旧金额
     */
    private Double monthAmount;

    /**
     * 总折旧月份
     */
    private Integer totalMonth;

    /**
     * 币种
     */
    private String currency;
}
