diff --git a/src/com/engine/salary/entity/taxdeclaration/param/ContrastQueryParam.java b/src/com/engine/salary/entity/taxdeclaration/param/ContrastQueryParam.java new file mode 100644 index 000000000..95a4861af --- /dev/null +++ b/src/com/engine/salary/entity/taxdeclaration/param/ContrastQueryParam.java @@ -0,0 +1,22 @@ +package com.engine.salary.entity.taxdeclaration.param; + +import com.engine.salary.common.BaseQueryParam; +import lombok.Data; + +/** + * 对比查询 + *

Copyright: Copyright (c) 2023

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +public class ContrastQueryParam extends BaseQueryParam { + + /** + * 申报表id + */ + private Long taxDeclarationId; + +} diff --git a/src/com/engine/salary/service/TaxDeclarationValueService.java b/src/com/engine/salary/service/TaxDeclarationValueService.java index bee04130e..aa2758d20 100644 --- a/src/com/engine/salary/service/TaxDeclarationValueService.java +++ b/src/com/engine/salary/service/TaxDeclarationValueService.java @@ -1,6 +1,7 @@ package com.engine.salary.service; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationValueListDTO; +import com.engine.salary.entity.taxdeclaration.param.ContrastQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclareRecordDetailSaveParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; @@ -89,9 +90,9 @@ public interface TaxDeclarationValueService { /** * 对比 - * @param taxDeclareRecordId + * @param param */ - Map contrast(Long taxDeclareRecordId); + Map contrast(ContrastQueryParam param); } diff --git a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java index 4c875c2ce..fb671f6a5 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java @@ -11,6 +11,7 @@ import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO; import com.engine.salary.entity.extemp.po.ExtEmpPO; import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationValueList; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationValueListDTO; +import com.engine.salary.entity.taxdeclaration.param.ContrastQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationValueListQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclareRecordDetailSaveParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; @@ -120,26 +121,18 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar // 查询报送的人员 List employeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentIdAndEmployeeIds(taxDeclaration.getTaxCycle(), taxDeclaration.getTaxAgentId(), employeeIds); // 查询人员信息 - List simpleEmployeeIds = taxDeclarationValues.stream() - .filter(taxDeclarationValue -> taxDeclarationValue.getEmployeeType() == null || Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())) - .map(TaxDeclarationValuePO::getEmployeeId) - .distinct() - .collect(Collectors.toList()); + List simpleEmployeeIds = taxDeclarationValues.stream().filter(taxDeclarationValue -> taxDeclarationValue.getEmployeeType() == null || Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())).map(TaxDeclarationValuePO::getEmployeeId).distinct().collect(Collectors.toList()); List simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds); // 查询人员薪资(身份证号码等) List simpleUserInfos = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds); // 查询外部人员 - List extEmployeeIds = taxDeclarationValues.stream() - .filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())) - .map(TaxDeclarationValuePO::getEmployeeId) - .collect(Collectors.toList()); + List extEmployeeIds = taxDeclarationValues.stream().filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())).map(TaxDeclarationValuePO::getEmployeeId).collect(Collectors.toList()); List extEmployees = getExtEmpService(user).getExtEmpByIds(extEmployeeIds); // 列表表头 List weaTableColumns = TaxDeclarationValueList.buildTableColumns(taxReportColumns); // 列表数据 - List> data = TaxDeclarationValueList.buildTableData(incomeCategoryEnum, taxReportColumns, taxDeclarationValues, - employeeDeclares, simpleEmployees, simpleUserInfos, extEmployees, false); + List> data = TaxDeclarationValueList.buildTableData(incomeCategoryEnum, taxReportColumns, taxDeclarationValues, employeeDeclares, simpleEmployees, simpleUserInfos, extEmployees, false); return new TaxDeclarationValueListDTO().setColumns(weaTableColumns).setData(data); } @@ -148,8 +141,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar public void batchSave(List taxDeclarationValues) { if (CollectionUtils.isNotEmpty(taxDeclarationValues)) { // 加密 - taxDeclarationValues.forEach(taxDeclarationValue -> - taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue()))); + taxDeclarationValues.forEach(taxDeclarationValue -> taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue()))); taxDeclarationValues = encryptUtil.encryptList(taxDeclarationValues, TaxDeclarationValuePO.class); // 分批保存 List> partition = Lists.partition(taxDeclarationValues, 100); @@ -163,8 +155,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar public void batchEdit(List taxDeclarationValues) { if (CollectionUtils.isNotEmpty(taxDeclarationValues)) { // 加密 - taxDeclarationValues.forEach(taxDeclarationValue -> - taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue()))); + taxDeclarationValues.forEach(taxDeclarationValue -> taxDeclarationValue.setResultValueJson(JsonUtil.toJsonString(taxDeclarationValue.getResultValue()))); taxDeclarationValues = encryptUtil.encryptList(taxDeclarationValues, TaxDeclarationValuePO.class); // 分批保存 List> partition = Lists.partition(taxDeclarationValues, 100); @@ -187,21 +178,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar throw new SalaryRunTimeException("个税申报记录不存在!"); } - TaxDeclarationValuePO po = TaxDeclarationValuePO.builder() - .id(IdGenerator.generate()) - .taxDeclarationId(param.getTaxDeclarationId()) - .taxDeclareRecordId(taxDeclareRecordId) - .employeeId(param.getEmployeeId()) - .employeeType(param.getEmployeeType()) - .resultValue(param.getTaxReportColumnValues()) - .resultValueJson(JsonUtil.toJsonString(param.getTaxReportColumnValues())) - .createTime(new Date()) - .updateTime(new Date()) - .source(SourceEnum.ADD.getValue()) - .creator((long) user.getUID()) - .deleteType(0) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); + TaxDeclarationValuePO po = TaxDeclarationValuePO.builder().id(IdGenerator.generate()).taxDeclarationId(param.getTaxDeclarationId()).taxDeclareRecordId(taxDeclareRecordId).employeeId(param.getEmployeeId()).employeeType(param.getEmployeeType()).resultValue(param.getTaxReportColumnValues()).resultValueJson(JsonUtil.toJsonString(param.getTaxReportColumnValues())).createTime(new Date()).updateTime(new Date()).source(SourceEnum.ADD.getValue()).creator((long) user.getUID()).deleteType(0).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build(); encryptUtil.encrypt(po, TaxDeclarationValuePO.class); getTaxDeclarationValueMapper().insertIgnoreNull(po); @@ -293,52 +270,24 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar } taxDeclarationPO = list.get(0); } else { - taxDeclarationPO = TaxDeclarationPO - .builder() - .id(IdGenerator.generate()) - .taxDeclareRecordId(taxDeclareRecordId) - .incomeCategory(IncomeCategoryEnum.WAGES_AND_SALARIES.getValue()) - .taxAgentId(taxDeclareRecord.getTaxAgentId()) - .salaryMonth(taxDeclareRecord.getSalaryMonth()) - .taxCycle(taxDeclareRecord.getTaxCycle()) - .description(taxDeclareRecord.getRemark()) - .controlView(0) - .creator((long) user.getUID()) - .createTime(now) - .updateTime(now) - .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); + taxDeclarationPO = TaxDeclarationPO.builder().id(IdGenerator.generate()).taxDeclareRecordId(taxDeclareRecordId).incomeCategory(IncomeCategoryEnum.WAGES_AND_SALARIES.getValue()).taxAgentId(taxDeclareRecord.getTaxAgentId()).salaryMonth(taxDeclareRecord.getSalaryMonth()).taxCycle(taxDeclareRecord.getTaxCycle()).description(taxDeclareRecord.getRemark()).controlView(0).creator((long) user.getUID()).createTime(now).updateTime(now).deleteType(DeleteTypeEnum.NOT_DELETED.getValue()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build(); List taxList = new ArrayList<>(); getTaxDeclarationService(user).saveBatch(taxList); } //组装数据,自动补足 List autoAddValuePOs = autoAddIds.stream().map((empId -> { - TaxDeclarationValuePO taxDeclarationValue = TaxDeclarationValuePO.builder() - .id(IdGenerator.generate()) - .taxDeclareRecordId(taxDeclarationPO.getTaxDeclareRecordId()) - .taxDeclarationId(taxDeclarationPO.getId()) - .employeeType(0) - .employeeId(empId) - .resultValue(valueMap) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .creator((long) user.getUID()) - .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) - .createTime(now) - .updateTime(now) - .source(SourceEnum.AUTO.getValue()) - .build(); + TaxDeclarationValuePO taxDeclarationValue = TaxDeclarationValuePO.builder().id(IdGenerator.generate()).taxDeclareRecordId(taxDeclarationPO.getTaxDeclareRecordId()).taxDeclarationId(taxDeclarationPO.getId()).employeeType(0).employeeId(empId).resultValue(valueMap).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).creator((long) user.getUID()).deleteType(DeleteTypeEnum.NOT_DELETED.getValue()).createTime(now).updateTime(now).source(SourceEnum.AUTO.getValue()).build(); return taxDeclarationValue; })).collect(Collectors.toList()); batchSave(autoAddValuePOs); } @Override - public Map contrast(Long taxDeclarationId) { + public Map contrast(ContrastQueryParam param) { - TaxDeclarationPO taxDeclaration = getTaxDeclarationService(user).getById(taxDeclarationId); + TaxDeclarationPO taxDeclaration = getTaxDeclarationService(user).getById(param.getTaxDeclarationId()); if (taxDeclaration == null) { throw new SalaryRunTimeException("无申报表"); } @@ -369,24 +318,16 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar // 查询报送的人员 List employeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentIdAndEmployeeIds(taxDeclaration.getTaxCycle(), taxDeclaration.getTaxAgentId(), employeeIds); // 查询人员信息 - List simpleEmployeeIds = taxDeclarationValues.stream() - .filter(taxDeclarationValue -> taxDeclarationValue.getEmployeeType() == null || Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())) - .map(TaxDeclarationValuePO::getEmployeeId) - .distinct() - .collect(Collectors.toList()); + List simpleEmployeeIds = taxDeclarationValues.stream().filter(taxDeclarationValue -> taxDeclarationValue.getEmployeeType() == null || Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())).map(TaxDeclarationValuePO::getEmployeeId).distinct().collect(Collectors.toList()); List simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds); // 查询人员薪资(身份证号码等) List simpleUserInfos = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds); // 查询外部人员 - List extEmployeeIds = taxDeclarationValues.stream() - .filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())) - .map(TaxDeclarationValuePO::getEmployeeId) - .collect(Collectors.toList()); + List extEmployeeIds = taxDeclarationValues.stream().filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())).map(TaxDeclarationValuePO::getEmployeeId).collect(Collectors.toList()); List extEmployees = getExtEmpService(user).getExtEmpByIds(extEmployeeIds); // 列表数据 - List> localList = TaxDeclarationValueList.buildTableData(incomeCategoryEnum, taxReportColumns, taxDeclarationValues, - employeeDeclares, simpleEmployees, simpleUserInfos, extEmployees, true); + List> localList = TaxDeclarationValueList.buildTableData(incomeCategoryEnum, taxReportColumns, taxDeclarationValues, employeeDeclares, simpleEmployees, simpleUserInfos, extEmployees, true); Map> localMap = new HashMap<>(); @@ -447,7 +388,7 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar oneResultList.add(result); } resultList.put("columns", columns); - resultList.put("data", oneResultList); + resultList.put("pageInfo", SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), oneResultList)); return resultList; } } diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java index c028ca7e2..9569e60cb 100644 --- a/src/com/engine/salary/web/TaxDeclarationController.java +++ b/src/com/engine/salary/web/TaxDeclarationController.java @@ -285,15 +285,15 @@ public class TaxDeclarationController { * * @param request * @param response - * @param taxDeclarationId + * @param ContrastQueryParam * @return */ - @GET + @POST @Path("/contrast") @Produces(MediaType.APPLICATION_JSON) - public String contrast(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam(value = "taxDeclarationId") Long taxDeclarationId) { + public String contrast(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody ContrastQueryParam param) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user).run(getTaxDeclareRecordWrapper(user)::contrast, taxDeclarationId); + return new ResponseResult>(user).run(getTaxDeclareRecordWrapper(user)::contrast, param); } diff --git a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java index a1dfa6579..26391d5b0 100644 --- a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java +++ b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java @@ -640,10 +640,10 @@ public class TaxDeclareRecordWrapper extends Service { /** * 对比算税结果 * - * @param id + * @param param */ - public Map contrast(Long id) { - return getTaxDeclarationValueService(user).contrast(id); + public Map contrast(ContrastQueryParam param) { + return getTaxDeclarationValueService(user).contrast(param); } /**