- 新增项目初始化控制器,支持文件上传生成项目结构化数据 - 定义项目初始化结果DTO,包含项目、里程碑、任务、成员、资源、风险和时间节点等信息 - 实现项目初始化服务接口及其实现类,集成Spring AI结构化输出能力 - 支持根据内容或文件生成项目初始化数据,并保存到数据库 - 增加项目、里程碑、任务、成员、资源、风险及时间节点实体及对应Mapper - 实现文件上传到OSS及项目初始化记录功能,记录解析状态及结果 - 添加PostgreSQL JSONB类型处理器,支持JSON对象字段存储 - 修改开发环境数据库配置,更新连接的数据库名称为aiprojectmanager
148 lines
2.5 KiB
Java
148 lines
2.5 KiB
Java
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<String> 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;
|
|
}
|