package cn.yinlihupo.domain.entity; import cn.yinlihupo.common.handler.JsonbTypeHandler; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** * 资源实体类 * 对应数据库表: resource */ @Data @TableName("resource") public class Resource { @TableId(type = IdType.AUTO) private Long id; /** * 资源编号 */ private String resourceCode; /** * 项目ID */ private Long projectId; /** * 资源类型: human-人力, material-物料, equipment-设备, software-软件, finance-资金, other-其他 */ private String resourceType; /** * 资源名称 */ private String resourceName; /** * 资源描述 */ private String description; /** * 规格型号 */ private String specification; /** * 单位 */ private String unit; /** * 计划数量 */ private BigDecimal planQuantity; /** * 实际数量 */ private BigDecimal actualQuantity; /** * 单价 */ private BigDecimal unitPrice; /** * 币种 */ private String currency; /** * 供应商/来源 */ private String supplier; /** * 状态: planned-计划中, requested-已申请, approved-已批准, procuring-采购中, arrived-已到货, in_use-使用中, completed-已完成 */ private String status; /** * 计划到位日期 */ private LocalDate planArriveDate; /** * 实际到位日期 */ private LocalDate actualArriveDate; /** * 负责人ID */ private Long responsibleId; /** * 存放位置 */ private String location; /** * 标签 */ @TableField(typeHandler = JsonbTypeHandler.class) private List tags; /** * 扩展数据 */ @TableField(typeHandler = JsonbTypeHandler.class) private Object extraData; /** * 创建人 */ private Long createBy; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** * 更新人 */ private Long updateBy; /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; /** * 删除标记 */ @TableLogic private Integer deleted; }