薪资计算逻辑

This commit is contained in:
2025-06-23 18:04:49 +08:00
parent 3b0d223da5
commit 3d6fe57c50
58 changed files with 3522 additions and 1 deletions

View File

@@ -0,0 +1,57 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 绑定记录明细对象 oa_binding_item_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_binding_item_detail")
public class OaBindingItemDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 明细ID
*/
@TableId(value = "binding_item_id")
private Long bindingItemId;
/**
* 绑定记录ID → oa_employee_template_binding.binding_id
*/
private Long bindingId;
/**
* 模板类型
*/
private String templateType;
/**
* 明细ID → oa_insurance_template_detail.insurance_detail_id 或 oa_salary_template_detail.salary_detail_id
*/
private Long itemDetailId;
/**
* 实际缴纳/支付金额
*/
private BigDecimal paidAmount;
/**
* 删除标志
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,48 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 员工基础信息对象 oa_employee
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_employee")
public class OaEmployee extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 员工ID
*/
@TableId(value = "employee_id")
private Long employeeId;
/**
* 姓名
*/
private String employeeName;
/**
* 公司
*/
private String company;
/**
* 删除标志 0=未删,1=已删
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,73 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 员工模板绑定及月度发放记录对象 oa_employee_template_binding
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_employee_template_binding")
public class OaEmployeeTemplateBinding extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 记录ID
*/
@TableId(value = "binding_id")
private Long bindingId;
/**
* 员工ID → oa_employee.employee_id
*/
private Long employeeId;
/**
* 保险模板ID → oa_insurance_template.insurance_template_id
*/
private Long insuranceTemplateId;
/**
* 薪资模板ID → oa_salary_template.salary_template_id
*/
private Long salaryTemplateId;
/**
* 发放年度
*/
private Long payYear;
/**
* 发放月份
*/
private Long payMonth;
/**
* 实发工资
*/
private BigDecimal netSalary;
/**
* 单位总支出
*/
private BigDecimal totalCompanyCost;
/**
* 状态(已发/待发)
*/
private String status;
/**
* 删除标志
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 社保/公积金模板主对象 oa_insurance_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_insurance_template")
public class OaInsuranceTemplate extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 模板ID
*/
@TableId(value = "insurance_template_id")
private Long insuranceTemplateId;
/**
* 模板名称
*/
private String templateName;
/**
* 删除标志 0=未删,1=已删
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,53 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 社保/公积金模板明细对象 oa_insurance_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_insurance_template_detail")
public class OaInsuranceTemplateDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 明细ID
*/
@TableId(value = "insurance_detail_id")
private Long insuranceDetailId;
/**
* 模板ID → oa_insurance_template.insurance_template_id
*/
private Long insuranceTemplateId;
/**
* 险种代码,如 pension、unemployment…
*/
private String insuranceType;
/**
* 金额或比例
*/
private BigDecimal amount;
/**
* 删除标志
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 薪资模板主对象 oa_salary_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_salary_template")
public class OaSalaryTemplate extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 模板ID
*/
@TableId(value = "salary_template_id")
private Long salaryTemplateId;
/**
* 模板名称
*/
private String templateName;
/**
* 删除标志
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,57 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 薪资模板明细对象 oa_salary_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_salary_template_detail")
public class OaSalaryTemplateDetail extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 明细ID
*/
@TableId(value = "salary_detail_id")
private Long salaryDetailId;
/**
* 模板ID → oa_salary_template.salary_template_id
*/
private Long salaryTemplateId;
/**
* 项目代码,如 basic_salary…
*/
private String salaryItem;
/**
* 固定金额,仅针对金额项
*/
private BigDecimal amount;
/**
* 费率,仅针对费率项
*/
private BigDecimal rate;
/**
* 删除标志
*/
@TableLogic
private Integer delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 绑定记录明细业务对象 oa_binding_item_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaBindingItemDetailBo extends BaseEntity {
/**
* 明细ID
*/
private Long bindingItemId;
/**
* 绑定记录ID → oa_employee_template_binding.binding_id
*/
private Long bindingId;
/**
* 模板类型
*/
private String templateType;
/**
* 明细ID → oa_insurance_template_detail.insurance_detail_id 或 oa_salary_template_detail.salary_detail_id
*/
private Long itemDetailId;
/**
* 实际缴纳/支付金额
*/
private BigDecimal paidAmount;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,45 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 员工基础信息业务对象 oa_employee
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaEmployeeBo extends BaseEntity {
/**
* 员工ID
*/
private Long employeeId;
/**
* 姓名
*/
private String employeeName;
/**
* 公司
*/
private String company;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,82 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import liquibase.pro.packaged.L;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 员工模板绑定及月度发放记录业务对象 oa_employee_template_binding
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaEmployeeTemplateBindingBo extends BaseEntity {
/**
* 记录ID
*/
private Long bindingId;
/**
* 员工ID → oa_employee.employee_id
*/
private Long employeeId;
private List<Long> employeeIds;
/**
* 保险模板ID → oa_insurance_template.insurance_template_id
*/
private Long insuranceTemplateId;
/**
* 薪资模板ID → oa_salary_template.salary_template_id
*/
private Long salaryTemplateId;
/**
* 发放年度
*/
private Long payYear;
/**
* 发放月份
*/
private Long payMonth;
/**
* 实发工资
*/
private BigDecimal netSalary;
/**
* 单位总支出
*/
private BigDecimal totalCompanyCost;
/**
* 状态(已发/待发)
*/
private String status;
/**
* 备注
*/
private String remark;
private Long defaultInsuranceTemplateId; // 新增默认社保模板ID
private Long defaultSalaryTemplateId; // 新增默认薪资模板ID
}

View File

@@ -0,0 +1,40 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 社保/公积金模板主业务对象 oa_insurance_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaInsuranceTemplateBo extends BaseEntity {
/**
* 模板ID
*/
private Long insuranceTemplateId;
/**
* 模板名称
*/
private String templateName;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,51 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 社保/公积金模板明细业务对象 oa_insurance_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaInsuranceTemplateDetailBo extends BaseEntity {
/**
* 明细ID
*/
private Long insuranceDetailId;
/**
* 模板ID → oa_insurance_template.insurance_template_id
*/
private Long insuranceTemplateId;
/**
* 险种代码,如 pension、unemployment…
*/
private String insuranceType;
/**
* 金额或比例
*/
private BigDecimal amount;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,40 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 薪资模板主业务对象 oa_salary_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaSalaryTemplateBo extends BaseEntity {
/**
* 模板ID
*/
private Long salaryTemplateId;
/**
* 模板名称
*/
private String templateName;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 薪资模板明细业务对象 oa_salary_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaSalaryTemplateDetailBo extends BaseEntity {
/**
* 明细ID
*/
private Long salaryDetailId;
/**
* 模板ID → oa_salary_template.salary_template_id
*/
private Long salaryTemplateId;
/**
* 项目代码,如 basic_salary…
*/
private String salaryItem;
/**
* 固定金额,仅针对金额项
*/
private BigDecimal amount;
/**
* 费率,仅针对费率项
*/
private BigDecimal rate;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.oa.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class EmployeeSalaryRecordVo {
private Long bindingId;
private Long employeeId;
private String employeeName;
private String company;
private Integer payYear;
private Integer payMonth;
private String status;
private BigDecimal netSalary;
private BigDecimal totalCompanyCost;
private List<OaBindingItemDetailVo> salaryDetails; // 工资明细
private List<OaBindingItemDetailVo> insuranceDetails; // 社保明细
}

View File

@@ -0,0 +1,62 @@
package com.ruoyi.oa.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 绑定记录明细视图对象 oa_binding_item_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaBindingItemDetailVo {
private static final long serialVersionUID = 1L;
/**
* 明细ID
*/
@ExcelProperty(value = "明细ID")
private Long bindingItemId;
private String itemName; // 项目名称
/**
* 绑定记录ID → oa_employee_template_binding.binding_id
*/
@ExcelProperty(value = "绑定记录ID → oa_employee_template_binding.binding_id")
private Long bindingId;
/**
* 模板类型
*/
@ExcelProperty(value = "模板类型")
private String templateType;
/**
* 明细ID → oa_insurance_template_detail.insurance_detail_id 或 oa_salary_template_detail.salary_detail_id
*/
@ExcelProperty(value = "明细ID → oa_insurance_template_detail.insurance_detail_id 或 oa_salary_template_detail.salary_detail_id")
private Long itemDetailId;
/**
* 实际缴纳/支付金额
*/
@ExcelProperty(value = "实际缴纳/支付金额")
private BigDecimal paidAmount;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,88 @@
package com.ruoyi.oa.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 员工模板绑定及月度发放记录视图对象 oa_employee_template_binding
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaEmployeeTemplateBindingVo {
private static final long serialVersionUID = 1L;
/**
* 记录ID
*/
@ExcelProperty(value = "记录ID")
private Long bindingId;
/**
* 员工ID → oa_employee.employee_id
*/
@ExcelProperty(value = "员工ID → oa_employee.employee_id")
private Long employeeId;
/**
* 保险模板ID → oa_insurance_template.insurance_template_id
*/
@ExcelProperty(value = "保险模板ID → oa_insurance_template.insurance_template_id")
private Long insuranceTemplateId;
/**
* 薪资模板ID → oa_salary_template.salary_template_id
*/
@ExcelProperty(value = "薪资模板ID → oa_salary_template.salary_template_id")
private Long salaryTemplateId;
/**
* 发放年度
*/
@ExcelProperty(value = "发放年度")
private Long payYear;
/**
* 发放月份
*/
@ExcelProperty(value = "发放月份")
private Long payMonth;
/**
* 实发工资
*/
@ExcelProperty(value = "实发工资")
private BigDecimal netSalary;
/**
* 单位总支出
*/
@ExcelProperty(value = "单位总支出")
private BigDecimal totalCompanyCost;
/**
* 状态(已发/待发)
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "已=发/待发")
private String status;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 员工基础信息视图对象 oa_employee
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaEmployeeVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
@ExcelProperty(value = "员工ID")
private Long employeeId;
/**
* 姓名
*/
@ExcelProperty(value = "姓名")
private String employeeName;
/**
* 公司
*/
@ExcelProperty(value = "公司")
private String company;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.ruoyi.oa.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 社保/公积金模板明细视图对象 oa_insurance_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaInsuranceTemplateDetailVo {
private static final long serialVersionUID = 1L;
/**
* 明细ID
*/
@ExcelProperty(value = "明细ID")
private Long insuranceDetailId;
/**
* 模板ID → oa_insurance_template.insurance_template_id
*/
@ExcelProperty(value = "模板ID → oa_insurance_template.insurance_template_id")
private Long insuranceTemplateId;
/**
* 险种代码,如 pension、unemployment…
*/
@ExcelProperty(value = "险种代码,如 pension、unemployment…")
private String insuranceType;
/**
* 金额或比例
*/
@ExcelProperty(value = "金额或比例")
private BigDecimal amount;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,43 @@
package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 社保/公积金模板主视图对象 oa_insurance_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaInsuranceTemplateVo {
private static final long serialVersionUID = 1L;
/**
* 模板ID
*/
@ExcelProperty(value = "模板ID")
private Long insuranceTemplateId;
/**
* 模板名称
*/
@ExcelProperty(value = "模板名称")
private String templateName;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,62 @@
package com.ruoyi.oa.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 薪资模板明细视图对象 oa_salary_template_detail
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaSalaryTemplateDetailVo {
private static final long serialVersionUID = 1L;
/**
* 明细ID
*/
@ExcelProperty(value = "明细ID")
private Long salaryDetailId;
/**
* 模板ID → oa_salary_template.salary_template_id
*/
@ExcelProperty(value = "模板ID → oa_salary_template.salary_template_id")
private Long salaryTemplateId;
/**
* 项目代码,如 basic_salary…
*/
@ExcelProperty(value = "项目代码,如 basic_salary…")
private String salaryItem;
/**
* 固定金额,仅针对金额项
*/
@ExcelProperty(value = "固定金额,仅针对金额项")
private BigDecimal amount;
/**
* 费率,仅针对费率项
*/
@ExcelProperty(value = "费率,仅针对费率项")
private BigDecimal rate;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,43 @@
package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 薪资模板主视图对象 oa_salary_template
*
* @author ruoyi
* @date 2025-06-23
*/
@Data
@ExcelIgnoreUnannotated
public class OaSalaryTemplateVo {
private static final long serialVersionUID = 1L;
/**
* 模板ID
*/
@ExcelProperty(value = "模板ID")
private Long salaryTemplateId;
/**
* 模板名称
*/
@ExcelProperty(value = "模板名称")
private String templateName;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}