package cn.iocoder.yudao.module.finance.dal.dataobject.asset; 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.math.BigDecimal; import java.time.LocalDate; /** * 固定资产 DO * * @author 超级管理员 */ @TableName("fin_fixed_asset") @KeySequence("fin_fixed_asset_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class FinFixedAssetDO extends BaseDO { /** * 资产编号 */ @TableId private Long id; /** * 资产编号 * * 例如说:GD20260512001 */ private String assetCode; /** * 资产名称 */ private String assetName; /** * 资产类别 */ private String category; /** * 规格型号 */ private String specification; /** * 购置日期 */ private LocalDate purchaseDate; /** * 资产原值 */ private BigDecimal originalValue; /** * 使用年限(年) */ private Integer usefulLife; /** * 残值率(%) */ private BigDecimal residualRate; /** * 累计折旧 */ private BigDecimal accumulatedDepreciation; /** * 净值 = 原值 - 累计折旧 */ private BigDecimal netValue; /** * 存放地点 */ private String location; /** * 使用部门(已废弃) * * 历史遗留的自由文本列,已不再写入与读取,展示用的部门名称由 departmentId 实时解析; * 保留列是为了不丢历史数据,新逻辑一律用 departmentId。 */ private String department; /** * 保管人(已废弃) * * 同 department,历史遗留的自由文本列,已不再写入与读取,展示用昵称由 keeperId 实时解析。 */ private String keeper; /** * 使用部门编号 * * 关联 {@link cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO#getId()} */ private Long departmentId; /** * 保管人编号 * * 关联 {@link cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO#getId()} */ private Long keeperId; /** * 状态 * * 枚举 {@link cn.iocoder.yudao.module.finance.enums.FinFixedAssetStatusEnum} */ private Integer status; /** * 备注 */ private String remark; }