evo-Financial-pc/evo-admin/src/main/java/com/evo/system/domain/SysStaff.java
2025-08-05 09:13:56 +08:00

218 lines
4.9 KiB
Java

package com.evo.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity;
import com.evo.common.utils.Collections;
import com.evo.common.utils.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 员工管理对象 sys_staff
*
* @author evo
* @date 2024-11-21
*/
@Data
public class SysStaff extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 姓名 */
@Excel(name = "姓名")
private String name;
/** 编号 */
@Excel(name = "编号")
private String code;
/** 公司 */
@Excel(name = "公司")
private String companyName;
/** 主键ID */
@TableId(value = "user_id", type = IdType.AUTO)
private Long userId;
/** 部门ID */
private Long deptId;
@Excel(name = "部门")
@TableField(exist = false)
private String deptName;
private String jobCode;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 性别 */
@Excel(name = "性别")
private String sex;
/** 年龄 */
@Excel(name = "年龄")
private Long age;
/** 电话 */
@Excel(name = "电话")
private String phone;
/** 住址 */
@Excel(name = "住址")
private String address;
/** 毕业学校 */
@Excel(name = "毕业学校")
private String school;
/** 专业 */
@Excel(name = "专业")
private String major;
/** 学历 */
@Excel(name = "学历")
private String level;
/** 开户行 */
@Excel(name = "开户行")
private String bank;
/** 银行卡号 */
@Excel(name = "银行卡号")
private String bankNumber;
/** 入职时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date employmentDate;
/** 试用期限 */
@Excel(name = "试用期限")
private Long workerTerm;
/** 履历 */
@Excel(name = "履历")
private String experience;
/** 转正日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "转正日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date regularDate;
/** 离职时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date quitDate;
/** 合同-起 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同-起", width = 30, dateFormat = "yyyy-MM-dd")
private Date contractStart;
/** 合同-止 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同-止", width = 30, dateFormat = "yyyy-MM-dd")
private Date contractEnd;
/** 合同类型 */
@Excel(name = "合同类型")
private String contractType;
/** 社保 */
@Excel(name = "社保")
private String socialType;
@Excel(name = "是否新农合")
private String socialSubsidy;
/** 工龄 */
@Excel(name = "工龄")
private Long seniority;
/** 是否有加班费 */
@Excel(name = "是否有加班费")
private String isOvertimePay;
/** 住宿标识 */
@Excel(name = "住宿标识")
private String zsFlag;
/** 保密合同 */
@Excel(name = "保密合同")
private String secrecy;
/** 工伤 */
@Excel(name = "工伤")
private String injury;
/** 雇主险 */
@Excel(name = "雇主险")
private String insurance;
/** 介绍人 */
@Excel(name = "介绍人")
private String introducer;
/** 是否打卡 */
@Excel(name = "是否打卡")
private String clockIn;
/** 在职状态 */
@Excel(name = "在职状态")
private String status;
/** 全额工资时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "全额工资时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date wagesRatioDate;
/** 备注 */
@Excel(name = "备注")
private String remarks;
/** 删除标识 */
private String delFlag;
private String isLeader; //是领导
/***
* 文件Id
*/
@TableField(exist = false)
private Long fileId;
/***
* 文件位置
*/
private String imageUrl;
/***
* 打卡位置
*/
private String timeClock;
/***
* 享有补贴
*/
private String subsidys;
@TableField(exist = false)
private List<Long> subsidyList;
private String extended;
public List<Long> getSubsidyList() {
if(Collections.isEmpty(subsidyList) && StringUtils.isNotEmpty(subsidys)){
subsidyList = Collections.asList(subsidys.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
}
return subsidyList;
}
}