feat(hrm): 增加项目关联功能到各类申请模块

- 在请假申请、报销申请、用印申请和出差申请中添加项目ID字段
- 扩展VO类以包含完整的项目信息展示字段
- 新增带项目信息查询的数据库映射方法
- 更新MyBatis XML配置文件中的结果映射和SQL查询
- 修改服务层实现以支持关联项目信息的查询操作
- 为各种申请类型的列表和分页查询增加项目过滤条件
This commit is contained in:
2026-02-05 13:28:52 +08:00
parent a29415d9a0
commit 8628a2fb83
28 changed files with 807 additions and 20 deletions

View File

@@ -19,6 +19,7 @@ public class HrmLeaveReq extends BaseEntity implements Serializable {
@TableId
private Long bizId;
private Long empId;
private Long projectId;
private String leaveType;
private Date startTime;
private Date endTime;

View File

@@ -19,6 +19,8 @@ public class HrmReimburseReq extends BaseEntity {
private Long empId;
private Long projectId;
private String reimburseType;
private BigDecimal totalAmount;

View File

@@ -26,6 +26,9 @@ public class HrmSealReq extends BaseEntity implements Serializable {
/** 申请人ID */
private Long empId;
/** 项目ID */
private Long projectId;
/** 用印类型(公章/合同章/财务章等) */
private String sealType;

View File

@@ -18,6 +18,7 @@ public class HrmTravelReq extends BaseEntity {
@TableId
private Long bizId;
private Long empId;
private Long projectId;
private Date startTime;
private Date endTime;
private String travelType;

View File

@@ -18,6 +18,8 @@ public class HrmLeaveReqBo extends BaseEntity {
@NotNull(message = "员工ID不能为空")
private Long empId;
private Long projectId;
@NotBlank(message = "请假类型不能为空")
private String leaveType;

View File

@@ -16,6 +16,8 @@ public class HrmReimburseReqBo extends BaseEntity {
@NotNull(message = "员工ID不能为空")
private Long empId;
private Long projectId;
private String reimburseType;
@NotNull(message = "报销总金额不能为空")

View File

@@ -21,6 +21,9 @@ public class HrmSealReqBo extends BaseEntity {
@NotNull(message = "申请人不能为空")
private Long empId;
/** 项目ID */
private Long projectId;
/** 用印类型 */
@NotBlank(message = "用印类型不能为空")
private String sealType;

View File

@@ -17,6 +17,8 @@ public class HrmTravelReqBo extends BaseEntity {
@NotNull(message = "员工ID不能为空")
private Long empId;
private Long projectId;
@NotNull(message = "开始时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "GMT+8")
private Date startTime;

View File

@@ -15,6 +15,40 @@ public class HrmLeaveReqVo implements Serializable {
private Long bizId;
@Excel(name = "员工ID")
private Long empId;
@Excel(name = "项目ID")
private Long projectId;
@Excel(name = "项目代号")
private String projectCode;
@Excel(name = "项目名称")
private String projectName;
@Excel(name = "项目编号")
private String projectNum;
@Excel(name = "项目类型")
private String projectType;
@Excel(name = "项目地址")
private String address;
@Excel(name = "项目总款")
private java.math.BigDecimal funds;
@Excel(name = "项目负责人")
private String functionary;
@Excel(name = "开始日期")
private Date beginTime;
@Excel(name = "结束日期")
private Date finishTime;
@Excel(name = "交货期")
private String delivery;
@Excel(name = "质保期")
private String guarantee;
@Excel(name = "优先级")
private String projectGrade;
@Excel(name = "状态")
private String projectStatus;
@Excel(name = "生产结项状态")
private Integer productStatus;
@Excel(name = "项目代表色")
private String color;
@Excel(name = "客户ID")
private Long customerId;
@Excel(name = "请假类型")
private String leaveType;
@Excel(name = "开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")

View File

@@ -17,6 +17,57 @@ public class HrmReimburseReqVo implements Serializable {
@Excel(name = "员工ID")
private Long empId;
@Excel(name = "项目ID")
private Long projectId;
@Excel(name = "项目代号")
private String projectCode;
@Excel(name = "项目名称")
private String projectName;
@Excel(name = "项目编号")
private String projectNum;
@Excel(name = "项目类型")
private String projectType;
@Excel(name = "项目地址")
private String address;
@Excel(name = "项目总款")
private BigDecimal funds;
@Excel(name = "项目负责人")
private String functionary;
@Excel(name = "开始日期")
private Date beginTime;
@Excel(name = "结束日期")
private Date finishTime;
@Excel(name = "交货期")
private String delivery;
@Excel(name = "质保期")
private String guarantee;
@Excel(name = "优先级")
private String projectGrade;
@Excel(name = "状态")
private String projectStatus;
@Excel(name = "生产结项状态")
private Integer productStatus;
@Excel(name = "项目代表色")
private String color;
@Excel(name = "客户ID")
private Long customerId;
@Excel(name = "报销类型")
private String reimburseType;

View File

@@ -19,6 +19,57 @@ public class HrmSealReqVo implements Serializable {
@Excel(name = "申请人ID")
private Long empId;
@Excel(name = "项目ID")
private Long projectId;
@Excel(name = "项目代号")
private String projectCode;
@Excel(name = "项目名称")
private String projectName;
@Excel(name = "项目编号")
private String projectNum;
@Excel(name = "项目类型")
private String projectType;
@Excel(name = "项目地址")
private String address;
@Excel(name = "项目总款")
private java.math.BigDecimal funds;
@Excel(name = "项目负责人")
private String functionary;
@Excel(name = "开始日期")
private Date beginTime;
@Excel(name = "结束日期")
private Date finishTime;
@Excel(name = "交货期")
private String delivery;
@Excel(name = "质保期")
private String guarantee;
@Excel(name = "优先级")
private String projectGrade;
@Excel(name = "状态")
private String projectStatus;
@Excel(name = "生产结项状态")
private Integer productStatus;
@Excel(name = "项目代表色")
private String color;
@Excel(name = "客户ID")
private Long customerId;
@Excel(name = "用印类型")
private String sealType;

View File

@@ -14,6 +14,40 @@ public class HrmTravelReqVo implements Serializable {
private Long bizId;
@Excel(name = "员工ID")
private Long empId;
@Excel(name = "项目ID")
private Long projectId;
@Excel(name = "项目代号")
private String projectCode;
@Excel(name = "项目名称")
private String projectName;
@Excel(name = "项目编号")
private String projectNum;
@Excel(name = "项目类型")
private String projectType;
@Excel(name = "项目地址")
private String address;
@Excel(name = "项目总款")
private java.math.BigDecimal funds;
@Excel(name = "项目负责人")
private String functionary;
@Excel(name = "开始日期")
private Date beginTime;
@Excel(name = "结束日期")
private Date finishTime;
@Excel(name = "交货期")
private String delivery;
@Excel(name = "质保期")
private String guarantee;
@Excel(name = "优先级")
private String projectGrade;
@Excel(name = "状态")
private String projectStatus;
@Excel(name = "生产结项状态")
private Integer productStatus;
@Excel(name = "项目代表色")
private String color;
@Excel(name = "客户ID")
private Long customerId;
@Excel(name = "开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@Excel(name = "结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")