2026-08-10 9fceeaad9af96bc58ba714560814c6e94f8af406
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package cn.iocoder.yudao.module.hrm.dal.dataobject.employee;
 
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
 
import java.math.BigDecimal;
import java.time.LocalDate;
 
/**
 * 员工合同 DO
 *
 * 记录员工与公司签订的劳动合同/续签合同等,一个员工可有多份合同(历史合同 + 当前合同)
 *
 * @author 超级管理员
 */
@TableName("hrm_employee_contract")
@KeySequence("hrm_employee_contract_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HrmEmployeeContractDO extends BaseDO {
 
    /**
     * 合同ID
     */
    @TableId
    private Long id;
 
    /**
     * 续签上一份合同ID
     *
     * 一个员工可签订多次合同,通过该字段形成续签链,便于追溯合同历史
     */
    private Long parentId;
 
    /**
     * 是否当前生效合同
     *
     * 员工最新签订的、未解除/未终止的合同标记为当前合同,同一员工仅一份
     */
    private Boolean isCurrent;
 
    /**
     * 合同编号
     *
     * 自动生成:HT + yyyyMMdd + 4位自增
     */
    private String contractNo;
 
    /**
     * 员工ID
     *
     * 关联 HrmEmployeeDO#getId()
     */
    private Long employeeId;
 
    /**
     * 合同类型
     *
     * 字典 hrm_contract_type:1-劳动合同 2-劳务合同 3-实习协议 4-劳务派遣 5-其他
     */
    private Integer contractType;
 
    /**
     * 合同期限类型
     *
     * 字典 hrm_contract_term_type:1-固定期限 2-无固定期限 3-以完成一定工作任务为期限
     */
    private Integer contractTermType;
 
    /**
     * 签约主体(公司全称)
     */
    private String signCompany;
 
    /**
     * 签订日期
     */
    private LocalDate signDate;
 
    /**
     * 合同开始日期
     */
    private LocalDate startDate;
 
    /**
     * 合同结束日期
     *
     * 无固定期限合同可为空
     */
    private LocalDate endDate;
 
    /**
     * 试用期开始日期
     */
    private LocalDate probationStartDate;
 
    /**
     * 试用期结束日期
     */
    private LocalDate probationEndDate;
 
    /**
     * 试用期工资
     */
    private BigDecimal probationSalary;
 
    /**
     * 转正工资
     */
    private BigDecimal regularSalary;
 
    /**
     * 解除/终止状态
     *
     * 0-正常 1-已解除 2-已终止
     */
    private Integer terminateStatus;
 
    /**
     * 解除/终止日期
     */
    private LocalDate terminateDate;
 
    /**
     * 解除/终止原因
     */
    private String terminateReason;
 
    /**
     * 备注
     */
    private String remark;
 
}