2022-03-10 17:57:46 +08:00
|
|
|
|
package com.engine.salary.entity.datacollection.po;
|
|
|
|
|
|
|
2024-09-20 16:45:35 +08:00
|
|
|
|
import com.engine.hrmelog.annotation.ElogTransform;
|
|
|
|
|
|
import com.engine.salary.annotation.Auth;
|
2024-12-25 16:28:21 +08:00
|
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
|
|
|
import com.engine.hrmelog.annotation.ElogTransform;
|
2022-12-13 13:34:22 +08:00
|
|
|
|
import com.engine.salary.annotation.Encrypt;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
import com.engine.salary.annotation.SalaryFormulaVar;
|
2022-03-10 17:57:46 +08:00
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
|
import lombok.Builder;
|
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
|
2022-04-21 14:15:56 +08:00
|
|
|
|
import java.util.Collection;
|
2022-03-10 17:57:46 +08:00
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 数据采集-其他免税扣除表
|
|
|
|
|
|
*/
|
|
|
|
|
|
@Data
|
|
|
|
|
|
@Builder
|
|
|
|
|
|
@NoArgsConstructor
|
|
|
|
|
|
@AllArgsConstructor
|
2024-02-21 18:19:02 +08:00
|
|
|
|
@ElogTransform( name = "其他免税扣除")
|
2024-09-20 16:45:35 +08:00
|
|
|
|
@Auth(page = "otherDeduction")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
public class OtherDeductionPO {
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 主键
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "主键id")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Long id;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 人员信息表的主键id
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "人员id")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Long employeeId;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 个税扣缴义务人的主键id
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "个税扣缴义务人id")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Long taxAgentId;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
2022-04-21 20:29:11 +08:00
|
|
|
|
* 申报月份
|
2022-03-10 17:57:46 +08:00
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "税款所属期")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Date declareMonth;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2024-12-16 17:48:03 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 免税收入
|
|
|
|
|
|
*/
|
|
|
|
|
|
@ElogTransform(name = "免税收入")
|
|
|
|
|
|
@SalaryFormulaVar(defaultLabel = "免税收入", labelId = 91238, dataType = "number")
|
|
|
|
|
|
@Encrypt
|
|
|
|
|
|
private String freeIncome;
|
|
|
|
|
|
|
2024-12-17 14:05:05 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 减免税额
|
|
|
|
|
|
*/
|
|
|
|
|
|
@ElogTransform(name = "减免税额")
|
|
|
|
|
|
@SalaryFormulaVar(defaultLabel = "减免税额", labelId = 102810, dataType = "number")
|
|
|
|
|
|
@Encrypt
|
|
|
|
|
|
private String derateDeduction;
|
2024-12-16 17:48:03 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 商业健康保险
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "商业健康保险")
|
2022-04-21 20:29:11 +08:00
|
|
|
|
@SalaryFormulaVar(defaultLabel = "商业健康保险", labelId = 91238, dataType = "number")
|
2022-12-13 13:34:22 +08:00
|
|
|
|
@Encrypt
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private String businessHealthyInsurance;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 税延养老保险
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "税延养老保险")
|
2022-04-21 20:29:11 +08:00
|
|
|
|
@SalaryFormulaVar(defaultLabel = "税延养老保险", labelId = 91239, dataType = "number")
|
2022-12-13 13:34:22 +08:00
|
|
|
|
@Encrypt
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private String taxDelayEndowmentInsurance;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2024-12-16 17:48:03 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 其他
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "其他")
|
2022-04-21 20:29:11 +08:00
|
|
|
|
@SalaryFormulaVar(defaultLabel = "其他", labelId = 84500, dataType = "number")
|
2022-12-13 13:34:22 +08:00
|
|
|
|
@Encrypt
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private String otherDeduction;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 准予扣除的捐赠额
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "准予扣除的捐赠额")
|
2022-04-21 20:29:11 +08:00
|
|
|
|
@SalaryFormulaVar(defaultLabel = "准予扣除的捐赠额", labelId = 91240, dataType = "number")
|
2022-12-13 13:34:22 +08:00
|
|
|
|
@Encrypt
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private String deductionAllowedDonation;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2023-04-04 14:21:25 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 个人养老金
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "个人养老金")
|
2023-04-04 14:21:25 +08:00
|
|
|
|
@SalaryFormulaVar(defaultLabel = "个人养老金", labelId = 91240, dataType = "number")
|
|
|
|
|
|
@Encrypt
|
|
|
|
|
|
private String privatePension;
|
|
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 创建时间
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "创建时间")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Date createTime;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 更新时间
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "更新时间")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Date updateTime;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 创建人
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "创建人id")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private Long creator;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 是否已删除。0:未删除、1:已删除
|
|
|
|
|
|
*/
|
|
|
|
|
|
private Integer deleteType;
|
2022-04-21 20:29:11 +08:00
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 租户ID
|
|
|
|
|
|
*/
|
2024-12-25 16:28:21 +08:00
|
|
|
|
@ElogTransform(name = "租户")
|
2022-03-10 17:57:46 +08:00
|
|
|
|
private String tenantKey;
|
|
|
|
|
|
|
|
|
|
|
|
private List<Long> employeeIds;
|
2022-04-21 14:15:56 +08:00
|
|
|
|
private Collection<Long> taxAgentIds;
|
2025-07-02 20:02:05 +08:00
|
|
|
|
private Integer incomeCategory;
|
2022-03-10 17:57:46 +08:00
|
|
|
|
|
2024-12-19 10:46:04 +08:00
|
|
|
|
|
2024-12-19 09:53:56 +08:00
|
|
|
|
private List<FreeIncomePO> freeIncomeList;
|
2024-12-25 16:28:21 +08:00
|
|
|
|
private List<HealthInsurancePO> healthInsuranceList;
|
2024-12-19 10:46:04 +08:00
|
|
|
|
private List<EndowmentInsurancePO> endowmentInsuranceList;
|
|
|
|
|
|
private List<GrantDonationPO> grantDonationList;
|
2024-12-25 16:28:21 +08:00
|
|
|
|
private List<DerateDeductionPO> derateDeductionList;
|
2024-12-19 10:46:04 +08:00
|
|
|
|
private List<OtherDerateDeductionPO> otherDerateDeductionList;
|
2024-12-23 16:41:42 +08:00
|
|
|
|
private List<PersonalPensionPO> personalPensionList;
|
2024-12-19 09:53:56 +08:00
|
|
|
|
|
2024-12-25 16:28:21 +08:00
|
|
|
|
|
|
|
|
|
|
public void handleList() {
|
|
|
|
|
|
freeIncome = freeIncomeList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(FreeIncomePO::getFreeAmount)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
derateDeduction = derateDeductionList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(DerateDeductionPO::getDerateAmount)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
taxDelayEndowmentInsurance = endowmentInsuranceList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(EndowmentInsurancePO::getCurrentDeduction)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
deductionAllowedDonation = grantDonationList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(GrantDonationPO::getActualDeduction)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
businessHealthyInsurance = healthInsuranceList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(HealthInsurancePO::getCurrentDeduction)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
otherDeduction = otherDerateDeductionList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(OtherDerateDeductionPO::getOtherDeduction)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
privatePension = personalPensionList
|
|
|
|
|
|
.stream()
|
|
|
|
|
|
.map(PersonalPensionPO::getPayAmount)
|
|
|
|
|
|
.filter(NumberUtil::isNumber)
|
|
|
|
|
|
.mapToDouble(Double::valueOf)
|
|
|
|
|
|
.sum() + "";
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-03-10 17:57:46 +08:00
|
|
|
|
}
|