三方缴款接口更新

This commit is contained in:
钱涛 2024-07-31 13:17:35 +08:00
parent d86c77adb9
commit 25d02d61c9
6 changed files with 52 additions and 23 deletions

View File

@ -205,6 +205,11 @@ public class SzyhApiConstant {
*/
public static final String HANDLING_CODE = "000004";
/**
* 异步计算任务还未结束
*/
public static final String TASK_HANDLING_CODE = "100004";
/**
* 企业服务不可用
*/

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.taxpayment.param;
import com.engine.salary.enums.taxdeclaration.TaxPaymentServiceTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
@ -10,10 +11,12 @@ import java.util.Date;
/**
* 查询企业三方信息
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @author chengliming
* @date: 2022-12-06 17:25:28
*/
* @author qiantao
* @version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ -31,7 +34,7 @@ public class TaxPaymentQueryParam {
private Long taxDeclareRecordId;
/**
* TaxPaymentServiceTypeEnum
* @see TaxPaymentServiceTypeEnum
*/
//业务类型")
private Integer type;
@ -39,6 +42,11 @@ public class TaxPaymentQueryParam {
//三方协议号")
private String protocolNumber;
/**
* 缴款帐号
*/
private String paymentNumber;
//应缴税额")
private String taxAmount;

View File

@ -105,7 +105,7 @@ public class TaxBaseClient {
}
// 如果税友返回错误信息
String code = response.getHead().getCode();
if (SzyhApiConstant.HANDLING_CODE.equals(code)) {
if (SzyhApiConstant.HANDLING_CODE.equals(code) || SzyhApiConstant.TASK_HANDLING_CODE.equals(code)) {
//进行中的任务重试
try {
Thread.sleep(6 * 1000);
@ -141,7 +141,7 @@ public class TaxBaseClient {
}
// 如果税友返回错误信息
String code = response.getHead().getCode();
if (SzyhApiConstant.HANDLING_CODE.equals(code)) {
if (SzyhApiConstant.HANDLING_CODE.equals(code) || SzyhApiConstant.TASK_HANDLING_CODE.equals(code)) {
//进行中的任务重试
try {
Thread.sleep(6 * 1000);

View File

@ -27,11 +27,13 @@ import com.engine.salary.remote.tax.response.calculate.GetASynIndividualIncomeTa
import com.engine.salary.service.*;
import com.engine.salary.util.*;
import com.engine.salary.util.db.IdGenerator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import weaver.hrm.User;
import java.util.*;
@Slf4j
public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxService {
@ -231,7 +233,12 @@ public class SalaryCalcTaxServiceImpl extends Service implements SalaryCalcTaxSe
if (Objects.isNull(feedbackResponse) || Objects.isNull(feedbackResponse.getHead())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156449, "服务异常"));
}
if (Objects.equals(feedbackResponse.getHead().getCode(), SzyhApiConstant.TASK_HANDLING_CODE)) {
throw new SalaryRunTimeException(feedbackResponse.getHead().getMsg());
}
if (!Objects.equals(feedbackResponse.getHead().getCode(), SzyhApiConstant.SUCCESS_CODE)) {
log.error("获取个税反馈失败核算id{} ,原因:{}", salaryAcctRecord.getId(), feedbackResponse.getHead().getMsg());
getSalaryAcctCalcTaxReqService(user).deleteByRecordId(salaryAcctRecord.getId());
throw new SalaryRunTimeException(feedbackResponse.getHead().getMsg());
}
List<SalaryAcctTaxAgentPO> subSalaryAcctTaxAgents = salaryAcctTaxAgentMap.get(salaryAcctCalcTaxReq.getTaxAgentId());

View File

@ -127,12 +127,20 @@ public class TaxPaymentWithholdingServiceImpl extends AbstractTaxPaymentService
TaxPaymentQueryParam param,
TaxDeclarationApiConfigPO apiConfig,
Class<T> clazz) {
SalaryAssert.notBlank(param.getProtocolNumber(), SalaryI18nUtil.getI18nLabel(184071, "三方缴费参数错误"));
String protocolNumber = param.getProtocolNumber();
String paymentNumber = param.getPaymentNumber();
Integer reportType = param.getReportType();
String taxAmount = param.getTaxAmount();
SalaryAssert.notBlank(protocolNumber, SalaryI18nUtil.getI18nLabel(184071, "三方协议号为空"));
SalaryAssert.notBlank(paymentNumber, SalaryI18nUtil.getI18nLabel(184071, "缴款帐号为空"));
SalaryAssert.notNull(reportType, SalaryI18nUtil.getI18nLabel(184071, "报表类型为空"));
SalaryAssert.notBlank(taxAmount, SalaryI18nUtil.getI18nLabel(184071, "应纳税额为空"));
String url = apiConfig.getHost() + SzyhApiConstant.DECLARE_WITH_HOLDING;
Map<String, Object> requestParam = DataCollectionBO.getApiBaseQueryParams(returnPO, taxAgentName, SalaryDateUtil.getFormatYYYYMM(param.getTaxYearMonth()));
requestParam.put("sfxyh", param.getProtocolNumber());
// requestParam.put("ynse", param.getTaxAmount());
// requestParam.put("sblx", "1");
requestParam.put("sfxyh", protocolNumber);
requestParam.put("jkzh", paymentNumber);
requestParam.put("bblx", reportType);
requestParam.put("ynse", taxAmount);
return postRequest(apiConfig, url, requestParam, clazz);
}

View File

@ -18,6 +18,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobDefaultBackItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.salarysob.DeclareReportTypeEnum;
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
@ -71,7 +72,6 @@ public class SalarySobWrapper extends Service {
}
/**
* 薪资账套列表
*
@ -269,18 +269,19 @@ public class SalarySobWrapper extends Service {
return taxAgentIds.contains(salarySobPO.getTaxAgentId()) || Objects.isNull(salarySobPO.getTaxAgentId());
}
public List<Map<String, Object>> incomeCategoryList() {
IncomeCategoryEnum[] values = IncomeCategoryEnum.values();
List<Map<String, Object>> list = new ArrayList<>(values.length);
for (IncomeCategoryEnum value : values) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("enum", value);
map.put("value", value.getValue());
map.put("defaultLabel", value.getDefaultLabel());
map.put("labelId", value.getLabelId());
map.put("reportTypeName", value.getReportType().getDefaultLabel());
list.add(map);
}
public List<Map<String, Object>> incomeCategoryList() {
List<Map<String, Object>> list = new ArrayList<>();
Arrays.stream(IncomeCategoryEnum.values())
.filter(incomeCategory -> incomeCategory.getReportType() == DeclareReportTypeEnum.COMPREHENSIVE_INCOME)
.forEach(incomeCategory -> {
Map<String, Object> map = new HashMap<String, Object>();
map.put("enum", incomeCategory);
map.put("value", incomeCategory.getValue());
map.put("defaultLabel", incomeCategory.getDefaultLabel());
map.put("labelId", incomeCategory.getLabelId());
map.put("reportTypeName", incomeCategory.getReportType().getDefaultLabel());
list.add(map);
});
return list;
}
}