diff --git a/src/com/engine/salary/entity/deductionamount/param/DeductionAmountFeedBackParam.java b/src/com/engine/salary/entity/deductionamount/param/DeductionAmountFeedBackParam.java new file mode 100644 index 000000000..9cd7ad6f5 --- /dev/null +++ b/src/com/engine/salary/entity/deductionamount/param/DeductionAmountFeedBackParam.java @@ -0,0 +1,30 @@ +package com.engine.salary.entity.deductionamount.param; + +import com.engine.salary.util.valid.DataCheck; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 扣除名单查询参数 + *

Copyright: Copyright (c) 2023

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DeductionAmountFeedBackParam { + + // 个税扣缴义务人id + @DataCheck(require = true, message = "参数错误,个税扣缴义务人id不能为空") + private Long taxAgentId; + + @DataCheck(require = true, message = "参数错误,requestId不能为空") + private String requestId; + +} diff --git a/src/com/engine/salary/remote/tax/client/DeductionAmountClient.java b/src/com/engine/salary/remote/tax/client/DeductionAmountClient.java index 32e129c94..2eb13159d 100644 --- a/src/com/engine/salary/remote/tax/client/DeductionAmountClient.java +++ b/src/com/engine/salary/remote/tax/client/DeductionAmountClient.java @@ -9,10 +9,7 @@ import com.engine.salary.util.SingnatureData; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; /** * 申报扣减客户端 @@ -60,10 +57,9 @@ public class DeductionAmountClient extends TaxBaseClient { } + public String confirm(String year, List kczglb ) { - public String confirmPreDeduct(String year, List kczglb ) { - - String url = super.apiConfig.getHost() + "gateway/iit/deductionAmount/queryPreDeduct"; + String url = super.apiConfig.getHost() + "gateway/iit/deductionAmount/confirmPreDeduct"; ConfirmPreDeductRequest request = new ConfirmPreDeductRequest(); request.setNsrsbh(returnPO.getTaxCode()); request.setBizNo(UUID.randomUUID().toString().replace("-", "")); @@ -91,4 +87,16 @@ public class DeductionAmountClient extends TaxBaseClient { log.info("confirmPreDeduct res --- {}", res); return res; } + + public String feedback(String requestId) { + String url = super.apiConfig.getHost() + "gateway/iit/deductionAmount/getPreDeductConfirmFeedback"; + + Map params = new HashMap<>(1); + params.put("requestId", requestId); + log.info("getPreDeductConfirmFeedback requestId --- \n{}\n", requestId); + Map header = SingnatureData.initHeader(Collections.emptyMap(), apiConfig.getAppKey(), apiConfig.getAppSecret()); + String res = HttpUtil.getRequest(url, header, params); + log.info("getPreDeductConfirmFeedback res --- {}", res); + return res; + } } diff --git a/src/com/engine/salary/service/DeductionAmountService.java b/src/com/engine/salary/service/DeductionAmountService.java index 6e005cbc2..7d8b49879 100644 --- a/src/com/engine/salary/service/DeductionAmountService.java +++ b/src/com/engine/salary/service/DeductionAmountService.java @@ -24,5 +24,5 @@ public interface DeductionAmountService { Object confirm(DeductionAmountConfirmParam param); - + void feedback(DeductionAmountFeedBackParam param); } diff --git a/src/com/engine/salary/service/impl/DeductionAmountServiceImpl.java b/src/com/engine/salary/service/impl/DeductionAmountServiceImpl.java index 700e8c622..4855fd950 100644 --- a/src/com/engine/salary/service/impl/DeductionAmountServiceImpl.java +++ b/src/com/engine/salary/service/impl/DeductionAmountServiceImpl.java @@ -18,6 +18,7 @@ import com.engine.salary.remote.tax.client.DeductionAmountClient; import com.engine.salary.remote.tax.request.deductionAmount.ConfirmPreDeductRequest; import com.engine.salary.service.*; import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; @@ -123,8 +124,8 @@ public class DeductionAmountServiceImpl extends Service implements DeductionAmou employeeDeclarePOS.stream() .filter(employeeDeclarePO -> !oldIds.contains(employeeDeclarePO.getEmployeeId())) .map(employeeDeclarePO -> DeductionAmountPO.builder() - .id(employeeDeclarePO.getEmployeeId()) - .taxAgentId(employeeDeclarePO.getEmployeeId()) + .id(IdGenerator.generate()) + .taxAgentId(employeeDeclarePO.getTaxAgentId()) .year(param.getYear()) .employeeId(employeeDeclarePO.getEmployeeId()) .employeeName(employeeDeclarePO.getEmployeeName()) @@ -180,6 +181,13 @@ public class DeductionAmountServiceImpl extends Service implements DeductionAmou }).collect(Collectors.toList()); DeductionAmountClient deductionAmountClient = new DeductionAmountClient(taxAgentId); - return deductionAmountClient.confirmPreDeduct(year, kczglb); + return deductionAmountClient.confirm(year, kczglb); + } + + @Override + public void feedback(DeductionAmountFeedBackParam param) { + DeductionAmountClient deductionAmountClient = new DeductionAmountClient(param.getTaxAgentId()); + String feedback = deductionAmountClient.feedback(param.getRequestId()); + } } diff --git a/src/com/engine/salary/web/DeductionAmountController.java b/src/com/engine/salary/web/DeductionAmountController.java index 6c0950cd7..b900b6872 100644 --- a/src/com/engine/salary/web/DeductionAmountController.java +++ b/src/com/engine/salary/web/DeductionAmountController.java @@ -4,10 +4,7 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.component.PageInfo; import com.engine.salary.entity.deductionamount.dto.DeductionAmountDTO; -import com.engine.salary.entity.deductionamount.param.DeductionAmountAddParam; -import com.engine.salary.entity.deductionamount.param.DeductionAmountConfirmParam; -import com.engine.salary.entity.deductionamount.param.DeductionAmountListParam; -import com.engine.salary.entity.deductionamount.param.DeductionAmountOnlineQueryParam; +import com.engine.salary.entity.deductionamount.param.*; import com.engine.salary.util.ResponseResult; import com.engine.salary.wrapper.DeductionAmountWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; @@ -54,6 +51,14 @@ public class DeductionAmountController { return new ResponseResult(user).run(getDeductionAmountWrapper(user)::add, param); } + @POST + @Path("/delete") + @Produces(MediaType.APPLICATION_JSON) + public String delete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeductionAmountDeleteParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getDeductionAmountWrapper(user)::delete, param); + } + @POST @Path("/query") @Produces(MediaType.APPLICATION_JSON) @@ -70,7 +75,12 @@ public class DeductionAmountController { return new ResponseResult(user).run(getDeductionAmountWrapper(user)::confirm, param); } - - + @POST + @Path("/feedback") + @Produces(MediaType.APPLICATION_JSON) + public String feedback(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeductionAmountFeedBackParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getDeductionAmountWrapper(user)::feedback, param); + } } diff --git a/src/com/engine/salary/wrapper/DeductionAmountWrapper.java b/src/com/engine/salary/wrapper/DeductionAmountWrapper.java index 9b03e533d..7a474421f 100644 --- a/src/com/engine/salary/wrapper/DeductionAmountWrapper.java +++ b/src/com/engine/salary/wrapper/DeductionAmountWrapper.java @@ -43,4 +43,8 @@ public class DeductionAmountWrapper extends Service { public Object confirm(DeductionAmountConfirmParam param) { return getDeductionAmountService(user).confirm(param); } + + public void feedback(DeductionAmountFeedBackParam param) { + getDeductionAmountService(user).feedback(param); + } }