Commit ad6a7554 authored by hongguangwu's avatar hongguangwu

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

parents 895f62a9 423c4889
/*
* 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 { ...@@ -52,4 +52,10 @@ public class TAutoMainRelAddVo implements Serializable {
//社保规则明细表 //社保规则明细表
private List<TAutoSocialRuleRel> socialRuleRels; private List<TAutoSocialRuleRel> socialRuleRels;
//社保规则主表
private TAutoFundRuleInfo fundRuleInfo;
//社保规则明细表
private List<TAutoFundRuleRel> fundRuleRels;
} }
...@@ -65,5 +65,10 @@ public class TAutoMainRelDetailVo implements Serializable { ...@@ -65,5 +65,10 @@ public class TAutoMainRelDetailVo implements Serializable {
//社保规则明细表 //社保规则明细表
private List<TAutoSocialRuleRel> socialRuleRels; 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;
}
}
...@@ -108,6 +108,14 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -108,6 +108,14 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
@Autowired @Autowired
private TAutoSocialRuleRelMapper autoSocialRuleRelMapper; private TAutoSocialRuleRelMapper autoSocialRuleRelMapper;
// 公积金规则主表Mapper
@Autowired
private TAutoFundRuleInfoMapper autoFundRuleInfoMapper;
// 公积金规则明细表Mapper
@Autowired
private TAutoFundRuleRelMapper autoFundRuleRelMapper;
@Autowired @Autowired
private SocialDaprUtils socialDaprUtils; private SocialDaprUtils socialDaprUtils;
...@@ -292,6 +300,12 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -292,6 +300,12 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
//社保规则配置明细表 //社保规则配置明细表
detailVo.setSocialRuleRels(autoSocialRuleRelMapper.selectList(Wrappers.<TAutoSocialRuleRel>query().lambda() detailVo.setSocialRuleRels(autoSocialRuleRelMapper.selectList(Wrappers.<TAutoSocialRuleRel>query().lambda()
.eq(TAutoSocialRuleRel::getDeptId,mainRel.getDeptId()))); .eq(TAutoSocialRuleRel::getDeptId,mainRel.getDeptId())));
//公积金规则配置表
detailVo.setFundRuleInfo(autoFundRuleInfoMapper.selectOne(Wrappers.<TAutoFundRuleInfo>query().lambda()
.eq(TAutoFundRuleInfo::getMainId,id)));
//公积金规则配置明细表
detailVo.setFundRuleRels(autoFundRuleRelMapper.selectList(Wrappers.<TAutoFundRuleRel>query().lambda()
.eq(TAutoFundRuleRel::getDeptId,mainRel.getDeptId())));
return R.ok(detailVo); return R.ok(detailVo);
} }
/** /**
...@@ -388,6 +402,23 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -388,6 +402,23 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
if (PARAM_IS_NOT_ERROR != null){ if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR; return PARAM_IS_NOT_ERROR;
} }
//校验公积金规则主表信息
TAutoFundRuleInfo autoFundRuleInfo = entity.getFundRuleInfo();
if (Common.isNotNull(autoFundRuleInfo)){
ExcelUtil<TAutoFundRuleInfo> excelUtil = new ExcelUtil<>(TAutoFundRuleInfo.class);
ErrorMessage errorMessage = excelUtil.checkEntity(autoFundRuleInfo,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
}
//校验公积金规则明细表信息
List<TAutoFundRuleRel> fundRuleRels = entity.getFundRuleRels();
PARAM_IS_NOT_ERROR = checkFundRuleRels(fundRuleRels);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
//新增主表 //新增主表
autoMainRel.setRuleUpdatePerson(user.getNickname()); autoMainRel.setRuleUpdatePerson(user.getNickname());
autoMainRel.setRuleUpdateTime(DateUtil.getCurrentDateTime()); autoMainRel.setRuleUpdateTime(DateUtil.getCurrentDateTime());
...@@ -467,6 +498,28 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -467,6 +498,28 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
autoSocialRuleRelMapper.insert(rel); autoSocialRuleRelMapper.insert(rel);
} }
} }
//新增公积金规则主表
if (Common.isNotNull(autoFundRuleInfo)){
autoFundRuleInfo.setDeptNo(autoMainRel.getDeptNo());
autoFundRuleInfo.setDeptId(autoMainRel.getDeptId());
autoFundRuleInfo.setMainId(autoMainRel.getId());
autoFundRuleInfo.setCreateBy(user.getId());
autoFundRuleInfo.setCreateTime(LocalDateTime.now());
autoFundRuleInfo.setCreateName(user.getNickname());
autoFundRuleInfoMapper.insert(autoFundRuleInfo);
}
//新增公积金规则明细表
if (Common.isNotNull(fundRuleRels)){
for (TAutoFundRuleRel rel:fundRuleRels){
rel.setMainId(autoFundRuleInfo.getId());
rel.setDeptNo(autoMainRel.getDeptNo());
rel.setDeptId(autoMainRel.getDeptId());
rel.setCreateBy(user.getId());
rel.setCreateTime(LocalDateTime.now());
rel.setCreateName(user.getNickname());
autoFundRuleRelMapper.insert(rel);
}
}
return R.ok(); return R.ok();
}catch (Exception e){ }catch (Exception e){
// 捕获异常并返回友好提示 // 捕获异常并返回友好提示
...@@ -736,6 +789,31 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -736,6 +789,31 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
return PARAM_IS_NOT_ERROR; return PARAM_IS_NOT_ERROR;
} }
//校验公积金规则主表信息
TAutoFundRuleInfo autoFundRuleNew = entity.getFundRuleInfo();
TAutoFundRuleInfo autoFundRuleOld = null;
if (Common.isNotNull(autoFundRuleNew)){
// 检查公积金规则信息的有效性
ExcelUtil<TAutoFundRuleInfo> excelUtil = new ExcelUtil<>(TAutoFundRuleInfo.class);
ErrorMessage errorMessage = excelUtil.checkEntity(autoFundRuleNew,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
// 根据ID查询原有的公积金规则信息
autoFundRuleOld = autoFundRuleInfoMapper.selectOne(Wrappers.<TAutoFundRuleInfo>query().lambda()
.eq(TAutoFundRuleInfo::getMainId,autoMainRel.getId()).last(CommonConstants.LAST_ONE_SQL));
}
//公积金规则明细是否更新标识 false 未更新 true 更新
boolean fundFlag = false;
List<TAutoFundRuleRel> fundRuleRelsOld = null;
//校验公积金规则明细
List<TAutoFundRuleRel> fundRuleRels = entity.getFundRuleRels();
PARAM_IS_NOT_ERROR = checkFundRuleRels(fundRuleRels);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
//保存商险规则 //保存商险规则
if (Common.isNotNull(autoInsurRuleNew)){ if (Common.isNotNull(autoInsurRuleNew)){
if (Common.isNotNull(autoInsurRuleNew.getId())){ if (Common.isNotNull(autoInsurRuleNew.getId())){
...@@ -870,6 +948,64 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -870,6 +948,64 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
// 判断数据对象是否都在页面传的对象里,有不在的数据,则返回true 目的是判断是否更新了 // 判断数据对象是否都在页面传的对象里,有不在的数据,则返回true 目的是判断是否更新了
socialFlag = checkSocialRuleRelForNotIn(socialRuleRelsOld,socialRuleRels); socialFlag = checkSocialRuleRelForNotIn(socialRuleRelsOld,socialRuleRels);
}
//保存公积金规则配置
if (Common.isNotNull(autoFundRuleNew)){
if (Common.isNotNull(autoFundRuleNew.getId())){
autoFundRuleNew.setUpdateBy(user.getId());
autoFundRuleNew.setUpdateTime(LocalDateTime.now());
autoContractRuleNew.setMainId(autoMainRel.getId());
autoFundRuleInfoMapper.updateById(autoFundRuleNew);
}else {
autoFundRuleNew.setDeptNo(autoMainRel.getDeptNo());
autoFundRuleNew.setDeptId(autoMainRel.getDeptId());
autoFundRuleNew.setMainId(autoMainRel.getId());
autoFundRuleNew.setCreateBy(user.getId());
autoFundRuleNew.setCreateTime(LocalDateTime.now());
autoFundRuleNew.setCreateName(user.getNickname());
autoFundRuleInfoMapper.insert(autoFundRuleNew);
}
//获取旧的公积金规则明细
if (Common.isNotNull(autoFundRuleNew.getId())){
//获取旧的公积金规则明细
fundRuleRelsOld = autoFundRuleRelMapper.selectList(Wrappers
.<TAutoFundRuleRel>query().lambda().eq(TAutoFundRuleRel::getMainId,autoFundRuleNew.getId()));
//先删除后面再批增
autoFundRuleRelMapper.delete(Wrappers.<TAutoFundRuleRel>query().lambda().eq(TAutoFundRuleRel::getMainId,autoFundRuleNew.getId()));
}
//保存公积金规则明细
if (Common.isNotNull(fundRuleRels)){
TAutoFundRuleRel temp = null;
for (TAutoFundRuleRel rel:fundRuleRels){
//存在新增的直接fundFlag =true 后面不在判断此种场景
if (!Common.isNotNull(rel.getId())){
fundFlag =true;
}
rel.setMainId(autoFundRuleNew.getId());
rel.setDeptNo(autoMainRel.getDeptNo());
rel.setDeptId(autoMainRel.getDeptId());
rel.setCreateBy(user.getId());
rel.setCreateTime(LocalDateTime.now());
rel.setCreateName(user.getNickname());
if (Common.isNotNull(rel.getId())){
temp = autoFundRuleRelMapper.selectById(rel.getId());
if (null != temp){
autoFundRuleRelMapper.updateById(rel);
}else {
autoFundRuleRelMapper.insert(rel);
}
}else {
autoFundRuleRelMapper.insert(rel);
}
}
}
// 判断数据对象是否都在页面传的对象里,有不在的数据,则返回true 目的是判断是否更新了
fundFlag = checkFundRuleRelForNotIn(fundRuleRelsOld,fundRuleRels);
} }
// 更新主表 // 更新主表
autoMainRel.setRuleUpdatePerson(user.getNickname()); autoMainRel.setRuleUpdatePerson(user.getNickname());
...@@ -1046,6 +1182,46 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu ...@@ -1046,6 +1182,46 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
newMap.put("newSocialRuleRels",socialRuleRels); newMap.put("newSocialRuleRels",socialRuleRels);
} }
} }
//处理公积金规则日志 (更新时不存在规则删除的场景)
if (Common.isNotNull(autoFundRuleNew) && Common.isNotNull(autoFundRuleOld)){
differenceKey = HrEquator.comparisonValueIgnoreField(autoFundRuleOld, autoFundRuleNew,ignoreFields);
if (!Common.isEmpty(differenceKey)){
diffKeyMap.put("fundRule",differenceKey);
oldMap.put("oldFundRule",autoFundRuleOld);
newMap.put("newFundRule",autoFundRuleNew);
}
//处理公积金规则明细日志
diffKeys = new StringBuilder();
if (Common.isNotNull(fundRuleRels)){
Map<String,TAutoFundRuleRel> map;
// 不为空且无新增数据,为空前面校验过了,这里不处理
if (Common.isNotNull(fundRuleRels) && !fundFlag){
map = fundRuleRels.stream().collect(Collectors.toMap(TAutoFundRuleRel::getId, v->v));
if (Common.isNotNull(autoFundRuleOld)){
TAutoFundRuleRel newTemp;
for (TAutoFundRuleRel old:fundRuleRelsOld){
// 如果存在,则比较,不存在则标记为更新
newTemp = map.get(old.getId());
if (Common.isEmpty(newTemp)){
fundFlag = true;
newTemp = new TAutoFundRuleRel();
}
differenceKey = HrEquator.comparisonValueIgnoreField(old, newTemp,ignoreFields);
if (!Common.isEmpty(differenceKey)){
diffKeys.append(differenceKey);
fundFlag = true;
}
}
}
}
}
if (fundFlag){
diffKeyMap.put("fundRuleRel","fundRuleRels");
oldMap.put("oldFundRuleRels",fundRuleRelsOld);
newMap.put("newFundRuleRels",fundRuleRels);
}
}
// 插入变更日志 // 插入变更日志
insertLog(autoMainRel, diffKeyMap, oldMap, newMap); insertLog(autoMainRel, diffKeyMap, oldMap, newMap);
// 返回更新成功的响应 // 返回更新成功的响应
...@@ -1437,6 +1613,71 @@ private R<Boolean> checkItemRepeat(List<SysAutoDictItem> autoDictItems, Map<Stri ...@@ -1437,6 +1613,71 @@ private R<Boolean> checkItemRepeat(List<SysAutoDictItem> autoDictItems, Map<Stri
return false; // 所有数据都在现有集合中,无需额外处理 return false; // 所有数据都在现有集合中,无需额外处理
} }
/**
* @Author fxj
* @Description 校验公积金规则
* @Date 10:24 2025/6/11
**/
private R<Boolean> checkFundRuleRels(List<TAutoFundRuleRel> fundRuleRels) {
if (Common.isNotNull(fundRuleRels)){
ExcelUtil<TAutoFundRuleRel> excelUtil = new ExcelUtil<>(TAutoFundRuleRel.class);
ErrorMessage errorMessage;
for (TAutoFundRuleRel rel: fundRuleRels){
errorMessage = excelUtil.checkEntity(rel,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
//初始化最高最低基数及省市县
if (!Common.isNotNull(rel.getConfigHouseId())){
return R.failed("公积金户不可为空");
}
R<SysBaseSetInfoVo> resR = socialDaprUtils.getSocialHouseBaseSet(rel.getConfigHouseId());
if (Common.isNotNull(resR) && resR.getData() != null) {
SysBaseSetInfoVo setInfo = resR.getData();
rel.setLowerLimit(setInfo.getLowerLimit());
rel.setUpperLimit(setInfo.getUpperLimit());
rel.setProvince(setInfo.getProvince());
rel.setCity(setInfo.getCity());
rel.setTown(setInfo.getTown());
}else {
return R.failed("获取公积金配置信息失败!");
}
}
// 校验fundRuleRels 配置名称是否重复
Set<String> names = fundRuleRels.stream().map(TAutoFundRuleRel::getConfigName).collect(Collectors.toSet());
if (names.size() != fundRuleRels.size()) {
return R.failed(schemeNameRepeat);
}
}
return null;
}
/**
* @Author fxj
* @Description 校验公积金规则明细是否不在已存在的集合中
* @Date 10:24 2025/6/11
**/
private boolean checkFundRuleRelForNotIn(List<TAutoFundRuleRel> fundRuleRels, List<TAutoFundRuleRel> existingRuleRels) {
if (Common.isEmpty(fundRuleRels) && !Common.isEmpty(existingRuleRels)) {
return true; // 数据库数据无 新增有 返回true
}
if (!Common.isEmpty(fundRuleRels) && Common.isEmpty(existingRuleRels)) {
return true; // 数据库有 新增无返回 true
}
// 不为空判断
if (!Common.isEmpty(fundRuleRels) && !Common.isEmpty(existingRuleRels)) {
Set<String> existingKeys = existingRuleRels.stream()
.map(standard -> Optional.ofNullable(standard.getId()).orElse(""))
.collect(Collectors.toSet());
for (TAutoFundRuleRel standard : fundRuleRels) {
if (!existingKeys.contains(standard.getId())) {
return true; // 存在不在现有集合中的数据,表示需要处理
}
}
}
return false; // 所有数据都在现有集合中,无需额外处理
}
@Override @Override
public R<Boolean> updateAutoFlagById(String id, String autoFlag) { public R<Boolean> updateAutoFlagById(String id, String autoFlag) {
if (Common.isEmpty(id) if (Common.isEmpty(id)
......
<?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>
...@@ -257,23 +257,24 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -257,23 +257,24 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
sysBaseSetInfo.setBaseType(baseType); sysBaseSetInfo.setBaseType(baseType);
sysBaseSetInfo.setDeleteFlag(CommonConstants.STATUS_NORMAL); sysBaseSetInfo.setDeleteFlag(CommonConstants.STATUS_NORMAL);
sysBaseSetInfo.setStatus(CommonConstants.ZERO_INT); sysBaseSetInfo.setStatus(CommonConstants.ZERO_INT);
sysBaseSetInfo.setApplyStartDate(new Date());
// 查询符合条件的基数列表 // 查询符合条件的基数列表
List<SysBaseSetInfo> sysBaseSetInfoList = baseMapper.getSysBaseSetInfoNoPage(sysBaseSetInfo); List<SysBaseSetInfo> sysBaseSetInfoList = baseMapper.getSysBaseSetInfoNoPage(sysBaseSetInfo);
// 返回的map // 返回的map
Map<String, SysBaseSetInfo> setInfoMap = new HashMap<>(); Map<String, SysBaseSetInfo> setInfoMap = new HashMap<>();
if (sysBaseSetInfoList != null && !sysBaseSetInfoList.isEmpty()) { if (sysBaseSetInfoList != null && !sysBaseSetInfoList.isEmpty()) {
// map的键 // map的键
String key; SysBaseSetInfo temp;
for (SysBaseSetInfo setInfo : sysBaseSetInfoList) { for (SysBaseSetInfo setInfo : sysBaseSetInfoList) {
/*key = setInfo.getDepartId() + CommonConstants.DOWN_LINE_STRING + setInfo.getProvince() temp = setInfoMap.get(setInfo.getDepartName());
+ CommonConstants.DOWN_LINE_STRING + setInfo.getCity(); if (temp != null) {
if (setInfo.getTown() != null) { if (setInfo.getApplyStartDate().getTime() > temp.getApplyStartDate().getTime()) {
key += CommonConstants.DOWN_LINE_STRING + setInfo.getTown(); setInfoMap.put(setInfo.getDepartName(), setInfo);
}*/ }
}else {
setInfoMap.put(setInfo.getDepartName(), setInfo); setInfoMap.put(setInfo.getDepartName(), setInfo);
} }
} }
}
return setInfoMap; return setInfoMap;
} }
...@@ -532,8 +533,19 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -532,8 +533,19 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR,e); log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR,e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR); return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
} }
boolean isTrue = true;
for (ErrorMessage message : errorMessageList) {
if (!CommonConstants.SAVE_SUCCESS.equals(message.getMessage())) {
isTrue = false;
break;
}
}
if (isTrue) {
return R.ok();
} else {
return R.ok(errorMessageList); return R.ok(errorMessageList);
} }
}
@Override @Override
public R<List<ErrorMessage>> importSocialDiy(InputStream inputStream) { public R<List<ErrorMessage>> importSocialDiy(InputStream inputStream) {
...@@ -588,8 +600,19 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -588,8 +600,19 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR,e); log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR,e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR); return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
} }
boolean isTrue = true;
for (ErrorMessage message : errorMessageList) {
if (!CommonConstants.SAVE_SUCCESS.equals(message.getMessage())) {
isTrue = false;
break;
}
}
if (isTrue) {
return R.ok();
} else {
return R.ok(errorMessageList); return R.ok(errorMessageList);
} }
}
private void importSysBaseSetSocial(List<SysBaseSetSocialInsertVo> excelVOList, List<ErrorMessage> errorMessageList) { private void importSysBaseSetSocial(List<SysBaseSetSocialInsertVo> excelVOList, List<ErrorMessage> errorMessageList) {
// 区域数据初始化 // 区域数据初始化
HashMap<String, String> areaMap = new HashMap<>(); HashMap<String, String> areaMap = new HashMap<>();
...@@ -1174,7 +1197,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -1174,7 +1197,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
// 插入 // 插入
try { try {
insertFundExcel(temp,infoVo,fundProList); insertFundExcel(temp,infoVo,fundProList,fundSetInfoMap);
}catch (Exception e){ }catch (Exception e){
errorMsg = new ErrorMessage(excel.getRowIndex(),"数据保存失败,请修改后重新提交"); errorMsg = new ErrorMessage(excel.getRowIndex(),"数据保存失败,请修改后重新提交");
errorMessageList.add(errorMsg); errorMessageList.add(errorMsg);
...@@ -1187,7 +1210,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -1187,7 +1210,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
/** /**
* 插入excel bad record * 插入excel bad record
*/ */
private void insertFundExcel(SysBaseSetInfo old,SysBaseSetInfo insert,List<SysPayProportion> fundProList) { private void insertFundExcel(SysBaseSetInfo old,SysBaseSetInfo insert,List<SysPayProportion> fundProList,Map<String, SysBaseSetInfo> fundSetInfoMap) {
if (Common.isNotNull(old) && Common.isNotNull(old.getId()));{ if (Common.isNotNull(old) && Common.isNotNull(old.getId()));{
baseMapper.updateById( old); baseMapper.updateById( old);
} }
...@@ -1198,6 +1221,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -1198,6 +1221,7 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
sysPayProportionService.save(fundPro); sysPayProportionService.save(fundPro);
} }
} }
fundSetInfoMap.put(insert.getDepartName(), insert);
} }
/** /**
......
...@@ -32,7 +32,7 @@ spring: ...@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED type: CLASS_BASED
tables: tables:
t_payment_info: t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..25} actual-data-nodes: ds0.t_payment_info_20$->{17..26}
key-generate-strategy: key-generate-strategy:
column: ID column: ID
key-generator-name: snowflake key-generator-name: snowflake
......
...@@ -32,7 +32,7 @@ spring: ...@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED type: CLASS_BASED
tables: tables:
t_payment_info: t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..25} actual-data-nodes: ds0.t_payment_info_20$->{17..26}
key-generate-strategy: key-generate-strategy:
column: ID column: ID
key-generator-name: snowflake key-generator-name: snowflake
......
...@@ -32,7 +32,7 @@ spring: ...@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED type: CLASS_BASED
tables: tables:
t_payment_info: t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..25} actual-data-nodes: ds0.t_payment_info_20$->{17..26}
key-generate-strategy: key-generate-strategy:
column: ID column: ID
key-generator-name: snowflake key-generator-name: snowflake
......
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