Commit 423c4889 authored by huyuchen's avatar huyuchen

Merge remote-tracking branch 'origin/MVP1.7.17' into MVP1.7.17

parents 97370ade 7ff6d8e1
/*
* 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.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@Data
@TableName("t_auto_fund_rule_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "公积金购买规则主表")
public class TAutoFundRuleInfo extends BaseEntity {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键ID")
@Schema(description = "主键ID")
private String id;
/**
* 项目配置ID
*/
@ExcelAttribute(name = "项目配置ID", errorInfo = "项目配置ID不能为空", maxLength = 32)
@NotBlank(message = "项目配置ID不能为空")
@Length(max = 32, message = "项目配置ID不能超过32个字符")
@ExcelProperty("项目配置ID")
@Schema(description = "项目配置ID")
private String mainId;
/**
* 是否自动触发派增(字典:0自动触发派增,1:手动派增)
*/
@ExcelAttribute(name = "是否自动触发派增", isNotEmpty = true, errorInfo = "是否自动触发派增不能为空", maxLength = 1)
@NotBlank(message = "是否自动触发派增不能为空")
@Length(max = 1, message = "是否自动触发派增不能超过1个字符")
@ExcelProperty("是否自动触发派增")
@Schema(description = "是否自动触发派增(字典:0自动触发派增,1:手动派增)")
private String autoFlag;
/**
* 派单发起时间(字典:0:起缴日期当日)
*/
@ExcelAttribute(name = "派单发起时间", maxLength = 2)
@Length(max = 2, message = "派单发起时间不能超过2个字符")
@ExcelProperty("派单发起时间")
@Schema(description = "派单发起时间(字典:0:起缴日期当日)")
private String startPeriod;
/**
* 派单发起具体时间字典:0:15:20
*/
@ExcelAttribute(name = "派单发起具体时间字典:0:15:20", maxLength = 10)
@Length(max = 10, message = "派单发起具体时间字典:0:15:20不能超过10个字符")
@ExcelProperty("派单发起具体时间字典:0:15:20")
@Schema(description = "派单发起具体时间字典:0:15:20")
private String startTime;
/**
* 派单确认时间,字典:0:派单发起当日
*/
@ExcelAttribute(name = "派单确认时间", maxLength = 50)
@Length(max = 50, message = "派单确认时间不能超过50个字符")
@ExcelProperty("派单确认时间")
@Schema(description = "派单确认时间,字典:0:派单发起当日")
private String confirmPeriod;
/**
* 派单确认具体时间:字典0:09:00
*/
@ExcelAttribute(name = "派单确认具体时间", maxLength = 10)
@Length(max = 10, message = "派单确认具体时间不能超过10个字符")
@ExcelProperty("派单确认具体时间")
@Schema(description = "派单确认具体时间:0:09:00")
private String confirmTime;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", errorInfo = "项目编码不能为空", maxLength = 50)
@NotBlank(message = "项目编码不能为空")
@Length(max = 50, message = "项目编码不能超过50个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String deptNo;
/**
* 项目ID
*/
@ExcelAttribute(name = "项目ID", errorInfo = "项目ID不能为空", maxLength = 50)
@NotBlank(message = "项目ID不能为空")
@Length(max = 50, message = "项目ID不能超过50个字符")
@ExcelProperty("项目ID")
@Schema(description = "项目ID")
private String deptId;
}
/*
* 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.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@Data
@TableName("t_auto_fund_rule_rel")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "公积金购买规则明细表")
public class TAutoFundRuleRel extends BaseEntity {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键ID")
@Schema(description = "主键ID")
private String id;
/**
* 公积金配置ID
*/
@ExcelAttribute(name = "公积金配置ID", errorInfo = "公积金配置ID不能为空", maxLength = 32)
@NotBlank(message = "公积金配置ID不能为空")
@Length(max = 32, message = "公积金配置ID不能超过32个字符")
@ExcelProperty("公积金配置ID")
@Schema(description = "公积金配置ID")
private String mainId;
/**
* 配置名称
*/
@ExcelAttribute(name = "配置名称", isNotEmpty = true, errorInfo = "配置名称不能为空", maxLength = 50)
@NotBlank(message = "配置名称不能为空")
@Length(max = 50, message = "配置名称不能超过50个字符")
@ExcelProperty("配置名称")
@Schema(description = "配置名称")
private String configName;
/**
* 公积金户ID
*/
@ExcelAttribute(name = "公积金户ID", maxLength = 50)
@Length(max = 50, message = "公积金户ID不能超过50个字符")
@ExcelProperty("公积金户ID")
@Schema(description = "公积金户ID")
private String configHouseId;
/**
* 公积金户名称
*/
@ExcelAttribute(name = "公积金户名称", maxLength = 100)
@Length(max = 100, message = "公积金户名称不能超过100个字符")
@ExcelProperty("公积金户名称")
@Schema(description = "公积金户名称")
private String configHouseName;
/**
* 公积金单位个人比例是否一致(0-是,1-否)
*/
@ExcelAttribute(name = "公积金单位个人比例是否一致)", maxLength = 1)
@Length(max = 1, message = "公积金单位个人比例是否一致不能超过1个字符")
@ExcelProperty("公积金单位个人比例是否一致")
@Schema(description = "公积金单位个人比例是否一致(0-是,1-否)")
private String fundPerFlag;
/**
* 起缴日期类型:0 入职日期 1 入职满1年次月 2 人员自定义
*/
@ExcelAttribute(name = "起缴日期类型", maxLength = 2)
@Length(max = 2, message = "起缴日期类型不能超过2个字符")
@ExcelProperty("起缴日期类型")
@Schema(description = "起缴日期类型:0 入职日期 1 入职满1年次月 2 人员自定义")
private String fundDateType;
/**
* 缴纳基数类型:0最低、1自定义、2最高、3固定基数
*/
@ExcelAttribute(name = "缴纳基数类型", maxLength = 2)
@Length(max = 2, message = "缴纳基数类型不能超过2个字符")
@ExcelProperty("缴纳基数类型")
@Schema(description = "缴纳基数类型:0最低、1自定义、2最高、3固定基数")
private String paymentType;
/**
* 公积金基数
*/
@ExcelAttribute(name = "公积金基数")
@ExcelProperty("公积金基数")
@Schema(description = "公积金基数")
private BigDecimal fundBase;
/**
* 公积金单位比例
*/
@ExcelAttribute(name = "公积金单位比例", maxLength = 30)
@Length(max = 30, message = "公积金单位比例不能超过30个字符")
@ExcelProperty("公积金单位比例")
@Schema(description = "公积金单位比例")
private String fundCompanyPer;
/**
* 公积金个人比例
*/
@ExcelAttribute(name = "公积金个人比例", maxLength = 100)
@Length(max = 100, message = "公积金个人比例不能超过100个字符")
@ExcelProperty("公积金个人比例")
@Schema(description = "公积金个人比例")
private String fundPersonalPer;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", errorInfo = "项目编码不能为空", maxLength = 50)
@NotBlank(message = "项目编码不能为空")
@Length(max = 50, message = "项目编码不能超过50个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String deptNo;
/**
* 项目ID
*/
@ExcelAttribute(name = "项目ID", errorInfo = "项目ID不能为空", maxLength = 50)
@NotBlank(message = "项目ID不能为空")
@Length(max = 50, message = "项目ID不能超过50个字符")
@ExcelProperty("项目ID")
@Schema(description = "项目ID")
private String deptId;
/**
* 缴纳地-省(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-省(社保或公积金)")
@ExcelProperty("缴纳地-省(社保或公积金)")
@Schema(description = "缴纳地-省(社保或公积金)")
private Integer province;
/**
* 缴纳地-市(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-市(社保或公积金)")
@ExcelProperty("缴纳地-市(社保或公积金)")
@Schema(description = "缴纳地-市(社保或公积金)")
private Integer city;
/**
* 缴纳地-县(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-县(社保或公积金)")
@ExcelProperty("缴纳地-县(社保或公积金)")
@Schema(description = "缴纳地-县(社保或公积金)")
private Integer town;
/**
* 基数上限(社保或公积金)
*/
@ExcelAttribute(name = "基数上限(社保或公积金)")
@ExcelProperty("基数上限(社保或公积金)")
@Schema(description = "基数上限(社保或公积金)")
private BigDecimal upperLimit;
/**
* 基数下限(社保或公积金)
*/
@ExcelAttribute(name = "基数下限(社保或公积金)")
@ExcelProperty("基数下限(社保或公积金)")
@Schema(description = "基数下限(社保或公积金)")
private BigDecimal lowerLimit;
}
/*
* 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.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@Data
public class TAutoFundRuleInfoSearchVo extends TAutoFundRuleInfo {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
/*
* 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.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@Data
public class TAutoFundRuleInfoVo extends RowIndex implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "主键ID 不能为空")
@Length(max = 32, message = "主键ID 不能超过32 个字符")
@ExcelAttribute(name = "主键ID", isNotEmpty = true, errorInfo = "主键ID 不能为空", maxLength = 32)
@Schema(description = "主键ID")
@ExcelProperty("主键ID")
private String id;
/**
* 项目配置ID
*/
@NotBlank(message = "项目配置ID 不能为空")
@Length(max = 32, message = "项目配置ID 不能超过32 个字符")
@ExcelAttribute(name = "项目配置ID", isNotEmpty = true, errorInfo = "项目配置ID 不能为空", maxLength = 32)
@Schema(description = "项目配置ID")
@ExcelProperty("项目配置ID")
private String mainId;
/**
* 是否自动触发派增(字典:0自动触发派增,1:手动派增)
*/
@NotBlank(message = "是否自动触发派增(字典:0自动触发派增,1:手动派增) 不能为空")
@Length(max = 1, message = "是否自动触发派增(字典:0自动触发派增,1:手动派增) 不能超过1 个字符")
@ExcelAttribute(name = "是否自动触发派增(字典:0自动触发派增,1:手动派增)", isNotEmpty = true, errorInfo = "是否自动触发派增(字典:0自动触发派增,1:手动派增) 不能为空", maxLength = 1)
@Schema(description = "是否自动触发派增(字典:0自动触发派增,1:手动派增)")
@ExcelProperty("是否自动触发派增(字典:0自动触发派增,1:手动派增)")
private String autoFlag;
/**
* 派单发起时间(字典::0:入职满1个月...入职满6个月)
*/
@Length(max = 2, message = "派单发起时间(字典::0:入职满1个月...入职满6个月) 不能超过2 个字符")
@ExcelAttribute(name = "派单发起时间(字典::0:入职满1个月...入职满6个月)", maxLength = 2)
@Schema(description = "派单发起时间(字典::0:入职满1个月...入职满6个月)")
@ExcelProperty("派单发起时间(字典::0:入职满1个月...入职满6个月)")
private String startPeriod;
/**
* 派单发起具体时间字典:0:15:20
*/
@Length(max = 10, message = "派单发起具体时间字典:0:15:20 不能超过10 个字符")
@ExcelAttribute(name = "派单发起具体时间字典:0:15:20", maxLength = 10)
@Schema(description = "派单发起具体时间字典:0:15:20")
@ExcelProperty("派单发起具体时间字典:0:15:20")
private String startTime;
/**
* 派单确认时间,字典:0:派单发起当日
*/
@Length(max = 50, message = "派单确认时间,字典:0:派单发起当日 不能超过50 个字符")
@ExcelAttribute(name = "派单确认时间,字典:0:派单发起当日", maxLength = 50)
@Schema(description = "派单确认时间,字典:0:派单发起当日")
@ExcelProperty("派单确认时间,字典:0:派单发起当日")
private String confirmPeriod;
/**
* 派单确认具体时间
*/
@Length(max = 10, message = "派单确认具体时间 不能超过10 个字符")
@ExcelAttribute(name = "派单确认具体时间", maxLength = 10)
@Schema(description = "派单确认具体时间")
@ExcelProperty("派单确认具体时间")
private String confirmTime;
/**
* 项目编码
*/
@NotBlank(message = "项目编码 不能为空")
@Length(max = 50, message = "项目编码 不能超过50 个字符")
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码 不能为空", maxLength = 50)
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 项目ID
*/
@NotBlank(message = "项目ID 不能为空")
@Length(max = 50, message = "项目ID 不能超过50 个字符")
@ExcelAttribute(name = "项目ID", isNotEmpty = true, errorInfo = "项目ID 不能为空", maxLength = 50)
@Schema(description = "项目ID")
@ExcelProperty("项目ID")
private String deptId;
}
/*
* 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.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@Data
public class TAutoFundRuleRelSearchVo extends TAutoFundRuleRel {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
/*
* 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.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@Data
public class TAutoFundRuleRelVo extends RowIndex implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "主键ID 不能为空")
@Length(max = 32, message = "主键ID 不能超过32 个字符")
@ExcelAttribute(name = "主键ID", isNotEmpty = true, errorInfo = "主键ID 不能为空", maxLength = 32)
@Schema(description = "主键ID")
@ExcelProperty("主键ID")
private String id;
/**
* 公积金配置ID
*/
@NotBlank(message = "公积金配置ID 不能为空")
@Length(max = 32, message = "公积金配置ID 不能超过32 个字符")
@ExcelAttribute(name = "公积金配置ID", isNotEmpty = true, errorInfo = "公积金配置ID 不能为空", maxLength = 32)
@Schema(description = "公积金配置ID")
@ExcelProperty("公积金配置ID")
private String mainId;
/**
* 配置名称
*/
@NotBlank(message = "配置名称 不能为空")
@Length(max = 50, message = "配置名称 不能超过50 个字符")
@ExcelAttribute(name = "配置名称", isNotEmpty = true, errorInfo = "配置名称 不能为空", maxLength = 50)
@Schema(description = "配置名称")
@ExcelProperty("配置名称")
private String configName;
/**
* 公积金户ID
*/
@Length(max = 50, message = "公积金户ID 不能超过50 个字符")
@ExcelAttribute(name = "公积金户ID", maxLength = 50)
@Schema(description = "公积金户ID")
@ExcelProperty("公积金户ID")
private String configHouseId;
/**
* 公积金户名称
*/
@Length(max = 100, message = "公积金户名称 不能超过100 个字符")
@ExcelAttribute(name = "公积金户名称", maxLength = 100)
@Schema(description = "公积金户名称")
@ExcelProperty("公积金户名称")
private String configHouseName;
/**
* 公积金单位个人比例是否一致(0-是,1-否)
*/
@Length(max = 1, message = "公积金单位个人比例是否一致(0-是,1-否) 不能超过1 个字符")
@ExcelAttribute(name = "公积金单位个人比例是否一致(0-是,1-否)", maxLength = 1)
@Schema(description = "公积金单位个人比例是否一致(0-是,1-否)")
@ExcelProperty("公积金单位个人比例是否一致(0-是,1-否)")
private String fundPerFlag;
/**
* 起缴日期:0 入职日期
*/
@Length(max = 2, message = "起缴日期:0 入职日期 不能超过2 个字符")
@ExcelAttribute(name = "起缴日期:0 入职日期", maxLength = 2)
@Schema(description = "起缴日期:0 入职日期")
@ExcelProperty("起缴日期:0 入职日期")
private String fundDateType;
/**
* 缴纳类型:0最低、1自定义、2最高、3固定基数
*/
@Length(max = 2, message = "缴纳类型:0最低、1自定义、2最高、3固定基数 不能超过2 个字符")
@ExcelAttribute(name = "缴纳类型:0最低、1自定义、2最高、3固定基数", maxLength = 2)
@Schema(description = "缴纳类型:0最低、1自定义、2最高、3固定基数")
@ExcelProperty("缴纳类型:0最低、1自定义、2最高、3固定基数")
private String paymentType;
/**
* 公积金基数
*/
@ExcelAttribute(name = "公积金基数")
@Schema(description = "公积金基数")
@ExcelProperty("公积金基数")
private BigDecimal fundBase;
/**
* 公积金单位比例
*/
@Length(max = 30, message = "公积金单位比例 不能超过30 个字符")
@ExcelAttribute(name = "公积金单位比例", maxLength = 30)
@Schema(description = "公积金单位比例")
@ExcelProperty("公积金单位比例")
private String fundCompanyPer;
/**
* 公积金个人比例
*/
@Length(max = 100, message = "公积金个人比例 不能超过100 个字符")
@ExcelAttribute(name = "公积金个人比例", maxLength = 100)
@Schema(description = "公积金个人比例")
@ExcelProperty("公积金个人比例")
private String fundPersonalPer;
/**
* 项目编码
*/
@NotBlank(message = "项目编码 不能为空")
@Length(max = 50, message = "项目编码 不能超过50 个字符")
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码 不能为空", maxLength = 50)
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 项目ID
*/
@NotBlank(message = "项目ID 不能为空")
@Length(max = 50, message = "项目ID 不能超过50 个字符")
@ExcelAttribute(name = "项目ID", isNotEmpty = true, errorInfo = "项目ID 不能为空", maxLength = 50)
@Schema(description = "项目ID")
@ExcelProperty("项目ID")
private String deptId;
/**
* 缴纳地-省(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-省(社保或公积金)")
@Schema(description = "缴纳地-省(社保或公积金)")
@ExcelProperty("缴纳地-省(社保或公积金)")
private Integer province;
/**
* 缴纳地-市(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-市(社保或公积金)")
@Schema(description = "缴纳地-市(社保或公积金)")
@ExcelProperty("缴纳地-市(社保或公积金)")
private Integer city;
/**
* 缴纳地-县(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-县(社保或公积金)")
@Schema(description = "缴纳地-县(社保或公积金)")
@ExcelProperty("缴纳地-县(社保或公积金)")
private Integer town;
/**
* 基数上限(社保或公积金)
*/
@ExcelAttribute(name = "基数上限(社保或公积金)")
@Schema(description = "基数上限(社保或公积金)")
@ExcelProperty("基数上限(社保或公积金)")
private BigDecimal upperLimit;
/**
* 基数下限(社保或公积金)
*/
@ExcelAttribute(name = "基数下限(社保或公积金)")
@Schema(description = "基数下限(社保或公积金)")
@ExcelProperty("基数下限(社保或公积金)")
private BigDecimal lowerLimit;
}
......@@ -52,4 +52,10 @@ public class TAutoMainRelAddVo implements Serializable {
//社保规则明细表
private List<TAutoSocialRuleRel> socialRuleRels;
//社保规则主表
private TAutoFundRuleInfo fundRuleInfo;
//社保规则明细表
private List<TAutoFundRuleRel> fundRuleRels;
}
......@@ -65,5 +65,10 @@ public class TAutoMainRelDetailVo implements Serializable {
//社保规则明细表
private List<TAutoSocialRuleRel> socialRuleRels;
//公积金规则表
private TAutoFundRuleInfo fundRuleInfo;
//公积金规则明细表
private List<TAutoFundRuleRel> fundRuleRels;
}
/*
* 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.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoFundRuleInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tautofundruleinfo")
@Tag(name = "社保购买规则主表管理")
public class TAutoFundRuleInfoController {
private final TAutoFundRuleInfoService tAutoFundRuleInfoService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tAutoFundRuleInfo 社保购买规则主表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TAutoFundRuleInfo>> getTAutoFundRuleInfoPage(Page<TAutoFundRuleInfo> page, TAutoFundRuleInfoSearchVo tAutoFundRuleInfo) {
return new R<>(tAutoFundRuleInfoService.getTAutoFundRuleInfoPage(page, tAutoFundRuleInfo));
}
/**
* 不分页查询
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_tautofundruleinfo_get')" )
public R<List<TAutoFundRuleInfo>> getTAutoFundRuleInfoNoPage(@RequestBody TAutoFundRuleInfoSearchVo tAutoFundRuleInfo) {
return R.ok(tAutoFundRuleInfoService.noPageDiy(tAutoFundRuleInfo));
}
/**
* 通过id查询社保购买规则主表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tautofundruleinfo_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautofundruleinfo_get')")
public R<TAutoFundRuleInfo> getById(@PathVariable("id") String id) {
return R.ok(tAutoFundRuleInfoService.getById(id));
}
/**
* 新增社保购买规则主表
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return R
*/
@Operation(summary = "新增社保购买规则主表", description = "新增社保购买规则主表:hasPermission('social_tautofundruleinfo_add')")
@SysLog("新增社保购买规则主表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tautofundruleinfo_add')")
public R<Boolean> save(@RequestBody TAutoFundRuleInfo tAutoFundRuleInfo) {
return R.ok(tAutoFundRuleInfoService.save(tAutoFundRuleInfo));
}
/**
* 修改社保购买规则主表
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return R
*/
@Operation(summary = "修改社保购买规则主表", description = "修改社保购买规则主表:hasPermission('social_tautofundruleinfo_edit')")
@SysLog("修改社保购买规则主表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tautofundruleinfo_edit')")
public R<Boolean> updateById(@RequestBody TAutoFundRuleInfo tAutoFundRuleInfo) {
return R.ok(tAutoFundRuleInfoService.updateById(tAutoFundRuleInfo));
}
/**
* 通过id删除社保购买规则主表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除社保购买规则主表", description = "通过id删除社保购买规则主表:hasPermission('social_tautofundruleinfo_del')")
@SysLog("通过id删除社保购买规则主表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautofundruleinfo_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tAutoFundRuleInfoService.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.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleRelSearchVo;
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.archives.service.TAutoFundRuleRelService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tautofundrulerel")
@Tag(name = "社保购买规则明细表管理")
public class TAutoFundRuleRelController {
private final TAutoFundRuleRelService tAutoFundRuleRelService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tAutoFundRuleRel 社保购买规则明细表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TAutoFundRuleRel>> getTAutoFundRuleRelPage(Page<TAutoFundRuleRel> page, TAutoFundRuleRelSearchVo tAutoFundRuleRel) {
return new R<>(tAutoFundRuleRelService.getTAutoFundRuleRelPage(page, tAutoFundRuleRel));
}
/**
* 不分页查询
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_tautofundrulerel_get')" )
public R<List<TAutoFundRuleRel>> getTAutoFundRuleRelNoPage(@RequestBody TAutoFundRuleRelSearchVo tAutoFundRuleRel) {
return R.ok(tAutoFundRuleRelService.noPageDiy(tAutoFundRuleRel));
}
/**
* 通过id查询社保购买规则明细表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tautofundrulerel_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautofundrulerel_get')")
public R<TAutoFundRuleRel> getById(@PathVariable("id") String id) {
return R.ok(tAutoFundRuleRelService.getById(id));
}
/**
* 新增社保购买规则明细表
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return R
*/
@Operation(summary = "新增社保购买规则明细表", description = "新增社保购买规则明细表:hasPermission('social_tautofundrulerel_add')")
@SysLog("新增社保购买规则明细表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tautofundrulerel_add')")
public R<Boolean> save(@RequestBody TAutoFundRuleRel tAutoFundRuleRel) {
return R.ok(tAutoFundRuleRelService.save(tAutoFundRuleRel));
}
/**
* 修改社保购买规则明细表
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return R
*/
@Operation(summary = "修改社保购买规则明细表", description = "修改社保购买规则明细表:hasPermission('social_tautofundrulerel_edit')")
@SysLog("修改社保购买规则明细表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tautofundrulerel_edit')")
public R<Boolean> updateById(@RequestBody TAutoFundRuleRel tAutoFundRuleRel) {
return R.ok(tAutoFundRuleRelService.updateById(tAutoFundRuleRel));
}
/**
* 通过id删除社保购买规则明细表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除社保购买规则明细表", description = "通过id删除社保购买规则明细表:hasPermission('social_tautofundrulerel_del')")
@SysLog("通过id删除社保购买规则明细表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tautofundrulerel_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tAutoFundRuleRelService.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.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@Mapper
public interface TAutoFundRuleInfoMapper extends BaseMapper<TAutoFundRuleInfo> {
/**
* 社保购买规则主表简单分页查询
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return
*/
IPage<TAutoFundRuleInfo> getTAutoFundRuleInfoPage(Page<TAutoFundRuleInfo> page, @Param("tAutoFundRuleInfo") TAutoFundRuleInfo tAutoFundRuleInfo);
}
/*
* 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.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@Mapper
public interface TAutoFundRuleRelMapper extends BaseMapper<TAutoFundRuleRel> {
/**
* 社保购买规则明细表简单分页查询
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return
*/
IPage<TAutoFundRuleRel> getTAutoFundRuleRelPage(Page<TAutoFundRuleRel> page, @Param("tAutoFundRuleRel") TAutoFundRuleRel tAutoFundRuleRel);
}
/*
* 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.archives.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.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleInfoSearchVo;
import java.util.List;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
public interface TAutoFundRuleInfoService extends IService<TAutoFundRuleInfo> {
/**
* 社保购买规则主表简单分页查询
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return
*/
IPage<TAutoFundRuleInfo> getTAutoFundRuleInfoPage(Page<TAutoFundRuleInfo> page, TAutoFundRuleInfoSearchVo tAutoFundRuleInfo);
List<TAutoFundRuleInfo> noPageDiy(TAutoFundRuleInfoSearchVo 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.archives.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.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleRelSearchVo;
import java.util.List;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
public interface TAutoFundRuleRelService extends IService<TAutoFundRuleRel> {
/**
* 社保购买规则明细表简单分页查询
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return
*/
IPage<TAutoFundRuleRel> getTAutoFundRuleRelPage(Page<TAutoFundRuleRel> page, TAutoFundRuleRelSearchVo tAutoFundRuleRel);
List<TAutoFundRuleRel> noPageDiy(TAutoFundRuleRelSearchVo 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.archives.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.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoFundRuleInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoFundRuleInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 公积金购买规则主表
*
* @author fxj
* @date 2025-11-06 16:26:08
*/
@Log4j2
@Service
public class TAutoFundRuleInfoServiceImpl extends ServiceImpl<TAutoFundRuleInfoMapper, TAutoFundRuleInfo> implements TAutoFundRuleInfoService {
/**
* 社保购买规则主表简单分页查询
*
* @param tAutoFundRuleInfo 社保购买规则主表
* @return
*/
@Override
public IPage<TAutoFundRuleInfo> getTAutoFundRuleInfoPage(Page<TAutoFundRuleInfo> page, TAutoFundRuleInfoSearchVo tAutoFundRuleInfo) {
return baseMapper.getTAutoFundRuleInfoPage(page, tAutoFundRuleInfo);
}
@Override
public List<TAutoFundRuleInfo> noPageDiy(TAutoFundRuleInfoSearchVo searchVo) {
LambdaQueryWrapper<TAutoFundRuleInfo> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoFundRuleInfo::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 Long noPageCountDiy(TAutoFundRuleInfoSearchVo searchVo) {
LambdaQueryWrapper<TAutoFundRuleInfo> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoFundRuleInfo::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TAutoFundRuleInfoSearchVo entity) {
LambdaQueryWrapper<TAutoFundRuleInfo> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TAutoFundRuleInfo::getCreateTime, entity.getCreateTimes()[0])
.le(TAutoFundRuleInfo::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TAutoFundRuleInfo::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.archives.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.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoFundRuleRelMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoFundRuleRelService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoFundRuleRelSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 公积金购买规则明细表
*
* @author fxj
* @date 2025-11-06 16:26:07
*/
@Log4j2
@Service
public class TAutoFundRuleRelServiceImpl extends ServiceImpl<TAutoFundRuleRelMapper, TAutoFundRuleRel> implements TAutoFundRuleRelService {
/**
* 社保购买规则明细表简单分页查询
*
* @param tAutoFundRuleRel 社保购买规则明细表
* @return
*/
@Override
public IPage<TAutoFundRuleRel> getTAutoFundRuleRelPage(Page<TAutoFundRuleRel> page, TAutoFundRuleRelSearchVo tAutoFundRuleRel) {
return baseMapper.getTAutoFundRuleRelPage(page, tAutoFundRuleRel);
}
@Override
public List<TAutoFundRuleRel> noPageDiy(TAutoFundRuleRelSearchVo searchVo) {
LambdaQueryWrapper<TAutoFundRuleRel> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoFundRuleRel::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 Long noPageCountDiy(TAutoFundRuleRelSearchVo searchVo) {
LambdaQueryWrapper<TAutoFundRuleRel> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TAutoFundRuleRel::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TAutoFundRuleRelSearchVo entity) {
LambdaQueryWrapper<TAutoFundRuleRel> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TAutoFundRuleRel::getCreateTime, entity.getCreateTimes()[0])
.le(TAutoFundRuleRel::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TAutoFundRuleRel::getCreateName, entity.getCreateName());
}
return wrapper;
}
}
<?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">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoFundRuleInfoMapper">
<resultMap id="tAutoFundRuleInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleInfo">
<id property="id" column="ID"/>
<result property="mainId" column="MAIN_ID"/>
<result property="autoFlag" column="AUTO_FLAG"/>
<result property="startPeriod" column="START_PERIOD"/>
<result property="startTime" column="START_TIME"/>
<result property="confirmPeriod" column="CONFIRM_PERIOD"/>
<result property="confirmTime" column="CONFIRM_TIME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="createBy" column="CREATE_BY"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.MAIN_ID,
a.AUTO_FLAG,
a.START_PERIOD,
a.START_TIME,
a.CONFIRM_PERIOD,
a.CONFIRM_TIME,
a.DEPT_NO,
a.DEPT_ID,
a.CREATE_TIME,
a.UPDATE_TIME,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_NAME
</sql>
<sql id="tAutoFundRuleInfo_where">
<if test="tAutoFundRuleInfo != null">
<if test="tAutoFundRuleInfo.id != null and tAutoFundRuleInfo.id.trim() != ''">
AND a.ID = #{tAutoFundRuleInfo.id}
</if>
<if test="tAutoFundRuleInfo.mainId != null and tAutoFundRuleInfo.mainId.trim() != ''">
AND a.MAIN_ID = #{tAutoFundRuleInfo.mainId}
</if>
<if test="tAutoFundRuleInfo.autoFlag != null and tAutoFundRuleInfo.autoFlag.trim() != ''">
AND a.AUTO_FLAG = #{tAutoFundRuleInfo.autoFlag}
</if>
<if test="tAutoFundRuleInfo.startPeriod != null and tAutoFundRuleInfo.startPeriod.trim() != ''">
AND a.START_PERIOD = #{tAutoFundRuleInfo.startPeriod}
</if>
<if test="tAutoFundRuleInfo.startTime != null and tAutoFundRuleInfo.startTime.trim() != ''">
AND a.START_TIME = #{tAutoFundRuleInfo.startTime}
</if>
<if test="tAutoFundRuleInfo.confirmPeriod != null and tAutoFundRuleInfo.confirmPeriod.trim() != ''">
AND a.CONFIRM_PERIOD = #{tAutoFundRuleInfo.confirmPeriod}
</if>
<if test="tAutoFundRuleInfo.confirmTime != null and tAutoFundRuleInfo.confirmTime.trim() != ''">
AND a.CONFIRM_TIME = #{tAutoFundRuleInfo.confirmTime}
</if>
<if test="tAutoFundRuleInfo.deptNo != null and tAutoFundRuleInfo.deptNo.trim() != ''">
AND a.DEPT_NO = #{tAutoFundRuleInfo.deptNo}
</if>
<if test="tAutoFundRuleInfo.deptId != null and tAutoFundRuleInfo.deptId.trim() != ''">
AND a.DEPT_ID = #{tAutoFundRuleInfo.deptId}
</if>
<if test="tAutoFundRuleInfo.createTime != null">
AND a.CREATE_TIME = #{tAutoFundRuleInfo.createTime}
</if>
<if test="tAutoFundRuleInfo.updateTime != null">
AND a.UPDATE_TIME = #{tAutoFundRuleInfo.updateTime}
</if>
<if test="tAutoFundRuleInfo.createBy != null and tAutoFundRuleInfo.createBy.trim() != ''">
AND a.CREATE_BY = #{tAutoFundRuleInfo.createBy}
</if>
<if test="tAutoFundRuleInfo.updateBy != null and tAutoFundRuleInfo.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tAutoFundRuleInfo.updateBy}
</if>
<if test="tAutoFundRuleInfo.createName != null and tAutoFundRuleInfo.createName.trim() != ''">
AND a.CREATE_NAME = #{tAutoFundRuleInfo.createName}
</if>
</if>
</sql>
<!--tAutoFundRuleInfo简单分页查询-->
<select id="getTAutoFundRuleInfoPage" resultMap="tAutoFundRuleInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_auto_fund_rule_info a
<where>
1=1
<include refid="tAutoFundRuleInfo_where"/>
</where>
</select>
</mapper>
<?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">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoFundRuleRelMapper">
<resultMap id="tAutoFundRuleRelMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoFundRuleRel">
<id property="id" column="ID"/>
<result property="mainId" column="MAIN_ID"/>
<result property="configName" column="CONFIG_NAME"/>
<result property="configHouseId" column="CONFIG_HOUSE_ID"/>
<result property="configHouseName" column="CONFIG_HOUSE_NAME"/>
<result property="fundPerFlag" column="FUND_PER_FLAG"/>
<result property="fundDateType" column="FUND_DATE_TYPE"/>
<result property="paymentType" column="PAYMENT_TYPE"/>
<result property="fundBase" column="FUND_BASE"/>
<result property="fundCompanyPer" column="FUND_COMPANY_PER"/>
<result property="fundPersonalPer" column="FUND_PERSONAL_PER"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="province" column="PROVINCE"/>
<result property="city" column="CITY"/>
<result property="town" column="TOWN"/>
<result property="upperLimit" column="UPPER_LIMIT"/>
<result property="lowerLimit" column="LOWER_LIMIT"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.MAIN_ID,
a.CONFIG_NAME,
a.CONFIG_HOUSE_ID,
a.CONFIG_HOUSE_NAME,
a.FUND_PER_FLAG,
a.FUND_DATE_TYPE,
a.PAYMENT_TYPE,
a.FUND_BASE,
a.FUND_COMPANY_PER,
a.FUND_PERSONAL_PER,
a.DEPT_NO,
a.DEPT_ID,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.PROVINCE,
a.CITY,
a.TOWN,
a.UPPER_LIMIT,
a.LOWER_LIMIT
</sql>
<sql id="tAutoFundRuleRel_where">
<if test="tAutoFundRuleRel != null">
<if test="tAutoFundRuleRel.id != null and tAutoFundRuleRel.id.trim() != ''">
AND a.ID = #{tAutoFundRuleRel.id}
</if>
<if test="tAutoFundRuleRel.mainId != null and tAutoFundRuleRel.mainId.trim() != ''">
AND a.MAIN_ID = #{tAutoFundRuleRel.mainId}
</if>
<if test="tAutoFundRuleRel.configName != null and tAutoFundRuleRel.configName.trim() != ''">
AND a.CONFIG_NAME = #{tAutoFundRuleRel.configName}
</if>
<if test="tAutoFundRuleRel.configHouseId != null and tAutoFundRuleRel.configHouseId.trim() != ''">
AND a.CONFIG_HOUSE_ID = #{tAutoFundRuleRel.configHouseId}
</if>
<if test="tAutoFundRuleRel.configHouseName != null and tAutoFundRuleRel.configHouseName.trim() != ''">
AND a.CONFIG_HOUSE_NAME = #{tAutoFundRuleRel.configHouseName}
</if>
<if test="tAutoFundRuleRel.fundPerFlag != null and tAutoFundRuleRel.fundPerFlag.trim() != ''">
AND a.FUND_PER_FLAG = #{tAutoFundRuleRel.fundPerFlag}
</if>
<if test="tAutoFundRuleRel.fundDateType != null and tAutoFundRuleRel.fundDateType.trim() != ''">
AND a.FUND_DATE_TYPE = #{tAutoFundRuleRel.fundDateType}
</if>
<if test="tAutoFundRuleRel.paymentType != null and tAutoFundRuleRel.paymentType.trim() != ''">
AND a.PAYMENT_TYPE = #{tAutoFundRuleRel.paymentType}
</if>
<if test="tAutoFundRuleRel.fundBase != null">
AND a.FUND_BASE = #{tAutoFundRuleRel.fundBase}
</if>
<if test="tAutoFundRuleRel.fundCompanyPer != null and tAutoFundRuleRel.fundCompanyPer.trim() != ''">
AND a.FUND_COMPANY_PER = #{tAutoFundRuleRel.fundCompanyPer}
</if>
<if test="tAutoFundRuleRel.fundPersonalPer != null and tAutoFundRuleRel.fundPersonalPer.trim() != ''">
AND a.FUND_PERSONAL_PER = #{tAutoFundRuleRel.fundPersonalPer}
</if>
<if test="tAutoFundRuleRel.deptNo != null and tAutoFundRuleRel.deptNo.trim() != ''">
AND a.DEPT_NO = #{tAutoFundRuleRel.deptNo}
</if>
<if test="tAutoFundRuleRel.deptId != null and tAutoFundRuleRel.deptId.trim() != ''">
AND a.DEPT_ID = #{tAutoFundRuleRel.deptId}
</if>
<if test="tAutoFundRuleRel.createBy != null and tAutoFundRuleRel.createBy.trim() != ''">
AND a.CREATE_BY = #{tAutoFundRuleRel.createBy}
</if>
<if test="tAutoFundRuleRel.createName != null and tAutoFundRuleRel.createName.trim() != ''">
AND a.CREATE_NAME = #{tAutoFundRuleRel.createName}
</if>
<if test="tAutoFundRuleRel.createTime != null">
AND a.CREATE_TIME = #{tAutoFundRuleRel.createTime}
</if>
<if test="tAutoFundRuleRel.updateBy != null and tAutoFundRuleRel.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tAutoFundRuleRel.updateBy}
</if>
<if test="tAutoFundRuleRel.updateTime != null">
AND a.UPDATE_TIME = #{tAutoFundRuleRel.updateTime}
</if>
<if test="tAutoFundRuleRel.province != null">
AND a.PROVINCE = #{tAutoFundRuleRel.province}
</if>
<if test="tAutoFundRuleRel.city != null">
AND a.CITY = #{tAutoFundRuleRel.city}
</if>
<if test="tAutoFundRuleRel.town != null">
AND a.TOWN = #{tAutoFundRuleRel.town}
</if>
<if test="tAutoFundRuleRel.upperLimit != null">
AND a.UPPER_LIMIT = #{tAutoFundRuleRel.upperLimit}
</if>
<if test="tAutoFundRuleRel.lowerLimit != null">
AND a.LOWER_LIMIT = #{tAutoFundRuleRel.lowerLimit}
</if>
</if>
</sql>
<!--tAutoFundRuleRel简单分页查询-->
<select id="getTAutoFundRuleRelPage" resultMap="tAutoFundRuleRelMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_auto_fund_rule_rel a
<where>
1=1
<include refid="tAutoFundRuleRel_where"/>
</where>
</select>
</mapper>
......@@ -266,6 +266,10 @@ public interface CommonConstants {
char DOWN_LINE_CHAR ='_';
// 冒号 :
String COLON_STRING =":";
// 分号 ;
String SEMICOLON_STRING = ";";
// - 横 分割线 中
String CENTER_SPLIT_LINE_STRING = "-";
// 斜杠
......
......@@ -217,4 +217,13 @@ public class ExcelAttributeConstants {
public static final String GZ_PROBATION = "gz_probation";
// 瓜子的星座
public static final String GZ_CONSTEL = "gz_constel";
// 社保缴纳月份
public static final String SOCIAL_MONTH_TYPE = "social_month_type";
// 社保可补交月份
public static final String SOCIAL_OVERPAY_MOTH = "social_overpay_month";
// 公积金单边小数点
public static final String FUND_POINT_TYPE = "fund_point_type";
}
......@@ -766,4 +766,48 @@ public class Common {
}
return R.ok(errorMessageList);
}
/**
* 创建一个包含指定元素的Set集合
*
* @param elements 要包含在Set中的元素
* @param <T> 元素类型
* @return 包含指定元素的Set集合
*/
public static <T> Set<T> getSet(T... elements) {
Set<T> set = new HashSet<>();
if (elements != null) {
Collections.addAll(set, elements);
}
return set;
}
/**
* 校验字符串是否符合格式 10,10;12,13
* @param str 待校验的字符串
* @return 符合格式返回true,否则返回false
*/
public static boolean validateFormat(String str) {
// 如果字符串为空或null,则不符合格式
if (str == null || str.isEmpty()) {
return false;
}
// 使用正则表达式匹配格式
// 格式要求: 数字,数字;数字,数字;...
// 其中数字为一个或多个数字字符
return str.matches("\\d+,\\d+(;\\d+,\\d+)*");
}
/**
* 校验字符串是否符合格式 2025-11
* @param str 待校验的字符串
* @return 符合格式返回true,否则返回false
*/
public static boolean validateFormatYearMonth(String str) {
// 如果字符串为空或null,则不符合格式
if (str == null || str.isEmpty()) {
return false;
}
return str.matches("\\d{4}-\\d{2}");
}
}
......@@ -1201,6 +1201,52 @@ public class DateUtil {
return str;
}
/**
* 获取指定月份
* @Author fxj
* @Date 2019-10-16
* @param yearMonth 格式 :LocalDateTime
* @param i
* @return
* @Description (获取指定日期后指定 ( i)个月的时间YYYYMM)
**/
public static String getYearAndMonth(Date yearMonth, int i){
String str ="";
if(yearMonth != null) {
Calendar c1 = Calendar.getInstance();
c1.setTime(yearMonth);
c1.set(Calendar.DAY_OF_MONTH, 1);
c1.set(Calendar.MONTH, c1.get(Calendar.MONTH) + i);
int year = c1.get(Calendar.YEAR);
int month = c1.get(Calendar.MONTH) + 1; // Calendar month is 0-based, convert to 1-based
str = year + (month < 10 ? "0" + month : Integer.toString(month));
}
return str;
}
/**
* 获取指定月份
* @Author fxj
* @Date 2019-10-16
* @param yearMonth 格式 :LocalDateTime
* @param i
* @return
* @Description (获取指定日期后指定 ( i)个月的时间YYYYMM)
**/
public static String getYearAndMonth(Date yearMonth, int i,String split){
String str ="";
if(yearMonth != null) {
Calendar c1 = Calendar.getInstance();
c1.setTime(yearMonth);
c1.set(Calendar.DAY_OF_MONTH, 1);
c1.set(Calendar.MONTH, c1.get(Calendar.MONTH) + i);
int year = c1.get(Calendar.YEAR);
int month = c1.get(Calendar.MONTH) + 1; // Calendar month is 0-based, convert to 1-based
str = year +split+ (month < 10 ? "0" + month : Integer.toString(month));
}
return str;
}
/**
* @param i 加减年份
* @Description: 获取当前年月,对年月加减(yyyyMM)
......
......@@ -53,7 +53,7 @@ public class TSocialFriendReduceSet {
@Schema(description = "减少原因")
private String reduceReasonName;
/**
* 中断原因
* 中断原因(池州特殊减员映射1:减员原因
*/
@ExcelAttribute(name = "中断原因", maxLength = 32)
@Length(max = 32, message = "中断原因不能超过32个字符")
......@@ -61,7 +61,7 @@ public class TSocialFriendReduceSet {
@Schema(description = "中断原因")
private String tbyy;
/**
* 劳动用工备案解除/终止原因
* 劳动用工备案解除/终止原因(池州特殊减员映射2:劳动用工备案解除/终止原因
*/
@ExcelAttribute(name = "劳动用工备案解除/终止原因", maxLength = 32)
@Length(max = 32, message = "劳动用工备案解除/终止原因不能超过32个字符")
......@@ -86,12 +86,12 @@ public class TSocialFriendReduceSet {
@Schema(description = "离职原因")
private String mvpKey;
/**
* 类型1:社保;2:医保
* 类型1:社保;2:医保;3池州特殊减员映射
*/
@ExcelAttribute(name = "类型", maxLength = 32)
@Length(max = 32, message = "类型")
@ExcelProperty("类型")
@Schema(description = "类型1:社保;2:医保")
@Schema(description = "类型1:社保;2:医保;3池州特殊减员映射")
private String mvpType;
}
......@@ -2,6 +2,9 @@ package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
......@@ -201,4 +204,18 @@ public class SociaFriendYgsAddVo implements Serializable {
@ExcelProperty("是否强制停保" )
private String sfqztb;
// 池州特殊减员映射1:减员原因
@ExcelProperty("池州特殊减员映射1:减员原因")
private String chiZhouTbyy;
// 池州特殊减员映射2:劳动用工备案解除/终止原因
@ExcelProperty("池州特殊减员映射2:劳动用工备案解除/终止原因")
private String chiZhouZzyy;
@ExcelProperty("身份证省" )
private String idCardProvince;
@ExcelProperty("身份证市" )
private String idCardCity;
@ExcelProperty("身份证县" )
private String idCardTown;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author fxj
* @Date 2025/10/11
* @Description
* @Version 1.0
*/
@Data
public class SysBaseSetFundExportVo implements Serializable {
/**
* 公积金户
*/
@ExcelAttribute(name = "公积金户",isNotEmpty = true)
@Schema(description = "公积金户")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金户")
private String departName;
/**
* 公积金类型 0.市直 1. 省直
*/
@ExcelAttribute(name = "公积金类型",isNotEmpty = true,readConverterExp = "0=市直,1=省直")
@Schema(description = "公积金类型 0.市直 1. 省直")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金类型")
private String fundPayType;
/**
* 公积金缴纳地:安徽省-合肥市-肥东县
*/
@ExcelAttribute(name = "公积金缴纳地",isNotEmpty = true)
@Schema(description = "公积金缴纳地")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金缴纳地")
private String provinceStr;
/**
* 0.在用1.终止2过期
*/
@ExcelAttribute(name = "状态",readConverterExp = "0=在用,1=终止,2=过期")
@Schema(description = "状态")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("状态")
private String status;
/**
* 适用周期
*/
@ExcelAttribute(name = "适用周期")
@Schema(description = "适用周期")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("适用周期")
private String applyStartDate;
/**
* 执行月份
*/
@ExcelAttribute(name = "执行月份",isNotEmpty = true)
@Schema(description = "执行月份")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("执行月份")
private String doMonth;
/**
* 基数下限
*/
@ExcelAttribute(name = "基数下限",isNotEmpty = true)
@Schema(description = "基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("基数下限")
private BigDecimal lowerLimit;
/**
* 基数上限
*/
@ExcelAttribute(name = "基数上限",isNotEmpty = true)
@Schema(description = "基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("基数上限")
private BigDecimal upperLimit;
/**
* 单边小数点:1:四舍五入取整 2:元以下舍去 3:见角进元 4:保留两位小数 5:保留一位小数 6:见分进元
*/
@ExcelAttribute(name = "单边小数点",isNotEmpty = true,readConverterExp = "1=四舍五入取整,2=元以下舍去,3=见角进元,4=保留两位小数,5=保留一位小数,6=见分进元")
@Schema(description = "单边小数点")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("单边小数点")
private String fundPayPoint;
/**
* 单位公积金比例,个人公积金比例:10,10;12,13
*/
@ExcelAttribute(name = "单位公积金比例,个人公积金比例",isNotEmpty = true)
@Schema(description = "单位公积金比例,个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("单位公积金比例,个人公积金比例")
private String housingFundPro;
/**
* 是否可以补缴: 0:是,1:否
*/
@ExcelAttribute(name = "是否可补缴",isNotEmpty = true,readConverterExp = "0=是,1=否")
@Schema(description = "是否可补缴: 0:是,1:否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否可补缴")
private String canOverpay;
/**
* 最大补缴期限:1:一月、2:二月 ...... 12:十二月
*/
@ExcelAttribute(name = "最大补缴期限",readConverterExp = "1=一个月,2=二个月,3=三个月,4=四个月,5=五个月,6=六个月,7=七个月,8=八个月,9=九个月,10=十个月,11=十一个月,12=十二个月")
@Schema(description = "最大补缴期限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("最大补缴期限")
private String overpayNumber;
/**
* 是否含起缴当月: 0:是,1:否
*/
@ExcelAttribute(name = "是否含起缴当月",readConverterExp = "0=是,1=否")
@Schema(description = "是否含起缴当月: 0:是,1:否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否含起缴当月")
private String haveThisMonth;
/**
* 补缴基数:0:最新基数、1:当期基数
*/
@ExcelAttribute(name = "补缴基数",readConverterExp = "0=最新基数,1=当期基数")
@Schema(description = "补缴基数")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("补缴基数")
private String insuranceIsLatestCardinality;
/**
* 补缴政策
*/
@ExcelAttribute(name = "补缴政策")
@Schema(description = "补缴政策")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("补缴政策")
private String payPolicy;
}
package com.yifu.cloud.plus.v1.yifu.social.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author fxj
* @Date 2025/11/14
* @Description
* @Version 1.0
*/
@Data
public class SysBaseSetFundInsertVo extends RowIndex implements Serializable {
/**
* 公积金户
*/
@ExcelAttribute(name = "公积金户",isNotEmpty = true)
@Schema(description = "公积金户")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金户")
private String departName;
/**
* 公积金缴纳地:安徽省-合肥市-肥东县
*/
@ExcelAttribute(name = "公积金缴纳地",isNotEmpty = true)
@Schema(description = "公积金缴纳地")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金缴纳地")
private String provinceStr;
/**
* 公积金类型 0.市直 1. 省直
*/
@ExcelAttribute(name = "公积金类型",isNotEmpty = true,readConverterExp = "0=市直,1=省直")
@Schema(description = "公积金类型 0.市直 1. 省直")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金类型")
private String fundPayType;
/**
* 适用起始月份
*/
@ExcelAttribute(name = "适用起始月份",isNotEmpty = true)
@Schema(description = "适用起始月份")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("适用起始月份")
private String applyStartDate;
/**
* 执行月份
*/
@ExcelAttribute(name = "执行月份",isNotEmpty = true)
@Schema(description = "执行月份")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("执行月份")
private String doMonth;
/**
* 基数上限
*/
@ExcelAttribute(name = "基数上限",isNotEmpty = true)
@Schema(description = "基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("基数上限")
private BigDecimal upperLimit;
/**
* 基数下限
*/
@ExcelAttribute(name = "基数下限",isNotEmpty = true)
@Schema(description = "基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("基数下限")
private BigDecimal lowerLimit;
/**
* 单边小数点:1:四舍五入取整 2:元以下舍去 3:见角进元 4:保留两位小数 5:保留一位小数 6:见分进元
*/
@ExcelAttribute(name = "单边小数点",isDataId = true,dataType = ExcelAttributeConstants.FUND_POINT_TYPE,isNotEmpty = true,readConverterExp = "1=四舍五入取整,2=元以下舍去,3=见角进元,4=保留两位小数,5=保留一位小数,6=见分进元")
@Schema(description = "单边小数点")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("单边小数点")
private String fundPayPoint;
/**
* 单位公积金比例,个人公积金比例:10,10;12,13
*/
@ExcelAttribute(name = "单位公积金比例,个人公积金比例",isNotEmpty = true)
@Schema(description = "单位公积金比例,个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("单位公积金比例,个人公积金比例")
private String housingFundPro;
/**
* 是否可以补缴: 0:是,1:否
*/
@ExcelAttribute(name = "是否可补缴",isNotEmpty = true,readConverterExp = "0=是,1=否")
@Schema(description = "是否可补缴: 0:是,1:否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否可补缴")
private String canOverpay;
/**
* 最大补缴期限:1:一月、2:二月 ...... 12:十二月
*/
@ExcelAttribute(name = "最大补缴期限",isDataId = true,dataType = ExcelAttributeConstants.SOCIAL_OVERPAY_MOTH,readConverterExp = "1=一个月,2=二个月,3=三个月,4=四个月,5=五个月,6=六个月,7=七个月,8=八个月,9=九个月,10=十个月,11=十一个月,12=十二个月")
@Schema(description = "最大补缴期限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("最大补缴期限")
private String overpayNumber;
/**
* 是否含起缴当月: 0:是,1:否
*/
@ExcelAttribute(name = "是否含起缴当月",readConverterExp = "0=是,1=否")
@Schema(description = "是否含起缴当月: 0:是,1:否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否含起缴当月")
private String haveThisMonth;
/**
* 补缴基数:0:最新基数、1:当期基数
*/
@ExcelAttribute(name = "补缴基数",readConverterExp = "0=最新基数,1=当期基数")
@Schema(description = "补缴基数")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("补缴基数")
private String insuranceIsLatestCardinality;
/**
* 补缴政策
*/
@ExcelAttribute(name = "补缴政策")
@Schema(description = "补缴政策")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("补缴政策")
private String payPolicy;
}
/*
* 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.social.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 基数设置表
*
* @author fxj
* @date 2025-11-04 14:50:51
*/
@Data
public class SysBaseSetInfoSearchVo extends SysBaseSetInfo{
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
}
......@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
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.bean.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
......@@ -30,13 +31,17 @@ import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion;
import com.yifu.cloud.plus.v1.yifu.social.service.SysBaseSetInfoService;
import com.yifu.cloud.plus.v1.yifu.social.service.SysPayProportionService;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetInfoVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
......@@ -194,4 +199,53 @@ public class SysBaseSetInfoController {
BeanCopyUtils.copyProperties(baseSetInfo,sysBaseSetInfoVo);
return sysBaseSetInfoVo;
}
/**
* 基数设置表 批量导入社保基数
*
* @author fxj
* @Date 2025-11-04 14:50:51
**/
@SneakyThrows
@Operation(description = "批量新增社保基数设置表")
@SysLog("批量新增社保基数设置表")
@PostMapping("/importListAddSocial")
public R<List<ErrorMessage>> importListAddSocial(@RequestBody MultipartFile file){
return sysBaseSetInfoService.importSocialDiy(file.getInputStream());
}
/**
* 基数设置表 批量导出社保基数
* @author fxj
* @Date 2025-11-04 14:50:51
**/
@Operation(description = "导出社保基数设置表")
@PostMapping("/exportSocial")
public void exportSocial(HttpServletResponse response, @RequestBody SysBaseSetInfo searchVo) {
sysBaseSetInfoService.listSocialExport(response,searchVo);
}
/**
* 基数设置表 批量导入公积金基数
*
* @author fxj
* @Date 2025-11-04 14:50:51
**/
@SneakyThrows
@Operation(description = "批量新增公积金基数设置表")
@SysLog("批量新增公积金基数设置表")
@PostMapping("/importListAddFund")
public R<List<ErrorMessage>> importListAddFund(@RequestBody MultipartFile file){
return sysBaseSetInfoService.importFundDiy(file.getInputStream());
}
/**
* 基数设置表 批量导出公积金基数
* @author fxj
* @Date 2025-11-04 14:50:51
**/
@Operation(description = "导出公积金基数设置表")
@PostMapping("/exportFund")
public void exportFund(HttpServletResponse response, @RequestBody SysBaseSetInfo searchVo) {
sysBaseSetInfoService.listFundExport(response,searchVo);
}
}
......@@ -21,6 +21,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetFundExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetSocialExportVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -42,6 +44,10 @@ public interface SysBaseSetInfoMapper extends BaseMapper<SysBaseSetInfo> {
*/
IPage<SysBaseSetInfo> getSysBaseSetInfoPage(Page<SysBaseSetInfo> page, @Param("sysBaseSetInfo") SysBaseSetInfo sysBaseSetInfo);
List<SysBaseSetSocialExportVo> noPageSocialDiy(@Param("sysBaseSetInfo") SysBaseSetInfo sysBaseSetInfo);
List<SysBaseSetFundExportVo> noPageFundDiy(@Param("sysBaseSetInfo") SysBaseSetInfo sysBaseSetInfo);
List<SysBaseSetInfo> getAllByEntity(@Param("sysBaseSetInfo")SysBaseSetInfo sysBaseSetInfo);
/**
......
......@@ -80,4 +80,5 @@ public interface SysHouseHoldInfoMapper extends BaseMapper<SysHouseHoldInfo> {
**/
List<SysHouseHoldInfo> getHouseInfoAutoDoc();
List<SysHouseHoldInfo> getSysHouseHoldNoPage(@Param("sysHouseHoldInfo")SysHouseHoldInfo enity);
}
......@@ -20,9 +20,14 @@ package com.yifu.cloud.plus.v1.yifu.social.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.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.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetInfoSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
/**
......@@ -68,4 +73,14 @@ public interface SysBaseSetInfoService extends IService<SysBaseSetInfo> {
Map<String, SysBaseSetInfo> getSysBaseSetInfoMap(String baseType);
R<Boolean> updateByIdAsso(String id,int status);
R<List<ErrorMessage>> importSocialDiy(InputStream inputStream);
void listSocialExport(HttpServletResponse response, SysBaseSetInfo searchVo);
R<List<ErrorMessage>> importFundDiy(InputStream inputStream);
void listFundExport(HttpServletResponse response, SysBaseSetInfo searchVo);
}
......@@ -102,6 +102,7 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
@Autowired
private TDispatchInfoMapper dispatchInfoMapper;
private final static String AND_STR = "&";
/**
* @Description: 推送到税友
* @Author: hgw
......@@ -118,17 +119,19 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
// 通用的模板+查到的户的模板map
Map<String, URL> templateSrcMap = new HashMap<>();
// 通用的花名册模板
List<TAttaInfo> srcList = attaInfoMapper.getTemplateSrcById();
// 2025-11-4 17:45:38 1.7.17-税友临时分支,此处代码暂时注释掉,因为需求(陈红)说暂时不要通用花名册模板,后面有可能还是要通用花名册模板
// List<TAttaInfo> srcList = attaInfoMapper.getTemplateSrcById();
URL url;
if (srcList != null && !srcList.isEmpty()) {
/*if (srcList != null && !srcList.isEmpty()) {
for (TAttaInfo src : srcList) {
url = ossUtil.getObjectUrl(null, src.getAttaSrc());
templateSrcMap.put("template_" + src.getId(), url);
}
}
}*/
// 离职原因Map,将离职原因翻译为税友的字典
Map<String, TSocialFriendReduceSet> reduceYgsMap = tSocialFriendReduceSetService.getFriendReduceMap(CommonConstants.ONE_STRING);
Map<String, TSocialFriendReduceSet> reduceYsdMap = tSocialFriendReduceSetService.getFriendReduceMap(CommonConstants.TWO_STRING);
Map<String, TSocialFriendReduceSet> reduceChiZhouMap = tSocialFriendReduceSetService.getFriendReduceMap(CommonConstants.THREE_STRING);
// 获取时间限制配置(获取 当月启用 的配置)
Map<String, TSocialDeadlineInfo> socialSetMap = tSocialDeadlineInfoService.getSocialSetByAreaId();
......@@ -151,23 +154,23 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
// 养工失新增列表
List<SociaFriendYgsAddVo> ygsAddlist = baseMapper.getSocialSoldierYgsAddVoList(dispatchIdList);
if (ygsAddlist != null && !ygsAddlist.isEmpty()) {
this.doPushSocialAndLogYgs(socialSetMap, ygsAddlist, 1, reduceYgsMap, zhangMap, templateUrl, templateSrcMap);
this.doPushSocialAndLogYgs(socialSetMap, ygsAddlist, 1, reduceYgsMap, zhangMap, templateUrl, templateSrcMap, reduceChiZhouMap);
}
// 养工失减少列表
List<SociaFriendYgsAddVo> ygsReducelist = baseMapper.getSocialSoldierYgsReduceVoList(dispatchIdList);
if (ygsReducelist != null && !ygsReducelist.isEmpty()) {
this.doPushSocialAndLogYgs(socialSetMap, ygsReducelist, 2, reduceYgsMap, zhangMap, templateUrl, templateSrcMap);
this.doPushSocialAndLogYgs(socialSetMap, ygsReducelist, 2, reduceYgsMap, zhangMap, templateUrl, templateSrcMap, reduceChiZhouMap);
}
// 医生大新增列表
List<SociaFriendYgsAddVo> ysdAddlist = baseMapper.getSocialSoldierYsdAddVoList(dispatchIdList);
if (ysdAddlist != null && !ysdAddlist.isEmpty()) {
this.doPushSocialAndLogYsd(socialSetMap, ysdAddlist, 3, reduceYsdMap, zhangMap, templateUrl, templateSrcMap);
this.doPushSocialAndLogYsd(socialSetMap, ysdAddlist, 3, reduceYsdMap, zhangMap, templateUrl, templateSrcMap, reduceChiZhouMap);
}
// 医生大减少列表
List<SociaFriendYgsAddVo> ysdReducelist = baseMapper.getSocialSoldierYsdReduceVoList(dispatchIdList);
if (ysdReducelist != null && !ysdReducelist.isEmpty()) {
this.doPushSocialAndLogYsd(socialSetMap, ysdReducelist, 4, reduceYsdMap, zhangMap, templateUrl, templateSrcMap);
this.doPushSocialAndLogYsd(socialSetMap, ysdReducelist, 4, reduceYsdMap, zhangMap, templateUrl, templateSrcMap, reduceChiZhouMap);
}
if ((ygsAddlist == null || ygsAddlist.isEmpty())
&& (ygsReducelist == null || ygsReducelist.isEmpty())
......@@ -195,7 +198,8 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
**/
private R<String> doPushSocialAndLogYgs(Map<String, TSocialDeadlineInfo> socialSetMap
, List<SociaFriendYgsAddVo> ygsAddlist, int type, Map<String, TSocialFriendReduceSet> reduceMap
, Map<String, URL> zhangMap, URL templateUrl, Map<String, URL> templateSrcMap) {
, Map<String, URL> zhangMap, URL templateUrl, Map<String, URL> templateSrcMap
, Map<String, TSocialFriendReduceSet> reduceChiZhouMap) {
int canPushType;
TSocialInfo socialInfo;
String typeStr = "提交";
......@@ -234,6 +238,11 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
vo = ygsAddlist.get(index);
// 派减离职原因转化:
if (type == 2 && Common.isNotNull(vo.getTbyy())) {
reduceSet = reduceChiZhouMap.get(vo.getTbyy());
if (reduceSet != null) {
vo.setChiZhouTbyy(reduceSet.getTbyy());
vo.setChiZhouZzyy(reduceSet.getZzyy());
}
reduceSet = reduceMap.get(vo.getTbyy());
if (reduceSet != null) {
vo.setTbyy(reduceSet.getTbyy());
......@@ -486,7 +495,8 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
**/
private void doPushSocialAndLogYsd(Map<String, TSocialDeadlineInfo> socialSetMap
, List<SociaFriendYgsAddVo> ysdAddlist, int type, Map<String, TSocialFriendReduceSet> reduceMap
, Map<String, URL> zhangMap, URL templateUrl, Map<String, URL> templateSrcMap) {
, Map<String, URL> zhangMap, URL templateUrl, Map<String, URL> templateSrcMap
, Map<String, TSocialFriendReduceSet> reduceChiZhouMap) {
int canPushType;
TSocialInfo socialInfo;
String typeStr = "提交";
......@@ -540,6 +550,11 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
} else {*/
// 派减离职原因转化:
if (type == 4 && Common.isNotNull(vo.getTbyy())) {
reduceSet = reduceChiZhouMap.get(vo.getTbyy());
if (reduceSet != null) {
vo.setChiZhouTbyy(reduceSet.getTbyy());
vo.setChiZhouZzyy(reduceSet.getZzyy());
}
reduceSet = reduceMap.get(vo.getTbyy());
if (reduceSet != null) {
vo.setTbyy(reduceSet.getTbyy());
......@@ -1518,7 +1533,7 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
}
if (key.contains(CommonConstants.QIAN_MING)) {
// 签名样式
qianMingArr = key.split("&");
qianMingArr = key.split(AND_STR);
if (qianMingArr.length>1) {
key = qianMingArr[1];
} else {
......@@ -1528,11 +1543,18 @@ public class TSocialFriendPushServiceImpl extends ServiceImpl<TSocialFriendMappe
setQianMingStyle(cell, newValue);
} else if (key.contains(CommonConstants.GU_DING)) {
// 固定文字
qianMingArr = key.split("&");
qianMingArr = key.split(AND_STR);
if (qianMingArr.length>1) {
key = qianMingArr[1];
cell.setCellValue(key);
}
} else if (key.contains(AND_STR)) {
qianMingArr = key.split(AND_STR);
newValue = "";
for (String s : qianMingArr) {
newValue += getFieldValue(vo, s);
}
cell.setCellValue(newValue);
} else {
newValue = getFieldValue(vo, key);
cell.setCellValue(newValue);
......
......@@ -464,4 +464,119 @@
</where>
limit 1
</select>
<select id="noPageSocialDiy" resultType="com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetSocialExportVo">
select
a.DEPART_NAME departName,
CONCAT_WS('-',
CASE WHEN a1.id is NOT NULL THEN a1.AREA_NAME ELSE NULL END,
CASE WHEN a2.id is NOT NULL THEN a2.AREA_NAME ELSE NULL END,
CASE WHEN a3.id is NOT NULL THEN a3.AREA_NAME ELSE NULL END
) as province,
a.STATUS 'status',
CONCAT(a.APPLY_START_DATE,'~',IF(a.APPLY_END_DATE is NULL,"永久",a.APPLY_END_DATE)) applyStartDate,
a.APPLY_START_DATE applyStartDate,
a.DO_MONTH doMonth,
a.IS_SAME_BASE isSameBase,
a.LOWER_PERSION lowerPersion,
a.UP_PERSION upPersion,
a.LOWER_INJURY lowerInjury,
a.UP_INJURY upInjury,
a.LOWER_MEDICAL lowerMedical,
a.UP_MEDICAL upMedical,
a.LOWER_BIRTH lowerBirth,
a.UP_BIRTH upBirth,
a.LOWER_UNEMPLOYMENT lowerUnemployment,
a.UP_UNEMPLOYMENT upUnemployment,
a.LOWER_BIG lowerBig,
a.UP_BIG upBig,
a.IS_ILLNESS isIllness,
a.COLLECT_TYPE collectType,
a.IS_CHARGE_PERSONAL isChargePersonal,
a.COLLECT_MOTH collectMoth,
a.VALUE_TYPE valueType,
a.CHARGE_COMPANY chargeCompany,
a.CHARGE_PERSONAL chargePersonal,
a.UNIT_MEDICAL_PRO unitMedicalPro,
a.PERSONAL_MEDICAL_PRO personalMedicalPro,
a.UNIT_BIRTH_PRO unitBirthPro,
a.UNIT_PERSION_PRO unitPersionPro,
a.PERSONAL_PERSION_PRO personalPersionPro,
a.UNIT_INJURY_PRO unitInjuryPro,
a.UNIT_UNEMPLOYMENT_PRO unitUnemploymentPro,
a.PERSONAL_UNEMPLOYMENT_PRO personalUnemploymentPro,
a.PAY_COMPANY_PRO payCompanyPro,
a.PAY_PERSONAL_PRO payPersonalPro,
a.CAN_OVERPAY canOverpay,
a.UNIT_PRO_SUM unitProSum,
a.PERSONAL_PRO_SUM personalProSum,
CONCAT_WS(',',
CASE WHEN a.INSURANCE_PENSION=0 THEN '养老' ELSE NULL END,
CASE WHEN a.INSURANCE_MEDICAL=0 THEN '医疗' ELSE NULL END,
CASE WHEN a.INSURANCE_INJURY=0 THEN '工伤' ELSE NULL END,
CASE WHEN a.INSURANCE_UNEMPLOYMENT=0 THEN '失业' ELSE NULL END,
CASE WHEN a.INSURANCE_BIRTH=0 THEN '生育' ELSE NULL END,
CASE WHEN a.INSURANCE_BIGAILMENT=0 THEN '大病' ELSE NULL END
) as insurancePension,
a.OVERPAY_NUMBER overpayNumber,
a.HAVE_THIS_MONTH haveThisMonth,
a.INSURANCE_IS_LATEST_CARDINALITY insuranceIsLatestCardinality,
a.PAY_POLICY payPolicy
FROM sys_base_set_info a
LEFT JOIN sys_area a1 on a1.id=a.PROVINCE
LEFT JOIN sys_area a2 on a2.id=a.CITY
LEFT JOIN sys_area a3 on a3.id=a.TOWN
<where>
a.DELETE_FLAG='0'
and a.BASE_TYPE ='0'
<include refid="sysBaseSetInfo_where"/>
</where>
order by a.CREATE_TIME desc
</select>
<select id="noPageFundDiy" resultType="com.yifu.cloud.plus.v1.yifu.social.vo.SysBaseSetFundExportVo">
select
a.DEPART_NAME departName,
a.FUND_PAY_TYPE fundPayType,
CONCAT_WS('-',
CASE WHEN a1.id is NOT NULL THEN a1.AREA_NAME ELSE NULL END,
CASE WHEN a2.id is NOT NULL THEN a2.AREA_NAME ELSE NULL END,
CASE WHEN a3.id is NOT NULL THEN a3.AREA_NAME ELSE NULL END
) as provinceStr,
a.STATUS 'status',
CONCAT(a.APPLY_START_DATE,'~',IF(a.APPLY_END_DATE is NULL,"永久",a.APPLY_END_DATE)) applyStartDate,
a.DO_MONTH doMonth,
a.LOWER_LIMIT lowerLimit,
a.UPPER_LIMIT upperLimit,
a.FUND_PAY_POINT fundPayPoint,
fp.pro housingFundPro,
a.CAN_OVERPAY canOverpay,
a.OVERPAY_NUMBER overpayNumber,
a.HAVE_THIS_MONTH haveThisMonth,
a.INSURANCE_IS_LATEST_CARDINALITY insuranceIsLatestCardinality,
a.PAY_POLICY payPolicy
FROM sys_base_set_info a
LEFT JOIN sys_area a1 on a1.id=a.PROVINCE
LEFT JOIN sys_area a2 on a2.id=a.CITY
LEFT JOIN sys_area a3 on a3.id=a.TOWN
LEFT JOIN
(select GROUP_CONCAT(CONCAT(
CASE
WHEN p.COMPANY_PRO = TRUNCATE(p.COMPANY_PRO, 0) THEN FORMAT(p.COMPANY_PRO, 0)
ELSE FORMAT(p.COMPANY_PRO, 2)
END,
',',
CASE
WHEN p.PERSONAL_PRO = TRUNCATE(p.PERSONAL_PRO, 0) THEN FORMAT(p.PERSONAL_PRO, 0)
ELSE FORMAT(p.PERSONAL_PRO, 2)
END) SEPARATOR ';') as pro,p.SYS_BASE_SET_ID from sys_pay_proportion p GROUP BY p.SYS_BASE_SET_ID)
fp on fp.SYS_BASE_SET_ID=a.ID
<where>
a.DELETE_FLAG='0'
and a.BASE_TYPE ='1'
<include refid="sysBaseSetInfo_where"/>
</where>
order by a.CREATE_TIME desc
</select>
</mapper>
......@@ -198,6 +198,18 @@
order by a.CREATE_TIME desc
</select>
<!--sysHouseHoldInfo简单分页查询-->
<select id="getSysHouseHoldNoPage" resultMap="sysHouseHoldInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_house_hold_info a
<where>
1=1
<include refid="sysHouseHoldInfo_where"/>
</where>
order by a.CREATE_TIME desc
</select>
<!--sysHouseHoldInfo简单分页查询-->
<select id="getAllSingleSocailPage" resultMap="sysHouseHoldSingleInfoMap">
SELECT
......
......@@ -106,6 +106,9 @@
,DATE_FORMAT(now(),"%Y年%m月%d日") nowDay
,s.SOCIAL_HOUSEHOLD huId
,s.SFQZTB sfqztb
,idp.AREA_NAME idCardProvince
,idc.AREA_NAME idCardCity
,idt.AREA_NAME idCardTown
</sql>
......@@ -117,7 +120,9 @@
left join t_dispatch_social_fund_info h on a.id = h.REDUCE_SOCIAL_FUND_ID
left join sys_house_hold_info shh on shh.id = s.SOCIAL_HOUSEHOLD
left join view_sys_dict_item nation on nation.value=a.EMP_NATIONAL and nation.type='emp_national'
left join sys_area idp on idp.id = a.ID_CARD_PROVINCE
left join sys_area idc on idc.id = a.ID_CARD_CITY
left join sys_area idt on idt.id = a.ID_CARD_TOWN
<include refid="where_getSocialSoldier_base_handler"/>
and DATE_FORMAT(a.AUDIT_TIME,'%Y%m') = DATE_FORMAT(now(),'%Y%m')
</sql>
......
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