From 691f4c42cee5bd1461a87be6fc2b774f2a163222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 10 Apr 2024 14:48:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E7=BD=AE=E7=AE=97=E7=A8=8E=E7=BB=93?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/salarysob/IncomeCategoryEnum.java | 24 +- .../GetDeclareTaxResultFeedbackResponse.java | 257 +++++++++++++++++- 2 files changed, 260 insertions(+), 21 deletions(-) diff --git a/src/com/engine/salary/enums/salarysob/IncomeCategoryEnum.java b/src/com/engine/salary/enums/salarysob/IncomeCategoryEnum.java index f0564f27c..fbce1c59b 100644 --- a/src/com/engine/salary/enums/salarysob/IncomeCategoryEnum.java +++ b/src/com/engine/salary/enums/salarysob/IncomeCategoryEnum.java @@ -139,36 +139,36 @@ public enum IncomeCategoryEnum implements BaseEnum { NON_RESIDENT_INCOME_WAGES_AND_SALARIES(700, "0700", "无住所个人正常工资薪金", DeclareReportTypeEnum.NONRESIDENT_INCOME, 181945) { @Override public Map>> parseGetDeclareTaxResultFeedbackResponse(Map>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) { -// List zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb(); -// List> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd); -// result.put(this.getDefaultLabel(), zhsdSheetData); + List fjmsd = declareTaxResultFeedbackResponse.getBody().getFjmsd().getWjgzxjlb().getSscglb(); + List> sheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.fjmsd.fjmsdssjgdx.fjmsdscbw.class, fjmsd); + result.put(this.getDefaultLabel(), sheetData); return result; } }, NON_RESIDENT_INCOME_MONTHLY_BONUS(710, "0710", "无住所个人数月奖金", DeclareReportTypeEnum.NONRESIDENT_INCOME, 181945) { @Override public Map>> parseGetDeclareTaxResultFeedbackResponse(Map>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) { - List zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb(); - List> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd); - result.put(this.getDefaultLabel(), zhsdSheetData); + List fjmsd = declareTaxResultFeedbackResponse.getBody().getFjmsd().getWjrysyjjlb().getSscglb(); + List> sheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.fjmsd.fjmsdssjgdx.fjmsdscbw.class, fjmsd); + result.put(this.getDefaultLabel(), sheetData); return result; } }, NON_RESIDENT_INCOME_REMUNERATION_FOR_LABOR(720, "0720", "一般劳务报酬所得", DeclareReportTypeEnum.NONRESIDENT_INCOME, 181945) { @Override public Map>> parseGetDeclareTaxResultFeedbackResponse(Map>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) { - List zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb(); - List> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd); - result.put(this.getDefaultLabel(), zhsdSheetData); + List fjmsd = declareTaxResultFeedbackResponse.getBody().getFjmsd().getLwbclb().getSscglb(); + List> sheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.fjmsd.fjmsdssjgdx.fjmsdscbw.class, fjmsd); + result.put(this.getDefaultLabel(), sheetData); return result; } }, NON_RESIDENT_INCOME_COMPENSATION_FOR_DISMISS(730, "0730", "解除劳动合同一次性补偿金", DeclareReportTypeEnum.NONRESIDENT_INCOME, 181945) { @Override public Map>> parseGetDeclareTaxResultFeedbackResponse(Map>> result, GetDeclareTaxResultFeedbackResponse declareTaxResultFeedbackResponse) { - List zhsd = declareTaxResultFeedbackResponse.getBody().getZhsd().getTxq().getSscglb(); - List> zhsdSheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.zhsd.zcgzxj.zhsdscjgbw.class, zhsd); - result.put(this.getDefaultLabel(), zhsdSheetData); + List fjmsd = declareTaxResultFeedbackResponse.getBody().getFjmsd().getJcldhtycxbcjlb().getSscglb(); + List> sheetData = ExcelUtil.getExcelSheetData(GetDeclareTaxResultFeedbackResponse.Body.fjmsd.fjmsdssjgdx.fjmsdscbw.class, fjmsd); + result.put(this.getDefaultLabel(), sheetData); return result; } }; diff --git a/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java b/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java index 3abdd210b..6691cdb96 100644 --- a/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java +++ b/src/com/engine/salary/remote/tax/response/declare/GetDeclareTaxResultFeedbackResponse.java @@ -51,19 +51,16 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse { // * 分类所得 必填:是 见分类所得计算结果 // */ // private 对象 flsd; -// /** -// * 非居民所得 必填:是 见非居民所得计算结果 -// */ -// private fjmsd fjmsd; -// /** + /** + * 非居民所得 必填:是 见非居民所得计算结果 + */ + private fjmsd fjmsd; + + // /** // * 限售股所得 必填:是 见限售股所得计算结果 // */ // private 对象 xsgsd; - /** - * 人员申报失败列表 必填:是 参考人员代报结果对象 - */ - private List rysbsblb; @Data public static class zhsd { @@ -660,6 +657,248 @@ public class GetDeclareTaxResultFeedbackResponse extends BaseResponse { } + + @Data + public static class fjmsd { + /** + * 正常工资薪金(无住所个人正常工资薪金)所得列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx wjgzxjlb; + /** + * 无住所个人数月奖金列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx wjrysyjjlb; + /** + * 劳务报酬列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx lwbclb; + /** + * 稿酬所得列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx gcsdlb; + /** + * 利息姑息红利所得列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx lxgxhllb; + /** + * 股权转让列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx gqzrlb; + /** + * 其他财产转让列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx qtcczrlb; + /** + * 偶然所得列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx orsdlb; + /** + * 解除劳动合同一次性补偿金列表 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx jcldhtycxbcjlb; + /** + * 保险营销员薪金算税结果对象 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx bxyxy; + /** + * 证券经纪人薪金算税结果对象 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx zqjjr; + /** + * 个人股权激励结果对象 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx grgqjl; + /** + * 特许权使用费所得 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx txqsyfsd; + /** + * 个人房屋出租所得 参考非居民所得算税结果对象 + */ + private fjmsdssjgdx grfwczsd; + + /** + * 非居民所得算税结果对象 + */ + @Data + public static class fjmsdssjgdx { + /** + * 非居民算税成功列表 参考输入报文非居民所得输出结果报文 + */ + private List sscglb; + /** + * 非居民算税失败列表 参考输入报文非居民所得输出结果报文 + */ + private List sssblb; + /** + * 非居民算税失败原因列表 参考算税失败原因对象 + */ + private List sssbyylb; + /** + * 参与非居民算税总人数 + */ + private int sszrs; + /** + * 非居民算税失败总人数 + */ + private int sssbrs; + + /** + * 4.4.1.3.4.2非居民所得输出结果报文 + */ + @Data + public static class fjmsdscbw { + /** + * 姓名 必填:是 + */ + @SalaryTableColumn(text = "姓名", width = "10%", column = "xm") + @ExcelHead(title = "姓名", dataIndex = "xm") + private String xm; + + /** + * 证件类型名称 必填:是 + */ + @SalaryTableColumn(text = "证件类型", width = "10%", column = "zzlx") + @ExcelHead(title = "证件类型", dataIndex = "zzlx") + private String zzlx; + + /** + * 证件号码 必填:是 + */ + @SalaryTableColumn(text = "证件号码", width = "10%", column = "zzhm") + @ExcelHead(title = "证件号码", dataIndex = "zzhm") + private String zzhm; + + /** + * 收入额 必填:是 + */ + @SalaryTableColumn(text = "收入额", width = "10%", column = "sre") + @ExcelHead(title = "收入额", dataIndex = "sre") + private String sre; + + /** + * 累计收入(不含本次) 必填:是 + */ + @SalaryTableColumn(text = "累计收入(不含本次)", width = "10%", column = "ljsre") + @ExcelHead(title = "累计收入(不含本次)", dataIndex = "ljsre") + private String ljsre; + + /** + * 免税收入 必填:是 + */ + @SalaryTableColumn(text = "免税收入", width = "10%", column = "mssd") + @ExcelHead(title = "免税收入", dataIndex = "mssd") + private String mssd; + /** + * 财产原值 必填:是 + */ + private String ccyz; + /** + * 允许扣除的税费 必填:是 + */ + private String yxkcsf; + /** + * 投资抵扣 必填:是 + */ + private String tzdk; + /** + * 其他 必填:是 + */ + private String qt; + /** + * 备注 必填:是 + */ + private String bz; + /** + * 实际工作年限 必填:是 + */ + private String sjgznxs; + /** + * 减除费用 必填:是 + */ + private String jcfy; + /** + * 准予扣除的捐赠额 必填:是 + */ + @SalaryTableColumn(text = "准予扣除的捐赠额", width = "10%", column = "zykcjze") + @ExcelHead(title = "准予扣除的捐赠额", dataIndex = "zykcjze") + private String zykcjze; + /** + * 税前扣除项目合计 必填:是 + */ + private String sqkcxmhj; + /** + * 应纳税额所得额 必填:是 + */ + @SalaryTableColumn(text = "应纳税额所得额", width = "10%", column = "ynssde") + @ExcelHead(title = "应纳税额所得额", dataIndex = "ynssde") + private String ynssde; + /** + * 应纳税额 必填:是 + */ + @SalaryTableColumn(text = "应纳税额", width = "10%", column = "ynse") + @ExcelHead(title = "应纳税额", dataIndex = "ynse") + private String ynse; + /** + * 减免税额 必填:是 + */ + private String jmse; + /** + * 应扣缴税额 必填:是 + */ + @SalaryTableColumn(text = "应扣缴税额", width = "10%", column = "yingkjse") + @ExcelHead(title = "应扣缴税额", dataIndex = "yingkjse") + private String yingkjse; + /** + * 已扣缴税额 必填:是 无需填写该值,按0处理 + */ + @SalaryTableColumn(text = "已扣缴税额", width = "10%", column = "ykjse") + @ExcelHead(title = "已扣缴税额", dataIndex = "ykjse") + private String ykjse; + /** + * 税率 必填:是 + */ + @SalaryTableColumn(text = "税率", width = "10%", column = "sl") + @ExcelHead(title = "税率", dataIndex = "sl") + private String sl; + /** + * 速算扣除数 必填:是 + */ + @SalaryTableColumn(text = "速算扣除数", width = "10%", column = "sskcs") + @ExcelHead(title = "速算扣除数", dataIndex = "sskcs") + private String sskcs; + /** + * 代报方式 必填:是 + */ + private String sbfs; + /** + * 应补退税额 必填:是 + */ + @SalaryTableColumn(text = "应补退税额", width = "10%", column = "ybtse") + @ExcelHead(title = "应补退税额", dataIndex = "ybtse") + private String ybtse; + /** + * 非居民所得项目名字 必填:是非居民所得薪金类别-无住所个人正常工资薪金、全年一次性奖金收入 + */ + private String sdxm; + /** + * 所得期间起 必填:是 YYYY-MM + */ + private String sdqjq; + /** + * 所得期间止 必填:是 YYYY-MM + */ + private String sdqjz; + } + } + } + + + /** + * 人员申报失败列表 必填:是 参考人员代报结果对象 + */ + private List rysbsblb; + /** * 4.4.1.3.1.1人员代报结果对象 */