This commit is contained in:
2025-12-30 13:47:53 +08:00
parent f1637501b2
commit a623c5673f
137 changed files with 11031 additions and 4043 deletions

View File

@@ -22,8 +22,10 @@ public class HrmEmpOrgPosition extends BaseEntity implements Serializable {
@TableId
private Long relId;
private Long empId;
private Long orgId;
private Long positionId;
/** 部门ID引用 sys_dept.dept_id */
private Long deptId;
/** 岗位ID引用 sys_post.post_id */
private Long postId;
private Integer isPrimary;
private Date startDate;
private Date endDate;

View File

@@ -32,9 +32,10 @@ public class HrmEmployee extends BaseEntity implements Serializable {
private Date hireDate;
private String employmentType;
private String status;
private Long gradeId;
private Long mainOrgId;
private Long mainPositionId;
/** 主部门ID引用 sys_dept.dept_id */
private Long deptId;
/** 主岗位ID引用 sys_post.post_id */
private Long postId;
private BigDecimal seniorityYears;
private Date contractEndDate;
private String remark;

View File

@@ -0,0 +1,46 @@
package com.klp.hrm.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 抄送记录
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_flow_cc")
public class HrmFlowCc extends BaseEntity {
@TableId
private Long ccId;
private Long instId;
private String bizType;
private Long bizId;
private Long nodeId;
/** 触发抄送的节点名称(可读名) */
private String nodeName;
/** 是否已读 0未读 1已读 */
private Integer readFlag;
/** 被抄送的用户ID */
private Long ccUserId;
/** 触发抄送的操作人(一般为当前审批人) */
private Long fromUserId;
private String remark;
@TableLogic
private Integer delFlag;
}

View File

@@ -24,6 +24,13 @@ public class HrmFlowTask extends BaseEntity implements Serializable {
private String status;
private Date expireTime;
private String remark;
/** 业务类型leave/travel/seal */
private String bizType;
/** 业务ID对应请假/出差/用印的 bizId */
private Long bizId;
@TableLogic
private Integer delFlag;
}

View File

@@ -1,29 +0,0 @@
package com.klp.hrm.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 职级
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_grade")
public class HrmGrade extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long gradeId;
private String gradeCode;
private String gradeName;
private Integer levelNo;
private String remark;
@TableLogic
private Integer delFlag;
}

View File

@@ -20,8 +20,10 @@ public class HrmHeadcountPlan extends BaseEntity implements Serializable {
@TableId
private Long planId;
private Long orgId;
private Long positionId;
/** 部门ID引用 sys_dept.dept_id */
private Long deptId;
/** 岗位ID引用 sys_post.post_id */
private Long postId;
private Integer year;
private Integer month;
private Integer budgetCount;

View File

@@ -1,33 +0,0 @@
package com.klp.hrm.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 组织/部门/班组
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_org")
public class HrmOrg extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long orgId;
private Long parentId;
private String orgCode;
private String orgName;
private String orgType;
private Long leaderUserId;
private Integer orderNum;
private Integer status;
private String remark;
@TableLogic
private Integer delFlag;
}

View File

@@ -1,31 +0,0 @@
package com.klp.hrm.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 岗位
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_position")
public class HrmPosition extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long positionId;
private String positionCode;
private String positionName;
private Long gradeId;
private Integer orderNum;
private Integer status;
private String remark;
@TableLogic
private Integer delFlag;
}

View File

@@ -7,27 +7,33 @@ import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_overtime_req")
public class HrmOvertimeReq extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableName("hrm_reimburse_req")
public class HrmReimburseReq extends BaseEntity {
@TableId
private Long bizId;
private Long empId;
private String otType;
private Date startTime;
private Date endTime;
private java.math.BigDecimal hours;
private String reimburseType;
private BigDecimal totalAmount;
private String reason;
private String status;
private String accessoryApplyIds;
private String accessoryReceiptIds;
private String remark;
@TableLogic
private Integer delFlag;
}

View File

@@ -7,13 +7,12 @@ import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hrm_travel_req")
public class HrmTravelReq extends BaseEntity implements Serializable {
public class HrmTravelReq extends BaseEntity {
private static final long serialVersionUID = 1L;
@TableId
@@ -21,11 +20,16 @@ public class HrmTravelReq extends BaseEntity implements Serializable {
private Long empId;
private Date startTime;
private Date endTime;
private String travelType;
private String destination;
private String reason;
private String status;
private String accessoryApplyIds;
private String accessoryReceiptIds;
private String payeeName;
private Double estimatedCost;
private String bankName;
private String bankAccount;
private String remark;
@TableLogic
private Integer delFlag;

View File

@@ -16,11 +16,13 @@ public class HrmEmpOrgPositionBo extends BaseEntity {
@NotNull(message = "员工不能为空")
private Long empId;
@NotNull(message = "组织不能为空")
private Long orgId;
@NotNull(message = "部门不能为空")
/** 部门ID引用 sys_dept.dept_id */
private Long deptId;
@NotNull(message = "岗位不能为空")
private Long positionId;
/** 岗位ID引用 sys_post.post_id */
private Long postId;
private Integer isPrimary;

View File

@@ -39,11 +39,11 @@ public class HrmEmployeeBo extends BaseEntity {
private String status;
private Long gradeId;
/** 主部门ID引用 sys_dept.dept_id */
private Long deptId;
private Long mainOrgId;
private Long mainPositionId;
/** 主岗位ID引用 sys_post.post_id */
private Long postId;
private String remark;
}

View File

@@ -0,0 +1,33 @@
package com.klp.hrm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class HrmFlowCcBo extends BaseEntity {
private Long ccId;
private Long instId;
private String bizType;
private Long bizId;
/** 业务类型名称(列表展示用,可选条件) */
private String bizTypeName;
/** 业务标题/摘要(列表展示用,可选条件) */
private String bizTitle;
private Long nodeId;
private String nodeName;
private Integer readFlag;
private Long ccUserId;
/** 手动抄送:支持批量被抄送用户 */
private List<Long> ccUserIds;
private Long fromUserId;
private String remark;
}

View File

@@ -7,12 +7,19 @@ import javax.validation.constraints.NotNull;
@Data
public class HrmFlowStartBo {
@NotNull(message = "模板ID不能为空")
// 模板ID存在则按模板启动为空则走“自选审批人一次性审批”
private Long tplId;
// 无模板时:自选审批人 userId一次性审批审批完成即结束流程
private Long manualAssigneeUserId;
@NotBlank(message = "业务类型不能为空")
private String bizType;
@NotNull(message = "业务ID不能为空")
private Long bizId;
private Long startUserId;
private String contentJson;
}

View File

@@ -0,0 +1,17 @@
package com.klp.hrm.domain.bo;
import lombok.Data;
/**
* 流程任务审批请求体
*/
@Data
public class HrmFlowTaskApproveBo {
/** 审批意见 */
private String remark;
/** 盖章参数(仅用于用印业务) */
private HrmSealStampBo stampBo;
}

View File

@@ -20,4 +20,10 @@ public class HrmFlowTaskBo extends BaseEntity {
private String status;
private Date expireTime;
private String remark;
/** 业务类型leave/travel/seal */
private String bizType;
/** 业务ID对应请假/出差/用印的 bizId */
private Long bizId;
}

View File

@@ -1,24 +0,0 @@
package com.klp.hrm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
@Data
@EqualsAndHashCode(callSuper = true)
public class HrmGradeBo extends BaseEntity {
private Long gradeId;
@NotBlank(message = "职级编码不能为空")
private String gradeCode;
@NotBlank(message = "职级名称不能为空")
private String gradeName;
private Integer levelNo;
private String remark;
}

View File

@@ -12,11 +12,13 @@ public class HrmHeadcountPlanBo extends BaseEntity {
private Long planId;
@NotNull(message = "组织不能为空")
private Long orgId;
@NotNull(message = "部门不能为空")
/** 部门ID引用 sys_dept.dept_id */
private Long deptId;
@NotNull(message = "岗位不能为空")
private Long positionId;
/** 岗位ID引用 sys_post.post_id */
private Long postId;
@NotNull(message = "年份不能为空")
private Integer year;

View File

@@ -1,5 +1,6 @@
package com.klp.hrm.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -21,9 +22,11 @@ public class HrmLeaveReqBo extends BaseEntity {
private String leaveType;
@NotNull(message = "开始时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "GMT+8")
private Date startTime;
@NotNull(message = "结束时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "GMT+8")
private Date endTime;
@NotNull(message = "时长不能为空")
@@ -31,6 +34,18 @@ public class HrmLeaveReqBo extends BaseEntity {
private String reason;
private String status;
/**
* 流程模板ID前端选择模板流程时传入
*
* 不传则后端按 bizType 自动选择启用的最新版本模板;
* 若也未配置模板,则可通过 manualAssigneeUserId 走一次性审批。
*/
private Long tplId;
// 无模板时,自选审批人 userId
private Long manualAssigneeUserId;
private String accessoryApplyIds;
private String accessoryReceiptIds;
private String remark;

View File

@@ -1,39 +0,0 @@
package com.klp.hrm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 组织 Bo
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class HrmOrgBo extends BaseEntity {
/** 组织ID */
private Long orgId;
/** 父级组织ID */
private Long parentId;
@NotBlank(message = "组织编码不能为空")
private String orgCode;
@NotBlank(message = "组织名称不能为空")
private String orgName;
@NotBlank(message = "组织类型不能为空")
private String orgType;
private Long leaderUserId;
private Integer orderNum;
private Integer status;
private String remark;
}

View File

@@ -1,28 +0,0 @@
package com.klp.hrm.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
@Data
@EqualsAndHashCode(callSuper = true)
public class HrmPositionBo extends BaseEntity {
private Long positionId;
@NotBlank(message = "岗位编码不能为空")
private String positionCode;
@NotBlank(message = "岗位名称不能为空")
private String positionName;
private Long gradeId;
private Integer orderNum;
private Integer status;
private String remark;
}

View File

@@ -5,31 +5,35 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = true)
public class HrmOvertimeReqBo extends BaseEntity {
public class HrmReimburseReqBo extends BaseEntity {
private Long bizId;
@NotNull(message = "员工ID不能为空")
private Long empId;
private String otType;
private String reimburseType;
@NotNull(message = "开始时间不能为空")
private Date startTime;
@NotNull(message = "结束时间不能为空")
private Date endTime;
@NotNull(message = "时长不能为空")
private java.math.BigDecimal hours;
@NotNull(message = "报销总金额不能为空")
private BigDecimal totalAmount;
private String reason;
private String status;
// 无模板时自选审批人 userId
private Long manualAssigneeUserId;
/** 报销单据附件oss_id列表(CSV) */
private String accessoryApplyIds;
/** 回执附件oss_id列表(CSV) */
private String accessoryReceiptIds;
private String remark;
}

View File

@@ -40,9 +40,20 @@ public class HrmSealReqBo extends BaseEntity {
/** 状态 draft/running/approved/rejected/canceled */
private String status;
/** 关联流程模板ID提交时可选,存在则自动发起审批 */
/** 关联流程模板ID旧字段,兼容历史前端/代码 */
private Long flowTplId;
/**
* 流程模板ID新字段前端选择模板流程时传入
* 优先级高于 flowTplId。
*/
private Long tplId;
/**
* 手动选择的审批人ID前端选择手动审批时传入
*/
private Long manualAssigneeUserId;
/** 流程发起人ID可选不填可由服务侧取当前登录人 */
private Long startUserId;

View File

@@ -1,6 +1,13 @@
package com.klp.hrm.domain.bo;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
@@ -9,37 +16,83 @@ import javax.validation.constraints.NotNull;
/**
* 盖章命令Java/Python 坐标统一使用 px
*/
@Data
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.ALWAYS)
public class HrmSealStampBo {
/** 待盖章 PDF 的 OSS 完整 URL */
@NotBlank(message = "待盖章文件地址不能为空")
@JsonProperty("targetFileUrl")
private String targetFileUrl;
/** 章图片 OSS 完整 URL透明 PNG/JPG */
@NotBlank(message = "章图片地址不能为空")
@JsonProperty("stampImageUrl")
private String stampImageUrl;
/** 页码从1开始 */
@NotNull
@Min(1)
@JsonProperty("pageNo")
private Integer pageNo;
/** 左下角 X 坐标px */
@NotNull
@Min(0)
@JsonProperty("xPx")
@JsonInclude(JsonInclude.Include.ALWAYS)
@Setter(lombok.AccessLevel.NONE) // 禁用 Lombok 生成 setter使用手动 setter
private Integer xPx;
/** 左下角 Y 坐标px */
@NotNull
@Min(0)
@JsonProperty("yPx")
@JsonInclude(JsonInclude.Include.ALWAYS)
@Setter(lombok.AccessLevel.NONE) // 禁用 Lombok 生成 setter使用手动 setter
private Integer yPx;
/** 盖章宽度px可选 */
@Min(1)
@JsonProperty("widthPx")
private Integer widthPx;
/** 盖章高度px可选 */
@Min(1)
@JsonProperty("heightPx")
private Integer heightPx;
/**
* 前端渲染的 viewport 宽度(像素):用于把前端点击坐标换算成 PDFBox 坐标pt
* 注意:这不是 PDF 页面原始宽度,而是 pdf.js 按 scale 渲染到 canvas 的宽度。
*/
@Min(1)
@JsonProperty("viewportWidth")
private Integer viewportWidth;
/** 前端渲染的 viewport 高度(像素):用于坐标换算 */
@Min(1)
@JsonProperty("viewportHeight")
private Integer viewportHeight;
/**
* 手动添加 setter 方法,确保 Jackson 能够正确映射 yPx 字段
* Lombok 生成的 setYPx() 可能与 Jackson 的字段名映射不匹配
*/
@JsonSetter("yPx")
public void setYPx(Integer yPx) {
this.yPx = yPx;
}
/**
* 手动添加 setter 方法,确保 Jackson 能够正确映射 xPx 字段
*/
@JsonSetter("xPx")
public void setXPx(Integer xPx) {
this.xPx = xPx;
}
}

View File

@@ -1,5 +1,6 @@
package com.klp.hrm.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -17,15 +18,26 @@ public class HrmTravelReqBo extends BaseEntity {
private Long empId;
@NotNull(message = "开始时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "GMT+8")
private Date startTime;
@NotNull(message = "结束时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "GMT+8")
private Date endTime;
private String travelType;
private String destination;
private String reason;
private String status;
// 无模板时,自选审批人 userId
private Long manualAssigneeUserId;
private String accessoryApplyIds;
private String accessoryReceiptIds;
private String payeeName;
private Double estimatedCost;
private String bankName;
private String bankAccount;
private String remark;
}

View File

@@ -16,11 +16,17 @@ public class HrmEmpOrgPositionVo implements Serializable {
@Excel(name = "员工ID")
private Long empId;
@Excel(name = "组织ID")
private Long orgId;
@Excel(name = "部门ID")
private Long deptId;
/** 部门名称 */
private String deptName;
@Excel(name = "岗位ID")
private Long positionId;
private Long postId;
/** 岗位名称 */
private String postName;
@Excel(name = "是否主岗")
private Integer isPrimary;

View File

@@ -43,14 +43,17 @@ public class HrmEmployeeVo implements Serializable {
@Excel(name = "在职状态")
private String status;
@Excel(name = "职级ID")
private Long gradeId;
@Excel(name = "主部门ID")
private Long deptId;
@Excel(name = "主组织ID")
private Long mainOrgId;
/** 主部门名称 */
private String deptName;
@Excel(name = "主岗位ID")
private Long mainPositionId;
private Long postId;
/** 主岗位名称 */
private String postName;
@Excel(name = "备注")
private String remark;

View File

@@ -0,0 +1,26 @@
package com.klp.hrm.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class HrmFlowCcVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long ccId;
private Long instId;
private String bizType;
private Long bizId;
private String bizTypeName;
private String bizTitle;
private Long nodeId;
private String nodeName;
private Integer readFlag;
private Long ccUserId;
private Long fromUserId;
private String remark;
private Date createTime;
}

View File

@@ -4,6 +4,7 @@ import com.klp.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@@ -26,6 +27,14 @@ public class HrmFlowInstanceVo implements Serializable {
private Long startUserId;
@Excel(name = "备注")
private String remark;
/** 列表展示字段(联查业务表) */
private String bizTitle;
private Date startTime;
private Date endTime;
private BigDecimal hours;
private String procStatus;
private String createBy;
private Date createTime;
private String updateBy;

View File

@@ -5,6 +5,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
@Data
public class HrmFlowTaskVo implements Serializable {
@@ -24,6 +25,18 @@ public class HrmFlowTaskVo implements Serializable {
private Date expireTime;
@Excel(name = "备注")
private String remark;
/** 业务类型leave/travel/seal/reimburse */
private String bizType;
/** 业务ID */
private Long bizId;
/**
* 业务摘要数据(审批中心展示用),由后端联查后回填。
* key/字段根据不同 bizType 不同。
*/
private Map<String, Object> bizData;
private String createBy;
private Date createTime;
private String updateBy;

View File

@@ -1,32 +0,0 @@
package com.klp.hrm.domain.vo;
import com.klp.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class HrmGradeVo implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "职级ID")
private Long gradeId;
@Excel(name = "职级编码")
private String gradeCode;
@Excel(name = "职级名称")
private String gradeName;
@Excel(name = "层级序号")
private Integer levelNo;
@Excel(name = "备注")
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
}

View File

@@ -13,11 +13,11 @@ public class HrmHeadcountPlanVo implements Serializable {
@Excel(name = "编制ID")
private Long planId;
@Excel(name = "组织ID")
private Long orgId;
@Excel(name = "部门ID")
private Long deptId;
@Excel(name = "岗位ID")
private Long positionId;
private Long postId;
@Excel(name = "年份")
private Integer year;

View File

@@ -1,44 +0,0 @@
package com.klp.hrm.domain.vo;
import com.klp.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 组织 VO
*/
@Data
public class HrmOrgVo implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "组织ID")
private Long orgId;
@Excel(name = "父级ID")
private Long parentId;
@Excel(name = "组织编码")
private String orgCode;
@Excel(name = "组织名称")
private String orgName;
@Excel(name = "组织类型")
private String orgType;
@Excel(name = "负责人用户ID")
private Long leaderUserId;
private Integer orderNum;
private Integer status;
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
}

View File

@@ -1,38 +0,0 @@
package com.klp.hrm.domain.vo;
import com.klp.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class HrmPositionVo implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "岗位ID")
private Long positionId;
@Excel(name = "岗位编码")
private String positionCode;
@Excel(name = "岗位名称")
private String positionName;
@Excel(name = "职级ID")
private Long gradeId;
@Excel(name = "排序")
private Integer orderNum;
@Excel(name = "状态")
private Integer status;
@Excel(name = "备注")
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
}

View File

@@ -8,33 +8,39 @@ import java.math.BigDecimal;
import java.util.Date;
@Data
public class HrmOvertimeReqVo implements Serializable {
public class HrmReimburseReqVo implements Serializable {
private static final long serialVersionUID = 1L;
@Excel(name = "业务ID")
private Long bizId;
@Excel(name = "员工ID")
private Long empId;
@Excel(name = "加班类型")
private String otType;
@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")
private Date endTime;
@Excel(name = "时长(小时)")
private BigDecimal hours;
@Excel(name = "原因")
@Excel(name = "报销类型")
private String reimburseType;
@Excel(name = "报销总金额")
private BigDecimal totalAmount;
@Excel(name = "报销事由")
private String reason;
@Excel(name = "状态")
private String status;
@Excel(name = "申请附件")
@Excel(name = "报销单据附件")
private String accessoryApplyIds;
@Excel(name = "回执附件")
private String accessoryReceiptIds;
@Excel(name = "备注")
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
}

View File

@@ -18,6 +18,8 @@ public class HrmTravelReqVo implements Serializable {
private Date startTime;
@Excel(name = "结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@Excel(name = "出差类型")
private String travelType;
@Excel(name = "目的地")
private String destination;
@Excel(name = "原因")
@@ -28,6 +30,14 @@ public class HrmTravelReqVo implements Serializable {
private String accessoryApplyIds;
@Excel(name = "回执附件")
private String accessoryReceiptIds;
@Excel(name = "收款人")
private String payeeName;
@Excel(name = "预估费用")
private Double estimatedCost;
@Excel(name = "开户行")
private String bankName;
@Excel(name = "银行账号")
private String bankAccount;
@Excel(name = "备注")
private String remark;
private String createBy;