办公V3
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
46
klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowCc.java
Normal file
46
klp-hrm/src/main/java/com/klp/hrm/domain/HrmFlowCc.java
Normal 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
33
klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowCcBo.java
Normal file
33
klp-hrm/src/main/java/com/klp/hrm/domain/bo/HrmFlowCcBo.java
Normal 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.klp.hrm.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 流程任务审批请求体
|
||||
*/
|
||||
@Data
|
||||
public class HrmFlowTaskApproveBo {
|
||||
|
||||
/** 审批意见 */
|
||||
private String remark;
|
||||
|
||||
/** 盖章参数(仅用于用印业务) */
|
||||
private HrmSealStampBo stampBo;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
26
klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowCcVo.java
Normal file
26
klp-hrm/src/main/java/com/klp/hrm/domain/vo/HrmFlowCcVo.java
Normal 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user