批量人员报送

This commit is contained in:
钱涛 2025-09-16 16:23:44 +08:00
parent c4f860f742
commit 17247f111f
4 changed files with 104 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* 人员报送
@ -34,4 +35,10 @@ public class EmployeeDeclareParam extends BaseQueryParam {
*/
@DataCheck(require = true,message = "参数错误,税款所属期参数格式错误")
private Date taxCycle;
/**
* 批量报送个税扣缴义务人id集合
*/
private List<Long> taxAgentIds;
}

View File

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* 刷新报送人员
@ -25,12 +26,18 @@ public class EmployeeDeclareRefreshParam {
/**
* 个税扣缴义务人id
*/
@DataCheck(require = true,message = "参数错误个税扣缴义务人id不能为空")
@DataCheck(require = true, message = "参数错误个税扣缴义务人id不能为空")
private Long taxAgentId;
/**
* 税款所属期
*/
@DataCheck(require = true,message = "参数错误,税款所属期参数格式错误")
@DataCheck(require = true, message = "参数错误,税款所属期参数格式错误")
private Date taxCycle;
/**
* 批量操作个税扣缴义务人id集合
*/
private List<Long> taxAgentIds;
}

View File

@ -200,6 +200,14 @@ public class EmployeeDeclareController {
return new ResponseResult<EmployeeDeclareRefreshParam, String>(user).run(getEmployeeDeclareWrapper(user)::refresh, refreshParam);
}
@POST
@Path("/batRefresh")
@Produces(MediaType.APPLICATION_JSON)
public String batRefresh(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EmployeeDeclareRefreshParam refreshParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<EmployeeDeclareRefreshParam, String>(user).run(getEmployeeDeclareWrapper(user)::batRefresh, refreshParam);
}
/**
* 人员报送-获取整体的报送情况
*
@ -228,6 +236,14 @@ public class EmployeeDeclareController {
return new ResponseResult<EmployeeDeclareParam, String>(user).run(getEmployeeDeclareWrapper(user)::declare, employeeDeclareParam);
}
@POST
@Path("/batDeclare")
@Produces(MediaType.APPLICATION_JSON)
public String batDeclare(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EmployeeDeclareParam employeeDeclareParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<EmployeeDeclareParam, String>(user).run(getEmployeeDeclareWrapper(user)::batDeclare, employeeDeclareParam);
}
/**
* 人员报送-获取报送结果反馈
*
@ -242,6 +258,13 @@ public class EmployeeDeclareController {
return new ResponseResult<EmployeeDeclareParam, String>(user).run(getEmployeeDeclareWrapper(user)::getDeclareFeedback, employeeDeclareParam);
}
@POST
@Path("/batGetDeclareFeedback")
@Produces(MediaType.APPLICATION_JSON)
public String batGetDeclareFeedback(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EmployeeDeclareParam employeeDeclareParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<EmployeeDeclareParam, String>(user).run(getEmployeeDeclareWrapper(user)::batGetDeclareFeedback, employeeDeclareParam);
}
/**
* 人员报送-后端业务逻辑是否已经完成

View File

@ -460,6 +460,26 @@ public class EmployeeDeclareWrapper extends Service {
return employeeDeclareRate.getIndex();
}
public String batRefresh(EmployeeDeclareRefreshParam param) {
List<Long> taxAgentIds = param.getTaxAgentIds();
int success = 0;
int fail = 0;
StringBuilder msg = new StringBuilder();
for (Long taxAgentId : taxAgentIds) {
param.setTaxAgentId(taxAgentId);
try {
getEmployeeDeclareService(user).refresh(param, Long.valueOf(user.getUID()));
success++;
} catch (Exception e) {
log.error("刷新数据失败:{}", e.getMessage(), e);
msg.append(e.getMessage()).append(";");
fail++;
} finally {
}
}
return "成功:" + success + "个,失败:" + fail + "个,失败原因:" + msg;
}
/**
* 人员报送-获取人员报送的整体情况
*
@ -505,6 +525,26 @@ public class EmployeeDeclareWrapper extends Service {
return employeeDeclareRate.getIndex();
}
public String batDeclare(EmployeeDeclareParam param) {
List<Long> taxAgentIds = param.getTaxAgentIds();
int success = 0;
int fail = 0;
StringBuilder msg = new StringBuilder();
for (Long taxAgentId : taxAgentIds) {
param.setTaxAgentId(taxAgentId);
try {
getEmployeeDeclareService(user).declare(param);
success++;
} catch (Exception e) {
log.error("全部报送失败:{}", e.getMessage(), e);
msg.append(e.getMessage()).append(";");
fail++;
} finally {
}
}
return "成功:" + success + "个,失败:" + fail + "个,失败原因:" + msg;
}
/**
* 人员报送-获取报送结果反馈
*
@ -540,6 +580,31 @@ public class EmployeeDeclareWrapper extends Service {
return employeeDeclareRate.getIndex();
}
public String batGetDeclareFeedback(EmployeeDeclareParam param) {
List<Long> taxAgentIds = param.getTaxAgentIds();
int success = 0;
int fail = 0;
StringBuilder msg = new StringBuilder();
for (Long taxAgentId : taxAgentIds) {
param.setTaxAgentId(taxAgentId);
try {
EmployeeDeclareRateDTO employeeDeclareRate = new EmployeeDeclareRateDTO()
.setIndex(UUID.randomUUID().toString())
.setStatus(true)
.setFinish(false)
.setMsg("");
getEmployeeDeclareService(user).getDeclareFeedback(param,employeeDeclareRate);
success++;
} catch (Exception e) {
log.error("获取报送结果反馈失败:{}", e.getMessage(), e);
msg.append(e.getMessage()).append(";");
fail++;
} finally {
}
}
return "成功:" + success + "个,失败:" + fail + "个,失败原因:" + msg;
}
/**
* 获取人员报送相关后端接口是否已经完成