薪资计算逻辑
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
48
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaEmployee.java
Normal file
48
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/OaEmployee.java
Normal 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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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; // 社保明细
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user