导出申报表明细
This commit is contained in:
parent
d9c952e80c
commit
c581c8d74d
|
|
@ -19,6 +19,7 @@ import com.engine.salary.util.SalaryEntityUtil;
|
|||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -63,8 +64,7 @@ public class TaxDeclarationCommon implements TaxDeclarationStrategy {
|
|||
SalarySobTaxReportRulePO salarySobTaxReportRule = taxDeclareContext.getSalarySobTaxReportRuleMap()
|
||||
.get(lastSalaryAcctEmployee.getSalarySobId() + "-" + taxReportColumn.getReportColumnDataIndex());
|
||||
List<SalaryAcctResultPO> salaryAcctResultValue = salaryAcctResultValueMap.get(lastSalaryAcctEmployee.getId());
|
||||
String defaultValue = Objects.equals(taxReportColumn.getDataType(), SalaryDataTypeEnum.NUMBER.getValue()) ? "0" : "";
|
||||
String value = defaultValue;
|
||||
String value = "";
|
||||
if (salarySobTaxReportRule != null && salaryAcctResultValue != null) {
|
||||
value = salaryAcctResultValue.stream()
|
||||
.filter(result -> result.getSalaryItemId().equals(salarySobTaxReportRule.getSalaryItemId()))
|
||||
|
|
@ -72,6 +72,7 @@ public class TaxDeclarationCommon implements TaxDeclarationStrategy {
|
|||
.orElse(new SalaryAcctResultPO())
|
||||
.getResultValue();
|
||||
}
|
||||
value = StringUtils.isNotBlank(value) ? value : Objects.equals(taxReportColumn.getDataType(), SalaryDataTypeEnum.NUMBER.getValue()) ? "0.00" : "";
|
||||
valueMap.put(taxReportColumn.getReportColumnDataIndex(), value);
|
||||
}
|
||||
TaxDeclarationValuePO taxDeclarationValue = TaxDeclarationValuePO.builder()
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
package com.engine.salary.enums.salarysob;
|
||||
|
||||
import com.engine.salary.enums.BaseEnum;
|
||||
import com.engine.salary.remote.tax.response.employee.GetDeclareTaxResultFeedbackResponse;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 应税项目
|
||||
|
|
@ -20,19 +19,123 @@ import java.util.Objects;
|
|||
public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
||||
|
||||
// todo 多语言
|
||||
WAGES_AND_SALARIES(1, "0101", "正常工资薪金", 160487),
|
||||
REMUNERATION_FOR_LABOR(4, "0400", "一般劳务报酬所得", 160488),
|
||||
ONETIME_ANNUAL_BONUS(2, "0103", "全年一次性奖金收入", 160489),
|
||||
COMPENSATION_FOR_RETIRE(107, "0107", "内退一次性补偿金", 181936),
|
||||
COMPENSATION_FOR_DISMISS(108, "0108", "解除劳动合同一次性补偿金", 181937),
|
||||
INCOME_FOR_INDIVIDUAL_EQUITY_INCENTIVE(109, "0109", "个人股权激励收入", 181938),
|
||||
ANNUITY_RECEIPT(110, "0110", "年金领取", 181939),
|
||||
INCOME_FOR_INSURANCE_SALESMAN(402, "0402", "保险营销员佣金收入", 181940),
|
||||
INCOME_FOR_SECURITIES_BROKER(403, "0403", "证券经纪人佣金收入", 181942),
|
||||
REMUNERATION_FOR_OTHER_CONTINUOUS_LABOR(489, "0489", "其他连续劳务报酬所得", 181943),
|
||||
REMUNERATION_FOR_OTHER_LABOR(499, "0499", "其他非连续劳务报酬所得", 175330),
|
||||
REMUNERATION_FOR_AUTHOR(500, "0500", "稿酬所得", 181944),
|
||||
ROYALTIES(600, "0600", "特许权使用费所得", 181945),
|
||||
WAGES_AND_SALARIES(1, "0101", "正常工资薪金", 160487) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getZcgzxj().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
REMUNERATION_FOR_LABOR(4, "0400", "一般劳务报酬所得", 160488) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getLwbclb().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
ONETIME_ANNUAL_BONUS(2, "0103", "全年一次性奖金收入", 160489) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getQnycxjjsslb().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
COMPENSATION_FOR_RETIRE(107, "0107", "内退一次性补偿金", 181936) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getNtycxbcjlb().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
COMPENSATION_FOR_DISMISS(108, "0108", "解除劳动合同一次性补偿金", 181937) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getJcldhtycxbcjlb().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
INCOME_FOR_INDIVIDUAL_EQUITY_INCENTIVE(109, "0109", "个人股权激励收入", 181938) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getGrgqjl().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
ANNUITY_RECEIPT(110, "0110", "年金领取", 181939) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getQynj().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
INCOME_FOR_INSURANCE_SALESMAN(402, "0402", "保险营销员佣金收入", 181940) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getBxyxy().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
INCOME_FOR_SECURITIES_BROKER(403, "0403", "证券经纪人佣金收入", 181942) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getZqjjr().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
REMUNERATION_FOR_OTHER_CONTINUOUS_LABOR(489, "0489", "其他连续劳务报酬所得", 181943) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getQtlxlwbc().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
REMUNERATION_FOR_OTHER_LABOR(499, "0499", "其他非连续劳务报酬所得", 175330) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getQtflxlwbc().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
REMUNERATION_FOR_AUTHOR(500, "0500", "稿酬所得", 181944) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getGcsdlb().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
ROYALTIES(600, "0600", "特许权使用费所得", 181945) {
|
||||
@Override
|
||||
public Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) {
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb();
|
||||
List<List<Object>> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd);
|
||||
result.put(this.getDefaultLabel(), zhsdSheetData);
|
||||
return result;
|
||||
}
|
||||
},
|
||||
;
|
||||
|
||||
|
||||
|
|
@ -51,6 +154,8 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
this.labelId = labelId;
|
||||
}
|
||||
|
||||
public abstract Map<String, List<List<Object>>> parseGetDeclareTaxResultFeedbackResponse(Map<String, List<List<Object>>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse);
|
||||
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return value;
|
||||
|
|
@ -79,6 +184,7 @@ public enum IncomeCategoryEnum implements BaseEnum<Integer> {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static List<IncomeCategoryEnum> parseByValue(Collection<Integer> values) {
|
||||
if (CollectionUtils.isEmpty(values)) {
|
||||
return Collections.emptyList();
|
||||
|
|
|
|||
|
|
@ -58,10 +58,11 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
// * 限售股所得 必填:是 见限售股所得计算结果
|
||||
// */
|
||||
// private 对象 xsgsd;
|
||||
// /**
|
||||
// * 人员申报失败列表 必填:是 参考人员代报结果对象
|
||||
// */
|
||||
// private 数组 rysbsblb;
|
||||
|
||||
/**
|
||||
* 人员申报失败列表 必填:是 参考人员代报结果对象
|
||||
*/
|
||||
private List<rydbjgdx> rysbsblb;
|
||||
|
||||
@Data
|
||||
public static class zhsd {
|
||||
|
|
@ -73,66 +74,66 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
* 正常工资薪金算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj zcgzxj;
|
||||
// /**
|
||||
// * 全年一次性奖金收入算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 qnycxjjsslb;
|
||||
// /**
|
||||
// * 稿酬所得算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 gcsdlb;
|
||||
// /**
|
||||
// * 一般劳务报酬算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 lwbclb;
|
||||
// /**
|
||||
// * 解除劳动合同一次性补偿金列表 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 jcldhtycxbcjlb;
|
||||
// /**
|
||||
// * 保险营销员薪金算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 bxyxy;
|
||||
// /**
|
||||
// * 证券经纪人薪金算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 zqjjr;
|
||||
// /**
|
||||
// * 特许权算税结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 txq;
|
||||
// /**
|
||||
// * 个人股权激励结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 grgqjl;
|
||||
// /**
|
||||
// * 企业年金结果对象 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 qynj;
|
||||
// /**
|
||||
// * 内退一次性补偿金 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 ntycxbcjlb;
|
||||
// /**
|
||||
// * 其他连续劳务报酬 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 qtlxlwbc;
|
||||
// /**
|
||||
// * 其他非连续劳务报酬 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 qtflxlwbc;
|
||||
// /**
|
||||
// * 提前退休一次性补贴 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 tqtxycxbt;
|
||||
// /**
|
||||
// * 央企负责人绩效薪金延期兑现收入和任期奖励 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 yqfzrsrhjl;
|
||||
// /**
|
||||
// * 法律援助劳务报酬 参考综合所得算税结果对象
|
||||
// */
|
||||
// private 对象 flyzlwbclb;
|
||||
/**
|
||||
* 全年一次性奖金收入算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj qnycxjjsslb;
|
||||
/**
|
||||
* 稿酬所得算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj gcsdlb;
|
||||
/**
|
||||
* 一般劳务报酬算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj lwbclb;
|
||||
/**
|
||||
* 解除劳动合同一次性补偿金列表 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj jcldhtycxbcjlb;
|
||||
/**
|
||||
* 保险营销员薪金算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj bxyxy;
|
||||
/**
|
||||
* 证券经纪人薪金算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj zqjjr;
|
||||
/**
|
||||
* 特许权算税结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj txq;
|
||||
/**
|
||||
* 个人股权激励结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj grgqjl;
|
||||
/**
|
||||
* 企业年金结果对象 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj qynj;
|
||||
/**
|
||||
* 内退一次性补偿金 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj ntycxbcjlb;
|
||||
/**
|
||||
* 其他连续劳务报酬 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj qtlxlwbc;
|
||||
/**
|
||||
* 其他非连续劳务报酬 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj qtflxlwbc;
|
||||
/**
|
||||
* 提前退休一次性补贴 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj tqtxycxbt;
|
||||
/**
|
||||
* 央企负责人绩效薪金延期兑现收入和任期奖励 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj yqfzrsrhjl;
|
||||
/**
|
||||
* 法律援助劳务报酬 参考综合所得算税结果对象
|
||||
*/
|
||||
private zcgzxj flyzlwbclb;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -234,7 +235,6 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
/**
|
||||
* 是否明细申报 必填:否 是或者否
|
||||
*/
|
||||
@SalaryTableColumn(text = "是否明细申报", width = "10%", column = "sfmxsb")
|
||||
private String sfmxsb;
|
||||
/**
|
||||
* 姓名 必填:null 如果是汇总申报返回空
|
||||
|
|
@ -264,133 +264,143 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
/**
|
||||
* 当期收入额 必填:是 不填写默认为0
|
||||
*/
|
||||
@SalaryTableColumn(text = "当期收入额", width = "10%", column = "sre")
|
||||
@SalaryTableColumn(text = "本期收入", width = "10%", column = "sre")
|
||||
private BigDecimal sre;
|
||||
/**
|
||||
* 当期免税收入 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "当期免税收入", width = "10%", column = "mssd")
|
||||
@SalaryTableColumn(text = "本期免税收入", width = "10%", column = "mssd")
|
||||
private BigDecimal mssd;
|
||||
/**
|
||||
* 基本养老保险 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "基本养老保险", width = "10%", column = "jbylaobxf")
|
||||
@SalaryTableColumn(text = "本期基本养老保险费", width = "10%", column = "jbylaobxf")
|
||||
private BigDecimal jbylaobxf;
|
||||
/**
|
||||
* 基本医疗保险 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "基本医疗保险", width = "10%", column = "jbylbxf")
|
||||
@SalaryTableColumn(text = "本期基本医疗保险费", width = "10%", column = "jbylbxf")
|
||||
private BigDecimal jbylbxf;
|
||||
/**
|
||||
* 失业保险 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "失业保险", width = "10%", column = "sybxf")
|
||||
@SalaryTableColumn(text = "本期失业保险费", width = "10%", column = "sybxf")
|
||||
private BigDecimal sybxf;
|
||||
/**
|
||||
* 住房公积金 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "住房公积金", width = "10%", column = "zfgjj")
|
||||
@SalaryTableColumn(text = "本期住房公积金", width = "10%", column = "zfgjj")
|
||||
private BigDecimal zfgjj;
|
||||
/**
|
||||
* 子女教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "子女教育支出", width = "10%", column = "znjyzc")
|
||||
private BigDecimal znjyzc;
|
||||
/**
|
||||
* 赡养老人支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "赡养老人支出", width = "10%", column = "sylrzc")
|
||||
private BigDecimal sylrzc;
|
||||
/**
|
||||
* 住房贷款利息支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "住房贷款利息支出", width = "10%", column = "zfdklxzc")
|
||||
private BigDecimal zfdklxzc;
|
||||
/**
|
||||
* 住房租金支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "住房租金支出", width = "10%", column = "zfzjzc")
|
||||
private BigDecimal zfzjzc;
|
||||
/**
|
||||
* 继续教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "继续教育支出", width = "10%", column = "jxjyzc")
|
||||
private BigDecimal jxjyzc;
|
||||
/**
|
||||
* 非学历继续教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "非学历继续教育支出", width = "10%", column = "fxljxjyzc")
|
||||
private BigDecimal fxljxjyzc;
|
||||
/**
|
||||
* 3岁以下婴幼儿照护支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "3岁以下婴幼儿照护支出", width = "10%", column = "yyezhzc")
|
||||
private BigDecimal yyezhzc;
|
||||
|
||||
/**
|
||||
* 年金 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "年金", width = "10%", column = "nj")
|
||||
@SalaryTableColumn(text = "本期企业(职业)年金", width = "10%", column = "nj")
|
||||
private BigDecimal nj;
|
||||
|
||||
/**
|
||||
* 商业健康保险 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "商业健康保险", width = "10%", column = "syjkbx")
|
||||
@SalaryTableColumn(text = "本期商业健康保险费", width = "10%", column = "syjkbx")
|
||||
private BigDecimal syjkbx;
|
||||
/**
|
||||
* 税延养老保险 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "税延养老保险", width = "10%", column = "syylbx")
|
||||
@SalaryTableColumn(text = "本期税延养老保险费", width = "10%", column = "syylbx")
|
||||
private BigDecimal syylbx;
|
||||
/**
|
||||
* 其他 必填:null 按法律规定可以在税前扣除的项目
|
||||
*/
|
||||
@SalaryTableColumn(text = "其他", width = "10%", column = "qt")
|
||||
@SalaryTableColumn(text = "本期其他扣除(其他)", width = "10%", column = "qt")
|
||||
private BigDecimal qt;
|
||||
|
||||
/**
|
||||
* 准予扣除的捐赠额 必填:null
|
||||
* 累计收入额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "准予扣除的捐赠额", width = "10%", column = "zykcjze")
|
||||
private BigDecimal zykcjze;
|
||||
@SalaryTableColumn(text = "累计收入额", width = "10%", column = "ljsre")
|
||||
private BigDecimal ljsre;
|
||||
/**
|
||||
* 减免税额 必填:null
|
||||
* 累计免税收入额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "减免税额", width = "10%", column = "jmse")
|
||||
private BigDecimal jmse;
|
||||
@SalaryTableColumn(text = "累计免税收入", width = "10%", column = "ljmssd")
|
||||
private BigDecimal ljmssd;
|
||||
|
||||
/**
|
||||
* 备注 必填:null
|
||||
* 累计减除费用额 必填:null 正常工资薪金累计减除费用 对应保险营销员、证券经纪人累计费用
|
||||
*/
|
||||
@SalaryTableColumn(text = "备注", width = "10%", column = "bz")
|
||||
private String bz;
|
||||
@SalaryTableColumn(text = "累计减除费用", width = "10%", column = "ljjcfye")
|
||||
private BigDecimal ljjcfye;
|
||||
|
||||
/**
|
||||
* 减除费用 必填:null 正常工资薪金的减除费用。 对应保险营销员、证券经纪人的费用
|
||||
* 累计专项扣除额 必填:null 三险一金合计
|
||||
*/
|
||||
@SalaryTableColumn(text = "减除费用", width = "10%", column = "jcfy")
|
||||
private BigDecimal jcfy;
|
||||
@SalaryTableColumn(text = "累计专项扣除", width = "10%", column = "ljzxkce")
|
||||
private BigDecimal ljzxkce;
|
||||
|
||||
/**
|
||||
* 其他扣除合计 必填:null
|
||||
* 累计子女教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "其他扣除合计", width = "10%", column = "qtckhj")
|
||||
private BigDecimal qtckhj;
|
||||
@SalaryTableColumn(text = "累计子女教育支出扣除", width = "10%", column = "ljznjyzc")
|
||||
private BigDecimal ljznjyzc;
|
||||
/**
|
||||
* 应纳税所得额 必填:null 正常工资薪金返回Null
|
||||
* 累计继续教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "应纳税所得额", width = "10%", column = "ynssde")
|
||||
private BigDecimal ynssde;
|
||||
@SalaryTableColumn(text = "累计继续教育支出扣除", width = "10%", column = "ljjxjyzc")
|
||||
private BigDecimal ljjxjyzc;
|
||||
/**
|
||||
* 应纳税额 必填:null 正常工资薪金返回Null
|
||||
* 累计非学历继续教育支持 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "应纳税额", width = "10%", column = "ynse")
|
||||
private BigDecimal ynse;
|
||||
private BigDecimal ljfxljxjyzc;
|
||||
/**
|
||||
* 已缴税额 必填:null 正常工资薪金返回Null
|
||||
* 累计学历继续教育支持 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "已缴税额", width = "10%", column = "ykjse")
|
||||
private BigDecimal ykjse;
|
||||
private BigDecimal ljxljxjyzc;
|
||||
/**
|
||||
* 应扣缴税额 必填:null 正常工资薪金返回Null
|
||||
* 累计住房租金支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "应扣缴税额", width = "10%", column = "yingkjse")
|
||||
private BigDecimal yingkjse;
|
||||
@SalaryTableColumn(text = "累计住房租金支出扣除", width = "10%", column = "ljzfzjzc")
|
||||
private BigDecimal ljzfzjzc;
|
||||
/**
|
||||
* 累计房屋贷款支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计房屋贷款支出扣除", width = "10%", column = "ljzfdklxzc")
|
||||
private BigDecimal ljzfdklxzc;
|
||||
/**
|
||||
* 累计赡养老人支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计赡养老人支出扣除", width = "10%", column = "ljsylrzc")
|
||||
private BigDecimal ljsylrzc;
|
||||
/**
|
||||
* 累计3岁以下婴幼儿照护支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计3岁以下婴幼儿照护", width = "10%", column = "ljyyezhzc")
|
||||
private BigDecimal ljyyezhzc;
|
||||
|
||||
|
||||
/**
|
||||
* 累计个人养老金 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "ljgrylj")
|
||||
private BigDecimal ljgrylj;
|
||||
|
||||
/**
|
||||
* 累计其他扣除额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计其他扣除", width = "10%", column = "ljqtkce")
|
||||
private BigDecimal ljqtkce;
|
||||
|
||||
/**
|
||||
* 累计准予扣除的捐赠额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计准予扣除的捐赠", width = "10%", column = "ljzykcjze")
|
||||
private BigDecimal ljzykcjze;
|
||||
|
||||
/**
|
||||
* 累计应纳税所得额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计应纳税所得额", width = "10%", column = "ljynssde")
|
||||
private BigDecimal ljynssde;
|
||||
|
||||
/**
|
||||
* 税率 必填:null
|
||||
*/
|
||||
|
|
@ -401,81 +411,19 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
*/
|
||||
@SalaryTableColumn(text = "速算扣除数", width = "10%", column = "sskcs")
|
||||
private BigDecimal sskcs;
|
||||
/**
|
||||
* 所得项目名称 必填:是 正常工资薪金;全年一次性奖金收入;稿酬所得;劳务报酬
|
||||
*/
|
||||
@SalaryTableColumn(text = "所得项目名称", width = "10%", column = "sdxm")
|
||||
private String sdxm;
|
||||
/**
|
||||
* 应补退税额 必填:null 应补退税额=累计应扣缴税额-累计已缴税额
|
||||
*/
|
||||
@SalaryTableColumn(text = "应补退税额", width = "10%", column = "ybtse")
|
||||
private BigDecimal ybtse;
|
||||
/**
|
||||
* 累计收入额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计收入额", width = "10%", column = "ljsre")
|
||||
private BigDecimal ljsre;
|
||||
/**
|
||||
* 累计免税收入额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计免税收入额", width = "10%", column = "ljmssd")
|
||||
private BigDecimal ljmssd;
|
||||
/**
|
||||
* 累计专项扣除额 必填:null 三险一金合计
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计专项扣除额", width = "10%", column = "ljzxkce")
|
||||
private BigDecimal ljzxkce;
|
||||
/**
|
||||
* 累计专项附加扣除额 必填:null 专项附加合计
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计专项附加扣除额", width = "10%", column = "ljzxfjkce")
|
||||
private BigDecimal ljzxfjkce;
|
||||
/**
|
||||
* 累计其他扣除额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计其他扣除额", width = "10%", column = "ljqtkce")
|
||||
private BigDecimal ljqtkce;
|
||||
/**
|
||||
* 累计减免税额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计减免税额", width = "10%", column = "ljjmse")
|
||||
private BigDecimal ljjmse;
|
||||
/**
|
||||
* 累计减除费用额 必填:null 正常工资薪金累计减除费用 对应保险营销员、证券经纪人累计费用
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计减除费用额", width = "10%", column = "ljjcfye")
|
||||
private BigDecimal ljjcfye;
|
||||
/**
|
||||
* 累计月减除费用 必填:null 保险营销员、证券经纪人,其他连续劳务报酬的减除费用
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计月减除费用", width = "10%", column = "ljyjcfy")
|
||||
private BigDecimal ljyjcfy;
|
||||
/**
|
||||
* 允许扣除税费 必填:null 保险营销员、证券经纪人
|
||||
*/
|
||||
@SalaryTableColumn(text = "允许扣除税费", width = "10%", column = "yxkcsf")
|
||||
private BigDecimal yxkcsf;
|
||||
/**
|
||||
* 展业成本 必填:null 保险营销员、证券经纪人
|
||||
*/
|
||||
@SalaryTableColumn(text = "展业成本", width = "10%", column = "zycb")
|
||||
private BigDecimal zycb;
|
||||
/**
|
||||
* 月减除费用 必填:null 保险营销员、证券经纪人,其他连续劳务报酬的减除费用
|
||||
*/
|
||||
@SalaryTableColumn(text = "月减除费用", width = "10%", column = "yjcfy")
|
||||
private BigDecimal yjcfy;
|
||||
/**
|
||||
* 累计应纳税所得额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计应纳税所得额", width = "10%", column = "ljynssde")
|
||||
private BigDecimal ljynssde;
|
||||
|
||||
/**
|
||||
* 累计应纳税额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计应纳税额", width = "10%", column = "ljynse")
|
||||
private BigDecimal ljynse;
|
||||
|
||||
/**
|
||||
* 累计减免税额 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计减免税额", width = "10%", column = "ljjmse")
|
||||
private BigDecimal ljjmse;
|
||||
|
||||
/**
|
||||
* 累计应扣缴税额 必填:null 累计应扣缴税额 = 累计应纳税额 - 累计减免税额
|
||||
*/
|
||||
|
|
@ -487,59 +435,114 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
@SalaryTableColumn(text = "累计已缴税额", width = "10%", column = "ljykjse")
|
||||
private BigDecimal ljykjse;
|
||||
/**
|
||||
* 累计子女教育支出 必填:null
|
||||
* 已缴税额 必填:null 正常工资薪金返回Null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计子女教育支出", width = "10%", column = "ljznjyzc")
|
||||
private BigDecimal ljznjyzc;
|
||||
@SalaryTableColumn(text = "已缴税额", width = "10%", column = "ykjse")
|
||||
private BigDecimal ykjse;
|
||||
|
||||
/**
|
||||
* 累计继续教育支出 必填:null
|
||||
* 累计专项附加扣除额 必填:null 专项附加合计
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计继续教育支出", width = "10%", column = "ljjxjyzc")
|
||||
private BigDecimal ljjxjyzc;
|
||||
@SalaryTableColumn(text = "累计专项附加扣除额", width = "10%", column = "ljzxfjkce")
|
||||
private BigDecimal ljzxfjkce;
|
||||
|
||||
/**
|
||||
* 累计非学历继续教育支持 必填:null
|
||||
* 应补退税额 必填:null 应补退税额=累计应扣缴税额-累计已缴税额
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计非学历继续教育支持", width = "10%", column = "ljfxljxjyzc")
|
||||
private BigDecimal ljfxljxjyzc;
|
||||
@SalaryTableColumn(text = "应补退税额", width = "10%", column = "ybtse")
|
||||
private BigDecimal ybtse;
|
||||
|
||||
/**
|
||||
* 累计学历继续教育支持 必填:null
|
||||
* 备注 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计学历继续教育支持", width = "10%", column = "ljxljxjyzc")
|
||||
private BigDecimal ljxljxjyzc;
|
||||
@SalaryTableColumn(text = "备注", width = "10%", column = "bz")
|
||||
private String bz;
|
||||
|
||||
/**
|
||||
* 累计住房租金支出 必填:null
|
||||
* 子女教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计住房租金支出", width = "10%", column = "ljzfzjzc")
|
||||
private BigDecimal ljzfzjzc;
|
||||
private BigDecimal znjyzc;
|
||||
/**
|
||||
* 累计房屋贷款支出 必填:null
|
||||
* 赡养老人支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计房屋贷款支出", width = "10%", column = "ljzfdklxzc")
|
||||
private BigDecimal ljzfdklxzc;
|
||||
private BigDecimal sylrzc;
|
||||
/**
|
||||
* 累计赡养老人支出 必填:null
|
||||
* 住房贷款利息支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计赡养老人支出", width = "10%", column = "ljsylrzc")
|
||||
private BigDecimal ljsylrzc;
|
||||
private BigDecimal zfdklxzc;
|
||||
/**
|
||||
* 累计3岁以下婴幼儿照护支出 必填:null
|
||||
* 住房租金支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计3岁以下婴幼儿照护支出", width = "10%", column = "ljyyezhzc")
|
||||
private BigDecimal ljyyezhzc;
|
||||
private BigDecimal zfzjzc;
|
||||
/**
|
||||
* 累计准予扣除的捐赠额 必填:null
|
||||
* 继续教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计准予扣除的捐赠额", width = "10%", column = "ljzykcjze")
|
||||
private BigDecimal ljzykcjze;
|
||||
private BigDecimal jxjyzc;
|
||||
/**
|
||||
* 累计个人养老金 必填:null
|
||||
* 非学历继续教育支出 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "ljgrylj")
|
||||
private BigDecimal ljgrylj;
|
||||
private BigDecimal fxljxjyzc;
|
||||
/**
|
||||
* 3岁以下婴幼儿照护支出 必填:null
|
||||
*/
|
||||
private BigDecimal yyezhzc;
|
||||
|
||||
/**
|
||||
* 准予扣除的捐赠额 必填:null
|
||||
*/
|
||||
private BigDecimal zykcjze;
|
||||
/**
|
||||
* 减免税额 必填:null
|
||||
*/
|
||||
private BigDecimal jmse;
|
||||
|
||||
/**
|
||||
* 减除费用 必填:null 正常工资薪金的减除费用。 对应保险营销员、证券经纪人的费用
|
||||
*/
|
||||
private BigDecimal jcfy;
|
||||
/**
|
||||
* 其他扣除合计 必填:null
|
||||
*/
|
||||
private BigDecimal qtckhj;
|
||||
/**
|
||||
* 应纳税所得额 必填:null 正常工资薪金返回Null
|
||||
*/
|
||||
private BigDecimal ynssde;
|
||||
/**
|
||||
* 应纳税额 必填:null 正常工资薪金返回Null
|
||||
*/
|
||||
private BigDecimal ynse;
|
||||
|
||||
/**
|
||||
* 应扣缴税额 必填:null 正常工资薪金返回Null
|
||||
*/
|
||||
private BigDecimal yingkjse;
|
||||
|
||||
/**
|
||||
* 所得项目名称 必填:是 正常工资薪金;全年一次性奖金收入;稿酬所得;劳务报酬
|
||||
*/
|
||||
private String sdxm;
|
||||
|
||||
/**
|
||||
* 累计月减除费用 必填:null 保险营销员、证券经纪人,其他连续劳务报酬的减除费用
|
||||
*/
|
||||
private BigDecimal ljyjcfy;
|
||||
/**
|
||||
* 允许扣除税费 必填:null 保险营销员、证券经纪人
|
||||
*/
|
||||
private BigDecimal yxkcsf;
|
||||
/**
|
||||
* 展业成本 必填:null 保险营销员、证券经纪人
|
||||
*/
|
||||
private BigDecimal zycb;
|
||||
/**
|
||||
* 月减除费用 必填:null 保险营销员、证券经纪人,其他连续劳务报酬的减除费用
|
||||
*/
|
||||
private BigDecimal yjcfy;
|
||||
|
||||
/**
|
||||
* 累计个人养老金校验码 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "累计个人养老金校验码", width = "10%", column = "ljgryljjym")
|
||||
private String ljgryljjym;
|
||||
/**
|
||||
* 企业上月是否已申报 必填:null 仅在两个月算税场景时使用,当前月分为N月:
|
||||
|
|
@ -547,34 +550,28 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
* 1表示N-1月(上月)已申报
|
||||
* 2表示N-2月(上上个月)未申报
|
||||
*/
|
||||
@SalaryTableColumn(text = "企业上月是否已申报", width = "10%", column = "qysysfysb")
|
||||
private String qysysfysb;
|
||||
/**
|
||||
* 员工在税局累计已扣缴的税额 必填:null 当前月分为N,如果N-1(上月)已申报,则返回N-1月员工在税局累计已扣缴的税额;
|
||||
* 如果N-1月未申报,则返回N-2月工在税局累计已扣缴的税额;
|
||||
*/
|
||||
@SalaryTableColumn(text = "员工在税局累计已扣缴的税额", width = "10%", column = "ygzsjljykjse")
|
||||
private BigDecimal ygzsjljykjse;
|
||||
|
||||
/**
|
||||
* 本月已累计扣除税额 必填:null 针对一月多次算税的场景字段
|
||||
*/
|
||||
@SalaryTableColumn(text = "本月已累计扣除税额", width = "10%", column = "byyljkjse")
|
||||
private BigDecimal byyljkjse;
|
||||
/**
|
||||
* 本次应扣缴税额 必填:null 针对一月多次算税的场景字段,本次应扣缴税额=本月应扣缴税额-本月已累计税额
|
||||
*/
|
||||
@SalaryTableColumn(text = "本次应扣缴税额", width = "10%", column = "bcykjse")
|
||||
private BigDecimal bcykjse;
|
||||
/**
|
||||
* 分摊年度数 必填:null
|
||||
*/
|
||||
@SalaryTableColumn(text = "分摊年度数", width = "10%", column = "ftnds")
|
||||
private Integer ftnds;
|
||||
/**
|
||||
* 年减除费用 必填:null 默认为60000
|
||||
*/
|
||||
@SalaryTableColumn(text = "年减除费用", width = "10%", column = "njcfy")
|
||||
private BigDecimal njcfy;
|
||||
|
||||
}
|
||||
|
|
@ -622,6 +619,44 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 4.4.1.3.1.1人员代报结果对象
|
||||
*/
|
||||
@Data
|
||||
public static class rydbjgdx {
|
||||
/**
|
||||
* 人员ID
|
||||
*/
|
||||
private Integer ygid;
|
||||
/**
|
||||
* 人员名称
|
||||
*/
|
||||
private String xm;
|
||||
/**
|
||||
* 证件类型 见证件类型字典
|
||||
*/
|
||||
private String zzlx;
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
private String zzhm;
|
||||
/**
|
||||
* 错误码
|
||||
*/
|
||||
private String cwm;
|
||||
/**
|
||||
* 错误信息
|
||||
*/
|
||||
private String cwxx;
|
||||
/**
|
||||
* 所得税的code
|
||||
*/
|
||||
private String sdxmdm;
|
||||
/**
|
||||
* 所得税的名称
|
||||
*/
|
||||
private String sdxmmc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ public interface TaxDeclarationService {
|
|||
*/
|
||||
List<TaxDeclarationPO> listByTaxCycleAndTaxAgentIds(YearMonth salaryMonth, Collection<Long> taxAgentIds);
|
||||
|
||||
List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId);
|
||||
|
||||
PageInfo<TaxDeclarationPO> listPageByParam(TaxDeclarationListQueryParam queryParam);
|
||||
|
||||
List<TaxAgentPO> countByTaxDeclarationId(Collection<Long> taxAgentIds);
|
||||
|
|
@ -33,7 +35,6 @@ public interface TaxDeclarationService {
|
|||
|
||||
/**
|
||||
* 删除个税申报表
|
||||
*
|
||||
*/
|
||||
void delete(SalaryAcctRecordPO salaryAcctRecordPO);
|
||||
|
||||
|
|
@ -48,6 +49,7 @@ public interface TaxDeclarationService {
|
|||
|
||||
/**
|
||||
* 撤回个税申报单
|
||||
*
|
||||
* @param taxDeclarationId
|
||||
*/
|
||||
void withDrawTaxDeclaration(Long taxDeclarationId);
|
||||
|
|
|
|||
|
|
@ -94,6 +94,15 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
return taxDeclarationPOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId) {
|
||||
if (Objects.isNull(taxDeclareRecordId)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
||||
}
|
||||
TaxDeclarationPO po = TaxDeclarationPO.builder().taxDeclareRecordId(taxDeclareRecordId).build();
|
||||
return getTaxDeclarationMapper().listSome(po);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<TaxDeclarationPO> listPageByParam(TaxDeclarationListQueryParam queryParam) {
|
||||
long currentEmployeeId = user.getUID();
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import com.engine.salary.entity.taxdeclaration.response.DeclareTaxResponse;
|
|||
import com.engine.salary.entity.taxdeclaration.response.UpdateDeclareResponse;
|
||||
import com.engine.salary.enums.employeedeclare.DeclareStatusEnum;
|
||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
||||
import com.engine.salary.enums.taxagent.TaxAgentTaxReturnStatusEnum;
|
||||
import com.engine.salary.enums.taxdeclaration.*;
|
||||
|
|
@ -942,12 +943,11 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
|
||||
DeclareClient declareClient = new DeclareClient(taxDeclareRecord.getTaxAgentId());
|
||||
GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse = declareClient.getDeclareTaxResultFeedback(StringUtils.isEmpty(requestId) ? taxDeclareRecord.getRequestId() : requestId);
|
||||
List<GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw> sscglb = declareTaxResultFeedbackResponse.getBody().getZhsd().getZcgzxj().getSscglb();
|
||||
|
||||
// 需要导出的数据
|
||||
List<List<Object>> excelSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, sscglb);
|
||||
|
||||
return ExcelUtil.genWorkbookV2(excelSheetData, "申报内置算税结果");
|
||||
Map<String, List<List<Object>>> map = new HashMap<>();
|
||||
List<TaxDeclarationPO> list = getTaxDeclarationService(user).listByTaxDeclareRecordId(id);
|
||||
list.stream().map(TaxDeclarationPO::getIncomeCategory).map(IncomeCategoryEnum::parseByValue).forEach(e->e.parseGetDeclareTaxResultFeedbackResponse(map,declareTaxResultFeedbackResponse));
|
||||
return ExcelUtil.genWorkbookV2(map);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -272,6 +272,71 @@ public class ExcelUtil {
|
|||
return workbook;
|
||||
}
|
||||
|
||||
public static XSSFWorkbook genWorkbookV2(Map<String, List<List<Object>>> map) {
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
|
||||
map.entrySet().forEach(en->{
|
||||
|
||||
String sheetName = en.getKey();
|
||||
List<List<Object>> rowList = en.getValue();
|
||||
// 设置title样式
|
||||
XSSFCellStyle titleCellStyle = workbook.createCellStyle();
|
||||
XSSFFont titleFont = workbook.createFont();
|
||||
titleFont.setFontName("仿宋");
|
||||
titleFont.setFontHeightInPoints((short) 15);
|
||||
titleCellStyle.setFont(titleFont);
|
||||
titleCellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||
titleCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景色
|
||||
titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
|
||||
|
||||
// 设置主体样式
|
||||
XSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||
XSSFFont font = workbook.createFont();
|
||||
font.setFontName("宋体");
|
||||
font.setFontHeightInPoints((short) 10);// 设置字体大小
|
||||
cellStyle.setFont(font);// 选择需要用到的字体格式
|
||||
cellStyle.setWrapText(true);
|
||||
|
||||
XSSFSheet sheet = workbook.createSheet(sheetName);
|
||||
//自适应宽度
|
||||
sheet.autoSizeColumn(0, true);
|
||||
//默认列宽
|
||||
sheet.setDefaultColumnWidth(20);
|
||||
//默认行高
|
||||
sheet.setDefaultRowHeightInPoints(18);
|
||||
|
||||
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
|
||||
List<Object> infoList = rowList.get(rowIndex);
|
||||
XSSFRow row = sheet.createRow(rowIndex);
|
||||
for (int cellIndex = 0; cellIndex < infoList.size(); cellIndex++) {
|
||||
XSSFCell cell = row.createCell(cellIndex);
|
||||
if (rowIndex == 0) {
|
||||
cell.setCellStyle(titleCellStyle);
|
||||
} else {
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
Object o = infoList.get(cellIndex);
|
||||
if (o instanceof String) {
|
||||
cell.setCellType(CellType.STRING);
|
||||
cell.setCellValue(String.valueOf(o));
|
||||
} else if (o instanceof Boolean) {
|
||||
cell.setCellType(CellType.BOOLEAN);
|
||||
cell.setCellValue(String.valueOf(o));
|
||||
} else if (o instanceof Date) {
|
||||
cell.setCellType(CellType.STRING);
|
||||
cell.setCellValue(SalaryDateUtil.getFormatLocalDate((Date) o));
|
||||
} else {
|
||||
cell.setCellType(CellType.STRING);
|
||||
cell.setCellValue(o == null ? "" : o.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return workbook;
|
||||
}
|
||||
|
||||
public static XSSFWorkbook genWorkbook(ExcelSheetData excelSheetData) {
|
||||
List<List<Object>> list = new ArrayList<>();
|
||||
list.add(excelSheetData.getHeaders());
|
||||
|
|
|
|||
Loading…
Reference in New Issue