申报明细

This commit is contained in:
钱涛 2023-12-06 15:19:07 +08:00
parent 54d8f3ef39
commit e093c6aa7e
9 changed files with 618 additions and 19 deletions

View File

@ -22,15 +22,15 @@ public class QueryAccountBalanceResponse {
public static class Body {
/**
* 已购买总流量
**/
*/
private String total;
/**
* 已使用流量
**/
*/
private String used;
/**
* 剩余流量
**/
*/
private String surplus;
/**
* 使用明细

View File

@ -7,6 +7,14 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* 个税申报客户端
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public class DeclareClient extends TaxBaseClient{
public DeclareClient(Long taxAgentId) {
super(taxAgentId);
@ -24,6 +32,9 @@ public class DeclareClient extends TaxBaseClient{
params.put("requestId", requestId);
Map<String, String> header = SingnatureData.initHeader(Collections.emptyMap(), apiConfig.getAppKey(), apiConfig.getAppSecret());
String res = HttpUtil.getRequest(url, header, params);
return res;
}

View File

@ -15,7 +15,7 @@ import java.util.HashMap;
import java.util.Map;
/**
* 人员信息登记报送服务
* 人员信息登记报送客户端
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*

View File

@ -8,14 +8,6 @@ import com.engine.salary.util.Sm4Utils;
import com.engine.salary.util.db.MapperProxyFactory;
import lombok.extern.slf4j.Slf4j;
/**
* 人员信息登记报送服务
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Slf4j
public class TaxBaseClient {
private TaxDeclareApiConfigMapper getTaxDeclareApiConfigMapper() {

View File

@ -0,0 +1,540 @@
package com.engine.salary.remote.tax.response.employee;
import java.math.BigDecimal;
import java.util.List;
public class GetDeclareTaxResultFeedbackResponse {
/**
* 企业名称 必填
*/
private String qymc;
/**
* 税号 必填
*/
private String nsrsbh;
/**
* 地区编号 必填 6位行政区划代码,精确到市级例如440100,参考省市区编码
*/
private String areaid;
/**
* 部门编号 必填
*/
private String bmbh;
/**
* 部门名称 必填
*/
private String bmmc;
/**
* 算税月份 必填
*/
private String skssq;
/**
* 综合所得 必填 见综合所得计算结果
*/
private zhsd zhsd;
// /**
// * 分类所得 必填 见分类所得计算结果
// */
// private 对象 flsd;
// /**
// * 非居民所得 必填 见非居民所得计算结果
// */
// private 对象 fjmsd;
// /**
// * 限售股所得 必填 见限售股所得计算结果
// */
// private 对象 xsgsd;
// /**
// * 人员申报失败列表 必填 参考人员代报结果对象
// */
// private 数组 rysbsblb;
public class zhsd {
/**
* 人员代代报失败列表 参考人员代报结果对象
*/
private List<rydbjgdx> rysbsblb;
/**
* 正常工资薪金算税结果对象 参考综合所得算税结果对象
*/
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;
/**
* 人员代报结果对象
*/
public class rydbjgdx {
/**
* 姓名
*/
private String xm;
/**
* 证件类型名称
*/
private String zzlx;
/**
* 证件号码
*/
private String zzhm;
/**
* 代报状态 1 待报送 2 代报中 3 代报失败 4 代报成功
*/
private String sbzt;
/**
* 人员认证状态
*/
private String rzzt;
/**
* 失败原因
*/
private String sbyy;
/**
* 专项代报状态
*/
private String clzt;
/**
* 专项代报结果原因
*/
private String cljgms;
}
/**
* 综合所得算税结果对象
*/
public class zcgzxj {
/**
* 综合算税成功列表 参考综合所得输出结果报文
*/
private List<zhsdscjgbw> sscglb;
/**
* 综合算税失败列表 参考综合所得输出结果报文
*/
private List<zhsdscjgbw> sssblb;
/**
* 综合算税失败原因列表 参考算税失败原因对象
*/
private List<sssbyydx> sssbyylb;
/**
* 参与综合算税总人数
*/
private int sszrs;
/**
* 综合算税失败总人数
*/
private int sssbrs;
/**
* 年金上限
*/
private BigDecimal njsx;
/**
* 住房公积金上限
*/
private BigDecimal zfgjjsx;
/**
* 年平均工资
*/
private BigDecimal npjgz;
/**
* 企业上月是否已申报 0:上月未申报 1:上月已申报 2:上上月未申报
*/
private String qysysfysb;
/**
* 专项代报状态
*/
private String clzt;
/**
* 专项代报结果原因
*/
private String cljgms;
/**
* 综合所得输出结果报文
*/
public class zhsdscjgbw {
/**
* 是否明细申报 必填 是或者否
*/
private String sfmxsb;
/**
* 姓名 必填null 如果是汇总申报返回空
*/
private String xm;
/**
* 证件类型 必填null 见证件类型字典
*/
private String zzlx;
/**
* 证件号码 必填null 如果是汇总申报返回空
*/
private String zzhm;
/**
* 任职受雇日期 必填 格式YYYY-MM-DD
*/
private String rzsgrq;
/**
* 离职日期 必填 格式YYYY-MM-DD
*/
private String lzrq;
/**
* 当期收入额 必填 不填写默认为0
*/
private BigDecimal sre;
/**
* 当期免税收入 必填null
*/
private BigDecimal mssd;
/**
* 基本养老保险 必填null
*/
private BigDecimal jbylaobxf;
/**
* 基本医疗保险 必填null
*/
private BigDecimal jbylbxf;
/**
* 失业保险 必填null
*/
private BigDecimal sybxf;
/**
* 住房公积金 必填null
*/
private BigDecimal zfgjj;
/**
* 子女教育支出 必填null
*/
private BigDecimal znjyzc;
/**
* 赡养老人支出 必填null
*/
private BigDecimal sylrzc;
/**
* 住房贷款利息支出 必填null
*/
private BigDecimal zfdklxzc;
/**
* 住房租金支出 必填null
*/
private BigDecimal zfzjzc;
/**
* 继续教育支出 必填null
*/
private BigDecimal jxjyzc;
/**
* 非学历继续教育支出 必填null
*/
private BigDecimal fxljxjyzc;
/**
* 3岁以下婴幼儿照护支出 必填null
*/
private BigDecimal yyezhzc;
/**
* 年金 必填null
*/
private BigDecimal nj;
/**
* 商业健康保险 必填null
*/
private BigDecimal syjkbx;
/**
* 税延养老保险 必填null
*/
private BigDecimal syylbx;
/**
* 其他 必填null 按法律规定可以在税前扣除的项目
*/
private BigDecimal qt;
/**
* 准予扣除的捐赠额 必填null
*/
private BigDecimal zykcjze;
/**
* 减免税额 必填null
*/
private BigDecimal jmse;
/**
* 备注 必填null
*/
private String bz;
/**
* 减除费用 必填null 正常工资薪金的减除费用 对应保险营销员证券经纪人的费用
*/
private BigDecimal jcfy;
/**
* 其他扣除合计 必填null
*/
private BigDecimal qtckhj;
/**
* 应纳税所得额 必填null 正常工资薪金返回Null
*/
private BigDecimal ynssde;
/**
* 应纳税额 必填null 正常工资薪金返回Null
*/
private BigDecimal ynse;
/**
* 已缴税额 必填null 正常工资薪金返回Null
*/
private BigDecimal ykjse;
/**
* 应扣缴税额 必填null 正常工资薪金返回Null
*/
private BigDecimal yingkjse;
/**
* 税率 必填null
*/
private BigDecimal sl;
/**
* 速算扣除数 必填null
*/
private BigDecimal sskcs;
/**
* 所得项目名称 必填 正常工资薪金全年一次性奖金收入稿酬所得劳务报酬
*/
private String sdxm;
/**
* 应补退税额 必填null 应补退税额=累计应扣缴税额-累计已缴税额
*/
private BigDecimal ybtse;
/**
* 累计收入额 必填null
*/
private BigDecimal ljsre;
/**
* 累计免税收入额 必填null
*/
private BigDecimal ljmssd;
/**
* 累计专项扣除额 必填null 三险一金合计
*/
private BigDecimal ljzxkce;
/**
* 累计专项附加扣除额 必填null 专项附加合计
*/
private BigDecimal ljzxfjkce;
/**
* 累计其他扣除额 必填null
*/
private BigDecimal ljqtkce;
/**
* 累计减免税额 必填null
*/
private BigDecimal ljjmse;
/**
* 累计减除费用额 必填null 正常工资薪金累计减除费用 对应保险营销员证券经纪人累计费用
*/
private BigDecimal ljjcfye;
/**
* 累计月减除费用 必填null 保险营销员证券经纪人其他连续劳务报酬的减除费用
*/
private BigDecimal ljyjcfy;
/**
* 允许扣除税费 必填null 保险营销员证券经纪人
*/
private BigDecimal yxkcsf;
/**
* 展业成本 必填null 保险营销员证券经纪人
*/
private BigDecimal zycb;
/**
* 月减除费用 必填null 保险营销员证券经纪人其他连续劳务报酬的减除费用
*/
private BigDecimal yjcfy;
/**
* 累计应纳税所得额 必填null
*/
private BigDecimal ljynssde;
/**
* 累计应纳税额 必填null
*/
private BigDecimal ljynse;
/**
* 累计应扣缴税额 必填null 累计应扣缴税额 = 累计应纳税额 - 累计减免税额
*/
private BigDecimal ljyingkjse;
/**
* 累计已缴税额 必填null
*/
private BigDecimal ljykjse;
/**
* 累计子女教育支出 必填null
*/
private BigDecimal ljznjyzc;
/**
* 累计继续教育支出 必填null
*/
private BigDecimal ljjxjyzc;
/**
* 累计非学历继续教育支持 必填null
*/
private BigDecimal ljfxljxjyzc;
/**
* 累计学历继续教育支持 必填null
*/
private BigDecimal ljxljxjyzc;
/**
* 累计住房租金支出 必填null
*/
private BigDecimal ljzfzjzc;
/**
* 累计房屋贷款支出 必填null
*/
private BigDecimal ljzfdklxzc;
/**
* 累计赡养老人支出 必填null
*/
private BigDecimal ljsylrzc;
/**
* 累计3岁以下婴幼儿照护支出 必填null
*/
private BigDecimal ljyyezhzc;
/**
* 累计准予扣除的捐赠额 必填null
*/
private BigDecimal ljzykcjze;
/**
* 累计个人养老金 必填null
*/
private BigDecimal ljgrylj;
/**
* 累计个人养老金校验码 必填null
*/
private String ljgryljjym;
/**
* 企业上月是否已申报 必填null 仅在两个月算税场景时使用当前月分为N月
* 0表示N-1月上月未申报
* 1表示N-1月上月已申报
* 2表示N-2月上上个月未申报
*/
private String qysysfysb;
/**
* 员工在税局累计已扣缴的税额 必填null 当前月分为N,如果N-1上月已申报则返回N-1月员工在税局累计已扣缴的税额;
* 如果N-1月未申报则返回N-2月工在税局累计已扣缴的税额;
*/
private BigDecimal ygzsjljykjse;
/**
* 本月已累计扣除税额 必填null 针对一月多次算税的场景字段
*/
private BigDecimal byyljkjse;
/**
* 本次应扣缴税额 必填null 针对一月多次算税的场景字段本次应扣缴税额=本月应扣缴税额-本月已累计税额
*/
private BigDecimal bcykjse;
/**
* 分摊年度数 必填null
*/
private Integer ftnds;
/**
* 年减除费用 必填null 默认为60000
*/
private BigDecimal njcfy;
}
/**
* 4.4.1.3.2算税失败原因对象
*/
public class sssbyydx {
/**
* 人员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;
}
}
}
}

View File

@ -11,6 +11,7 @@ import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.EmployeeDeclareWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import lombok.extern.slf4j.Slf4j;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
@ -30,6 +31,7 @@ import java.util.Map;
* @author qiantao
* @version 1.0
**/
@Slf4j
public class EmployeeDeclareController {
private EmployeeDeclareWrapper getEmployeeDeclareWrapper(User user) {

View File

@ -547,7 +547,6 @@ public class EmployeeDeclareWrapper extends Service {
GetCompanyEmployeeResponse companyEmployee = employeeClient.getCompanyEmployee(param);
return companyEmployee;
}

18
test/ApiReturnDes.java Normal file
View File

@ -0,0 +1,18 @@
import com.engine.salary.util.excel.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApiReturnDes {
@ExcelProperty(index = 0)
public String name;
@ExcelProperty(index = 1)
public String mean;
@ExcelProperty(index = 2)
public String type;
@ExcelProperty(index = 3)
public String des;
}

View File

@ -7,7 +7,9 @@ import java.util.List;
public class ParseTaxApi {
public static void main(String[] args) {
readExcel("H:\\code\\salary\\resource\\sql\\ApiDes.xlsx");
// readExcel("H:\\code\\salary\\resource\\sql\\ApiDes.xlsx");
readExcel2("H:\\code\\salary\\resource\\sql\\ApiDes.xlsx");
}
@ -27,17 +29,17 @@ public class ParseTaxApi {
apiDesList.forEach(des -> {
String type = des.getType();
if(StringUtils.isNotEmpty(type)){
if(type.startsWith("String")){
type= "String";
if (StringUtils.isNotEmpty(type)) {
if (type.startsWith("String")) {
type = "String";
}
}
String a = "/** * "
+ des.getMean()
+" "
+ " "
+ "必填:" + des.getRequired()
+" " + des.getDes()
+ " " + (des.getDes() == null ? "" : des.getDes())
+ " */" + " private " + type + " " + des.getName() + ";";
System.out.println(a);
@ -50,6 +52,41 @@ public class ParseTaxApi {
}
public static void readExcel2(String path) {
try {
// 获取文件输入流
InputStream inputStream = new FileInputStream(path);
List<ApiReturnDes> apiDesList = ExcelParseHelper.parse2Map(inputStream, ApiReturnDes.class, 0, 1, 4, "ApiDes.xlsx");
/**
* 字段名称 字段含义 字段类型 必填 说明
* qtzzlx 其他证件类型 String(64) 条件必填 见证件类型字典
*
* private String qtzzlx;
*/
apiDesList.forEach(des -> {
String type = des.getType();
if (StringUtils.isNotEmpty(type)) {
if (type.startsWith("String")) {
type = "String";
}
}
String a = "/** * "
+ des.getMean()
+ " " + (des.getDes() == null ? "" : des.getDes())
+ " */" + " private " + type + " " + des.getName() + ";";
System.out.println(a);
});
} catch (Exception e) {
e.printStackTrace();
}
}
}