From 2f59f8283aadea20d1dbb29aea3813b7bbac80c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Sun, 20 Aug 2023 14:03:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=8A=A5=E9=80=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxdeclaration/bo/TaxDeclarationBO.java | 2 - .../bo/TaxDeclarationValueList.java | 12 ++-- .../dto/AbnormalEmployeeListDTO.java | 7 ++- .../dto/TaxDeclarationInfoDTO.java | 5 +- .../param/TaxDeclarationSaveParam.java | 2 - .../EmployeeDeclareRecordMapper.java | 2 +- .../TaxDeclarationDetailMapper.java | 10 ---- .../TaxDeclarationValueMapper.java | 42 +++++++++++++ .../TaxDeclarationValueMapper.xml | 59 +++++++++++++++++++ .../impl/AddUpSituationServiceImpl.java | 1 + .../impl/EmployeeDeclareServiceImpl.java | 2 +- .../TaxDeclarationApiBillingServiceImpl.java | 16 +++-- .../impl/TaxDeclarationValueServiceImpl.java | 9 ++- .../impl/TaxDeclareEmployeeServiceImpl.java | 41 +++++++------ .../impl/TaxDeclareFailServiceImpl.java | 22 ++++--- .../impl/TaxDeclareRecordServiceImpl.java | 7 ++- .../engine/salary/util/SalaryI18nUtil.java | 2 +- .../salary/util/page/SalaryPageUtil.java | 10 ++++ .../salary/web/SalaryAcctController.java | 2 +- .../salary/web/TaxDeclarationController.java | 9 +-- .../wrapper/TaxDeclareRecordWrapper.java | 29 ++++++--- 21 files changed, 216 insertions(+), 75 deletions(-) diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java index 2eae67f14..e26135d00 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationBO.java @@ -44,7 +44,6 @@ import java.util.stream.Collectors; * @version 1.0 **/ public class TaxDeclarationBO { - private static EncryptUtil encryptUtil = new EncryptUtil(); public static List convert2ListDTO(List taxDeclarations, List simpleEmployees, @@ -469,7 +468,6 @@ public class TaxDeclarationBO { .tenantKey(taxDeclaration.getTenantKey()) .deleteType(NumberUtils.INTEGER_ZERO) .build(); - encryptUtil.encrypt(accumulatedSituation, AddUpSituation.class); result.getNeedInsertAddUpSituations().add(accumulatedSituation); }); } diff --git a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationValueList.java b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationValueList.java index fa0392444..e2b6b60f4 100644 --- a/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationValueList.java +++ b/src/com/engine/salary/entity/taxdeclaration/bo/TaxDeclarationValueList.java @@ -39,13 +39,13 @@ public class TaxDeclarationValueList { */ public static List buildTableColumns(List taxReportColumns) { List weaTableColumns = Lists.newArrayList(); - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(86317, "工号"), "jobNum", "120")); - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username", "120")); - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(105139, "证件类型"), "cardType", "120")); - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(86318, "证件号码"), "cardNum", "150")); - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(102786, "所得项目"), "incomeCategory", "120")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(86317, "工号"), "jobNum")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(105139, "证件类型"), "cardType")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(86318, "证件号码"), "cardNum")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(102786, "所得项目"), "incomeCategory")); for (TaxReportColumnPO taxReportColumn : taxReportColumns) { - weaTableColumns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(taxReportColumn.getReportColumnLabel(), taxReportColumn.getReportColumnName()), taxReportColumn.getReportColumnDataIndex(), "120")); + weaTableColumns.add(new WeaTableColumn("120", SalaryI18nUtil.getI18nLabel(taxReportColumn.getReportColumnLabel(), taxReportColumn.getReportColumnName()), taxReportColumn.getReportColumnDataIndex())); } return weaTableColumns; } diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/AbnormalEmployeeListDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/AbnormalEmployeeListDTO.java index 8d497acc9..a1ea62e89 100644 --- a/src/com/engine/salary/entity/taxdeclaration/dto/AbnormalEmployeeListDTO.java +++ b/src/com/engine/salary/entity/taxdeclaration/dto/AbnormalEmployeeListDTO.java @@ -1,9 +1,9 @@ package com.engine.salary.entity.taxdeclaration.dto; +import com.engine.salary.annotation.TableTitle; import com.engine.salary.enums.employeedeclare.DeclareStatusEnum; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -30,20 +30,25 @@ public class AbnormalEmployeeListDTO { private Long employeeId; //姓名") + @TableTitle(title = "姓名",dataIndex = "employeeName",key = "employeeName") private String employeeName; //工号") + @TableTitle(title = "工号",dataIndex = "jobNum",key = "jobNum") private String jobNum; //证件类型") + @TableTitle(title = "证件类型",dataIndex = "cardType",key = "cardType") private String cardType; //证件号码") + @TableTitle(title = "证件号码",dataIndex = "cardNum",key = "cardNum") private String cardNum; //报送状态") private DeclareStatusEnum declareStatus; //报送状态") + @TableTitle(title = "报送状态",dataIndex = "declareStatusDesc",key = "declareStatusDesc") private String declareStatusDesc; } diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationInfoDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationInfoDTO.java index acb55f5b7..af74d366e 100644 --- a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationInfoDTO.java +++ b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationInfoDTO.java @@ -2,6 +2,7 @@ package com.engine.salary.entity.taxdeclaration.dto; import com.engine.salary.enums.taxdeclaration.TaxDeclareStatusEnum; import com.engine.salary.enums.taxdeclaration.TaxDeclareTypeEnum; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; @@ -27,11 +28,11 @@ public class TaxDeclarationInfoDTO { @ApiModelProperty("薪资所属月") - @JsonSerialize(using = ToStringSerializer.class) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date salaryMonth; @ApiModelProperty("税款所属期") - @JsonSerialize(using = ToStringSerializer.class) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date taxCycle; @ApiModelProperty("个税扣缴义务人id") diff --git a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java index 871b6b195..0a5003f69 100644 --- a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java +++ b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationSaveParam.java @@ -54,6 +54,4 @@ public class TaxDeclarationSaveParam { * 备注 */ private String description; - - private String salaryMonthStr; } diff --git a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareRecordMapper.java b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareRecordMapper.java index c64292115..88a771f4e 100644 --- a/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareRecordMapper.java +++ b/src/com/engine/salary/mapper/employeedeclare/EmployeeDeclareRecordMapper.java @@ -78,5 +78,5 @@ public interface EmployeeDeclareRecordMapper { */ void deleteByIds(@Param("ids") Collection ids); - void deleteByTaxCycleAndTaxAgentId(Date taxCycle, Long taxAgentId); + void deleteByTaxCycleAndTaxAgentId(@Param("taxCycle")Date taxCycle,@Param("taxAgentId") Long taxAgentId); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java index 3ee8b562a..cbe931b93 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationDetailMapper.java @@ -1,10 +1,8 @@ package com.engine.salary.mapper.taxdeclaration; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationEmployeeDTO; -import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO; -import com.engine.salary.entity.taxdeclaration.po.TaxDeclareEmployeePO; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -72,12 +70,4 @@ public interface TaxDeclarationDetailMapper { List listAll(); int batchUpdate(@Param("collection") List taxDeclarationDetailPos); - - List listPage4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam); - - List list4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam); - - List listPage4NoValueByParam(AbnormalEmployeeListQueryParam queryParam); - - List list4NoValueByParam(AbnormalEmployeeListQueryParam queryParam); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.java b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.java index 9443a07f1..1515f916c 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.java +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.java @@ -1,6 +1,8 @@ package com.engine.salary.mapper.taxdeclaration; +import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryParam; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationValuePO; +import com.engine.salary.entity.taxdeclaration.po.TaxDeclareEmployeePO; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -78,4 +80,44 @@ public interface TaxDeclarationValueMapper { void deleteByIds(@Param("ids") Collection ids); void deleteBytaxDeclareRecordIds(@Param("taxDeclareRecordIds")Collection taxDeclareRecordIds); + + /** + * 查询个税申报表明细中未报送成功的人员 + * + * @param queryParam + * @return + */ + List listPage4NotDeclareByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam); + + /** + * 查询个税申报表明细中未报送成功的人员 + * + * @param queryParam + * @return + */ + List list4NotDeclareByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam); + + /** + * 查询个税申报表明细中未报送成功的人员 + * + * @param queryParam + * @return + */ + List listPage4NoValueByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam); + + /** + * 查询个税申报表明细中未报送成功的人员 + * + * @param queryParam + * @return + */ + List list4NoValueByParam(@Param("param") AbnormalEmployeeListQueryParam queryParam); + + /** + * 批量插入 + * + * @param taxDeclarationValues + */ + void batchInsert(@Param("collection") Collection taxDeclarationValues); + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.xml index b2015f8fc..3bb9937ac 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.xml +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationValueMapper.xml @@ -361,5 +361,64 @@ + + + + + + + employee_id, employee_type + + + + SELECT DISTINCT + + FROM hrsa_tax_declaration_value + WHERE delete_type = 0 + AND tax_declare_record_id = #{param.taxDeclareRecordId} + AND employee_id NOT IN ( + SELECT employee_id + FROM hrsa_employee_declare hed + WHERE hed.delete_type = 0 + AND hed.tax_agent_id = #{param.taxAgentId} + AND hed.tax_cycle = #{param.taxCycle} + AND hed.successfully_declared = 1 + AND hed.employment_status = 0 + AND hed.declare_status IN (4) + ) + + + + + + + + SELECT + + FROM hrsa_employee_declare + WHERE delete_type = 0 + AND tax_agent_id = #{param.taxAgentId} + AND tax_cycle = #{param.taxCycle} + AND successfully_declared = 1 + AND employment_status = 0 + AND employee_id NOT IN ( + SELECT employee_id + FROM hrsa_tax_declaration_value htdv + WHERE htdv.delete_type = 0 + AND htdv.tax_declare_record_id = #{param.taxDeclareRecordId} + ) + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index e4965928c..5a81ad857 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -1150,6 +1150,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation @Override public void batchSave(List list) { if (CollectionUtils.isNotEmpty(list)) { + list = encryptUtil.encryptList(list,AddUpSituation.class); List> partition = Lists.partition(list, 50); partition.forEach(getAddUpSituationMapper()::insertData); } diff --git a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java index 1c1ae3b06..c380c98b8 100644 --- a/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java +++ b/src/com/engine/salary/service/impl/EmployeeDeclareServiceImpl.java @@ -563,7 +563,7 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla // 企业信息 Map requestParam = TaxAgentTaxReturnBO.convert2RequestMap(taxAgent, taxAgentTaxReturn); // 税款所属期 - requestParam.put("skssq", param.getTaxCycle().toString().replace("-", "")); + requestParam.put("skssq", SalaryDateUtil.getFormatYearMonth(param.getTaxCycle()).replace("-", "")); // 人员列表 requestParam.put("rylb", employeeInfoMapList); diff --git a/src/com/engine/salary/service/impl/TaxDeclarationApiBillingServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationApiBillingServiceImpl.java index 6c76e9bf4..2b7c36eb9 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationApiBillingServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationApiBillingServiceImpl.java @@ -11,6 +11,7 @@ import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.TaxDeclarationApiBillingService; import com.engine.salary.service.TaxDeclarationApiFlowWarnService; +import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Data; @@ -30,8 +31,9 @@ import java.util.Map; @Slf4j public class TaxDeclarationApiBillingServiceImpl extends Service implements TaxDeclarationApiBillingService { - private TaxDeclarationApiFlowRecordMapper taxDeclarationApiFlowRecordMapper; - + private TaxDeclarationApiFlowRecordMapper getTaxDeclarationApiFlowRecordMapper() { + return MapperProxyFactory.getProxy(TaxDeclarationApiFlowRecordMapper.class); + } public TaxAgentService getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } @@ -41,7 +43,9 @@ public class TaxDeclarationApiBillingServiceImpl extends Service implements Tax // private SalaryBatchService salaryBatchService; private TaxDeclarationApiFlowWarnService taxDeclarationApiFlowWarnService; - +// public TaxDeclarationApiFlowWarnService getTaxDeclarationApiFlowWarnService(User user) { +// return ServiceUtil.getService(TaxDeclarationApiFlowWarnServiceImpl.class, user); +// } // private ComInfoCache comInfoCache; // private ExtEmployeeService extEmployeeService; @@ -51,13 +55,13 @@ public class TaxDeclarationApiBillingServiceImpl extends Service implements Tax // 保存流量使用详情 saveApiFlowRecord(updateWrapper); // 流量不足提醒 - taxDeclarationApiFlowWarnService.sendFlowWarnMessage(updateWrapper); +// taxDeclarationApiFlowWarnService.sendFlowWarnMessage(updateWrapper); } private void saveApiFlowRecord(ApiFlowUpdateWrapper updateWrapper) { if (!updateWrapper.getApiFlowDetailPOList().isEmpty()) { List> failPartition = Lists.partition(updateWrapper.getApiFlowDetailPOList(), 1000); - failPartition.forEach(list -> taxDeclarationApiFlowRecordMapper.batchInsert(list)); + failPartition.forEach(list -> getTaxDeclarationApiFlowRecordMapper().batchInsert(list)); } } @@ -106,7 +110,7 @@ public class TaxDeclarationApiBillingServiceImpl extends Service implements Tax // } // // private LambdaQueryChainWrapper getFlowRecordQueryChainWrapper(TaxDeclarationApiFlowRecordQueryParam queryParam, String currentTenantKey) { -// LambdaQueryChainWrapper chainWrapper = new LambdaQueryChainWrapper<>(taxDeclarationApiFlowRecordMapper) +// LambdaQueryChainWrapper chainWrapper = new LambdaQueryChainWrapper<>(getTaxDeclarationApiFlowRecordMapper()) // .eq(TaxDeclarationApiFlowRecordPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue()) // .eq(TaxDeclarationApiFlowRecordPO::getTenantKey) // .eq(queryParam.getTaxAgentId() != null, TaxDeclarationApiFlowRecordPO::getTaxAgentId, queryParam.getTaxAgentId()) diff --git a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java index 7363aebc2..cc45c6428 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java @@ -45,21 +45,27 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar private TaxDeclarationValueMapper getTaxDeclarationValueMapper() { return MapperProxyFactory.getProxy(TaxDeclarationValueMapper.class); } + private SalaryEmployeeService getSalaryEmployeeService(User user) { return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } + private ExtEmpService getExtEmpService(User user) { return ServiceUtil.getService(ExtEmpServiceImpl.class, user); } + private EmployeeDeclareService getEmployeeDeclareService(User user) { return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user); } + private TaxReportColumnService getTaxReportColumnService(User user) { return ServiceUtil.getService(TaxReportColumnServiceImpl.class, user); } + @Override public PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection taxDeclarationIds) { List taxDeclarationValuePOS = getTaxDeclarationValueMapper().listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build()); + taxDeclarationValuePOS = decryptBatch(taxDeclarationValuePOS); return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), taxDeclarationValuePOS, TaxDeclarationValuePO.class); } @@ -118,7 +124,8 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar // 分批保存 List> partition = Lists.partition(taxDeclarationValues, 100); for (List subTaxDeclarationValues : partition) { - getTaxDeclarationValueMapper().batchInsert(subTaxDeclarationValues); + subTaxDeclarationValues.forEach(getTaxDeclarationValueMapper()::insertIgnoreNull); +// getTaxDeclarationValueMapper().batchInsert(subTaxDeclarationValues); } } } diff --git a/src/com/engine/salary/service/impl/TaxDeclareEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareEmployeeServiceImpl.java index 9c58579b5..6d41daebb 100644 --- a/src/com/engine/salary/service/impl/TaxDeclareEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclareEmployeeServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO; @@ -10,16 +11,17 @@ import com.engine.salary.entity.taxdeclaration.param.AbnormalEmployeeListQueryPa import com.engine.salary.entity.taxdeclaration.po.TaxDeclareEmployeePO; import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO; import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum; -import com.engine.salary.mapper.taxdeclaration.TaxDeclarationDetailMapper; +import com.engine.salary.mapper.taxdeclaration.TaxDeclarationValueMapper; import com.engine.salary.service.EmployeeDeclareService; import com.engine.salary.service.ExtEmpService; import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxDeclareEmployeeService; -import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import org.apache.commons.collections4.CollectionUtils; +import weaver.hrm.User; import java.util.Collections; import java.util.List; @@ -37,37 +39,42 @@ import java.util.stream.Collectors; public class TaxDeclareEmployeeServiceImpl extends Service implements TaxDeclareEmployeeService { - // private TaxDeclarationValueMapper taxDeclarationValueMapper; - private TaxDeclarationDetailMapper taxDeclarationValueMapper; + private TaxDeclarationValueMapper getTaxDeclarationValueMapper() { + return MapperProxyFactory.getProxy(TaxDeclarationValueMapper.class); + } - private SalaryEmployeeService hrmCommonEmployeeService; + private SalaryEmployeeService getSalaryEmployeeService(User user) { + return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); + } - private SalaryEmployeeService salaryEmployeeService; + private ExtEmpService getExtEmpService(User user) { + return ServiceUtil.getService(ExtEmpServiceImpl.class, user); + } - private ExtEmpService extEmployeeService; - - private EmployeeDeclareService employeeDeclareService; + private EmployeeDeclareService getEmployeeDeclareService(User user) { + return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user); + } @Override public PageInfo listPage4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam) { - List list = taxDeclarationValueMapper.listPage4NotDeclareByParam(queryParam); + List list = getTaxDeclarationValueMapper().listPage4NotDeclareByParam(queryParam); return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, TaxDeclareEmployeePO.class); } @Override public List list4NotDeclareByParam(AbnormalEmployeeListQueryParam queryParam) { - return taxDeclarationValueMapper.list4NotDeclareByParam(queryParam); + return getTaxDeclarationValueMapper().list4NotDeclareByParam(queryParam); } @Override public PageInfo listPage4NoValueByParam(AbnormalEmployeeListQueryParam queryParam) { - List list = taxDeclarationValueMapper.listPage4NoValueByParam(queryParam); + List list = getTaxDeclarationValueMapper().listPage4NoValueByParam(queryParam); return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, TaxDeclareEmployeePO.class); } @Override public List list4NoValueByParam(AbnormalEmployeeListQueryParam queryParam) { - return taxDeclarationValueMapper.list4NoValueByParam(queryParam); + return getTaxDeclarationValueMapper().list4NoValueByParam(queryParam); } @Override @@ -78,7 +85,7 @@ public class TaxDeclareEmployeeServiceImpl extends Service implements TaxDeclare // 人员id Set employeeIds = SalaryEntityUtil.properties(taxDeclareEmployees, TaxDeclareEmployeePO::getEmployeeId); // 查询报送的人员 - List employeeDeclares = employeeDeclareService.listByTaxCycleAndTaxAgentIdAndEmployeeIds( + List employeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentIdAndEmployeeIds( taxDeclareRecord.getTaxCycle(), taxDeclareRecord.getTaxAgentId(), employeeIds); // 查询人员信息 List simpleEmployeeIds = taxDeclareEmployees.stream() @@ -86,15 +93,15 @@ public class TaxDeclareEmployeeServiceImpl extends Service implements TaxDeclare .map(TaxDeclareEmployeePO::getEmployeeId) .distinct() .collect(Collectors.toList()); - List simpleEmployees = hrmCommonEmployeeService.getEmployeeByIds(simpleEmployeeIds); + List simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIds(simpleEmployeeIds); // 查询人员薪资(身份证号码等) - List simpleUserInfos = salaryEmployeeService.listByIds(simpleEmployeeIds); + List simpleUserInfos = getSalaryEmployeeService(user).listByIds(simpleEmployeeIds); // 查询外部人员 List extEmployeeIds = taxDeclareEmployees.stream() .filter(taxDeclarationValue -> Objects.equals(taxDeclarationValue.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())) .map(TaxDeclareEmployeePO::getEmployeeId) .collect(Collectors.toList()); - List extEmployees = extEmployeeService.getExtEmpByIds(extEmployeeIds); + List extEmployees = getExtEmpService(user).getExtEmpByIds(extEmployeeIds); return TaxDeclareEmployeeBO.convert2AbnormalEmployee(taxDeclareEmployees, employeeDeclares, simpleEmployees, simpleUserInfos, extEmployees); } diff --git a/src/com/engine/salary/service/impl/TaxDeclareFailServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareFailServiceImpl.java index 4324c74e7..8da65dc33 100644 --- a/src/com/engine/salary/service/impl/TaxDeclareFailServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclareFailServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO; @@ -10,9 +11,11 @@ import com.engine.salary.mapper.taxdeclaration.TaxDeclareFailMapper; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.TaxDeclareFailService; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; +import weaver.hrm.User; import java.util.Collection; import java.util.Collections; @@ -28,22 +31,27 @@ import java.util.Map; */ public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFailService { - private TaxDeclareFailMapper taxDeclareFailMapper; - private TaxAgentService taxAgentService; + private TaxDeclareFailMapper getTaxDeclareFailMapper() { + return MapperProxyFactory.getProxy(TaxDeclareFailMapper.class); + } + + private TaxAgentService getTaxAgentService(User user) { + return ServiceUtil.getService(TaxAgentServiceImpl.class, user); + } @Override public List listPageByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { - return taxDeclareFailMapper.listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); + return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public List listByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { - return taxDeclareFailMapper.listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); + return getTaxDeclareFailMapper().listSome(TaxDeclareFailPO.builder().taxDeclareRecordIds(taxDeclareRecordIds).build()); } @Override public void deleteByTaxDeclareRecordIds(Collection taxDeclareRecordIds) { - taxDeclareFailMapper.deleteBytaxDeclareRecordIds(taxDeclareRecordIds); + getTaxDeclareFailMapper().deleteBytaxDeclareRecordIds(taxDeclareRecordIds); } @Override @@ -52,7 +60,7 @@ public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFail return Collections.emptyList(); } // 查询个税扣缴义务人 - TaxAgentPO taxAgent = taxAgentService.getById(taxDeclareRecord.getTaxAgentId()); + TaxAgentPO taxAgent = getTaxAgentService(user).getById(taxDeclareRecord.getTaxAgentId()); Map incomeCategoryEnumMap = Maps.newHashMap(); for (IncomeCategoryEnum incomeCategoryEnum : IncomeCategoryEnum.values()) { incomeCategoryEnumMap.put(incomeCategoryEnum.getCode(), incomeCategoryEnum); @@ -76,7 +84,7 @@ public class TaxDeclareFailServiceImpl extends Service implements TaxDeclareFail @Override public void saveBatch(List taxDeclareFails) { if (CollectionUtils.isNotEmpty(taxDeclareFails)) { - taxDeclareFailMapper.batchInsert(taxDeclareFails); + getTaxDeclareFailMapper().batchInsert(taxDeclareFails); } } } diff --git a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java index 600dbb8b8..321c84023 100644 --- a/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclareRecordServiceImpl.java @@ -244,9 +244,9 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe // 查询薪资核算记录关联的个税扣缴义务人 List salaryAcctTaxAgents = getSalaryAcctRecordService(user).listBySalaryAcctRecordIds(SalaryEntityUtil.properties(salaryAcctRecords, SalaryAcctRecordPO::getId)); // 按照saveParam中的个税扣缴义务人范围过滤 - Set taxAgentIds = SalaryEntityUtil.properties(taxAgents, TaxAgentPO::getId); + List taxAgentIds = SalaryEntityUtil.properties(taxAgents, TaxAgentPO::getId, Collectors.toList()); salaryAcctTaxAgents = salaryAcctTaxAgents.stream().filter(e -> taxAgentIds.contains(e.getTaxAgentId())).collect(Collectors.toList()); - Set salaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getSalaryAcctRecordId); + List salaryAcctRecordIds = SalaryEntityUtil.properties(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getSalaryAcctRecordId, Collectors.toList()); salaryAcctRecords = salaryAcctRecords.stream().filter(e -> salaryAcctRecordIds.contains(e.getId())).collect(Collectors.toList()); // 校验是否可以生成个税申报表 // 返回目前已经生成的个税申报表 @@ -300,6 +300,9 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe getAddUpSituationService(user).batchSave(entry.getValue()); } } + + //更新核算记录状态 + getSalaryAcctRecordService(user).updateStatusByIds(salaryAcctRecordIds, SalaryAcctRecordStatusEnum.DECLARED); // // 记录日志 // for (TaxDeclareRecordPO taxDeclareRecord : newTaxDeclareRecords) { // LoggerContext loggerContext = new LoggerContext<>(); diff --git a/src/com/engine/salary/util/SalaryI18nUtil.java b/src/com/engine/salary/util/SalaryI18nUtil.java index f7d9272ce..d85f6984b 100644 --- a/src/com/engine/salary/util/SalaryI18nUtil.java +++ b/src/com/engine/salary/util/SalaryI18nUtil.java @@ -17,7 +17,7 @@ public class SalaryI18nUtil { * @param defaultLabel 默认中文 * @return */ - public static String getI18nLabel(int labelId, String defaultLabel) { + public static String getI18nLabel(Integer labelId, String defaultLabel) { return defaultLabel; } // diff --git a/src/com/engine/salary/util/page/SalaryPageUtil.java b/src/com/engine/salary/util/page/SalaryPageUtil.java index 062b5408f..201dd799f 100644 --- a/src/com/engine/salary/util/page/SalaryPageUtil.java +++ b/src/com/engine/salary/util/page/SalaryPageUtil.java @@ -1,11 +1,13 @@ package com.engine.salary.util.page; +import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.CollectionUtils; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; public class SalaryPageUtil { @@ -90,4 +92,12 @@ public class SalaryPageUtil { return source.subList(startIndex > source.size() ? source.size() : startIndex, endIndex > source.size() ? source.size() : endIndex); } + + + public static List convertList(List columns){ + if(CollectionUtils.isNotEmpty(columns)){ + return columns.stream().map(c->Column.builder().title(c.getText()).key(c.getColumn()).dataIndex(c.getColumn()).build()).collect(Collectors.toList()); + } + return new ArrayList<>(); + } } diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 078060a02..5aea365d2 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -523,7 +523,7 @@ public class SalaryAcctController { @GET @Path("/acctresult/importField") @Produces(MediaType.APPLICATION_JSON) - public String accounting(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salaryAcctRecordId") Long salaryAcctRecordId) { + public String importField(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salaryAcctRecordId") Long salaryAcctRecordId) { User user = HrmUserVarify.getUser(request, response); return new ResponseResult(user).run(getSalaryAcctExcelService(user)::getImportField, salaryAcctRecordId); } diff --git a/src/com/engine/salary/web/TaxDeclarationController.java b/src/com/engine/salary/web/TaxDeclarationController.java index 52cc9c8d4..e30cd63e2 100644 --- a/src/com/engine/salary/web/TaxDeclarationController.java +++ b/src/com/engine/salary/web/TaxDeclarationController.java @@ -1,10 +1,7 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; -import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO; -import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO; -import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationRateDTO; -import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationTabDTO; +import com.engine.salary.entity.taxdeclaration.dto.*; import com.engine.salary.entity.taxdeclaration.param.*; import com.engine.salary.service.TaxDeclarationExcelService; import com.engine.salary.service.TaxDeclarationService; @@ -213,7 +210,7 @@ public class TaxDeclarationController { } /** - * 个税申报表生成 + * 删除个税申报表 * * @param ids 个税申报记录id * @return @@ -434,7 +431,7 @@ public class TaxDeclarationController { @Produces(MediaType.APPLICATION_JSON) public String listEmployee4Fail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AbnormalEmployeeListQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user).run(getTaxDeclareRecordWrapper(user)::listEmployeePage4Fail, queryParam); + return new ResponseResult>(user).run(getTaxDeclareRecordWrapper(user)::listEmployeePage4Fail, queryParam); } // /** diff --git a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java index 27b3fcf8b..00d5c9674 100644 --- a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java +++ b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java @@ -54,30 +54,39 @@ public class TaxDeclareRecordWrapper extends Service { private TaxDeclareRecordService getTaxDeclareRecordService(User user) { return ServiceUtil.getService(TaxDeclareRecordServiceImpl.class, user); } + private TaxAgentService getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } + private SalaryEmployeeService getSalaryEmployeeService(User user) { return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } + private SalaryCacheService getSalaryCacheService(User user) { return ServiceUtil.getService(SalaryCacheServiceImpl.class, user); } + private TaxDeclarationService getTaxDeclarationService(User user) { return ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); } + private TaxDeclarationValueService getTaxDeclarationValueService(User user) { return ServiceUtil.getService(TaxDeclarationValueServiceImpl.class, user); } + private TaxDeclarationExcelService getTaxDeclarationExcelService(User user) { return ServiceUtil.getService(TaxDeclarationExcelServiceImpl.class, user); } + private TaxDeclareEmployeeService getTaxDeclareEmployeeService(User user) { return ServiceUtil.getService(TaxDeclareEmployeeServiceImpl.class, user); } + private TaxDeclareFailService getTaxDeclareFailService(User user) { return ServiceUtil.getService(TaxDeclareFailServiceImpl.class, user); } + /** * 个税申报记录列表 * @@ -142,10 +151,11 @@ public class TaxDeclareRecordWrapper extends Service { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156515, "对不起,您暂时没有权限查看")); } // 查询个税申报表详情 - PageInfo page = getTaxDeclarationValueService(user).listPageByTaxDeclarationIds(queryParam,Collections.singleton(queryParam.getTaxDeclarationId())); + PageInfo page = getTaxDeclarationValueService(user).listPageByTaxDeclarationIds(queryParam, Collections.singleton(queryParam.getTaxDeclarationId())); TaxDeclarationValueListDTO taxDeclarationValueListDTO = getTaxDeclarationValueService(user).convert2List(taxDeclaration, page.getList()); - PageInfo> dtoPage = new PageInfo(); - dtoPage.setList(taxDeclarationValueListDTO.getData()); + PageInfo> dtoPage = SalaryPageUtil.buildPage(page.getPageNum(), page.getPageSize(), taxDeclarationValueListDTO.getData()); + dtoPage.setColumns(SalaryPageUtil.convertList(taxDeclarationValueListDTO.getColumns())); + dtoPage.setTotal(page.getTotal()); return dtoPage; } @@ -181,8 +191,8 @@ public class TaxDeclareRecordWrapper extends Service { // 查询申报失败的数据 List taxDeclareFailPOPageInfo = getTaxDeclareFailService(user).listPageByTaxDeclareRecordIds(Collections.singleton(taxDeclareRecord.getId())); // 转换成dto - PageInfo dtoPage = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), FailEmployeeListDTO.class); - dtoPage.setList(getTaxDeclareFailService(user).convert2FailEmployeeList(taxDeclareRecord, taxDeclareFailPOPageInfo)); + List failEmployeeListDTOS = getTaxDeclareFailService(user).convert2FailEmployeeList(taxDeclareRecord, taxDeclareFailPOPageInfo); + PageInfo dtoPage = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), failEmployeeListDTOS,FailEmployeeListDTO.class); // 转成前端所需的格式 return dtoPage; } @@ -202,6 +212,7 @@ public class TaxDeclareRecordWrapper extends Service { } PageInfo dtoPage = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), AbnormalEmployeeListDTO.class); dtoPage.setList(getTaxDeclareEmployeeService(user).convert2AbnormalEmployeeList(taxDeclareRecord, page.getList())); + dtoPage.setTotal(page.getTotal()); return dtoPage; } else { // 查询条件中包含"keyword"时,不好通过SQL分页,所以在内存中分页 @@ -266,9 +277,9 @@ public class TaxDeclareRecordWrapper extends Service { // 查询个税申报记录下的个税申报表 List taxDeclarations = getTaxDeclarationService(user).listByTaxCycleAndTaxAgentIds(SalaryDateUtil.localDate2YearMonth(taxDeclareRecord.getTaxCycle()), Collections.singleton(taxDeclareRecord.getTaxAgentId())); - taxDeclarations = taxDeclarations.stream() - .filter(e -> Objects.equals(e.getControlView(), 0) || Objects.equals(e.getCreator(), (long)user.getUID())) - .collect(Collectors.toList()); +// taxDeclarations = taxDeclarations.stream() +// .filter(e -> Objects.equals(e.getControlView(), 0) || Objects.equals(e.getCreator(), (long)user.getUID())) +// .collect(Collectors.toList()); Map taxDeclarationMap = SalaryEntityUtil.convert2Map(taxDeclarations, TaxDeclarationPO::getIncomeCategory); List tabs = Lists.newArrayList(); for (IncomeCategoryEnum incomeCategoryEnum : IncomeCategoryEnum.values()) { @@ -287,7 +298,7 @@ public class TaxDeclareRecordWrapper extends Service { /** * 查询个税申报表的基本信息 * - * @param id 个税申报表id + * @param id 个税申报表id * @return */ public TaxDeclarationInfoDTO getTaxDeclarationInfoById(Long id) {