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) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键") @Schema(description="主键")
private String id; 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 )
@ExcelProperty(value="配置名称")
private String name; 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 )
@ExcelProperty(value="结算主体ID")
private String departId; 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 )
@ExcelProperty(value="结算主体编码")
private String departNo; 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 )
@ExcelProperty(value="结算主体名称")
private String departName; private String departName;
/** /**
* 薪酬月份 * 工资月份
*/ */
@ExcelAttribute(name = "薪酬月份", isNotEmpty = true, errorInfo = "薪酬月份不能为空") @NotNull(message = "工资月份不能为空")
@NotBlank(message = "薪酬月份不能为空") @ExcelAttribute(name = "工资月份", isNotEmpty = true,errorInfo = "工资月份不能为空" )
@ExcelProperty("薪酬月份") @ExcelProperty(value="工资月份")
private Integer salaryMonth; private Integer salaryMonth;
/**
* 结算月份
*/
@NotNull(message = "结算月份不能为空")
@ExcelAttribute(name = "结算月份", isNotEmpty = true,errorInfo = "结算月份不能为空" )
@ExcelProperty(value="结算月份")
private Integer settleMonth;
/** /**
* 社保月份 * 社保月份
*/ */
@ExcelAttribute(name = "社保月份", isNotEmpty = true, errorInfo = "社保月份不能为空") @NotNull(message = "社保月份不能为空")
@NotBlank(message = "社保月份不能为空") @ExcelAttribute(name = "社保月份", isNotEmpty = true,errorInfo = "社保月份不能为空" )
@ExcelProperty("社保月份") @ExcelProperty(value="社保月份")
private Integer socialMonth; private Integer socialMonth;
/** /**
* 公积金月份 * 公积金月份
*/ */
@ExcelAttribute(name = "公积金月份", isNotEmpty = true, errorInfo = "公积金月份不能为空") @NotNull(message = "公积金月份不能为空")
@NotBlank(message = "公积金月份不能为空") @ExcelAttribute(name = "公积金月份", isNotEmpty = true,errorInfo = "公积金月份不能为空" )
@ExcelProperty("公积金月份") @ExcelProperty(value="公积金月份")
private Integer fundMonth; private Integer fundMonth;
/** /**
* 社保优先级0:生成月;1:缴纳月 * 社保优先级
*/ */
@ExcelAttribute(name = "社保优先级0:生成月;1:缴纳月", isNotEmpty = true, errorInfo = "社保优先级0:生成月;1:缴纳月不能为空") @NotNull(message = "社保优先级不能为空")
@NotBlank(message = "社保优先级0:生成月;1:缴纳月不能为空") @ExcelAttribute(name = "社保优先级", isNotEmpty = true,errorInfo = "社保优先级不能为空" )
@ExcelProperty("社保优先级0:生成月;1:缴纳月") @ExcelProperty(value="社保优先级(0:生成;1:缴纳)")
private Integer socialPriority; private Integer socialPriority;
/** /**
* 公积金优先级0:生成月;1:缴纳月 * 公积金优先级
*/ */
@ExcelAttribute(name = "公积金优先级0:生成月;1:缴纳月", isNotEmpty = true, errorInfo = "公积金优先级0:生成月;1:缴纳月不能为空") @NotNull(message = "公积金优先级不能为空")
@NotBlank(message = "公积金优先级0:生成月;1:缴纳月不能为空") @ExcelAttribute(name = "公积金优先级", isNotEmpty = true,errorInfo = "公积金优先级不能为空" )
@ExcelProperty("公积金优先级0:生成月;1:缴纳月") @ExcelProperty(value="公积金优先级(0:生成;1:缴纳)")
private Integer fundPriority; private Integer fundPriority;
/** /**
* 发放方式(0现金/1银行) * 发放方式
*/ */
@ExcelAttribute(name = "发放方式(0现金/1银行)", isNotEmpty = true, errorInfo = "发放方式(0现金/1银行)不能为空") @NotNull(message = "发放方式不能为空")
@NotBlank(message = "发放方式(0现金/1银行)不能为空") @ExcelAttribute(name = "发放方式", isNotEmpty = true,errorInfo = "发放方式不能为空" )
@ExcelProperty("发放方式(0现金/1银行)") @ExcelProperty(value="发放方式(0:现金;1:转账)")
private Integer grantType; 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) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id") @ExcelProperty(value = "id")
private String id; private String id;
/** /**
* 省 * 省
*/ */
@ExcelAttribute(name = "省") @ExcelAttribute(name = "省")
@ExcelProperty("省") @ExcelProperty(value = "省")
private Integer province; private Integer province;
/** /**
* 市 * 市
*/ */
@ExcelAttribute(name = "市") @ExcelAttribute(name = "市")
@ExcelProperty("市") @ExcelProperty(value = "市")
private Integer city; private Integer city;
/** /**
* 县 * 县
*/ */
@ExcelAttribute(name = "县") @ExcelAttribute(name = "县")
@ExcelProperty("县") @ExcelProperty(value = "县")
private Integer town; 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)
@ExcelProperty(value = "最低工资标准")
private String salaryBase; private String salaryBase;
/** /**
* 1.启用 2.停用 * 1.启用 2.停用
*/ */
@NotNull(message = "1.启用 2.停用不能为空")
@ExcelAttribute(name = "1.启用 2.停用", isNotEmpty = true, errorInfo = "1.启用 2.停用不能为空") @ExcelAttribute(name = "1.启用 2.停用", isNotEmpty = true, errorInfo = "1.启用 2.停用不能为空")
@NotBlank(message = "1.启用 2.停用不能为空") @ExcelProperty(value = "1.启用 2.停用")
@ExcelProperty("1.启用 2.停用")
private Integer status; private Integer status;
/** /**
* 起始时间 * 起始时间
*/ */
@ExcelAttribute(name = "起始时间", isDate = true) @ExcelAttribute(name = "起始时间")
@ExcelProperty("起始时间") @ExcelProperty(value = "起始时间")
private Date startDate; private LocalDate startDate;
/** /**
* 终止时间 * 终止时间
*/ */
@ExcelAttribute(name = "终止时间", isDate = true) @ExcelAttribute(name = "终止时间")
@ExcelProperty("终止时间") @ExcelProperty(value = "终止时间")
private Date endDate; 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) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键") @ExcelProperty(value = "主键")
private String id; private String id;
/** /**
* 中文名(Excel表头) * 中文名(Excel表头)
*/ */
@ExcelAttribute(name = "中文名(Excel表头)", isNotEmpty = true, errorInfo = "中文名(Excel表头)不能为空", maxLength = 32) @ExcelProperty(value = "中文名(Excel表头)")
@NotBlank(message = "中文名(Excel表头)不能为空")
@Length(max = 32, message = "中文名(Excel表头)不能超过32个字符") @Length(max = 32, message = "中文名(Excel表头)不能超过32个字符")
@ExcelProperty("中文名(Excel表头)") @NotBlank(message = "中文名(Excel表头)不能为空")
@ExcelAttribute(name = "中文名(Excel表头)", isNotEmpty = true, errorInfo = "中文名(Excel表头)不能为空", maxLength = 32)
private String cnName; private String cnName;
/** /**
* 数据库字段名 * 数据库字段名
*/ */
@ExcelAttribute(name = "数据库字段名", maxLength = 32) @ExcelProperty(value = "数据库字段名")
@Length(max = 32, message = "数据库字段名不能超过32个字符") @Length(max = 32, message = "数据库字段名不能超过32个字符")
@ExcelProperty("数据库字段名") @ExcelAttribute(name = "数据库字段名", maxLength = 32)
private String dbFiedName; private String dbFiedName;
/** /**
* JAVA属性字段名 * JAVA属性字段名
*/ */
@ExcelAttribute(name = "JAVA属性字段名", maxLength = 32) @ExcelProperty(value = "JAVA属性字段名")
@Length(max = 32, message = "JAVA属性字段名不能超过32个字符") @Length(max = 32, message = "JAVA属性字段名不能超过32个字符")
@ExcelProperty("JAVA属性字段名") @ExcelAttribute(name = "JAVA属性字段名", maxLength = 32)
private String javaFiedName; private String javaFiedName;
/** /**
* 模板类型(数据字典) * 模板类型(数据字典)
*/ */
@ExcelAttribute(name = "模板类型(数据字典)", isNotEmpty = true, errorInfo = "模板类型(数据字典)不能为空", maxLength = 32) @ExcelProperty(value = "模板类型(数据字典)")
@NotBlank(message = "模板类型(数据字典)不能为空")
@Length(max = 32, message = "模板类型(数据字典)不能超过32个字符") @Length(max = 32, message = "模板类型(数据字典)不能超过32个字符")
@ExcelProperty("模板类型(数据字典)") @NotBlank(message = "模板类型(数据字典)不能为空")
@ExcelAttribute(name = "模板类型(数据字典)", isNotEmpty = true, errorInfo = "模板类型(数据字典)不能为空", maxLength = 32)
private String modelType; private String modelType;
/** /**
* 是否是必须 * 是否是必须
*/ */
@ExcelAttribute(name = "是否是必须", isNotEmpty = true, errorInfo = "是否是必须不能为空", maxLength = 1) @ExcelProperty(value = "是否是必须(0:不是;1:必填)")
@NotBlank(message = "是否是必须不能为空") @NotBlank(message = "是否是必须不能为空")
@Length(max = 1, message = "是否是必须不能超过1个字符") @ExcelAttribute(name = "是否是必须", isNotEmpty = true, errorInfo = "是否是必须不能为空")
@ExcelProperty("是否是必须")
private String isMustNeed; private String isMustNeed;
/** /**
* 是否进行计算扣税:1:计算;0:不计算 * 是否进行计算扣税:1:计算;0:不计算
*/ */
@ExcelAttribute(name = "是否进行计算扣税:1:计算;0:不计算", isNotEmpty = true, errorInfo = "是否进行计算扣税:1:计算;0:不计算不能为空") @ExcelProperty(value = "是否进行计算扣税:1:计算;0:不计算")
@NotBlank(message = "是否进行计算扣税:1:计算;0:不计算不能为空") @NotBlank(message = "是否进行计算扣税不能为空")
@ExcelProperty("是否进行计算扣税:1:计算;0:不计算") @ExcelAttribute(name = "是否进行计算扣税", isNotEmpty = true, errorInfo = "是否进行计算扣税不能为空")
private Integer isTax; 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;
/** /**
* 排序项 * 排序项
*/ */
@ExcelAttribute(name = "排序项") @ExcelProperty(value = "排序项")
@ExcelProperty("排序项") @ExcelAttribute(name = "排序项", maxLength = 32)
private Integer orderLine; private String 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) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键") @ExcelProperty(value = "主键")
private String id; private String id;
/** /**
* 累计预扣预缴应纳税所得额说明 * 累计预扣预缴应纳税所得额说明
*/ */
@ExcelAttribute(name = "累计预扣预缴应纳税所得额说明", maxLength = 32) @ExcelProperty(value = "累计预扣预缴应纳税所得额说明")
@Length(max = 32, message = "累计预扣预缴应纳税所得额说明不能超过32个字符") @Length(max = 32, message = "累计预扣预缴应纳税所得额说明不能超过32个字符")
@ExcelProperty("累计预扣预缴应纳税所得额说明") @ExcelAttribute(name = "累计预扣预缴应纳税所得额说明", maxLength = 32)
private String taxableIncomeRemark; private String taxableIncomeRemark;
/** /**
* 预扣率(%) * 预扣率(%)
*/ */
@ExcelAttribute(name = "预扣率(%)", isNotEmpty = true, errorInfo = "预扣率(%)不能为空") @ExcelProperty(value = "预扣率(%)")
@NotBlank(message = "预扣率(%)不能为空") @NotBlank(message = "预扣率(%)不能为空")
@ExcelProperty("预扣率(%)") @ExcelAttribute(name = "预扣率(%)", isNotEmpty = true, errorInfo = "预扣率(%)不能为空")
private Integer withholdingRate; private Integer withholdingRate;
/** /**
* 速算扣除数 * 速算扣除数
*/ */
@ExcelAttribute(name = "速算扣除数", isNotEmpty = true, errorInfo = "速算扣除数不能为空") @ExcelProperty(value = "速算扣除数")
@NotBlank(message = "速算扣除数不能为空") @NotBlank(message = "速算扣除数不能为空")
@ExcelProperty("速算扣除数") @ExcelAttribute(name = "速算扣除数", isNotEmpty = true, errorInfo = "速算扣除数不能为空")
private BigDecimal quickDeducation; private BigDecimal quickDeducation;
/** /**
* 最小区间值 * 最小区间值
*/ */
@ExcelAttribute(name = "最小区间值", isNotEmpty = true, errorInfo = "最小区间值不能为空") @ExcelProperty(value = "最小区间值")
@NotBlank(message = "最小区间值不能为空") @NotBlank(message = "最小区间值不能为空")
@ExcelProperty("最小区间值") @ExcelAttribute(name = "最小区间值", isNotEmpty = true, errorInfo = "最小区间值不能为空")
private BigDecimal minIncome; private BigDecimal minIncome;
/** /**
* 最大区间值 * 最大区间值
*/ */
@ExcelAttribute(name = "最大区间值", isNotEmpty = true, errorInfo = "最大区间值不能为空") @ExcelProperty(value = "最大区间值")
@NotBlank(message = "最大区间值不能为空") @NotBlank(message = "最大区间值不能为空")
@ExcelProperty("最大区间值") @ExcelAttribute(name = "最大区间值", isNotEmpty = true, errorInfo = "最大区间值不能为空")
private BigDecimal maxIncome; private BigDecimal maxIncome;
/** /**
* 等级 * 等级
*/ */
@ExcelAttribute(name = "等级", isNotEmpty = true, errorInfo = "等级不能为空") @ExcelProperty(value = "等级")
@NotBlank(message = "等级不能为空") @NotBlank(message = "等级不能为空")
@ExcelProperty("等级") @ExcelAttribute(name = "等级", isNotEmpty = true, errorInfo = "等级不能为空")
private Integer level; private Integer level;
/** /**
* 类型:0:工资;1:年终奖 * 类型:0:工资;1:年终奖
*/ */
@ExcelAttribute(name = "类型:0:工资;1:年终奖", isNotEmpty = true, errorInfo = "类型:0:工资;1:年终奖不能为空") @ExcelProperty(value = "类型:0:工资;1:年终奖")
@NotBlank(message = "类型:0:工资;1:年终奖不能为空") @NotBlank(message = "类型不能为空")
@ExcelProperty("类型:0:工资;1:年终奖") @ExcelAttribute(name = "类型", isNotEmpty = true, errorInfo = "类型不能为空")
private Integer type; private Integer type;
/** /**
* 个税起征点或年终奖个税临界值 * 个税起征点或年终奖个税临界值
*/ */
@ExcelProperty(value = "个税起征点或年终奖个税临界值")
@ExcelAttribute(name = "个税起征点或年终奖个税临界值") @ExcelAttribute(name = "个税起征点或年终奖个税临界值")
@ExcelProperty("个税起征点或年终奖个税临界值")
private BigDecimal startPoint; 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 自有员工所在结算主体大全表 * @param tOwnDept 自有员工所在结算主体大全表
* @return * @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 *
* @param tSalaryConfigStandard 薪资识别配置(标准模板)
* @return * @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 *
* @param tSpecialDeducationSum
* @return * @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 * @param tConfigSalary 工资报账配置
* @return * @return
*/ */
IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalarySearchVo tConfigSalary); IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalary tConfigSalary);
List<TConfigSalary> noPageDiy(TConfigSalarySearchVo 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; 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 * @param tMinSalary 各地市最低工资标准
* @return * @return
*/ */
IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalarySearchVo tMinSalary); IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalary tMinSalary);
List<TMinSalary> noPageDiy(TMinSalarySearchVo 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; 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 自有员工所在结算主体大全表
* @Date 13:13 2022/8/6
* @Param
* @return
**/
public interface TOwnDeptService extends IService<TOwnDept> {
/**
* 自有员工所在结算主体大全表简单分页查询
* *
* @author hgw * @param tOwnDept 自有员工所在结算主体大全表
* @date 2022-08-05 11:40:14 * @return
*/ */
public interface TOwnDeptService extends IService<TOwnDept> { 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 *
* @param tSalaryConfigStandard 薪资识别配置(标准模板)
* @return * @return
*/ */
IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandardSearchVo tSalaryConfigStandard); IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandard tSalaryConfigStandard);
List<TSalaryConfigStandard> getTSalaryConfigStandardList(TSalaryConfigStandard tSalaryConfigStandard);
List<TSalaryConfigStandard> noPageDiy(TSalaryConfigStandardSearchVo 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; 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 * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
* @return * @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 *
* @param tSpecialDeducationSum
* @return * @return
*/ */
IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page<TSpecialDeducationSum> page, TSpecialDeducationSumSearchVo tSpecialDeducationSum); IPage<TSpecialDeducationSum> getTSpecialDeducationSumPage(Page<TSpecialDeducationSum> page, TSpecialDeducationSum tSpecialDeducationSum);
R<List<ErrorMessage>> importDiy(InputStream inputStream); /**
* @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 工资报账配置
* @param tConfigSalary 项目基础薪酬配置-薪资配置2
* @return * @return
*/ */
@Override @Override
public IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalarySearchVo tConfigSalary) { public IPage<TConfigSalary> getTConfigSalaryPage(Page<TConfigSalary> page, TConfigSalary tConfigSalary){
return baseMapper.getTConfigSalaryPage(page, tConfigSalary); YifuUser user = SecurityUtils.getUser();
List<TSettleDomainSelectVo> remoteSettleDomainVoData = null;
if (Common.isNotNull(user)) {
// TODO
R<List<TSettleDomainSelectVo>> remoteGetTSettleDomainVo = null;
if (remoteGetTSettleDomainVo == null) {
throw new RuntimeException("调用结算服务失败");
} }
if (CommonConstants.SUCCESS != remoteGetTSettleDomainVo.getCode()) {
@Override throw new RuntimeException("调用结算服务返回失败");
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); remoteSettleDomainVoData = remoteGetTSettleDomainVo.getData();
return baseMapper.selectList(wrapper); if (remoteSettleDomainVoData == null) {
throw new RuntimeException("未获取到相关结算信息");
} }
private LambdaQueryWrapper buildQueryWrapper(TConfigSalarySearchVo entity) {
LambdaQueryWrapper<TConfigSalary> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TConfigSalary::getCreateTime, entity.getCreateTimes()[0])
.le(TConfigSalary::getCreateTime,
entity.getCreateTimes()[1]);
} }
if (Common.isNotNull(entity.getCreateName())) { return baseMapper.getTConfigSalaryPage(page, tConfigSalary, remoteSettleDomainVoData);
wrapper.eq(TConfigSalary::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 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 各地市最低工资标准
* @param tMinSalary 最低工资配置-薪资配置4
* @return * @return
*/ */
@Override @Override
public IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalarySearchVo tMinSalary) { public IPage<TMinSalary> getTMinSalaryPage(Page<TMinSalary> page, TMinSalary tMinSalary){
return baseMapper.getTMinSalaryPage(page, 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())) {
wrapper.ge(TMinSalary::getCreateTime, entity.getCreateTimes()[0])
.le(TMinSalary::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
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 自有员工所在结算主体大全表
* @Date 13:18 2022/8/6
* @Param
* @return
**/
@Service("tOwnDeptService")
public class TOwnDeptServiceImpl extends ServiceImpl<TOwnDeptMapper, TOwnDept> implements TOwnDeptService {
/**
* 自有员工所在结算主体大全表简单分页查询
* *
* @author hgw * @param tOwnDept 自有员工所在结算主体大全表
* @date 2022-08-05 11:40:14 * @return
*/ */
@Log4j2 @Override
@Service public IPage<TOwnDept> getTOwnDeptPage(Page<TOwnDept> page, TOwnDept tOwnDept) {
public class TOwnDeptServiceImpl extends ServiceImpl<TOwnDeptMapper, TOwnDept> implements TOwnDeptService { 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 * @param tSalaryConfigStandard 薪资识别配置(标准模板)
* @return * @return
*/ */
@Override @Override
public IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandardSearchVo tSalaryConfigStandard) { public IPage<TSalaryConfigStandard> getTSalaryConfigStandardPage(Page<TSalaryConfigStandard> page, TSalaryConfigStandard tSalaryConfigStandard) {
return baseMapper.getTSalaryConfigStandardPage(page, tSalaryConfigStandard); return baseMapper.getTSalaryConfigStandardPage(page, tSalaryConfigStandard);
} }
@Override @Override
public List<TSalaryConfigStandard> noPageDiy(TSalaryConfigStandardSearchVo searchVo) { public List<TSalaryConfigStandard> getTSalaryConfigStandardList(TSalaryConfigStandard tSalaryConfigStandard) {
LambdaQueryWrapper<TSalaryConfigStandard> wrapper = buildQueryWrapper(searchVo); return baseMapper.getTSalaryConfigStandardList(tSalaryConfigStandard);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryConfigStandard::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(TSalaryConfigStandardSearchVo entity) {
LambdaQueryWrapper<TSalaryConfigStandard> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
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 * @param tSalaryTaxConfig 个税比例及速算扣除数的配置表
* @return * @return
*/ */
@Override @Override
public IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfigSearchVo tSalaryTaxConfig) { public IPage<TSalaryTaxConfig> getTSalaryTaxConfigPage(Page<TSalaryTaxConfig> page, TSalaryTaxConfig tSalaryTaxConfig) {
return baseMapper.getTSalaryTaxConfigPage(page, 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">
...@@ -30,70 +11,82 @@ ...@@ -30,70 +11,82 @@
<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="settleMonth" column="SETTLE_MONTH"/>
<result property="socialMonth" column="SOCIAL_MONTH"/> <result property="socialMonth" column="SOCIAL_MONTH"/>
<result property="fundMonth" column="FUND_MONTH"/> <result property="fundMonth" column="FUND_MONTH"/>
<result property="socialPriority" column="SOCIAL_PRIORITY"/> <result property="socialPriority" column="SOCIAL_PRIORITY"/>
<result property="fundPriority" column="FUND_PRIORITY"/> <result property="fundPriority" column="FUND_PRIORITY"/>
<result property="grantType" column="GRANT_TYPE"/> <result property="grantType" column="GRANT_TYPE"/>
<result property="annualBonusType" column="ANNUAL_BONUS_TYPE"/>
</resultMap> </resultMap>
<sql id="Base_Column_List">
a.ID, <!--tConfigSalary简单分页查询-->
a.NAME, <select id="getTConfigSalaryPage" resultMap="tConfigSalaryMap">
a.DEPART_ID, SELECT
a.DEPART_NO, ID,
a.DEPART_NAME, NAME,
a.SALARY_MONTH, DEPART_ID,
a.SOCIAL_MONTH, DEPART_NO,
a.FUND_MONTH, DEPART_NAME,
a.SOCIAL_PRIORITY, SALARY_MONTH,
a.FUND_PRIORITY, SETTLE_MONTH,
a.GRANT_TYPE SOCIAL_MONTH,
</sql> FUND_MONTH,
<sql id="tConfigSalary_where"> SOCIAL_PRIORITY,
<if test="tConfigSalary != null"> FUND_PRIORITY,
GRANT_TYPE,
ANNUAL_BONUS_TYPE
FROM t_config_salary
<where>
1=1
<if test="tConfigSalary.id != null and tConfigSalary.id.trim() != ''"> <if test="tConfigSalary.id != null and tConfigSalary.id.trim() != ''">
AND a.ID = #{tConfigSalary.id} AND ID = #{tConfigSalary.id}
</if> </if>
<if test="tConfigSalary.name != null and tConfigSalary.name.trim() != ''"> <if test="tConfigSalary.name != null and tConfigSalary.name.trim() != ''">
AND a.NAME = #{tConfigSalary.name} AND NAME like '%${tConfigSalary.name}%'
</if> </if>
<if test="tConfigSalary.departId != null and tConfigSalary.departId.trim() != ''"> <if test="tConfigSalary.departId != null and tConfigSalary.departId.trim() != ''">
AND a.DEPART_ID = #{tConfigSalary.departId} AND DEPART_ID = #{tConfigSalary.departId}
</if> </if>
<if test="tConfigSalary.departNo != null and tConfigSalary.departNo.trim() != ''"> <if test="tConfigSalary.departNo != null and tConfigSalary.departNo.trim() != ''">
AND a.DEPART_NO = #{tConfigSalary.departNo} AND DEPART_NO = #{tConfigSalary.departNo}
</if> </if>
<if test="tConfigSalary.departName != null and tConfigSalary.departName.trim() != ''"> <if test="tConfigSalary.departName != null and tConfigSalary.departName.trim() != ''">
AND a.DEPART_NAME = #{tConfigSalary.departName} AND DEPART_NAME = #{tConfigSalary.departName}
</if> </if>
<if test="tConfigSalary.salaryMonth != null"> <if test="tConfigSalary.salaryMonth != null ">
AND a.SALARY_MONTH = #{tConfigSalary.salaryMonth} AND SALARY_MONTH = #{tConfigSalary.salaryMonth}
</if> </if>
<if test="tConfigSalary.socialMonth != null"> <if test="tConfigSalary.settleMonth != null ">
AND a.SOCIAL_MONTH = #{tConfigSalary.socialMonth} AND SETTLE_MONTH = #{tConfigSalary.settleMonth}
</if> </if>
<if test="tConfigSalary.fundMonth != null"> <if test="tConfigSalary.socialMonth != null ">
AND a.FUND_MONTH = #{tConfigSalary.fundMonth} AND SOCIAL_MONTH = #{tConfigSalary.socialMonth}
</if> </if>
<if test="tConfigSalary.socialPriority != null"> <if test="tConfigSalary.fundMonth != null ">
AND a.SOCIAL_PRIORITY = #{tConfigSalary.socialPriority} AND FUND_MONTH = #{tConfigSalary.fundMonth}
</if> </if>
<if test="tConfigSalary.fundPriority != null"> <if test="tConfigSalary.socialPriority != null ">
AND a.FUND_PRIORITY = #{tConfigSalary.fundPriority} AND SOCIAL_PRIORITY = #{tConfigSalary.socialPriority}
</if> </if>
<if test="tConfigSalary.grantType != null"> <if test="tConfigSalary.fundPriority != null ">
AND a.GRANT_TYPE = #{tConfigSalary.grantType} AND FUND_PRIORITY = #{tConfigSalary.fundPriority}
</if> </if>
<if test="tConfigSalary.grantType != null ">
AND GRANT_TYPE = #{tConfigSalary.grantType}
</if>
<if test="tConfigSalary.annualBonusType != null ">
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> </if>
</sql>
<!--tConfigSalary简单分页查询-->
<select id="getTConfigSalaryPage" resultMap="tConfigSalaryMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_config_salary a
<where>
1=1
<include refid="tConfigSalary_where"/>
</where> </where>
</select> </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">
...@@ -32,63 +13,58 @@ ...@@ -32,63 +13,58 @@
<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"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap> </resultMap>
<sql id="Base_Column_List">
a.id, <!--tMinSalary简单分页查询-->
a.province, <select id="getTMinSalaryPage" resultMap="tMinSalaryMap">
a.city, SELECT
a.town, id,
a.salary_base, province,
a.status, city,
a.start_date, town,
a.end_date, salary_base,
a.CREATE_BY, status,
a.CREATE_NAME, start_date,
a.CREATE_TIME, end_date,
a.UPDATE_BY, create_user,
a.UPDATE_TIME create_date
</sql> FROM t_min_salary
<sql id="tMinSalary_where"> <where>
<if test="tMinSalary != null"> 1=1
<if test="tMinSalary.id != null and tMinSalary.id.trim() != ''"> <if test="tMinSalary.id != null and tMinSalary.id.trim() != ''">
AND a.id = #{tMinSalary.id} AND id = #{tMinSalary.id}
</if> </if>
<if test="tMinSalary.province != null"> <if test="tMinSalary.province != null">
AND a.province = #{tMinSalary.province} AND province = #{tMinSalary.province}
</if> </if>
<if test="tMinSalary.city != null"> <if test="tMinSalary.city != null">
AND a.city = #{tMinSalary.city} AND city = #{tMinSalary.city}
</if> </if>
<if test="tMinSalary.town != null"> <if test="tMinSalary.town != null">
AND a.town = #{tMinSalary.town} AND town = #{tMinSalary.town}
</if> </if>
<if test="tMinSalary.salaryBase != null and tMinSalary.salaryBase.trim() != ''"> <if test="tMinSalary.salaryBase != null and tMinSalary.salaryBase.trim() != ''">
AND a.salary_base = #{tMinSalary.salaryBase} AND salary_base = #{tMinSalary.salaryBase}
</if> </if>
<if test="tMinSalary.status != null"> <if test="tMinSalary.status != null">
AND a.status = #{tMinSalary.status} AND status = #{tMinSalary.status}
</if> </if>
<if test="tMinSalary.startDate != null"> <if test="tMinSalary.startDate != null">
AND a.start_date = #{tMinSalary.startDate} AND start_date = #{tMinSalary.startDate}
</if> </if>
<if test="tMinSalary.endDate != null"> <if test="tMinSalary.endDate != null">
AND a.end_date = #{tMinSalary.endDate} AND end_date = #{tMinSalary.endDate}
</if> </if>
<if test="tMinSalary.createUser != null and tMinSalary.createUser.trim() != ''">
AND create_user = #{tMinSalary.createUser}
</if>
<if test="tMinSalary.createDate != null">
AND create_date = #{tMinSalary.createDate}
</if> </if>
</sql>
<!--tMinSalary简单分页查询-->
<select id="getTMinSalaryPage" resultMap="tMinSalaryMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_min_salary a
<where>
1=1
<include refid="tMinSalary_where"/>
</where> </where>
</select> </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"/>
...@@ -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>
<?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.TSalaryConfigStandardMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryConfigStandardMapper">
...@@ -31,64 +12,72 @@ ...@@ -31,64 +12,72 @@
<result property="modelType" column="MODEL_TYPE"/> <result property="modelType" column="MODEL_TYPE"/>
<result property="isMustNeed" column="IS_MUST_NEED"/> <result property="isMustNeed" column="IS_MUST_NEED"/>
<result property="isTax" column="IS_TAX"/> <result property="isTax" column="IS_TAX"/>
<result property="orderLine" column="order_line"/> <result property="createUser" column="CREATE_USER"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/> <result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/> <result property="orderLine" column="order_line"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap> </resultMap>
<sql id="Base_Column_List">
a.ID,
a.CN_NAME,
a.DB_FIED_NAME,
a.JAVA_FIED_NAME,
a.MODEL_TYPE,
a.IS_MUST_NEED,
a.IS_TAX,
a.order_line,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql id="tSalaryConfigStandard_where"> <sql id="tSalaryConfigStandard_where">
<if test="tSalaryConfigStandard != null"> <if test="tSalaryConfigStandard != null ">
<if test="tSalaryConfigStandard.id != null and tSalaryConfigStandard.id.trim() != ''"> <if test="tSalaryConfigStandard.id != null and tSalaryConfigStandard.id.trim() != ''">
AND a.ID = #{tSalaryConfigStandard.id} AND ID = #{tSalaryConfigStandard.id}
</if> </if>
<if test="tSalaryConfigStandard.cnName != null and tSalaryConfigStandard.cnName.trim() != ''"> <if test="tSalaryConfigStandard.cnName != null and tSalaryConfigStandard.cnName.trim() != ''">
AND a.CN_NAME = #{tSalaryConfigStandard.cnName} AND CN_NAME = #{tSalaryConfigStandard.cnName}
</if> </if>
<if test="tSalaryConfigStandard.dbFiedName != null and tSalaryConfigStandard.dbFiedName.trim() != ''"> <if test="tSalaryConfigStandard.dbFiedName != null and tSalaryConfigStandard.dbFiedName.trim() != ''">
AND a.DB_FIED_NAME = #{tSalaryConfigStandard.dbFiedName} AND DB_FIED_NAME = #{tSalaryConfigStandard.dbFiedName}
</if> </if>
<if test="tSalaryConfigStandard.javaFiedName != null and tSalaryConfigStandard.javaFiedName.trim() != ''"> <if test="tSalaryConfigStandard.javaFiedName != null and tSalaryConfigStandard.javaFiedName.trim() != ''">
AND a.JAVA_FIED_NAME = #{tSalaryConfigStandard.javaFiedName} AND JAVA_FIED_NAME = #{tSalaryConfigStandard.javaFiedName}
</if> </if>
<if test="tSalaryConfigStandard.modelType != null and tSalaryConfigStandard.modelType.trim() != ''"> <if test="tSalaryConfigStandard.modelType != null and tSalaryConfigStandard.modelType.trim() != ''">
AND a.MODEL_TYPE = #{tSalaryConfigStandard.modelType} AND MODEL_TYPE = #{tSalaryConfigStandard.modelType}
</if> </if>
<if test="tSalaryConfigStandard.isMustNeed != null and tSalaryConfigStandard.isMustNeed.trim() != ''"> <if test="tSalaryConfigStandard.isMustNeed != null and tSalaryConfigStandard.isMustNeed.trim() != ''">
AND a.IS_MUST_NEED = #{tSalaryConfigStandard.isMustNeed} AND IS_MUST_NEED = #{tSalaryConfigStandard.isMustNeed}
</if> </if>
<if test="tSalaryConfigStandard.isTax != null"> <if test="tSalaryConfigStandard.createUser != null and tSalaryConfigStandard.createUser.trim() != ''">
AND a.IS_TAX = #{tSalaryConfigStandard.isTax} AND CREATE_USER = #{tSalaryConfigStandard.createUser}
</if> </if>
<if test="tSalaryConfigStandard.orderLine != null"> <if test="tSalaryConfigStandard.createTime != null">
AND a.order_line = #{tSalaryConfigStandard.orderLine} AND CREATE_TIME = #{tSalaryStandard.createTime}
</if> </if>
</if> </if>
</sql> </sql>
<!--tSalaryConfigStandard简单分页查询--> <!--tSalaryConfigStandard简单分页查询-->
<select id="getTSalaryConfigStandardPage" resultMap="tSalaryConfigStandardMap"> <select id="getTSalaryConfigStandardPage" resultMap="tSalaryConfigStandardMap">
SELECT SELECT
<include refid="Base_Column_List"/> ID,
FROM t_salary_config_standard a CN_NAME,
DB_FIED_NAME,
JAVA_FIED_NAME,
MODEL_TYPE,
IS_MUST_NEED,
IS_TAX,
CREATE_USER,
CREATE_TIME
FROM t_salary_config_standard
<where> <where>
1=1 1=1
<include refid="tSalaryConfigStandard_where"/> <include refid="tSalaryConfigStandard_where"/>
</where> </where>
</select> </select>
<!--tSalaryConfigStandard列表-->
<select id="getTSalaryConfigStandardList" resultMap="tSalaryConfigStandardMap">
SELECT
ID,
DB_FIED_NAME,
JAVA_FIED_NAME
FROM t_salary_config_standard
<where>
order_line != 999
<include refid="tSalaryConfigStandard_where"/>
</where>
order by order_line asc
</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.TSalaryTaxConfigMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryTaxConfigMapper">
...@@ -34,56 +15,135 @@ ...@@ -34,56 +15,135 @@
<result property="type" column="TYPE"/> <result property="type" column="TYPE"/>
<result property="startPoint" column="START_POINT"/> <result property="startPoint" column="START_POINT"/>
</resultMap> </resultMap>
<sql id="Base_Column_List">
a.ID, <!--tSalaryTaxConfig简单分页查询-->
a.TAXABLE_INCOME_REMARK, <select id="getTSalaryTaxConfigPage" resultMap="tSalaryTaxConfigMap">
a.WITHHOLDING_RATE, SELECT
a.QUICK_DEDUCATION, ID,
a.MIN_INCOME, TAXABLE_INCOME_REMARK,
a.MAX_INCOME, WITHHOLDING_RATE,
a.LEVEL, QUICK_DEDUCATION,
a.TYPE, MIN_INCOME,
a.START_POINT MAX_INCOME,
</sql> LEVEL,
<sql id="tSalaryTaxConfig_where"> TYPE,
<if test="tSalaryTaxConfig != null"> START_POINT
FROM t_salary_tax_config
<where>
1=1
<if test="tSalaryTaxConfig.id != null and tSalaryTaxConfig.id.trim() != ''"> <if test="tSalaryTaxConfig.id != null and tSalaryTaxConfig.id.trim() != ''">
AND a.ID = #{tSalaryTaxConfig.id} AND ID = #{tSalaryTaxConfig.id}
</if> </if>
<if test="tSalaryTaxConfig.taxableIncomeRemark != null and tSalaryTaxConfig.taxableIncomeRemark.trim() != ''"> <if test="tSalaryTaxConfig.taxableIncomeRemark != null and tSalaryTaxConfig.taxableIncomeRemark.trim() != ''">
AND a.TAXABLE_INCOME_REMARK = #{tSalaryTaxConfig.taxableIncomeRemark} AND TAXABLE_INCOME_REMARK = #{tSalaryTaxConfig.taxableIncomeRemark}
</if> </if>
<if test="tSalaryTaxConfig.withholdingRate != null"> <if test="tSalaryTaxConfig.withholdingRate != null">
AND a.WITHHOLDING_RATE = #{tSalaryTaxConfig.withholdingRate} AND WITHHOLDING_RATE = #{tSalaryTaxConfig.withholdingRate}
</if> </if>
<if test="tSalaryTaxConfig.quickDeducation != null"> <if test="tSalaryTaxConfig.quickDeducation != null">
AND a.QUICK_DEDUCATION = #{tSalaryTaxConfig.quickDeducation} AND QUICK_DEDUCATION = #{tSalaryTaxConfig.quickDeducation}
</if> </if>
<if test="tSalaryTaxConfig.minIncome != null"> <if test="tSalaryTaxConfig.minIncome != null">
AND a.MIN_INCOME = #{tSalaryTaxConfig.minIncome} AND MIN_INCOME = #{tSalaryTaxConfig.minIncome}
</if> </if>
<if test="tSalaryTaxConfig.maxIncome != null"> <if test="tSalaryTaxConfig.maxIncome != null">
AND a.MAX_INCOME = #{tSalaryTaxConfig.maxIncome} AND MAX_INCOME = #{tSalaryTaxConfig.maxIncome}
</if> </if>
<if test="tSalaryTaxConfig.level != null"> <if test="tSalaryTaxConfig.level != null">
AND a.LEVEL = #{tSalaryTaxConfig.level} AND LEVEL = #{tSalaryTaxConfig.level}
</if> </if>
<if test="tSalaryTaxConfig.type != null"> <if test="tSalaryTaxConfig.type != null">
AND a.TYPE = #{tSalaryTaxConfig.type} AND TYPE = #{tSalaryTaxConfig.type}
</if> </if>
<if test="tSalaryTaxConfig.startPoint != null"> <if test="tSalaryTaxConfig.startPoint != null">
AND a.START_POINT = #{tSalaryTaxConfig.startPoint} AND START_POINT = #{tSalaryTaxConfig.startPoint}
</if>
</where>
</select>
<!--tSalaryTaxConfig获取个税配置-->
<select id="getTaxConfigByPersonList" resultMap="tSalaryTaxConfigMap">
SELECT
ID,
TAXABLE_INCOME_REMARK,
WITHHOLDING_RATE,
QUICK_DEDUCATION,
MIN_INCOME,
MAX_INCOME,
LEVEL,
TYPE,
START_POINT
FROM t_salary_tax_config
<where>
TYPE = 0
<if test="tSalaryTaxConfig.id != null and tSalaryTaxConfig.id.trim() != ''">
AND ID = #{tSalaryTaxConfig.id}
</if> </if>
<if test="tSalaryTaxConfig.taxableIncomeRemark != null and tSalaryTaxConfig.taxableIncomeRemark.trim() != ''">
AND TAXABLE_INCOME_REMARK = #{tSalaryTaxConfig.taxableIncomeRemark}
</if> </if>
</sql> <if test="tSalaryTaxConfig.withholdingRate != null">
<!--tSalaryTaxConfig简单分页查询--> AND WITHHOLDING_RATE = #{tSalaryTaxConfig.withholdingRate}
<select id="getTSalaryTaxConfigPage" resultMap="tSalaryTaxConfigMap"> </if>
<if test="tSalaryTaxConfig.quickDeducation != null">
AND QUICK_DEDUCATION = #{tSalaryTaxConfig.quickDeducation}
</if>
<if test="tSalaryTaxConfig.minIncome != null">
AND MIN_INCOME = #{tSalaryTaxConfig.minIncome}
</if>
<if test="tSalaryTaxConfig.maxIncome != null">
AND MAX_INCOME = #{tSalaryTaxConfig.maxIncome}
</if>
<if test="tSalaryTaxConfig.level != null">
AND LEVEL = #{tSalaryTaxConfig.level}
</if>
<if test="tSalaryTaxConfig.startPoint != null">
AND START_POINT = #{tSalaryTaxConfig.startPoint}
</if>
</where>
</select>
<!--tSalaryTaxConfig获取年终奖配置-->
<select id="getTaxConfigByAnnualBonusList" resultMap="tSalaryTaxConfigMap">
SELECT SELECT
<include refid="Base_Column_List"/> ID,
FROM t_salary_tax_config a TAXABLE_INCOME_REMARK,
WITHHOLDING_RATE,
QUICK_DEDUCATION,
MIN_INCOME,
MAX_INCOME,
LEVEL,
TYPE,
START_POINT
FROM t_salary_tax_config
<where> <where>
1=1 TYPE = 1
<include refid="tSalaryTaxConfig_where"/> <if test="tSalaryTaxConfig.id != null and tSalaryTaxConfig.id.trim() != ''">
AND ID = #{tSalaryTaxConfig.id}
</if>
<if test="tSalaryTaxConfig.taxableIncomeRemark != null and tSalaryTaxConfig.taxableIncomeRemark.trim() != ''">
AND TAXABLE_INCOME_REMARK = #{tSalaryTaxConfig.taxableIncomeRemark}
</if>
<if test="tSalaryTaxConfig.withholdingRate != null">
AND WITHHOLDING_RATE = #{tSalaryTaxConfig.withholdingRate}
</if>
<if test="tSalaryTaxConfig.quickDeducation != null">
AND QUICK_DEDUCATION = #{tSalaryTaxConfig.quickDeducation}
</if>
<if test="tSalaryTaxConfig.minIncome != null">
AND MIN_INCOME = #{tSalaryTaxConfig.minIncome}
</if>
<if test="tSalaryTaxConfig.maxIncome != null">
AND MAX_INCOME = #{tSalaryTaxConfig.maxIncome}
</if>
<if test="tSalaryTaxConfig.level != null">
AND LEVEL = #{tSalaryTaxConfig.level}
</if>
<if test="tSalaryTaxConfig.startPoint != null">
AND START_POINT = #{tSalaryTaxConfig.startPoint}
</if>
</where> </where>
</select> </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