package cn.iocoder.yudao.module.hrm.controller.admin.employee.vo; import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @Schema(description = "管理后台 - 员工合同 Response VO") @Data public class HrmEmployeeContractRespVO { @Schema(description = "合同ID", example = "1") private Long id; @Schema(description = "续签上一份合同ID", example = "1") private Long parentId; @Schema(description = "续签上一份合同编号", example = "HT202608100001") private String parentNo; @Schema(description = "是否当前生效合同", example = "true") private Boolean isCurrent; @Schema(description = "合同编号", example = "HT202608100001") private String contractNo; @Schema(description = "员工ID", example = "1") private Long employeeId; @Schema(description = "员工姓名", example = "张三") private String employeeName; @Schema(description = "员工工号", example = "EMP202401010001") private String employeeNo; @Schema(description = "部门名称", example = "研发部") private String deptName; @Schema(description = "合同类型", example = "1") private Integer contractType; @Schema(description = "合同期限类型", example = "1") private Integer contractTermType; @Schema(description = "签约主体(公司全称)", example = "南通XX科技有限公司") private String signCompany; @Schema(description = "签订日期") private LocalDate signDate; @Schema(description = "合同开始日期") private LocalDate startDate; @Schema(description = "合同结束日期(无固定期限可为空)") private LocalDate endDate; @Schema(description = "试用期开始日期") private LocalDate probationStartDate; @Schema(description = "试用期结束日期") private LocalDate probationEndDate; @Schema(description = "试用期工资", example = "8000.00") private BigDecimal probationSalary; @Schema(description = "转正工资", example = "10000.00") private BigDecimal regularSalary; @Schema(description = "合同状态:1-待生效 2-生效中 3-即将到期 4-已到期 5-已解除 6-已终止(动态计算)", example = "2") private Integer status; @Schema(description = "解除/终止状态:0-正常 1-已解除 2-已终止", example = "0") private Integer terminateStatus; @Schema(description = "解除/终止日期") private LocalDate terminateDate; @Schema(description = "解除/终止原因", example = "合同到期不续签") private String terminateReason; @Schema(description = "备注", example = "第一次续签") private String remark; @Schema(description = "附件列表") private List attachmentList; @Schema(description = "创建时间") private LocalDateTime createTime; }