年终奖数据

This commit is contained in:
钱涛 2023-04-11 17:24:31 +08:00
parent bb76df3718
commit a4a829d201
12 changed files with 105 additions and 114 deletions

View File

@ -0,0 +1,13 @@
INSERT INTO hrsa_sys_salary_item(id, name, code, system_type, category, item_type, use_default, use_in_employee_salary, rounding_mode, pattern, value_type, datasource, formula_id, description, can_edit, can_delete, creator, delete_type, tenant_key, create_time, update_time, data_type) VALUES (746777981115629605, '个人养老金', 'privatePension', 1, 2, 12, 0, 0, 2, 2, 2, 8, 1680746056549, '', 0, 1, 0, 0, 'all_teams', '2022-03-28 10:33:01', '2022-05-10 15:54:31', 'number');
INSERT INTO hrsa_sys_salary_item(id, name, code, system_type, category, item_type, use_default, use_in_employee_salary, rounding_mode, pattern, value_type, datasource, formula_id, description, can_edit, can_delete, creator, delete_type, tenant_key, create_time, update_time, data_type) VALUES (746777981115629698, '累计个人养老金', 'addUpPrivatePension', 1, 2, 12, 0, 0, 2, 2, 2, 8, 1681201555316, '', 0, 1, 0, 0, 'all_teams', '2022-03-28 10:33:01', '2022-05-10 15:54:31', 'number');
-- 公式
-- 账套默认项目
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312490, 1, 746777981115629605, 1, 0, 0, '2022-03-18 16:30:21', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614110, 10);
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312491, 1, 746777981115629698, 1, 0, 0, '2022-03-18 16:30:21', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614110, 11);

View File

@ -112,6 +112,11 @@ public class TaxDeclarationDataIndexConstant {
*/
public static final String ADD_UP_INFANT_CARE = "addUpInfantCare";
/**
* 累计个人养老金
*/
public static final String ADD_UP_PRIVATE_PENSION = "addUpPrivatePension";
/**
* 累计专项附加扣除
*/

View File

@ -126,6 +126,13 @@ public class AddUpSituation {
@Encrypt
private String addUpInfantCare;
/**
* 累计婴幼儿照护
*/
@SalaryFormulaVar(defaultLabel = "累计个人养老金", labelId = 117732, dataType = "number")
@Encrypt
private String addUpPrivatePension;
/**
* 累计企业职业年金及其他福利
*/

View File

@ -204,6 +204,13 @@ public class AddUpSituationDTO {
@Encrypt
private String addUpInfantCare;
//累计个人养老金
@ExcelProperty(index = 24)
@SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "addUpPrivatePension")
@TableTitle(title = "累计个人养老金", dataIndex = "addUpPrivatePension", key = "addUpPrivatePension")
@Encrypt
private String addUpPrivatePension;
@SalaryTableColumn(text = "操作", width = "20%", column = "operate")
@TableTitle(title = "操作", dataIndex = "operate", key = "operate")
private String operate;

View File

@ -170,4 +170,10 @@ public class AddUpSituationRecordDTO {
@TableTitle(title = "累计婴幼儿照护", dataIndex = "addUpInfantCare", key = "addUpInfantCare")
@Encrypt
private String addUpInfantCare;
@ExcelProperty(index = 23)
@SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "addUpPrivatePension")
@TableTitle(title = "累计个人养老金", dataIndex = "addUpPrivatePension", key = "addUpPrivatePension")
@Encrypt
private String addUpPrivatePension;
}

View File

@ -95,4 +95,7 @@ public class AddUpSituationParam {
//累计婴幼儿照护
private String addUpInfantCare;
//累计个人养老金
private String addUpPrivatePension;
}

View File

@ -46,40 +46,19 @@ import java.util.stream.Collectors;
public class TaxDeclarationBO {
private static EncryptUtil encryptUtil = new EncryptUtil();
public static List<TaxDeclarationListDTO> convert2ListDTO(List<TaxDeclarationPO> taxDeclarations,
List<DataCollectionEmployee> simpleEmployees,
List<TaxAgentPO> taxAgents) {
public static List<TaxDeclarationListDTO> convert2ListDTO(List<TaxDeclarationPO> taxDeclarations, List<DataCollectionEmployee> simpleEmployees, List<TaxAgentPO> taxAgents) {
if (CollectionUtils.isEmpty(simpleEmployees)) {
return Collections.emptyList();
}
Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId,
TaxAgentPO::getName);
Map<Long, String> taxAgentNameMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
Map<Long, String> employeeNameMap = SalaryEntityUtil.convert2Map(simpleEmployees, DataCollectionEmployee::getEmployeeId, DataCollectionEmployee::getUsername);
return taxDeclarations.stream()
.map(taxDeclarationPO -> {
IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(taxDeclarationPO.getIncomeCategory());
return TaxDeclarationListDTO.builder()
.id(taxDeclarationPO.getId())
.incomeCategory(Optional.ofNullable(incomeCategoryEnum)
.map(o -> SalaryI18nUtil.getI18nLabel(o.getLabelId(), o.getDefaultLabel()))
.orElse(StringUtils.EMPTY))
.salaryMonth(taxDeclarationPO.getSalaryMonth())
.taxAgentId(taxDeclarationPO.getTaxAgentId())
.taxAgentName(taxAgentNameMap.getOrDefault(taxDeclarationPO.getTaxAgentId(), ""))
.taxCycle(taxDeclarationPO.getTaxCycle())
.operateEmployeeId(taxDeclarationPO.getCreator())
.operateEmployeeName(employeeNameMap.getOrDefault(taxDeclarationPO.getCreator(), ""))
.operateTime(SalaryDateUtil.getFormatLocalDateTime(taxDeclarationPO.getCreateTime()))
.description(taxDeclarationPO.getDescription())
.build();
})
.collect(Collectors.toList());
return taxDeclarations.stream().map(taxDeclarationPO -> {
IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(taxDeclarationPO.getIncomeCategory());
return TaxDeclarationListDTO.builder().id(taxDeclarationPO.getId()).incomeCategory(Optional.ofNullable(incomeCategoryEnum).map(o -> SalaryI18nUtil.getI18nLabel(o.getLabelId(), o.getDefaultLabel())).orElse(StringUtils.EMPTY)).salaryMonth(taxDeclarationPO.getSalaryMonth()).taxAgentId(taxDeclarationPO.getTaxAgentId()).taxAgentName(taxAgentNameMap.getOrDefault(taxDeclarationPO.getTaxAgentId(), "")).taxCycle(taxDeclarationPO.getTaxCycle()).operateEmployeeId(taxDeclarationPO.getCreator()).operateEmployeeName(employeeNameMap.getOrDefault(taxDeclarationPO.getCreator(), "")).operateTime(SalaryDateUtil.getFormatLocalDateTime(taxDeclarationPO.getCreateTime())).description(taxDeclarationPO.getDescription()).build();
}).collect(Collectors.toList());
}
public static void buildDetailListDTO(Long taxDeclarationId,
PageInfo<TaxDeclarationDetailListDTO> page,
List<TaxDeclarationDetailPO> taxDeclarationDetails,
List<DataCollectionEmployee> simpleEmployees) {
public static void buildDetailListDTO(Long taxDeclarationId, PageInfo<TaxDeclarationDetailListDTO> page, List<TaxDeclarationDetailPO> taxDeclarationDetails, List<DataCollectionEmployee> simpleEmployees) {
if (CollectionUtils.isEmpty(taxDeclarationDetails)) {
return;
}
@ -136,12 +115,7 @@ public class TaxDeclarationBO {
page.setList(dtos);
}
public static Result handle(TaxDeclarationSaveParam saveParam,
Date taxCycle,
User user,
List<SalaryItemPO> salaryItems,
List<SalarySobPO> salarySobs,
List<SalaryAcctResultPO> salaryAcctResults) {
public static Result handle(TaxDeclarationSaveParam saveParam, Date taxCycle, User user, List<SalaryItemPO> salaryItems, List<SalarySobPO> salarySobs, List<SalaryAcctResultPO> salaryAcctResults) {
Result result = new Result();
if (CollectionUtils.isEmpty(salaryAcctResults)) {
return result;
@ -151,9 +125,7 @@ public class TaxDeclarationBO {
// 薪资账套聚合成map为了根据id获取incomeCategory
Map<Long, SalarySobPO> salarySobPOMap = SalaryEntityUtil.convert2Map(salarySobs, SalarySobPO::getId);
// 薪资核算结果按照个税扣缴义务人id所用薪资账套的incomeCategory聚合成map
Map<Long, Map<Integer, List<SalaryAcctResultPO>>> taxAgentIdKeyAcctResultMap = salaryAcctResults.stream()
.collect(Collectors.groupingBy(SalaryAcctResultPO::getTaxAgentId,
Collectors.groupingBy(salaryAcctResultPO -> salarySobPOMap.get(salaryAcctResultPO.getSalarySobId()).getIncomeCategory())));
Map<Long, Map<Integer, List<SalaryAcctResultPO>>> taxAgentIdKeyAcctResultMap = salaryAcctResults.stream().collect(Collectors.groupingBy(SalaryAcctResultPO::getTaxAgentId, Collectors.groupingBy(salaryAcctResultPO -> salarySobPOMap.get(salaryAcctResultPO.getSalarySobId()).getIncomeCategory())));
// 一个个税扣缴义务人一种薪资类型生成一张个税申报表
taxAgentIdKeyAcctResultMap.forEach((taxAgentId, incomeCategoryKeyAcctResultPOMap) -> {
incomeCategoryKeyAcctResultPOMap.forEach((incomeCategory, salaryAcctResultPOS) -> {
@ -187,16 +159,12 @@ public class TaxDeclarationBO {
* @param salaryAcctResults
* @param salaryItemMap
*/
private static void handleTaxDeclaration4Wage(Result result,
TaxDeclarationPO taxDeclaration,
List<SalaryAcctResultPO> salaryAcctResults,
Map<String, Long> salaryItemMap) {
private static void handleTaxDeclaration4Wage(Result result, TaxDeclarationPO taxDeclaration, List<SalaryAcctResultPO> salaryAcctResults, Map<String, Long> salaryItemMap) {
if (CollectionUtils.isEmpty(salaryAcctResults)) {
return;
}
// 核算结果按照人员id分类
Map<String, List<SalaryAcctResultPO>> salaryAcctResultPOMap = SalaryEntityUtil.group2Map(salaryAcctResults,
salaryAcctResultPO -> EmployeeTypeEnum.ORGANIZATION.getValue() + "_" + salaryAcctResultPO.getEmployeeId());
Map<String, List<SalaryAcctResultPO>> salaryAcctResultPOMap = SalaryEntityUtil.group2Map(salaryAcctResults, salaryAcctResultPO -> EmployeeTypeEnum.ORGANIZATION.getValue() + "_" + salaryAcctResultPO.getEmployeeId());
salaryAcctResultPOMap.forEach((key, salaryAcctResultPOS) -> {
String[] keyArray = StringUtils.split(key, "_");
// 员工类型
@ -206,8 +174,7 @@ public class TaxDeclarationBO {
Map<String, String> valueMap = Maps.newHashMapWithExpectedSize(17);
Map<Long, List<SalaryAcctResultPO>> resultMap = SalaryEntityUtil.group2Map(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryItemId);
// 本期收入
BigDecimal income = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME, 0L)),
salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue()));
BigDecimal income = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME, 0L)), salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue()));
valueMap.put(TaxDeclarationDataIndexConstant.INCOME, income.toPlainString());
// 本期免税收入
BigDecimal taxFreeIncome = findValue(TaxDeclarationDataIndexConstant.TAX_FREE_INCOME, resultMap, salaryItemMap);
@ -245,6 +212,9 @@ public class TaxDeclarationBO {
// 累计婴幼儿照护
BigDecimal addUpInfantCare = findValue(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, resultMap, salaryItemMap);
valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, addUpInfantCare.toPlainString());
// 累计个人养老金
BigDecimal addUpPrivatePension = findValue(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, resultMap, salaryItemMap);
valueMap.put(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, addUpPrivatePension.toPlainString());
// 企业(职业)年金
BigDecimal annuity = findValue(TaxDeclarationDataIndexConstant.ANNUITY, resultMap, salaryItemMap);
valueMap.put(TaxDeclarationDataIndexConstant.ANNUITY, annuity.toPlainString());
@ -276,10 +246,7 @@ public class TaxDeclarationBO {
* @param salaryAcctResults
* @param salaryItemMap
*/
private static void handleTaxDeclaration4Labor(Result result,
TaxDeclarationPO taxDeclaration,
List<SalaryAcctResultPO> salaryAcctResults,
Map<String, Long> salaryItemMap) {
private static void handleTaxDeclaration4Labor(Result result, TaxDeclarationPO taxDeclaration, List<SalaryAcctResultPO> salaryAcctResults, Map<String, Long> salaryItemMap) {
if (CollectionUtils.isEmpty(salaryAcctResults)) {
return;
}
@ -292,10 +259,7 @@ public class TaxDeclarationBO {
Map<String, String> valueMap = Maps.newHashMapWithExpectedSize(7);
Map<Long, List<SalaryAcctResultPO>> resultMap = SalaryEntityUtil.group2Map(salaryAcctResultPOS, SalaryAcctResultPO::getSalaryItemId);
// 所得项目
String incomeItems = resultMap.getOrDefault(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME_ITEMS, 0L), Collections.emptyList()).stream()
.map(SalaryAcctResultPO::getResultValue)
.findAny()
.orElse(StringUtils.EMPTY);
String incomeItems = resultMap.getOrDefault(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.INCOME_ITEMS, 0L), Collections.emptyList()).stream().map(SalaryAcctResultPO::getResultValue).findAny().orElse(StringUtils.EMPTY);
valueMap.put(TaxDeclarationDataIndexConstant.INCOME_ITEMS, incomeItems);
// 收入
BigDecimal laborIncome = findValue(TaxDeclarationDataIndexConstant.LABOR_INCOME, resultMap, salaryItemMap);
@ -328,10 +292,7 @@ public class TaxDeclarationBO {
* @param salaryAcctResults
* @param salaryItemMap
*/
private static void handleTaxDeclaration4Annual(Result result,
TaxDeclarationPO taxDeclaration,
List<SalaryAcctResultPO> salaryAcctResults,
Map<String, Long> salaryItemMap) {
private static void handleTaxDeclaration4Annual(Result result, TaxDeclarationPO taxDeclaration, List<SalaryAcctResultPO> salaryAcctResults, Map<String, Long> salaryItemMap) {
if (CollectionUtils.isEmpty(salaryAcctResults)) {
return;
}
@ -374,10 +335,7 @@ public class TaxDeclarationBO {
* @param salaryAcctResults
* @param salaryItemMap
*/
private static void handleAddUpSituation(Result result,
TaxDeclarationPO taxDeclaration,
List<SalaryAcctResultPO> salaryAcctResults,
Map<String, Long> salaryItemMap) {
private static void handleAddUpSituation(Result result, TaxDeclarationPO taxDeclaration, List<SalaryAcctResultPO> salaryAcctResults, Map<String, Long> salaryItemMap) {
if (CollectionUtils.isEmpty(salaryAcctResults)) {
return;
}
@ -412,6 +370,8 @@ public class TaxDeclarationBO {
BigDecimal addUpIllnessMedical = findAddUpValue(TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL, resultMap, salaryItemMap);
// 累计婴幼儿照护
BigDecimal addUpInfantCare = findAddUpValue(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE, resultMap, salaryItemMap);
// 累计个人养老金
BigDecimal addUpPrivatePension = findAddUpValue(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION, resultMap, salaryItemMap);
// 累计企业职业年金及其他福利
BigDecimal addUpEnterpriseAndOther = findAddUpValue(TaxDeclarationDataIndexConstant.ADD_UP_ENTERPRISE_AND_OTHER, resultMap, salaryItemMap);
// 累计其他免税扣除
@ -426,16 +386,11 @@ public class TaxDeclarationBO {
BigDecimal addUpTaxDeduction = findAddUpValue(TaxDeclarationDataIndexConstant.ADD_UP_TAX_DEDUCTION, resultMap, salaryItemMap);
// 累计已预扣预缴税额
List<SalaryAcctResultPO> resultPOS = resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.ADD_UP_ADVANCE_TAX, 0L));
BigDecimal addUpAdvanceTax = resultPOS == null ? BigDecimal.ZERO : resultPOS.stream()
.map(salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue()))
.min(BigDecimal::compareTo)
.orElse(BigDecimal.ZERO);
BigDecimal addUpAdvanceTax = resultPOS == null ? BigDecimal.ZERO : resultPOS.stream().map(salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue())).min(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
// 本月应补退税额
BigDecimal refundedOrSupplementedTax = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.REFUNDED_OR_SUPPLEMENTED_TAX, 0L)),
salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue()));
BigDecimal refundedOrSupplementedTax = SalaryEntityUtil.reduce(resultMap.get(salaryItemMap.getOrDefault(TaxDeclarationDataIndexConstant.REFUNDED_OR_SUPPLEMENTED_TAX, 0L)), salaryAcctResultPO -> SalaryEntityUtil.empty2Zero(salaryAcctResultPO.getResultValue()));
// 生成往期累计情况
AddUpSituation accumulatedSituation = AddUpSituation.builder()
.employeeId(employeeId)
AddUpSituation accumulatedSituation = AddUpSituation.builder().employeeId(employeeId)
// .employeeType(employeeType)
.taxAgentId(taxDeclaration.getTaxAgentId())
.taxYearMonth(taxDeclaration.getTaxCycle())
@ -452,6 +407,7 @@ public class TaxDeclarationBO {
.addUpSupportElderly(addUpSupportElderly.toPlainString())
.addUpIllnessMedical(addUpIllnessMedical.toPlainString())
.addUpInfantCare(addUpInfantCare.toPlainString())
.addUpPrivatePension(addUpPrivatePension.toPlainString())
.addUpOtherDeduction(addUpOtherDeduction.toPlainString())
.addUpTaxExemptIncome(addUpTaxFreeIncome.toPlainString())
.addUpAllowedDonation(addUpAllowedDonation.toPlainString())
@ -651,19 +607,7 @@ public class TaxDeclarationBO {
if (saveParam.getDescription() == null) {
saveParam.setDescription("");
}
return TaxDeclarationPO.builder()
.id(IdGenerator.generate())
.incomeCategory(incomeCategory)
.taxAgentId(taxAgentId)
.salaryMonth(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)))
.taxCycle(taxCycle)
.description(saveParam.getDescription())
.creator((long) user.getUID())
.createTime(SalaryDateUtil.localDateTimeToDate(now))
.updateTime(SalaryDateUtil.localDateTimeToDate(now))
.deleteType(0)
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.build();
return TaxDeclarationPO.builder().id(IdGenerator.generate()).incomeCategory(incomeCategory).taxAgentId(taxAgentId).salaryMonth(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1))).taxCycle(taxCycle).description(saveParam.getDescription()).creator((long) user.getUID()).createTime(SalaryDateUtil.localDateTimeToDate(now)).updateTime(SalaryDateUtil.localDateTimeToDate(now)).deleteType(0).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build();
}
/**
@ -680,43 +624,22 @@ public class TaxDeclarationBO {
}
List<TaxDeclarationDetailPO> taxDeclarationDetailPOS = Lists.newArrayListWithExpectedSize(valueMap.size());
valueMap.forEach((fieldCode, fieldValue) -> {
TaxDeclarationDetailPO taxDeclarationDetailPO = TaxDeclarationDetailPO.builder()
.id(IdGenerator.generate())
.taxDeclarationId(taxDeclaration.getId())
.employeeType(employeeType)
.employeeId(employeeId)
.fieldCode(fieldCode)
.fieldValue(fieldValue)
.creator(taxDeclaration.getCreator())
.createTime(taxDeclaration.getCreateTime())
.updateTime(taxDeclaration.getUpdateTime())
.deleteType(NumberUtils.INTEGER_ZERO)
.tenantKey(taxDeclaration.getTenantKey())
.build();
TaxDeclarationDetailPO taxDeclarationDetailPO = TaxDeclarationDetailPO.builder().id(IdGenerator.generate()).taxDeclarationId(taxDeclaration.getId()).employeeType(employeeType).employeeId(employeeId).fieldCode(fieldCode).fieldValue(fieldValue).creator(taxDeclaration.getCreator()).createTime(taxDeclaration.getCreateTime()).updateTime(taxDeclaration.getUpdateTime()).deleteType(NumberUtils.INTEGER_ZERO).tenantKey(taxDeclaration.getTenantKey()).build();
taxDeclarationDetailPOS.add(taxDeclarationDetailPO);
});
return taxDeclarationDetailPOS;
}
private static BigDecimal findValue(String fieldCode, Map<Long, List<SalaryAcctResultPO>> resultMap, Map<String, Long> salaryItemMap) {
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream()
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
.filter(e -> e.compareTo(BigDecimal.ZERO) > 0)
.findAny()
.orElse(BigDecimal.ZERO);
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream().map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue())).filter(e -> e.compareTo(BigDecimal.ZERO) > 0).findAny().orElse(BigDecimal.ZERO);
}
private static BigDecimal findAddUpValue(String fieldCode, Map<Long, List<SalaryAcctResultPO>> resultMap, Map<String, Long> salaryItemMap) {
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream()
.map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue()))
.max(Comparator.comparingDouble(BigDecimal::doubleValue))
.orElse(BigDecimal.ZERO);
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream().map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue())).max(Comparator.comparingDouble(BigDecimal::doubleValue)).orElse(BigDecimal.ZERO);
}
private static String findStringValue(String fieldCode, Map<Long, List<SalaryAcctResultPO>> resultMap, Map<String, Long> salaryItemMap) {
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream()
.map(SalaryAcctResultPO::getResultValue)
.findFirst().orElse("");
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream().map(SalaryAcctResultPO::getResultValue).findFirst().orElse("");
}
@Data

View File

@ -61,6 +61,7 @@ public class TaxDeclarationDetailBO {
.addUpSupportElderly(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ADD_UP_SUPPORT_ELDERLY))
.addUpIllnessMedical(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ADD_UP_ILLNESS_MEDICAL))
.addUpInfantCare(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ADD_UP_INFANT_CARE))
.addUpPrivatePension(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ADD_UP_PRIVATE_PENSION))
.annuity(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.ANNUITY))
.commercialHealthInsurance(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.COMMERCIAL_HEALTH_INSURANCE))
.taxDeferredEndowmentInsurance(fieldCodeKeyFieldValueMap.get(TaxDeclarationDataIndexConstant.TAX_DEFERRED_ENDOWMENT_INSURANCE))

View File

@ -101,6 +101,10 @@ public class TaxDeclarationWageListDTO {
@TableTitle(title = "累计婴幼儿照护", dataIndex = "addUpInfantCare", key = "addUpInfantCare")
private String addUpInfantCare;
@SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "addUpPrivatePension")
@TableTitle(title = "累计个人养老金", dataIndex = "addUpPrivatePension", key = "addUpPrivatePension")
private String addUpPrivatePension;
@SalaryTableColumn(text = "企业(职业)年金", width = "10%", column = "annuity")
@TableTitle(title = "企业(职业)年金", dataIndex = "annuity", key = "annuity")
private String annuity;

View File

@ -19,6 +19,7 @@
<result column="add_up_illness_medical" property="addUpIllnessMedical"/>
<result column="add_up_tax_savings" property="addUpTaxSavings"/>
<result column="add_up_infant_care" property="addUpInfantCare"/>
<result column="add_up_private_pension" property="addUpPrivatePension"/>
<result column="create_time" property="createTime"/>
<result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/>
@ -62,6 +63,7 @@
, t.add_up_illness_medical
, t.add_up_tax_savings
, t.add_up_infant_care
, t.add_up_private_pension
</sql>
<!--批量删除-->
@ -118,6 +120,7 @@
t1.add_up_support_elderly,
t1.add_up_illness_medical,
t1.add_up_infant_care,
t1.add_up_private_pension,
t1.add_up_enterprise_and_other,
t1.add_up_other_deduction,
t1.add_up_tax_exempt_income,
@ -434,7 +437,8 @@
tenant_key,
add_up_tax_savings,
add_up_illness_medical,
add_up_infant_care
add_up_infant_care,
add_up_private_pension
)
VALUES
<foreach collection="collection" item="item" separator=",">
@ -463,7 +467,8 @@
#{item.tenantKey},
#{item.addUpTaxSavings},
#{item.addUpIllnessMedical},
#{item.addUpInfantCare}
#{item.addUpInfantCare},
#{item.addUpPrivatePension}
)
</foreach>
</insert>
@ -493,7 +498,8 @@
tenant_key,
add_up_tax_savings,
add_up_illness_medical,
add_up_infant_care
add_up_infant_care,
add_up_private_pension
)
<foreach collection="collection" item="item" separator="union all">
@ -522,7 +528,8 @@
#{item.tenantKey,jdbcType=VARCHAR},
#{item.addUpTaxSavings,jdbcType=VARCHAR},
#{item.addUpIllnessMedical,jdbcType=VARCHAR},
#{item.addUpInfantCare,jdbcType=VARCHAR}
#{item.addUpInfantCare,jdbcType=VARCHAR},
#{item.addUpPrivatePension,jdbcType=VARCHAR}
from dual
</foreach>
</insert>
@ -553,7 +560,8 @@
tenant_key,
add_up_tax_savings,
add_up_illness_medical,
add_up_infant_care
add_up_infant_care,
add_up_private_pension
)
VALUES
(
@ -581,7 +589,8 @@
#{item.tenantKey},
#{item.addUpTaxSavings},
#{item.addUpIllnessMedical},
#{item.addUpInfantCare}
#{item.addUpInfantCare},
#{item.addUpPrivatePension}
)
</foreach>
</insert>
@ -708,6 +717,13 @@
</if>
</foreach>
</trim>
<trim prefix="add_up_private_pension =case" suffix="end,">
<foreach collection="collection" item="item" index="index">
<if test="item.addUpPrivatePension!=null">
when id=#{item.id} then #{item.addUpPrivatePension}
</if>
</foreach>
</trim>
</trim>
where
id in

View File

@ -801,6 +801,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
po.setAddUpIllnessMedical(dto.getAddUpIllnessMedical());
po.setAddUpTaxSavings(dto.getAddUpTaxSavings());
po.setAddUpInfantCare(dto.getAddUpInfantCare());
po.setAddUpPrivatePension(dto.getAddUpPrivatePension());
if (errorSum == 0) {
successCount += 1;
@ -893,7 +894,9 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
.addUpEnterpriseAndOther(addUpSituationParam.getAddUpEnterpriseAndOther()).addUpOtherDeduction(addUpSituationParam.getAddUpOtherDeduction())
.addUpTaxExemptIncome(addUpSituationParam.getAddUpTaxExemptIncome()).addUpAllowedDonation(addUpSituationParam.getAddUpAllowedDonation())
.addUpTaxSavings(addUpSituationParam.getAddUpTaxSavings()).addUpAdvanceTax(addUpSituationParam.getAddUpAdvanceTax())
.addUpInfantCare(addUpSituationParam.getAddUpInfantCare()).build();
.addUpInfantCare(addUpSituationParam.getAddUpInfantCare())
.addUpPrivatePension(addUpSituationParam.getAddUpPrivatePension())
.build();
updateList.add(build);
biz.batchUpdate(updateList);
}
@ -1029,6 +1032,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
po.setAddUpIllnessMedical(addUpSituationParam.getAddUpIllnessMedical());
po.setAddUpTaxSavings(addUpSituationParam.getAddUpTaxSavings());
po.setAddUpInfantCare(addUpSituationParam.getAddUpInfantCare());
po.setAddUpPrivatePension(addUpSituationParam.getAddUpPrivatePension());
insertList.add(po);
//入库

View File

@ -898,6 +898,7 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
po.setAddUpIllnessMedical(AESEncryptUtil.closeEncryptSetting(po.getAddUpIllnessMedical()));
po.setAddUpTaxSavings(AESEncryptUtil.closeEncryptSetting(po.getAddUpTaxSavings()));
po.setAddUpInfantCare(AESEncryptUtil.closeEncryptSetting(po.getAddUpInfantCare()));
po.setAddUpPrivatePension(AESEncryptUtil.closeEncryptSetting(po.getAddUpPrivatePension()));
} else {
po.setAddUpIncome(AESEncryptUtil.encrypt(po.getAddUpIncome()));
po.setAddUpSubtraction(AESEncryptUtil.encrypt(po.getAddUpSubtraction()));
@ -916,6 +917,7 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
po.setAddUpIllnessMedical(AESEncryptUtil.encrypt(po.getAddUpIllnessMedical()));
po.setAddUpTaxSavings(AESEncryptUtil.encrypt(po.getAddUpTaxSavings()));
po.setAddUpInfantCare(AESEncryptUtil.encrypt(po.getAddUpInfantCare()));
po.setAddUpPrivatePension(AESEncryptUtil.encrypt(po.getAddUpPrivatePension()));
}
});
List<List<AddUpSituation>> partition = Lists.partition(addUpSituations, 50);