Commit 72d3d523 authored by fangxinjiang's avatar fangxinjiang

薪资配置

parent d1ba8b40
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity; package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/** /**
* 项目基础薪酬配置-薪资配置2 * 工资报账配置
* *
* @author hgw * @author hgw
* @date 2022-08-05 11:40:14 * @date 2019-09-12 15:46:57
*/ */
@Data @Data
@TableName("t_config_salary")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Schema(description = "项目基础薪酬配置-薪资配置2") @TableName("t_config_salary")
public class TConfigSalary extends BaseEntity { @Tag(name="薪资配置-普通薪资配置")
public class TConfigSalary extends Model<TConfigSalary> implements Serializable {
/** private static final long serialVersionUID = 1L;
* 主键 /**
*/ * 主键
@TableId(type = IdType.ASSIGN_ID) */
@ExcelProperty("主键") @TableId(type = IdType.ASSIGN_ID)
private String id; @Schema(description="主键")
/** private String id;
* 配置名称 /**
*/ * 配置名称
@ExcelAttribute(name = "配置名称", isNotEmpty = true, errorInfo = "配置名称不能为空", maxLength = 50) */
@NotBlank(message = "配置名称不能为空") @NotBlank(message = "配置名称不能为空")
@Length(max = 50, message = "配置名称不能超过50个字符") @Length(max=50,message = "配置名称不能超过50个字符")
@ExcelProperty("配置名称") @ExcelAttribute(name = "配置名称", isNotEmpty = true,errorInfo = "配置名称不能为空" , maxLength = 50 )
private String name; @ExcelProperty(value="配置名称")
/** private String name;
* 结算主体ID /**
*/ * 结算主体ID
@ExcelAttribute(name = "结算主体ID", isNotEmpty = true, errorInfo = "结算主体ID不能为空", maxLength = 32) */
@NotBlank(message = "结算主体ID不能为空") @NotBlank(message = "结算主体ID不能为空")
@Length(max = 32, message = "结算主体ID不能超过32个字符") @Length(max=32,message = "结算主体ID不能超过32个字符")
@ExcelProperty("结算主体ID") @ExcelAttribute(name = "结算主体ID", isNotEmpty = true,errorInfo = "结算主体ID不能为空" , maxLength = 32 )
private String departId; @ExcelProperty(value="结算主体ID")
/** private String departId;
* 结算主体编码 /**
*/ * 结算主体编码
@ExcelAttribute(name = "结算主体编码", isNotEmpty = true, errorInfo = "结算主体编码不能为空", maxLength = 32) */
@NotBlank(message = "结算主体编码不能为空") @NotBlank(message = "结算主体编码不能为空")
@Length(max = 32, message = "结算主体编码不能超过32个字符") @Length(max=32,message = "结算主体编码不能超过32个字符")
@ExcelProperty("结算主体编码") @ExcelAttribute(name = "结算主体编码", isNotEmpty = true,errorInfo = "结算主体编码不能为空" , maxLength = 32 )
private String departNo; @ExcelProperty(value="结算主体编码")
/** private String departNo;
* 结算主体名称 /**
*/ * 结算主体名称
@ExcelAttribute(name = "结算主体名称", isNotEmpty = true, errorInfo = "结算主体名称不能为空", maxLength = 50) */
@NotBlank(message = "结算主体名称不能为空") @NotBlank(message = "结算主体名称不能为空")
@Length(max = 50, message = "结算主体名称不能超过50个字符") @Length(max=50,message = "结算主体名称不能超过50个字符")
@ExcelProperty("结算主体名称") @ExcelAttribute(name = "结算主体名称", isNotEmpty = true,errorInfo = "结算主体名称不能为空" , maxLength = 50 )
private String departName; @ExcelProperty(value="结算主体名称")
/** private String departName;
* 薪酬月份 /**
*/ * 工资月份
@ExcelAttribute(name = "薪酬月份", isNotEmpty = true, errorInfo = "薪酬月份不能为空") */
@NotBlank(message = "薪酬月份不能为空") @NotNull(message = "工资月份不能为空")
@ExcelProperty("薪酬月份") @ExcelAttribute(name = "工资月份", isNotEmpty = true,errorInfo = "工资月份不能为空" )
private Integer salaryMonth; @ExcelProperty(value="工资月份")
/** private Integer salaryMonth;
* 社保月份 /**
*/ * 结算月份
@ExcelAttribute(name = "社保月份", isNotEmpty = true, errorInfo = "社保月份不能为空") */
@NotBlank(message = "社保月份不能为空") @NotNull(message = "结算月份不能为空")
@ExcelProperty("社保月份") @ExcelAttribute(name = "结算月份", isNotEmpty = true,errorInfo = "结算月份不能为空" )
private Integer socialMonth; @ExcelProperty(value="结算月份")
/** private Integer settleMonth;
* 公积金月份 /**
*/ * 社保月份
@ExcelAttribute(name = "公积金月份", isNotEmpty = true, errorInfo = "公积金月份不能为空") */
@NotBlank(message = "公积金月份不能为空") @NotNull(message = "社保月份不能为空")
@ExcelProperty("公积金月份") @ExcelAttribute(name = "社保月份", isNotEmpty = true,errorInfo = "社保月份不能为空" )
private Integer fundMonth; @ExcelProperty(value="社保月份")
/** private Integer socialMonth;
* 社保优先级0:生成月;1:缴纳月 /**
*/ * 公积金月份
@ExcelAttribute(name = "社保优先级0:生成月;1:缴纳月", isNotEmpty = true, errorInfo = "社保优先级0:生成月;1:缴纳月不能为空") */
@NotBlank(message = "社保优先级0:生成月;1:缴纳月不能为空") @NotNull(message = "公积金月份不能为空")
@ExcelProperty("社保优先级0:生成月;1:缴纳月") @ExcelAttribute(name = "公积金月份", isNotEmpty = true,errorInfo = "公积金月份不能为空" )
private Integer socialPriority; @ExcelProperty(value="公积金月份")
/** private Integer fundMonth;
* 公积金优先级0:生成月;1:缴纳月 /**
*/ * 社保优先级
@ExcelAttribute(name = "公积金优先级0:生成月;1:缴纳月", isNotEmpty = true, errorInfo = "公积金优先级0:生成月;1:缴纳月不能为空") */
@NotBlank(message = "公积金优先级0:生成月;1:缴纳月不能为空") @NotNull(message = "社保优先级不能为空")
@ExcelProperty("公积金优先级0:生成月;1:缴纳月") @ExcelAttribute(name = "社保优先级", isNotEmpty = true,errorInfo = "社保优先级不能为空" )
private Integer fundPriority; @ExcelProperty(value="社保优先级(0:生成;1:缴纳)")
/** private Integer socialPriority;
* 发放方式(0现金/1银行) /**
*/ * 公积金优先级
@ExcelAttribute(name = "发放方式(0现金/1银行)", isNotEmpty = true, errorInfo = "发放方式(0现金/1银行)不能为空") */
@NotBlank(message = "发放方式(0现金/1银行)不能为空") @NotNull(message = "公积金优先级不能为空")
@ExcelProperty("发放方式(0现金/1银行)") @ExcelAttribute(name = "公积金优先级", isNotEmpty = true,errorInfo = "公积金优先级不能为空" )
private Integer grantType; @ExcelProperty(value="公积金优先级(0:生成;1:缴纳)")
private Integer fundPriority;
/**
* 发放方式
*/
@NotNull(message = "发放方式不能为空")
@ExcelAttribute(name = "发放方式", isNotEmpty = true,errorInfo = "发放方式不能为空" )
@ExcelProperty(value="发放方式(0:现金;1:转账)")
private Integer grantType;
/**
* 年终奖扣税方案
*/
@NotNull(message = "年终奖扣税方案不能为空")
@ExcelAttribute(name = "年终奖扣税方案", errorInfo = "年终奖扣税方案不能为空" )
@ExcelProperty(value="年终奖扣税方案(0:合并;1:单独;2:自动计算)")
private Integer annualBonusType;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity; package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.Date; import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;
/** /**
* 最低工资配置-薪资配置4 * 各地市最低工资标准
* *
* @author hgw * @author hgw
* @date 2022-08-05 11:40:14 * @date 2019-10-15 21:45:23
*/ */
@Data @Data
@TableName("t_min_salary")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Schema(description = "最低工资配置-薪资配置4") @TableName("t_min_salary")
public class TMinSalary extends BaseEntity { @Tag(name = "薪资配置-最低工资配置")
public class TMinSalary extends Model<TMinSalary> {
/** private static final long serialVersionUID = 1L;
* id /**
*/ * id
@TableId(type = IdType.ASSIGN_ID) */
@ExcelProperty("id") @TableId(type = IdType.ASSIGN_ID)
private String id; @ExcelProperty(value = "id")
/** private String id;
* 省 /**
*/ * 省
@ExcelAttribute(name = "省") */
@ExcelProperty("省") @ExcelAttribute(name = "省")
private Integer province; @ExcelProperty(value = "省")
/** private Integer province;
* 市 /**
*/ * 市
@ExcelAttribute(name = "市") */
@ExcelProperty("市") @ExcelAttribute(name = "市")
private Integer city; @ExcelProperty(value = "市")
/** private Integer city;
* 县 /**
*/ * 县
@ExcelAttribute(name = "县") */
@ExcelProperty("县") @ExcelAttribute(name = "县")
private Integer town; @ExcelProperty(value = "县")
/** private Integer town;
* 最低工资标准 /**
*/ * 最低工资标准
@ExcelAttribute(name = "最低工资标准", isNotEmpty = true, errorInfo = "最低工资标准不能为空", maxLength = 11) */
@NotBlank(message = "最低工资标准不能为空") @NotBlank(message = "最低工资标准不能为空")
@Length(max = 11, message = "最低工资标准不能超过11个字符") @Length(max = 11, message = "最低工资标准不能超过11个字符")
@ExcelProperty("最低工资标准") @ExcelAttribute(name = "最低工资标准", isNotEmpty = true, errorInfo = "最低工资标准不能为空", maxLength = 11)
private String salaryBase; @ExcelProperty(value = "最低工资标准")
/** private String salaryBase;
* 1.启用 2.停用 /**
*/ * 1.启用 2.停用
@ExcelAttribute(name = "1.启用 2.停用", isNotEmpty = true, errorInfo = "1.启用 2.停用不能为空") */
@NotBlank(message = "1.启用 2.停用不能为空") @NotNull(message = "1.启用 2.停用不能为空")
@ExcelProperty("1.启用 2.停用") @ExcelAttribute(name = "1.启用 2.停用", isNotEmpty = true, errorInfo = "1.启用 2.停用不能为空")
private Integer status; @ExcelProperty(value = "1.启用 2.停用")
/** private Integer status;
* 起始时间 /**
*/ * 起始时间
@ExcelAttribute(name = "起始时间", isDate = true) */
@ExcelProperty("起始时间") @ExcelAttribute(name = "起始时间")
private Date startDate; @ExcelProperty(value = "起始时间")
/** private LocalDate startDate;
* 终止时间 /**
*/ * 终止时间
@ExcelAttribute(name = "终止时间", isDate = true) */
@ExcelProperty("终止时间") @ExcelAttribute(name = "终止时间")
private Date endDate; @ExcelProperty(value = "终止时间")
private LocalDate endDate;
/**
* 创建人
*/
@Length(max = 32, message = "创建人不能超过32个字符")
@ExcelAttribute(name = "创建人", maxLength = 32)
@ExcelProperty(value = "创建人")
private String createUser;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间")
@ExcelProperty(value = "创建时间")
private LocalDateTime createDate;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity; package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/** /**
* 自有员工所在结算主体大全表 * 自有员工所在结算主体大全表
* *
* @author hgw * @author hgw
* @date 2022-08-05 11:40:14 * @date 2021-11-02 17:29:54
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_own_dept") @TableName("t_own_dept")
@Schema(description = "自有员工所在结算主体大全表") @Tag(name = "自有员工所在结算主体大全表")
public class TOwnDept { public class TOwnDept extends Model<TOwnDept> {
private static final long serialVersionUID = 1L;
/** /**
* id *
*/ */
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id") @ExcelProperty(value = "")
private Integer id; private Integer id;
/** /**
* 结算主体id * 结算主体id
*/ */
@ExcelAttribute(name = "结算主体id", maxLength = 32) @NotBlank(message = "结算主体id不能为空")
@Length(max = 32, message = "结算主体id不能超过32个字符") @Length(max = 32, message = "结算主体id不能超过32个字符")
@ExcelProperty("结算主体id") @ExcelAttribute(name = "结算主体id", isNotEmpty = true, errorInfo = "结算主体id不能为空", maxLength = 32)
@ExcelProperty(value = "结算主体id")
private String deptId; private String deptId;
/** /**
* 结算主体编码 * 结算主体编码
*/ */
@ExcelAttribute(name = "结算主体编码", maxLength = 50)
@Length(max = 50, message = "结算主体编码不能超过50个字符") @Length(max = 50, message = "结算主体编码不能超过50个字符")
@ExcelProperty("结算主体编码") @ExcelAttribute(name = "结算主体编码", maxLength = 50)
@ExcelProperty(value = "结算主体编码")
private String deptNo; private String deptNo;
/** /**
* 结算主体名称 * 结算主体名称
*/ */
@ExcelAttribute(name = "结算主体名称", maxLength = 50)
@Length(max = 50, message = "结算主体名称不能超过50个字符") @Length(max = 50, message = "结算主体名称不能超过50个字符")
@ExcelProperty("结算主体名称") @ExcelAttribute(name = "结算主体名称", maxLength = 50)
@ExcelProperty(value = "结算主体名称")
private String deptName; private String deptName;
/** /**
* 客户名称 * 客户名称
*/ */
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Length(max = 50, message = "客户名称不能超过50个字符") @Length(max = 50, message = "客户名称不能超过50个字符")
@ExcelProperty("客户名称") @ExcelAttribute(name = "客户名称", maxLength = 50)
@ExcelProperty(value = "客户名称")
private String unitName; private String unitName;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity; package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
/** /**
* 工资报表配置-薪资配置6 * 薪资识别配置(标准模板)
* *
* @author hgw * @author hgw
* @date 2022-08-05 11:40:14 * @date 2019-07-30 15:00:05
*/ */
@Data @Data
@TableName("t_salary_config_standard")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Schema(description = "工资报表配置-薪资配置6") @TableName("t_salary_config_standard")
public class TSalaryConfigStandard extends BaseEntity { @Tag(name = "薪资识别配置(标准模板)")
public class TSalaryConfigStandard extends Model<TSalaryConfigStandard> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty(value = "主键")
private String id;
/**
* 中文名(Excel表头)
*/
@ExcelProperty(value = "中文名(Excel表头)")
@Length(max = 32, message = "中文名(Excel表头)不能超过32个字符")
@NotBlank(message = "中文名(Excel表头)不能为空")
@ExcelAttribute(name = "中文名(Excel表头)", isNotEmpty = true, errorInfo = "中文名(Excel表头)不能为空", maxLength = 32)
private String cnName;
/**
* 数据库字段名
*/
@ExcelProperty(value = "数据库字段名")
@Length(max = 32, message = "数据库字段名不能超过32个字符")
@ExcelAttribute(name = "数据库字段名", maxLength = 32)
private String dbFiedName;
/**
* JAVA属性字段名
*/
@ExcelProperty(value = "JAVA属性字段名")
@Length(max = 32, message = "JAVA属性字段名不能超过32个字符")
@ExcelAttribute(name = "JAVA属性字段名", maxLength = 32)
private String javaFiedName;
/**
* 模板类型(数据字典)
*/
@ExcelProperty(value = "模板类型(数据字典)")
@Length(max = 32, message = "模板类型(数据字典)不能超过32个字符")
@NotBlank(message = "模板类型(数据字典)不能为空")
@ExcelAttribute(name = "模板类型(数据字典)", isNotEmpty = true, errorInfo = "模板类型(数据字典)不能为空", maxLength = 32)
private String modelType;
/**
* 是否是必须
*/
@ExcelProperty(value = "是否是必须(0:不是;1:必填)")
@NotBlank(message = "是否是必须不能为空")
@ExcelAttribute(name = "是否是必须", isNotEmpty = true, errorInfo = "是否是必须不能为空")
private String isMustNeed;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelProperty(value = "是否进行计算扣税:1:计算;0:不计算")
@NotBlank(message = "是否进行计算扣税不能为空")
@ExcelAttribute(name = "是否进行计算扣税", isNotEmpty = true, errorInfo = "是否进行计算扣税不能为空")
private Integer isTax;
/**
* 创建人
*/
@ExcelProperty(value = "创建人")
@Length(max = 32, message = "创建人不能超过32个字符")
@NotBlank(message = "创建人不能为空")
@ExcelAttribute(name = "创建人", isNotEmpty = true, errorInfo = "创建人不能为空", maxLength = 32)
private String createUser;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
@NotBlank(message = "创建时间不能为空")
@ExcelAttribute(name = "创建时间", isNotEmpty = true, errorInfo = "创建时间不能为空")
private LocalDateTime createTime;
/** /**
* 主键 * 排序项
*/ */
@TableId(type = IdType.ASSIGN_ID) @ExcelProperty(value = "排序项")
@ExcelProperty("主键") @ExcelAttribute(name = "排序项", maxLength = 32)
private String id; private String orderLine;
/**
* 中文名(Excel表头)
*/
@ExcelAttribute(name = "中文名(Excel表头)", isNotEmpty = true, errorInfo = "中文名(Excel表头)不能为空", maxLength = 32)
@NotBlank(message = "中文名(Excel表头)不能为空")
@Length(max = 32, message = "中文名(Excel表头)不能超过32个字符")
@ExcelProperty("中文名(Excel表头)")
private String cnName;
/**
* 数据库字段名
*/
@ExcelAttribute(name = "数据库字段名", maxLength = 32)
@Length(max = 32, message = "数据库字段名不能超过32个字符")
@ExcelProperty("数据库字段名")
private String dbFiedName;
/**
* JAVA属性字段名
*/
@ExcelAttribute(name = "JAVA属性字段名", maxLength = 32)
@Length(max = 32, message = "JAVA属性字段名不能超过32个字符")
@ExcelProperty("JAVA属性字段名")
private String javaFiedName;
/**
* 模板类型(数据字典)
*/
@ExcelAttribute(name = "模板类型(数据字典)", isNotEmpty = true, errorInfo = "模板类型(数据字典)不能为空", maxLength = 32)
@NotBlank(message = "模板类型(数据字典)不能为空")
@Length(max = 32, message = "模板类型(数据字典)不能超过32个字符")
@ExcelProperty("模板类型(数据字典)")
private String modelType;
/**
* 是否是必须
*/
@ExcelAttribute(name = "是否是必须", isNotEmpty = true, errorInfo = "是否是必须不能为空", maxLength = 1)
@NotBlank(message = "是否是必须不能为空")
@Length(max = 1, message = "是否是必须不能超过1个字符")
@ExcelProperty("是否是必须")
private String isMustNeed;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelAttribute(name = "是否进行计算扣税:1:计算;0:不计算", isNotEmpty = true, errorInfo = "是否进行计算扣税:1:计算;0:不计算不能为空")
@NotBlank(message = "是否进行计算扣税:1:计算;0:不计算不能为空")
@ExcelProperty("是否进行计算扣税:1:计算;0:不计算")
private Integer isTax;
/**
* 排序项
*/
@ExcelAttribute(name = "排序项")
@ExcelProperty("排序项")
private Integer orderLine;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity; package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* 所得税配置-薪资配置3 * 个税比例及速算扣除数的配置表
* *
* @author hgw * @author hgw
* @date 2022-08-05 11:40:14 * @date 2019-07-30 15:00:05
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_tax_config") @TableName("t_salary_tax_config")
@Schema(description = "所得税配置-薪资配置3") @Tag(name = "薪资配置-所得税配置")
public class TSalaryTaxConfig { public class TSalaryTaxConfig extends Model<TSalaryTaxConfig> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty(value = "主键")
private String id;
/**
* 累计预扣预缴应纳税所得额说明
*/
@ExcelProperty(value = "累计预扣预缴应纳税所得额说明")
@Length(max = 32, message = "累计预扣预缴应纳税所得额说明不能超过32个字符")
@ExcelAttribute(name = "累计预扣预缴应纳税所得额说明", maxLength = 32)
private String taxableIncomeRemark;
/**
* 预扣率(%)
*/
@ExcelProperty(value = "预扣率(%)")
@NotBlank(message = "预扣率(%)不能为空")
@ExcelAttribute(name = "预扣率(%)", isNotEmpty = true, errorInfo = "预扣率(%)不能为空")
private Integer withholdingRate;
/**
* 速算扣除数
*/
@ExcelProperty(value = "速算扣除数")
@NotBlank(message = "速算扣除数不能为空")
@ExcelAttribute(name = "速算扣除数", isNotEmpty = true, errorInfo = "速算扣除数不能为空")
private BigDecimal quickDeducation;
/**
* 最小区间值
*/
@ExcelProperty(value = "最小区间值")
@NotBlank(message = "最小区间值不能为空")
@ExcelAttribute(name = "最小区间值", isNotEmpty = true, errorInfo = "最小区间值不能为空")
private BigDecimal minIncome;
/**
* 最大区间值
*/
@ExcelProperty(value = "最大区间值")
@NotBlank(message = "最大区间值不能为空")
@ExcelAttribute(name = "最大区间值", isNotEmpty = true, errorInfo = "最大区间值不能为空")
private BigDecimal maxIncome;
/**
* 等级
*/
@ExcelProperty(value = "等级")
@NotBlank(message = "等级不能为空")
@ExcelAttribute(name = "等级", isNotEmpty = true, errorInfo = "等级不能为空")
private Integer level;
/**
* 类型:0:工资;1:年终奖
*/
@ExcelProperty(value = "类型:0:工资;1:年终奖")
@NotBlank(message = "类型不能为空")
@ExcelAttribute(name = "类型", isNotEmpty = true, errorInfo = "类型不能为空")
private Integer type;
/** /**
* 主键 * 个税起征点或年终奖个税临界值
*/ */
@TableId(type = IdType.ASSIGN_ID) @ExcelProperty(value = "个税起征点或年终奖个税临界值")
@ExcelProperty("主键") @ExcelAttribute(name = "个税起征点或年终奖个税临界值")
private String id; private BigDecimal startPoint;
/**
* 累计预扣预缴应纳税所得额说明
*/
@ExcelAttribute(name = "累计预扣预缴应纳税所得额说明", maxLength = 32)
@Length(max = 32, message = "累计预扣预缴应纳税所得额说明不能超过32个字符")
@ExcelProperty("累计预扣预缴应纳税所得额说明")
private String taxableIncomeRemark;
/**
* 预扣率(%)
*/
@ExcelAttribute(name = "预扣率(%)", isNotEmpty = true, errorInfo = "预扣率(%)不能为空")
@NotBlank(message = "预扣率(%)不能为空")
@ExcelProperty("预扣率(%)")
private Integer withholdingRate;
/**
* 速算扣除数
*/
@ExcelAttribute(name = "速算扣除数", isNotEmpty = true, errorInfo = "速算扣除数不能为空")
@NotBlank(message = "速算扣除数不能为空")
@ExcelProperty("速算扣除数")
private BigDecimal quickDeducation;
/**
* 最小区间值
*/
@ExcelAttribute(name = "最小区间值", isNotEmpty = true, errorInfo = "最小区间值不能为空")
@NotBlank(message = "最小区间值不能为空")
@ExcelProperty("最小区间值")
private BigDecimal minIncome;
/**
* 最大区间值
*/
@ExcelAttribute(name = "最大区间值", isNotEmpty = true, errorInfo = "最大区间值不能为空")
@NotBlank(message = "最大区间值不能为空")
@ExcelProperty("最大区间值")
private BigDecimal maxIncome;
/**
* 等级
*/
@ExcelAttribute(name = "等级", isNotEmpty = true, errorInfo = "等级不能为空")
@NotBlank(message = "等级不能为空")
@ExcelProperty("等级")
private Integer level;
/**
* 类型:0:工资;1:年终奖
*/
@ExcelAttribute(name = "类型:0:工资;1:年终奖", isNotEmpty = true, errorInfo = "类型:0:工资;1:年终奖不能为空")
@NotBlank(message = "类型:0:工资;1:年终奖不能为空")
@ExcelProperty("类型:0:工资;1:年终奖")
private Integer type;
/**
* 个税起征点或年终奖个税临界值
*/
@ExcelAttribute(name = "个税起征点或年终奖个税临界值")
@ExcelProperty("个税起征点或年终奖个税临界值")
private BigDecimal startPoint;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller; package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService; import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TConfigSalarySearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* 项目基础薪酬配置-薪资配置2 * @Author fxj
* * @Description 工资报账配置
* @author hgw * @Date 13:32 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
@RestController @RestController
@RequiredArgsConstructor @AllArgsConstructor
@RequestMapping("/tconfigsalary") @RequestMapping("/tconfigsalary")
@Tag(name = "项目基础薪酬配置-薪资配置2管理") @Tag(name = "薪资配置-普通工资配置")
public class TConfigSalaryController { public class TConfigSalaryController {
private final TConfigSalaryService tConfigSalaryService; private final TConfigSalaryService tConfigSalaryService;
/**
* @param settleDepart 结算主体id
* @Description: 获取结算主体下的配置信息
* @Author: hgw
* @Date: 2019/9/12 17:05
* @return: com.yifu.cloud.v1.common.core.util.R
**/
@Operation(description = "获取结算主体下的配置列表")
@SysLog("获取结算主体下的配置列表")
@PostMapping("getTConfigSalaryList")
//@PreAuthorize("@pms.hasPermission('wxhr:salary_upload')")
public R getTConfigSalaryList(@RequestParam String settleDepart) {
TConfigSalary configSalary = new TConfigSalary();
configSalary.setDepartId(settleDepart);
QueryWrapper<TConfigSalary> queryWrapperCs = new QueryWrapper<>();
queryWrapperCs.setEntity(configSalary);
List<TConfigSalary> configSalaryList = tConfigSalaryService.list(queryWrapperCs);
return new R<>(configSalaryList);
}
/** /**
* 简单分页查询 * 简单分页查询
* *
* @param page 分页对象 * @param page 分页对象
* @param tConfigSalary 项目基础薪酬配置-薪资配置2 * @param tConfigSalary 工资报账配置
* @return * @return
*/ */
@Operation(description = "简单分页查询") @Operation(description = "简单分页查询")
@GetMapping("/page") @GetMapping("/page")
public R<IPage<TConfigSalary>> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalarySearchVo tConfigSalary) { public R<IPage<TConfigSalary>> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalary tConfigSalary) {
return new R<>(tConfigSalaryService.getTConfigSalaryPage(page, tConfigSalary)); return new R<>(tConfigSalaryService.getTConfigSalaryPage(page, tConfigSalary));
} }
/**
* 不分页查询
*
* @param tConfigSalary 项目基础薪酬配置-薪资配置2
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tconfigsalary_get')" )
public R<List<TConfigSalary>> getTConfigSalaryNoPage(@RequestBody TConfigSalarySearchVo tConfigSalary) {
return R.ok(tConfigSalaryService.noPageDiy(tConfigSalary));
}
/** /**
* 通过id查询项目基础薪酬配置-薪资配置2 * 通过id查询单条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tconfigsalary_get')") @Operation(description = "id查询")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TConfigSalary> getById(@PathVariable("id") String id) { public R<TConfigSalary> getById(@PathVariable("id") String id) {
return R.ok(tConfigSalaryService.getById(id)); return new R<>(tConfigSalaryService.getById(id));
} }
/** /**
* 新增项目基础薪酬配置-薪资配置2 * 新增记录
* *
* @param tConfigSalary 项目基础薪酬配置-薪资配置2 * @param tConfigSalary
* @return R * @return R
*/ */
@Operation(summary = "新增项目基础薪酬配置-薪资配置2", description = "新增项目基础薪酬配置-薪资配置2:hasPermission('salary_tconfigsalary_add')") @Operation(description = "新增(wxhr:tconfigsalary_add)")
@SysLog("新增项目基础薪酬配置-薪资配置2")
@PostMapping @PostMapping
@PreAuthorize("@pms.hasPermission('salary_tconfigsalary_add')") @PreAuthorize("@pms.hasPermission('wxhr:tconfigsalary_add')")
public R<Boolean> save(@RequestBody TConfigSalary tConfigSalary) { public R save(@Valid @RequestBody TConfigSalary tConfigSalary) {
return R.ok(tConfigSalaryService.save(tConfigSalary)); return new R<>(tConfigSalaryService.save(tConfigSalary));
} }
/** /**
* 修改项目基础薪酬配置-薪资配置2 * 修改记录
* *
* @param tConfigSalary 项目基础薪酬配置-薪资配置2 * @param tConfigSalary
* @return R * @return R
*/ */
@Operation(summary = "修改项目基础薪酬配置-薪资配置2", description = "修改项目基础薪酬配置-薪资配置2:hasPermission('salary_tconfigsalary_edit')") @Operation(description = "修改(wxhr:tconfigsalary_edit)")
@SysLog("修改项目基础薪酬配置-薪资配置2") @SysLog("修改工资报账配置")
@PutMapping @PutMapping
@PreAuthorize("@pms.hasPermission('salary_tconfigsalary_edit')") @PreAuthorize("@pms.hasPermission('wxhr:tconfigsalary_edit')")
public R<Boolean> updateById(@RequestBody TConfigSalary tConfigSalary) { public R update(@RequestBody TConfigSalary tConfigSalary) {
return R.ok(tConfigSalaryService.updateById(tConfigSalary)); return new R<>(tConfigSalaryService.updateById(tConfigSalary));
} }
/** /**
* 通过id删除项目基础薪酬配置-薪资配置2 * 通过id删除一条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id删除项目基础薪酬配置-薪资配置2", description = "通过id删除项目基础薪酬配置-薪资配置2:hasPermission('salary_tconfigsalary_del')") @Operation(description = "删除(wxhr:tconfigsalary_del)")
@SysLog("通过id删除项目基础薪酬配置-薪资配置2") @SysLog("删除工资报账配置")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tconfigsalary_del')") @PreAuthorize("@pms.hasPermission('wxhr:tconfigsalary_del')")
public R<Boolean> removeById(@PathVariable String id) { public R removeById(@PathVariable String id) {
return R.ok(tConfigSalaryService.removeById(id)); return new R<>(tConfigSalaryService.removeById(id));
} }
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller; package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary;
import com.yifu.cloud.plus.v1.yifu.salary.service.TMinSalaryService; import com.yifu.cloud.plus.v1.yifu.salary.service.TMinSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TMinSalarySearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import javax.validation.Valid;
import java.time.LocalDateTime;
/** /**
* 最低工资配置-薪资配置4 * @Author fxj
* * @Description 各地市最低工资标准
* @author hgw * @Date 13:32 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
@RestController @RestController
@RequiredArgsConstructor @AllArgsConstructor
@RequestMapping("/tminsalary") @RequestMapping("/tminsalary")
@Tag(name = "最低工资配置-薪资配置4管理") @Tag(name = "薪资配置-最低工资配置")
public class TMinSalaryController { public class TMinSalaryController {
private final TMinSalaryService tMinSalaryService; private final TMinSalaryService tMinSalaryService;
/** /**
* 简单分页查询 * 简单分页查询
* *
* @param page 分页对象 * @param page 分页对象
* @param tMinSalary 最低工资配置-薪资配置4 * @param tMinSalary 各地市最低工资标准
* @return * @return
*/ */
@Operation(description = "简单分页查询") @Operation(description = "简单分页查询")
@GetMapping("/page") @GetMapping("/page")
public R<IPage<TMinSalary>> getTMinSalaryPage(Page<TMinSalary> page, TMinSalarySearchVo tMinSalary) { public R<IPage<TMinSalary>> getTMinSalaryPage(Page<TMinSalary> page, TMinSalary tMinSalary) {
return new R<>(tMinSalaryService.getTMinSalaryPage(page, tMinSalary)); return new R<>(tMinSalaryService.getTMinSalaryPage(page, tMinSalary));
} }
/**
* 不分页查询
*
* @param tMinSalary 最低工资配置-薪资配置4
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tminsalary_get')" )
public R<List<TMinSalary>> getTMinSalaryNoPage(@RequestBody TMinSalarySearchVo tMinSalary) {
return R.ok(tMinSalaryService.noPageDiy(tMinSalary));
}
/** /**
* 通过id查询最低工资配置-薪资配置4 * 通过id查询单条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tminsalary_get')") @Operation(description = "id查询")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TMinSalary> getById(@PathVariable("id") String id) { public R<TMinSalary> getById(@PathVariable("id") String id) {
return R.ok(tMinSalaryService.getById(id)); return new R<>(tMinSalaryService.getById(id));
} }
/** /**
* 新增最低工资配置-薪资配置4 * 新增记录
* *
* @param tMinSalary 最低工资配置-薪资配置4 * @param tMinSalary
* @return R * @return R
*/ */
@Operation(summary = "新增最低工资配置-薪资配置4", description = "新增最低工资配置-薪资配置4:hasPermission('salary_tminsalary_add')") @Operation(description = "新增(wxhr:tminsalary_add)")
@SysLog("新增最低工资配置-薪资配置4")
@PostMapping @PostMapping
@PreAuthorize("@pms.hasPermission('salary_tminsalary_add')") @PreAuthorize("@pms.hasPermission('wxhr:tminsalary_add')")
public R<Boolean> save(@RequestBody TMinSalary tMinSalary) { public R save(@Valid @RequestBody TMinSalary tMinSalary) {
return R.ok(tMinSalaryService.save(tMinSalary)); YifuUser user = SecurityUtils.getUser();
if (null == user || null == user.getId()) {
return R.failed("获取登录用户信息失败!");
}
tMinSalary.setCreateDate(LocalDateTime.now());
tMinSalary.setCreateUser(String.valueOf(user.getId()));
return new R<>(tMinSalaryService.save(tMinSalary));
} }
/** /**
* 修改最低工资配置-薪资配置4 * 修改记录
* *
* @param tMinSalary 最低工资配置-薪资配置4 * @param tMinSalary
* @return R * @return R
*/ */
@Operation(summary = "修改最低工资配置-薪资配置4", description = "修改最低工资配置-薪资配置4:hasPermission('salary_tminsalary_edit')") @Operation(description = "修改(wxhr:tminsalary_edit)")
@SysLog("修改最低工资配置-薪资配置4") @SysLog("修改各地市最低工资标准")
@PutMapping @PutMapping
@PreAuthorize("@pms.hasPermission('salary_tminsalary_edit')") @PreAuthorize("@pms.hasPermission('wxhr:tminsalary_edit')")
public R<Boolean> updateById(@RequestBody TMinSalary tMinSalary) { public R update(@RequestBody TMinSalary tMinSalary) {
return R.ok(tMinSalaryService.updateById(tMinSalary)); return new R<>(tMinSalaryService.updateById(tMinSalary));
} }
/** /**
* 通过id删除最低工资配置-薪资配置4 * 通过id删除一条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id删除最低工资配置-薪资配置4", description = "通过id删除最低工资配置-薪资配置4:hasPermission('salary_tminsalary_del')") @Operation(description = "删除(wxhr:tminsalary_del)")
@SysLog("通过id删除最低工资配置-薪资配置4") @SysLog("删除各地市最低工资标准")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tminsalary_del')") @PreAuthorize("@pms.hasPermission('wxhr:tminsalary_del')")
public R<Boolean> removeById(@PathVariable String id) { public R removeById(@PathVariable String id) {
return R.ok(tMinSalaryService.removeById(id)); return new R<>(tMinSalaryService.removeById(id));
} }
} }
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept;
import com.yifu.cloud.plus.v1.yifu.salary.service.TOwnDeptService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @Author fxj
* @Description 自有员工所在结算主体大全表
* @Date 13:32 2022/8/6
* @Param
* @return
**/
@RestController
@AllArgsConstructor
@RequestMapping("/towndept")
@Tag(name = "自有员工所在结算主体大全表")
public class TOwnDeptController {
private final TOwnDeptService tOwnDeptService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tOwnDept 自有员工所在结算主体大全表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TOwnDept>> getTOwnDeptPage(Page<TOwnDept> page, TOwnDept tOwnDept) {
return new R<>(tOwnDeptService.getTOwnDeptPage(page, tOwnDept));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TOwnDept> getById(@PathVariable("id") Integer id) {
return new R<>(tOwnDeptService.getById(id));
}
/**
* 新增记录
*
* @param tOwnDept
* @return R
*/
@Operation(description = "新增(wxhr:towndept_add)")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:towndept_add')")
public R<Boolean> save(@Valid @RequestBody TOwnDept tOwnDept) {
return new R<>(tOwnDeptService.save(tOwnDept));
}
/**
* 修改记录
*
* @param tOwnDept
* @return R
*/
@Operation(description = "修改(wxhr:towndept_edit)")
@SysLog("修改自有员工所在结算主体大全表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:towndept_edit')")
public R<Boolean> update(@RequestBody TOwnDept tOwnDept) {
return new R<>(tOwnDeptService.updateById(tOwnDept));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:towndept_del)")
@SysLog("删除自有员工所在结算主体大全表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:towndept_del')")
public R<Boolean> removeById(@PathVariable Integer id) {
return new R<>(tOwnDeptService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller; package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTaxConfigSearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* 所得税配置-薪资配置3 * @Author fxj
* * @Description 个税比例及速算扣除数的配置表
* @author hgw * @Date 13:33 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
@RestController @RestController
@RequiredArgsConstructor @AllArgsConstructor
@RequestMapping("/tsalarytaxconfig") @RequestMapping("/tsalarytaxconfig")
@Tag(name = "所得税配置-薪资配置3管理") @Tag(name = "薪资配置-所得税配置")
public class TSalaryTaxConfigController { public class TSalaryTaxConfigController {
private final TSalaryTaxConfigService tSalaryTaxConfigService; private final TSalaryTaxConfigService tSalaryTaxConfigService;
/**
* @param page 分页对象
* @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
* @Description: 工资个税-分页查询
* @Author: hgw
* @Date: 2019/10/15 18:06
* @return: com.yifu.cloud.v1.common.core.util.R<com.baomidou.mybatisplus.core.metadata.IPage < com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>>
**/
@Operation(description = "工资个税-分页查询")
@GetMapping("/salaryPage")
public R<IPage<TSalaryTaxConfig>> getTSalaryTaxConfigPageBySalary(Page<TSalaryTaxConfig> page, TSalaryTaxConfig tSalaryTaxConfig) {
tSalaryTaxConfig.setType(SalaryConstants.SALARY_TAX_TYPE[0]);
//根据 level 顺序排序
List<OrderItem> orders = new ArrayList<>();
OrderItem oi = new OrderItem();
oi.setColumn("level");
oi.setAsc(true);
orders.add(oi);
page.setOrders(orders);
return new R<>(tSalaryTaxConfigService.getTSalaryTaxConfigPage(page, tSalaryTaxConfig));
}
/** /**
* 简单分页查询
*
* @param page 分页对象 * @param page 分页对象
* @param tSalaryTaxConfig 所得税配置-薪资配置3 * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
* @return * @Description: 年终奖个税-分页查询
*/ * @Author: hgw
@Operation(description = "简单分页查询") * @Date: 2019/10/15 18:05
@GetMapping("/page") * @return: com.yifu.cloud.v1.common.core.util.R<com.baomidou.mybatisplus.core.metadata.IPage < com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>>
public R<IPage<TSalaryTaxConfig>> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfigSearchVo tSalaryTaxConfig) { **/
@Operation(description = "年终奖个税-分页查询")
@GetMapping("/yearPage")
public R<IPage<TSalaryTaxConfig>> getTSalaryTaxConfigPageByYear(Page<TSalaryTaxConfig> page, TSalaryTaxConfig tSalaryTaxConfig) {
tSalaryTaxConfig.setType(SalaryConstants.SALARY_TAX_TYPE[1]);
//根据 level 顺序排序
List<OrderItem> orders = new ArrayList<>();
OrderItem oi = new OrderItem();
oi.setColumn("level");
oi.setAsc(true);
orders.add(oi);
page.setOrders(orders);
return new R<>(tSalaryTaxConfigService.getTSalaryTaxConfigPage(page, tSalaryTaxConfig)); return new R<>(tSalaryTaxConfigService.getTSalaryTaxConfigPage(page, tSalaryTaxConfig));
} }
/** /**
* 通过id查询所得税配置-薪资配置3 * 通过id查询单条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tsalarytaxconfig_get')") @Operation(description = "id查询")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TSalaryTaxConfig> getById(@PathVariable("id") String id) { public R<TSalaryTaxConfig> getById(@PathVariable("id") String id) {
return R.ok(tSalaryTaxConfigService.getById(id)); return new R<>(tSalaryTaxConfigService.getById(id));
} }
/** /**
* 新增所得税配置-薪资配置3 * 新增记录
* *
* @param tSalaryTaxConfig 所得税配置-薪资配置3 * @param tSalaryTaxConfig
* @return R * @return R
*/ */
@Operation(summary = "新增所得税配置-薪资配置3", description = "新增所得税配置-薪资配置3:hasPermission('salary_tsalarytaxconfig_add')") @Operation(description = "新增")
@SysLog("新增所得税配置-薪资配置3") @SysLog("新增个税比例及速算扣除数的配置表")
@PostMapping @PostMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarytaxconfig_add')") @PreAuthorize("@pms.hasPermission('wxhr:tsalarytaxconfig_add')")
public R<Boolean> save(@RequestBody TSalaryTaxConfig tSalaryTaxConfig) { public R save(@RequestBody TSalaryTaxConfig tSalaryTaxConfig) {
return R.ok(tSalaryTaxConfigService.save(tSalaryTaxConfig)); return new R<>(tSalaryTaxConfigService.save(tSalaryTaxConfig));
} }
/** /**
* 修改所得税配置-薪资配置3 * 修改记录
* *
* @param tSalaryTaxConfig 所得税配置-薪资配置3 * @param tSalaryTaxConfig
* @return R * @return R
*/ */
@Operation(summary = "修改所得税配置-薪资配置3", description = "修改所得税配置-薪资配置3:hasPermission('salary_tsalarytaxconfig_edit')") @Operation(description = "修改")
@SysLog("修改所得税配置-薪资配置3") @SysLog("修改个税比例及速算扣除数的配置表")
@PutMapping @PutMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarytaxconfig_edit')") @PreAuthorize("@pms.hasPermission('wxhr:tsalarytaxconfig_edit')")
public R<Boolean> updateById(@RequestBody TSalaryTaxConfig tSalaryTaxConfig) { public R update(@RequestBody TSalaryTaxConfig tSalaryTaxConfig) {
return R.ok(tSalaryTaxConfigService.updateById(tSalaryTaxConfig)); return new R<>(tSalaryTaxConfigService.updateById(tSalaryTaxConfig));
} }
/** /**
* 通过id删除所得税配置-薪资配置3 * 通过id删除一条记录
* *
* @param id id * @param id
* @return R * @return R
*/ */
@Operation(summary = "通过id删除所得税配置-薪资配置3", description = "通过id删除所得税配置-薪资配置3:hasPermission('salary_tsalarytaxconfig_del')") @Operation(description = "删除")
@SysLog("通过id删除所得税配置-薪资配置3") @SysLog("删除个税比例及速算扣除数的配置表")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tsalarytaxconfig_del')") @PreAuthorize("@pms.hasPermission('wxhr:tsalarytaxconfig_del')")
public R<Boolean> removeById(@PathVariable String id) { public R removeById(@PathVariable String id) {
return R.ok(tSalaryTaxConfigService.removeById(id)); return new R<>(tSalaryTaxConfigService.removeById(id));
} }
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 项目基础薪酬配置-薪资配置2 * 工资报账配置
* *
* @author hgw * @author fxj
* @date 2022-08-05 11:40:14 * @date 2022-08-06 13:00
*/ */
@Mapper @Mapper
public interface TConfigSalaryMapper extends BaseMapper<TConfigSalary> { public interface TConfigSalaryMapper extends BaseMapper<TConfigSalary> {
/** /**
* 项目基础薪酬配置-薪资配置2简单分页查询 * 工资报账配置简单分页查询
* @param tConfigSalary 项目基础薪酬配置-薪资配置2 * @param tConfigSalary 工资报账配置
* @return * @return
*/ */
IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, @Param("tConfigSalary") TConfigSalary tConfigSalary); IPage<TConfigSalary> getTConfigSalaryPage(Page page, @Param("tConfigSalary") TConfigSalary tConfigSalary
, @Param("settleDomainVos") List<TSettleDomainSelectVo> settleDomainVos);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
* 最低工资配置-薪资配置4 * 各地市最低工资标准
* *
* @author hgw * @author fxj
* @date 2022-08-05 11:40:14 * @date 2022-08-06 13:00
*/ */
@Mapper @Mapper
public interface TMinSalaryMapper extends BaseMapper<TMinSalary> { public interface TMinSalaryMapper extends BaseMapper<TMinSalary> {
/** /**
* 最低工资配置-薪资配置4简单分页查询 * 各地市最低工资标准简单分页查询
* @param tMinSalary 最低工资配置-薪资配置4 * @param tMinSalary 各地市最低工资标准
* @return * @return
*/ */
IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, @Param("tMinSalary") TMinSalary tMinSalary); IPage<TMinSalary> getTMinSalaryPage(Page page, @Param("tMinSalary") TMinSalary tMinSalary);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 自有员工所在结算主体大全表 * 自有员工所在结算主体大全表
* *
* @author hgw * @author fxj
* @date 2022-08-05 11:40:14 * @date 2022-08-06 13:00
*/ */
@Mapper @Mapper
public interface TOwnDeptMapper extends BaseMapper<TOwnDept> { public interface TOwnDeptMapper extends BaseMapper<TOwnDept> {
/** /**
* 自有员工所在结算主体大全表简单分页查询 * 自有员工所在结算主体大全表简单分页查询
* @param tOwnDept 自有员工所在结算主体大全表 *
* @return * @param tOwnDept 自有员工所在结算主体大全表
*/ * @return
IPage<TOwnDept> getTOwnDeptPage(Page<TOwnDept> page, @Param("tOwnDept") TOwnDept tOwnDept); */
IPage<TOwnDept> getTOwnDeptPage(Page<TOwnDept> page, @Param("tOwnDept") TOwnDept tOwnDept);
List<String> getOwnEmpList();
List<String> getTOwnDeptIdList();
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 工资报表配置-薪资配置6 * 薪资识别配置(标准模板)
* *
* @author hgw * @author fxj
* @date 2022-08-05 11:40:14 * @date 2022-08-06 13:00
*/ */
@Mapper @Mapper
public interface TSalaryConfigStandardMapper extends BaseMapper<TSalaryConfigStandard> { public interface TSalaryConfigStandardMapper extends BaseMapper<TSalaryConfigStandard> {
/** /**
* 工资报表配置-薪资配置6简单分页查询 * 薪资识别配置(标准模板)简单分页查询
* @param tSalaryConfigStandard 工资报表配置-薪资配置6 *
* @return * @param tSalaryConfigStandard 薪资识别配置(标准模板)
*/ * @return
IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, @Param("tSalaryConfigStandard") TSalaryConfigStandard tSalaryConfigStandard); */
IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page
, @Param("tSalaryConfigStandard") TSalaryConfigStandard tSalaryConfigStandard);
List<TSalaryConfigStandard> getTSalaryConfigStandardList(@Param("tSalaryConfigStandard") TSalaryConfigStandard tSalaryConfigStandard);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 所得税配置-薪资配置3 * 个税比例及速算扣除数的配置表
* *
* @author hgw * @author fxj
* @date 2022-08-05 11:40:14 * @date 2022-08-06 13:00
*/ */
@Mapper @Mapper
public interface TSalaryTaxConfigMapper extends BaseMapper<TSalaryTaxConfig> { public interface TSalaryTaxConfigMapper extends BaseMapper<TSalaryTaxConfig> {
/** /**
* 所得税配置-薪资配置3简单分页查询 * 个税比例及速算扣除数的配置表简单分页查询
* @param tSalaryTaxConfig 所得税配置-薪资配置3 * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
* @return * @return
*/ */
IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, @Param("tSalaryTaxConfig") TSalaryTaxConfig tSalaryTaxConfig); IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page page, @Param("tSalaryTaxConfig") TSalaryTaxConfig tSalaryTaxConfig);
/**
* @param tSalaryTaxConfig
* @Description: 获取个税配置
* @Author: hgw
* @Date: 2019/10/8 14:39
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
List<TSalaryTaxConfig> getTaxConfigByPersonList(@Param("tSalaryTaxConfig") TSalaryTaxConfig tSalaryTaxConfig);
/**
* @param tSalaryTaxConfig
* @Description: 获取年终奖配置
* @Author: hgw
* @Date: 2019/10/8 14:40
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
List<TSalaryTaxConfig> getTaxConfigByAnnualBonusList(@Param("tSalaryTaxConfig") TSalaryTaxConfig tSalaryTaxConfig);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper; package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 专项扣除配置表-薪资配置5 * @author fxj
* * @date 2022-08-06 13:00
* @author hgw
* @date 2022-08-05 11:40:14
*/ */
@Mapper @Mapper
public interface TSpecialDeducationSumMapper extends BaseMapper<TSpecialDeducationSum> { public interface TSpecialDeducationSumMapper extends BaseMapper<TSpecialDeducationSum> {
/** /**
* 专项扣除配置表-薪资配置5简单分页查询 * 简单分页查询
* @param tSpecialDeducationSum 专项扣除配置表-薪资配置5 *
* @return * @param tSpecialDeducationSum
*/ * @return
IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page<TSpecialDeducationSum> page, @Param("tSpecialDeducationSum") TSpecialDeducationSum tSpecialDeducationSum); */
IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page page, @Param("tSpecialDeducationSum") TSpecialDeducationSum tSpecialDeducationSum);
/**
* @param tSpecialDeducationSum
* @Description: 查找专项信息,返回list
* @Author: hgw
* @Date: 2019/9/30 16:18
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum>
**/
List<TSpecialDeducationSum> getTSpecialDeducationSumList(@Param("tSpecialDeducationSum") TSpecialDeducationSum tSpecialDeducationSum);
/**
* @param yearMonth
* @param idNumber
* @Description: 获取当月专项信息
* @Author: hgw
* @Date: 2019/9/30 16:29
* @return: com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum
**/
TSpecialDeducationSum getTSpecialDeducationSum(@Param("yearMonth") String yearMonth, @Param("idNumber") String idNumber, @Param("invoiceTitle") String invoiceTitle);
/**
* @param yearMonth
* @param idCardList
* @Description: 工资查询所需的全部list,组装Map来使用
* @Author: hgw
* @Date: 2022/1/26 16:45
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum>
**/
List<TSpecialDeducationSum> getListByIdCardList(@Param("yearMonth") String yearMonth, @Param("idCardList") List<String> idCardList);
int deleteByUnitAndMonth(@Param("yearMonth") String yearMonth, @Param("invoiceTitle") String invoiceTitle);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TConfigSalarySearchVo;
import java.util.List;
/** /**
* 项目基础薪酬配置-薪资配置2 * @Author fxj
* * @Description 工资报账配置
* @author hgw * @Date 13:12 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TConfigSalaryService extends IService<TConfigSalary> { public interface TConfigSalaryService extends IService<TConfigSalary> {
/**
* 项目基础薪酬配置-薪资配置2简单分页查询
* @param tConfigSalary 项目基础薪酬配置-薪资配置2
* @return
*/
IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalarySearchVo tConfigSalary);
List<TConfigSalary> noPageDiy(TConfigSalarySearchVo searchVo); /**
* 工资报账配置简单分页查询
* @param tConfigSalary 工资报账配置
* @return
*/
IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalary tConfigSalary);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TMinSalarySearchVo;
import java.util.List;
/** /**
* 最低工资配置-薪资配置4 * @Author fxj
* * @Description 各地市最低工资标准
* @author hgw * @Date 13:13 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TMinSalaryService extends IService<TMinSalary> { public interface TMinSalaryService extends IService<TMinSalary> {
/**
* 最低工资配置-薪资配置4简单分页查询
* @param tMinSalary 最低工资配置-薪资配置4
* @return
*/
IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalarySearchVo tMinSalary);
List<TMinSalary> noPageDiy(TMinSalarySearchVo searchVo); /**
* 各地市最低工资标准简单分页查询
* @param tMinSalary 各地市最低工资标准
* @return
*/
IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalary tMinSalary);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept; import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept;
import java.util.Map;
/** /**
* 自有员工所在结算主体大全表 * @Author fxj
* * @Description 自有员工所在结算主体大全表
* @author hgw * @Date 13:13 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TOwnDeptService extends IService<TOwnDept> { public interface TOwnDeptService extends IService<TOwnDept> {
/**
* 自有员工所在结算主体大全表简单分页查询
*
* @param tOwnDept 自有员工所在结算主体大全表
* @return
*/
IPage<TOwnDept> getTOwnDeptPage(Page<TOwnDept> page, TOwnDept tOwnDept);
/**
* @param
* @Description: 获取自有员工结算主体id
* @Author: hgw
* @Date: 2021/12/28 10:44
* @return: Map
**/
Map<String, Integer> getOwnDeptMap();
/**
* @Description: 自有员工所在结算主体Map
* @Author: hgw
* @Date: 2021/11/2 17:51
* @return: java.util.Map<java.lang.String, java.lang.Integer>
**/
Map<String, Integer> getOwnEmpMap();
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryConfigStandardSearchVo;
import java.util.List; import java.util.List;
/** /**
* 工资报表配置-薪资配置6 * @Author fxj
* * @Description 薪资识别配置(标准模板)
* @author hgw * @Date 13:13 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TSalaryConfigStandardService extends IService<TSalaryConfigStandard> { public interface TSalaryConfigStandardService extends IService<TSalaryConfigStandard> {
/**
* 工资报表配置-薪资配置6简单分页查询
* @param tSalaryConfigStandard 工资报表配置-薪资配置6
* @return
*/
IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandardSearchVo tSalaryConfigStandard);
List<TSalaryConfigStandard> noPageDiy(TSalaryConfigStandardSearchVo searchVo); /**
* 薪资识别配置(标准模板)简单分页查询
*
* @param tSalaryConfigStandard 薪资识别配置(标准模板)
* @return
*/
IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandard tSalaryConfigStandard);
List<TSalaryConfigStandard> getTSalaryConfigStandardList(TSalaryConfigStandard tSalaryConfigStandard);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTaxConfigSearchVo;
import java.util.List;
/** /**
* 所得税配置-薪资配置3 * @Author fxj
* * @Description 个税比例及速算扣除数的配置表
* @author hgw * @Date 13:13 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TSalaryTaxConfigService extends IService<TSalaryTaxConfig> { public interface TSalaryTaxConfigService extends IService<TSalaryTaxConfig> {
/**
* 所得税配置-薪资配置3简单分页查询 /**
* @param tSalaryTaxConfig 所得税配置-薪资配置3 * 个税比例及速算扣除数的配置表简单分页查询
* @return * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
*/ * @return
IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfigSearchVo tSalaryTaxConfig); */
IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfig tSalaryTaxConfig);
/**
* @param tSalaryTaxConfig
* @Description: 获取个税配置
* @Author: hgw
* @Date: 2019/10/8 14:39
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
List<TSalaryTaxConfig> getTaxConfigByPersonList(TSalaryTaxConfig tSalaryTaxConfig);
/**
* @param tSalaryTaxConfig
* @Description: 获取年终奖配置
* @Author: hgw
* @Date: 2019/10/8 14:40
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
List<TSalaryTaxConfig> getTaxConfigByAnnualBonusList(TSalaryTaxConfig tSalaryTaxConfig);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service; package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSpecialDeducationSum;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSpecialDeducationSumSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 专项扣除配置表-薪资配置5 * @Author fxj
* * @Description 专项扣除
* @author hgw * @Date 13:14 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
**/
public interface TSpecialDeducationSumService extends IService<TSpecialDeducationSum> { public interface TSpecialDeducationSumService extends IService<TSpecialDeducationSum> {
/**
* 专项扣除配置表-薪资配置5简单分页查询
* @param tSpecialDeducationSum 专项扣除配置表-薪资配置5
* @return
*/
IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page<TSpecialDeducationSum> page, TSpecialDeducationSumSearchVo tSpecialDeducationSum);
R<List<ErrorMessage>> importDiy(InputStream inputStream); /**
* 简单分页查询
*
* @param tSpecialDeducationSum
* @return
*/
IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page<TSpecialDeducationSum> page, TSpecialDeducationSum tSpecialDeducationSum);
/**
* @param tSpecialDeducationSum
* @Description: 查找专项信息
* @Author: hgw
* @Date: 2019/9/30 16:19
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum>
**/
List<TSpecialDeducationSum> getTSpecialDeducationSumList(TSpecialDeducationSum tSpecialDeducationSum);
/**
* @param yearMonth 年月
* @param idNumber 身份证
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/9/30 17:23
* @return: com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum
**/
TSpecialDeducationSum getTSpecialDeducationSum(String yearMonth, String idNumber, String invoiceTitle);
/**
* @param yearMonth 年月
* @param idCardList 身份证
* @Description: 工资查询所需的全部list,组装Map来使用
* @Author: hgw
* @Date: 2019/9/30 17:23
* @return: com.yifu.cloud.v1.hrms.api.entity.TSpecialDeducationSum
**/
Map<String, TSpecialDeducationSum> getTSpecialDeducationSumMap(String yearMonth, List<String> idCardList);
/**
* @param yearMonth 年月
* @param invoiceTitle 申报单位
* @Description: 删除专项扣除
* @Author: hgw
* @Date: 2020/4/1 15:12
* @return: int
**/
int deleteByUnitAndMonth(String yearMonth, String invoiceTitle);
/**
* @param sdsList
* @Description: 保存专项
* @Author: hgw
* @Date: 2019/10/14 14:48
* @return: com.yifu.cloud.v1.common.core.util.R
**/
R uploadSds(List<TSpecialDeducationSum> sdsList);
void listExport(HttpServletResponse response, TSpecialDeducationSumSearchVo searchVo);
List<TSpecialDeducationSum> noPageDiy(TSpecialDeducationSumSearchVo searchVo);
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TConfigSalaryMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TConfigSalaryMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService; import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TConfigSalarySearchVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* 项目基础薪酬配置-薪资配置2 * @Author fxj
* * @Description 工资报账配置
* @author hgw * @Date 13:17 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
@Log4j2 **/
@Service @Service("tConfigSalaryService")
public class TConfigSalaryServiceImpl extends ServiceImpl<TConfigSalaryMapper, TConfigSalary> implements TConfigSalaryService { public class TConfigSalaryServiceImpl extends ServiceImpl<TConfigSalaryMapper, TConfigSalary> implements TConfigSalaryService {
/**
* 项目基础薪酬配置-薪资配置2简单分页查询
*
* @param tConfigSalary 项目基础薪酬配置-薪资配置2
* @return
*/
@Override
public IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalarySearchVo tConfigSalary) {
return baseMapper.getTConfigSalaryPage(page, tConfigSalary);
}
@Override
public List<TConfigSalary> noPageDiy(TConfigSalarySearchVo searchVo) {
LambdaQueryWrapper<TConfigSalary> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TConfigSalary::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TConfigSalarySearchVo entity) { /**
LambdaQueryWrapper<TConfigSalary> wrapper = Wrappers.lambdaQuery(); * 工资报账配置简单分页查询
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) { * @param tConfigSalary 工资报账配置
wrapper.ge(TConfigSalary::getCreateTime, entity.getCreateTimes()[0]) * @return
.le(TConfigSalary::getCreateTime, */
entity.getCreateTimes()[1]); @Override
} public IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalary tConfigSalary){
if (Common.isNotNull(entity.getCreateName())) { YifuUser user = SecurityUtils.getUser();
wrapper.eq(TConfigSalary::getCreateName, entity.getCreateName()); List<TSettleDomainSelectVo> remoteSettleDomainVoData = null;
} if (Common.isNotNull(user)) {
return wrapper; // TODO
} R<List<TSettleDomainSelectVo>> remoteGetTSettleDomainVo = null;
if (remoteGetTSettleDomainVo == null) {
throw new RuntimeException("调用结算服务失败");
}
if (CommonConstants.SUCCESS != remoteGetTSettleDomainVo.getCode()) {
throw new RuntimeException("调用结算服务返回失败");
}
remoteSettleDomainVoData = remoteGetTSettleDomainVo.getData();
if (remoteSettleDomainVoData == null) {
throw new RuntimeException("未获取到相关结算信息");
}
}
return baseMapper.getTConfigSalaryPage(page, tConfigSalary, remoteSettleDomainVoData);
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TMinSalaryMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TMinSalaryMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TMinSalaryService; import com.yifu.cloud.plus.v1.yifu.salary.service.TMinSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TMinSalarySearchVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 最低工资配置-薪资配置4 * @Author fxj
* * @Description 各地市最低工资标准
* @author hgw * @Date 13:17 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
@Log4j2 **/
@Service @Service("tMinSalaryService")
public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSalary> implements TMinSalaryService { public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSalary> implements TMinSalaryService {
/**
* 最低工资配置-薪资配置4简单分页查询
*
* @param tMinSalary 最低工资配置-薪资配置4
* @return
*/
@Override
public IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalarySearchVo tMinSalary) {
return baseMapper.getTMinSalaryPage(page, tMinSalary);
}
@Override
public List<TMinSalary> noPageDiy(TMinSalarySearchVo searchVo) {
LambdaQueryWrapper<TMinSalary> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TMinSalary::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TMinSalarySearchVo entity) { /**
LambdaQueryWrapper<TMinSalary> wrapper = Wrappers.lambdaQuery(); * 各地市最低工资标准简单分页查询
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) { * @param tMinSalary 各地市最低工资标准
wrapper.ge(TMinSalary::getCreateTime, entity.getCreateTimes()[0]) * @return
.le(TMinSalary::getCreateTime, */
entity.getCreateTimes()[1]); @Override
} public IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalary tMinSalary){
if (Common.isNotNull(entity.getCreateName())) { return baseMapper.getTMinSalaryPage(page,tMinSalary);
wrapper.eq(TMinSalary::getCreateName, entity.getCreateName()); }
}
return wrapper;
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept; import com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TOwnDeptMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TOwnDeptMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TOwnDeptService; import com.yifu.cloud.plus.v1.yifu.salary.service.TOwnDeptService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* 自有员工所在结算主体大全表 * @Author fxj
* * @Description 自有员工所在结算主体大全表
* @author hgw * @Date 13:18 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
@Log4j2 **/
@Service @Service("tOwnDeptService")
public class TOwnDeptServiceImpl extends ServiceImpl<TOwnDeptMapper, TOwnDept> implements TOwnDeptService { public class TOwnDeptServiceImpl extends ServiceImpl<TOwnDeptMapper, TOwnDept> implements TOwnDeptService {
/**
* 自有员工所在结算主体大全表简单分页查询
*
* @param tOwnDept 自有员工所在结算主体大全表
* @return
*/
@Override
public IPage<TOwnDept> getTOwnDeptPage(Page<TOwnDept> page, TOwnDept tOwnDept) {
return baseMapper.getTOwnDeptPage(page, tOwnDept);
}
/**
* @param
* @Description: 获取自有员工结算主体id
* @Author: hgw
* @Date: 2021/12/28 10:44
* @return: java.util.List<java.lang.String>
**/
@Override
public Map<String, Integer> getOwnDeptMap() {
Map<String, Integer> ownDeptMap = new HashMap<>();
List<String> ownDeptList = baseMapper.getTOwnDeptIdList();
if (ownDeptList != null && !ownDeptList.isEmpty()) {
for (String s : ownDeptList) {
ownDeptMap.put(s, CommonConstants.ZERO_INT);
}
}
return ownDeptMap;
}
/**
* 自有员工所在结算主体Map
*/
@Override
public Map<String, Integer> getOwnEmpMap() {
Map<String, Integer> ownEmpMap = new HashMap<>();
List<String> ownEmpList = baseMapper.getOwnEmpList();
if (ownEmpList != null && !ownEmpList.isEmpty()) {
for (String s : ownEmpList) {
ownEmpMap.put(s, CommonConstants.ZERO_INT);
}
}
return ownEmpMap;
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryConfigStandard;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryConfigStandardMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryConfigStandardMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryConfigStandardService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryConfigStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryConfigStandardSearchVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* 工资报表配置-薪资配置6 * @Author fxj
* * @Description 薪资识别配置(标准模板)
* @author hgw * @Date 13:18 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
@Log4j2 **/
@Service @Service("tSalaryConfigStandardService")
public class TSalaryConfigStandardServiceImpl extends ServiceImpl<TSalaryConfigStandardMapper, TSalaryConfigStandard> implements TSalaryConfigStandardService { public class TSalaryConfigStandardServiceImpl extends ServiceImpl<TSalaryConfigStandardMapper, TSalaryConfigStandard> implements TSalaryConfigStandardService {
/**
* 工资报表配置-薪资配置6简单分页查询
*
* @param tSalaryConfigStandard 工资报表配置-薪资配置6
* @return
*/
@Override
public IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandardSearchVo tSalaryConfigStandard) {
return baseMapper.getTSalaryConfigStandardPage(page, tSalaryConfigStandard);
}
@Override /**
public List<TSalaryConfigStandard> noPageDiy(TSalaryConfigStandardSearchVo searchVo) { * 薪资识别配置(标准模板)简单分页查询
LambdaQueryWrapper<TSalaryConfigStandard> wrapper = buildQueryWrapper(searchVo); *
List<String> idList = Common.getList(searchVo.getIds()); * @param tSalaryConfigStandard 薪资识别配置(标准模板)
if (Common.isNotNull(idList)) { * @return
wrapper.in(TSalaryConfigStandard::getId, idList); */
} @Override
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) { public IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandard tSalaryConfigStandard) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd()); return baseMapper.getTSalaryConfigStandardPage(page, tSalaryConfigStandard);
} }
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TSalaryConfigStandardSearchVo entity) { @Override
LambdaQueryWrapper<TSalaryConfigStandard> wrapper = Wrappers.lambdaQuery(); public List<TSalaryConfigStandard> getTSalaryConfigStandardList(TSalaryConfigStandard tSalaryConfigStandard) {
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) { return baseMapper.getTSalaryConfigStandardList(tSalaryConfigStandard);
wrapper.ge(TSalaryConfigStandard::getCreateTime, entity.getCreateTimes()[0]) }
.le(TSalaryConfigStandard::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TSalaryConfigStandard::getCreateName, entity.getCreateName());
}
return wrapper;
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -22,27 +6,53 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -22,27 +6,53 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryTaxConfig;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryTaxConfigMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryTaxConfigMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryTaxConfigSearchVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 所得税配置-薪资配置3 * @Author fxj
* * @Description 个税比例及速算扣除数的配置表
* @author hgw * @Date 13:19 2022/8/6
* @date 2022-08-05 11:40:14 * @Param
*/ * @return
@Log4j2 **/
@Service @Service("tSalaryTaxConfigService")
public class TSalaryTaxConfigServiceImpl extends ServiceImpl<TSalaryTaxConfigMapper, TSalaryTaxConfig> implements TSalaryTaxConfigService { public class TSalaryTaxConfigServiceImpl extends ServiceImpl<TSalaryTaxConfigMapper, TSalaryTaxConfig> implements TSalaryTaxConfigService {
/**
* 所得税配置-薪资配置3简单分页查询 /**
* * 个税比例及速算扣除数的配置表简单分页查询
* @param tSalaryTaxConfig 所得税配置-薪资配置3 *
* @return * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
*/ * @return
@Override */
public IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfigSearchVo tSalaryTaxConfig) { @Override
return baseMapper.getTSalaryTaxConfigPage(page, tSalaryTaxConfig); public IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfig tSalaryTaxConfig) {
} return baseMapper.getTSalaryTaxConfigPage(page, tSalaryTaxConfig);
}
/**
* @param tSalaryTaxConfig
* @Description: 获取个税配置
* @Author: hgw
* @Date: 2019/10/8 14:39
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
@Override
public List<TSalaryTaxConfig> getTaxConfigByPersonList(TSalaryTaxConfig tSalaryTaxConfig) {
return baseMapper.getTaxConfigByPersonList(tSalaryTaxConfig);
}
/**
* @param tSalaryTaxConfig
* @Description: 获取年终奖配置
* @Author: hgw
* @Date: 2019/10/8 14:40
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryTaxConfig>
**/
@Override
public List<TSalaryTaxConfig> getTaxConfigByAnnualBonusList(TSalaryTaxConfig tSalaryTaxConfig) {
return baseMapper.getTaxConfigByAnnualBonusList(tSalaryTaxConfig);
}
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TConfigSalaryMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TConfigSalaryMapper">
<resultMap id="tConfigSalaryMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary"> <resultMap id="tConfigSalaryMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary">
<id property="id" column="ID"/> <id property="id" column="ID"/>
<result property="name" column="NAME"/> <result property="name" column="NAME"/>
<result property="departId" column="DEPART_ID"/> <result property="departId" column="DEPART_ID"/>
<result property="departNo" column="DEPART_NO"/> <result property="departNo" column="DEPART_NO"/>
<result property="departName" column="DEPART_NAME"/> <result property="departName" column="DEPART_NAME"/>
<result property="salaryMonth" column="SALARY_MONTH"/> <result property="salaryMonth" column="SALARY_MONTH"/>
<result property="socialMonth" column="SOCIAL_MONTH"/> <result property="settleMonth" column="SETTLE_MONTH"/>
<result property="fundMonth" column="FUND_MONTH"/> <result property="socialMonth" column="SOCIAL_MONTH"/>
<result property="socialPriority" column="SOCIAL_PRIORITY"/> <result property="fundMonth" column="FUND_MONTH"/>
<result property="fundPriority" column="FUND_PRIORITY"/> <result property="socialPriority" column="SOCIAL_PRIORITY"/>
<result property="grantType" column="GRANT_TYPE"/> <result property="fundPriority" column="FUND_PRIORITY"/>
</resultMap> <result property="grantType" column="GRANT_TYPE"/>
<sql id="Base_Column_List"> <result property="annualBonusType" column="ANNUAL_BONUS_TYPE"/>
a.ID, </resultMap>
a.NAME,
a.DEPART_ID, <!--tConfigSalary简单分页查询-->
a.DEPART_NO, <select id="getTConfigSalaryPage" resultMap="tConfigSalaryMap">
a.DEPART_NAME, SELECT
a.SALARY_MONTH, ID,
a.SOCIAL_MONTH, NAME,
a.FUND_MONTH, DEPART_ID,
a.SOCIAL_PRIORITY, DEPART_NO,
a.FUND_PRIORITY, DEPART_NAME,
a.GRANT_TYPE SALARY_MONTH,
</sql> SETTLE_MONTH,
<sql id="tConfigSalary_where"> SOCIAL_MONTH,
<if test="tConfigSalary != null"> FUND_MONTH,
<if test="tConfigSalary.id != null and tConfigSalary.id.trim() != ''"> SOCIAL_PRIORITY,
AND a.ID = #{tConfigSalary.id} FUND_PRIORITY,
</if> GRANT_TYPE,
<if test="tConfigSalary.name != null and tConfigSalary.name.trim() != ''"> ANNUAL_BONUS_TYPE
AND a.NAME = #{tConfigSalary.name} FROM t_config_salary
</if> <where>
<if test="tConfigSalary.departId != null and tConfigSalary.departId.trim() != ''"> 1=1
AND a.DEPART_ID = #{tConfigSalary.departId} <if test="tConfigSalary.id != null and tConfigSalary.id.trim() != ''">
</if> AND ID = #{tConfigSalary.id}
<if test="tConfigSalary.departNo != null and tConfigSalary.departNo.trim() != ''"> </if>
AND a.DEPART_NO = #{tConfigSalary.departNo} <if test="tConfigSalary.name != null and tConfigSalary.name.trim() != ''">
</if> AND NAME like '%${tConfigSalary.name}%'
<if test="tConfigSalary.departName != null and tConfigSalary.departName.trim() != ''"> </if>
AND a.DEPART_NAME = #{tConfigSalary.departName} <if test="tConfigSalary.departId != null and tConfigSalary.departId.trim() != ''">
</if> AND DEPART_ID = #{tConfigSalary.departId}
<if test="tConfigSalary.salaryMonth != null"> </if>
AND a.SALARY_MONTH = #{tConfigSalary.salaryMonth} <if test="tConfigSalary.departNo != null and tConfigSalary.departNo.trim() != ''">
</if> AND DEPART_NO = #{tConfigSalary.departNo}
<if test="tConfigSalary.socialMonth != null"> </if>
AND a.SOCIAL_MONTH = #{tConfigSalary.socialMonth} <if test="tConfigSalary.departName != null and tConfigSalary.departName.trim() != ''">
</if> AND DEPART_NAME = #{tConfigSalary.departName}
<if test="tConfigSalary.fundMonth != null"> </if>
AND a.FUND_MONTH = #{tConfigSalary.fundMonth} <if test="tConfigSalary.salaryMonth != null ">
</if> AND SALARY_MONTH = #{tConfigSalary.salaryMonth}
<if test="tConfigSalary.socialPriority != null"> </if>
AND a.SOCIAL_PRIORITY = #{tConfigSalary.socialPriority} <if test="tConfigSalary.settleMonth != null ">
</if> AND SETTLE_MONTH = #{tConfigSalary.settleMonth}
<if test="tConfigSalary.fundPriority != null"> </if>
AND a.FUND_PRIORITY = #{tConfigSalary.fundPriority} <if test="tConfigSalary.socialMonth != null ">
</if> AND SOCIAL_MONTH = #{tConfigSalary.socialMonth}
<if test="tConfigSalary.grantType != null"> </if>
AND a.GRANT_TYPE = #{tConfigSalary.grantType} <if test="tConfigSalary.fundMonth != null ">
</if> AND FUND_MONTH = #{tConfigSalary.fundMonth}
</if> </if>
</sql> <if test="tConfigSalary.socialPriority != null ">
<!--tConfigSalary简单分页查询--> AND SOCIAL_PRIORITY = #{tConfigSalary.socialPriority}
<select id="getTConfigSalaryPage" resultMap="tConfigSalaryMap"> </if>
SELECT <if test="tConfigSalary.fundPriority != null ">
<include refid="Base_Column_List"/> AND FUND_PRIORITY = #{tConfigSalary.fundPriority}
FROM t_config_salary a </if>
<where> <if test="tConfigSalary.grantType != null ">
1=1 AND GRANT_TYPE = #{tConfigSalary.grantType}
<include refid="tConfigSalary_where"/> </if>
</where> <if test="tConfigSalary.annualBonusType != null ">
</select> AND ANNUAL_BONUS_TYPE = #{tConfigSalary.annualBonusType}
</if>
<!--数据权限判断-->
<if test="settleDomainVos != null and settleDomainVos.size() > 0">
and DEPART_ID in
<foreach collection="settleDomainVos" item="param" index="index" open="(" close=")" separator=",">
#{param.id}
</foreach>
</if>
</where>
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TMinSalaryMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TMinSalaryMapper">
<resultMap id="tMinSalaryMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary"> <resultMap id="tMinSalaryMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TMinSalary">
<id property="id" column="id"/> <id property="id" column="id"/>
<result property="province" column="province"/> <result property="province" column="province"/>
<result property="city" column="city"/> <result property="city" column="city"/>
<result property="town" column="town"/> <result property="town" column="town"/>
<result property="salaryBase" column="salary_base"/> <result property="salaryBase" column="salary_base"/>
<result property="status" column="status"/> <result property="status" column="status"/>
<result property="startDate" column="start_date"/> <result property="startDate" column="start_date"/>
<result property="endDate" column="end_date"/> <result property="endDate" column="end_date"/>
<result property="createBy" column="CREATE_BY"/> <result property="createUser" column="create_user"/>
<result property="createName" column="CREATE_NAME"/> <result property="createDate" column="create_date"/>
<result property="createTime" column="CREATE_TIME"/> </resultMap>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/> <!--tMinSalary简单分页查询-->
</resultMap> <select id="getTMinSalaryPage" resultMap="tMinSalaryMap">
<sql id="Base_Column_List"> SELECT
a.id, id,
a.province, province,
a.city, city,
a.town, town,
a.salary_base, salary_base,
a.status, status,
a.start_date, start_date,
a.end_date, end_date,
a.CREATE_BY, create_user,
a.CREATE_NAME, create_date
a.CREATE_TIME, FROM t_min_salary
a.UPDATE_BY, <where>
a.UPDATE_TIME 1=1
</sql> <if test="tMinSalary.id != null and tMinSalary.id.trim() != ''">
<sql id="tMinSalary_where"> AND id = #{tMinSalary.id}
<if test="tMinSalary != null"> </if>
<if test="tMinSalary.id != null and tMinSalary.id.trim() != ''"> <if test="tMinSalary.province != null">
AND a.id = #{tMinSalary.id} AND province = #{tMinSalary.province}
</if> </if>
<if test="tMinSalary.province != null"> <if test="tMinSalary.city != null">
AND a.province = #{tMinSalary.province} AND city = #{tMinSalary.city}
</if> </if>
<if test="tMinSalary.city != null"> <if test="tMinSalary.town != null">
AND a.city = #{tMinSalary.city} AND town = #{tMinSalary.town}
</if> </if>
<if test="tMinSalary.town != null"> <if test="tMinSalary.salaryBase != null and tMinSalary.salaryBase.trim() != ''">
AND a.town = #{tMinSalary.town} AND salary_base = #{tMinSalary.salaryBase}
</if> </if>
<if test="tMinSalary.salaryBase != null and tMinSalary.salaryBase.trim() != ''"> <if test="tMinSalary.status != null">
AND a.salary_base = #{tMinSalary.salaryBase} AND status = #{tMinSalary.status}
</if> </if>
<if test="tMinSalary.status != null"> <if test="tMinSalary.startDate != null">
AND a.status = #{tMinSalary.status} AND start_date = #{tMinSalary.startDate}
</if> </if>
<if test="tMinSalary.startDate != null"> <if test="tMinSalary.endDate != null">
AND a.start_date = #{tMinSalary.startDate} AND end_date = #{tMinSalary.endDate}
</if> </if>
<if test="tMinSalary.endDate != null"> <if test="tMinSalary.createUser != null and tMinSalary.createUser.trim() != ''">
AND a.end_date = #{tMinSalary.endDate} AND create_user = #{tMinSalary.createUser}
</if> </if>
</if> <if test="tMinSalary.createDate != null">
</sql> AND create_date = #{tMinSalary.createDate}
<!--tMinSalary简单分页查询--> </if>
<select id="getTMinSalaryPage" resultMap="tMinSalaryMap"> </where>
SELECT </select>
<include refid="Base_Column_List"/>
FROM t_min_salary a
<where>
1=1
<include refid="tMinSalary_where"/>
</where>
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TOwnDeptMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TOwnDeptMapper">
<resultMap id="tOwnDeptMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept">
<resultMap id="tOwnDeptMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TOwnDept"> <id property="id" column="id"/>
<id property="id" column="id"/> <result property="deptId" column="dept_id"/>
<result property="deptId" column="dept_id"/> <result property="deptNo" column="dept_no"/>
<result property="deptNo" column="dept_no"/> <result property="deptName" column="dept_name"/>
<result property="deptName" column="dept_name"/> <result property="unitName" column="unit_name"/>
<result property="unitName" column="unit_name"/> </resultMap>
</resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.id, a.id,
a.dept_id, a.dept_id,
a.dept_no, a.dept_no,
a.dept_name, a.dept_name,
a.unit_name a.unit_name
</sql> </sql>
<sql id="tOwnDept_where"> <sql id="tOwnDept_where">
<if test="tOwnDept != null"> <if test="tOwnDept != null">
<if test="tOwnDept.id != null"> <if test="tOwnDept.id != null">
AND a.id = #{tOwnDept.id} AND a.id = #{tOwnDept.id}
</if> </if>
<if test="tOwnDept.deptId != null and tOwnDept.deptId.trim() != ''"> <if test="tOwnDept.deptId != null and tOwnDept.deptId.trim() != ''">
AND a.dept_id = #{tOwnDept.deptId} AND a.dept_id = #{tOwnDept.deptId}
</if> </if>
<if test="tOwnDept.deptNo != null and tOwnDept.deptNo.trim() != ''"> <if test="tOwnDept.deptNo != null and tOwnDept.deptNo.trim() != ''">
AND a.dept_no = #{tOwnDept.deptNo} AND a.dept_no = #{tOwnDept.deptNo}
</if> </if>
<if test="tOwnDept.deptName != null and tOwnDept.deptName.trim() != ''"> <if test="tOwnDept.deptName != null and tOwnDept.deptName.trim() != ''">
AND a.dept_name = #{tOwnDept.deptName} AND a.dept_name = #{tOwnDept.deptName}
</if> </if>
<if test="tOwnDept.unitName != null and tOwnDept.unitName.trim() != ''"> <if test="tOwnDept.unitName != null and tOwnDept.unitName.trim() != ''">
AND a.unit_name = #{tOwnDept.unitName} AND a.unit_name = #{tOwnDept.unitName}
</if> </if>
</if> </if>
</sql> </sql>
<!--tOwnDept简单分页查询--> <!--tOwnDept简单分页查询-->
...@@ -66,4 +44,12 @@ ...@@ -66,4 +44,12 @@
<include refid="tOwnDept_where"/> <include refid="tOwnDept_where"/>
</where> </where>
</select> </select>
<!--tOwnDept简单list查询-->
<select id="getTOwnDeptIdList" resultType="String">
SELECT a.dept_id FROM t_own_dept a
</select>
<!--获取自有员工身份证-->
<select id="getOwnEmpList" resultType="String">
SELECT EMP_IDCARD FROM view_own_employee
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment