From 3a9b772cb92107d778cb97f236ef4bc303389235 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Tue, 27 Feb 2024 15:16:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E6=8A=A5?= =?UTF-8?q?=E9=80=81=E5=A2=9E=E5=8A=A0=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/datacollection/EmployMapper.java | 7 +++ .../mapper/datacollection/EmployMapper.xml | 49 +++++++++++++++++++ .../mapper/extemp/ExternalEmployeeMapper.java | 7 +++ .../mapper/extemp/ExternalEmployeeMapper.xml | 46 +++++++++++++++++ .../engine/salary/service/ExtEmpService.java | 2 + .../salary/service/SalaryEmployeeService.java | 7 +++ .../service/TaxDeclarationValueService.java | 2 +- .../service/impl/ExtEmpServiceImpl.java | 8 +++ .../impl/SalaryEmployeeServiceImpl.java | 20 +++++++- .../impl/TaxDeclarationValueServiceImpl.java | 9 +++- .../wrapper/TaxDeclareRecordWrapper.java | 2 +- 11 files changed, 155 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index 4f3aa8ed4..fb8856030 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -110,4 +110,11 @@ public interface EmployMapper { * @return */ List listByDismissDate(String dismissDate); + + /** + * 根据用户名和工号模糊查询 + * @param keyword + * @return + */ + List listByKeyword(@Param("keyword") String keyword); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 29ce5fcbe..36a2a87be 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -446,4 +446,53 @@ ) + + + + + + + + AND + ( + e.lastname like CONCAT('%',#{keyword},'%') + OR + e.workcode like CONCAT('%',#{keyword},'%') + ) + + + + + AND + ( + e.lastname like '%'||#{keyword}||'%' + OR + e.workcode like '%'||#{keyword}||'%' + ) + + + + + AND + ( + e.lastname like '%'+#{keyword}+'%' + OR + e.workcode like '%'+#{keyword}+'%' + ) + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.java b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.java index 455eb8adf..81999b0ba 100644 --- a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.java +++ b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.java @@ -86,4 +86,11 @@ public interface ExternalEmployeeMapper { * @return */ Collection listAllForReport(); + + /** + * 根据姓名、工号模糊查询 + * @param keyword + * @return + */ + List listByKeyword(@Param("keyword") String keyword); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml index e04017e35..dfe1f119c 100644 --- a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml +++ b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml @@ -292,6 +292,52 @@ left join hrmdepartment d on e.department_id = d.id + + + + + + AND + ( + e.username like CONCAT('%',#{keyword},'%') + OR + e.workcode like CONCAT('%',#{keyword},'%') + ) + + + + + AND + ( + e.username like '%'||#{keyword}||'%' + OR + e.workcode like '%'||#{keyword}||'%' + ) + + + + + AND + ( + e.username like '%'+#{keyword}+'%' + OR + e.workcode like '%'+#{keyword}+'%' + ) + + diff --git a/src/com/engine/salary/service/ExtEmpService.java b/src/com/engine/salary/service/ExtEmpService.java index 8eef60d3e..f9456c904 100644 --- a/src/com/engine/salary/service/ExtEmpService.java +++ b/src/com/engine/salary/service/ExtEmpService.java @@ -58,4 +58,6 @@ public interface ExtEmpService { Map previewImportExtEmp(ExtEmpImportParam param); Map importExtEmp(ExtEmpImportParam param); + + List listByKeyword(String keyword); } \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryEmployeeService.java b/src/com/engine/salary/service/SalaryEmployeeService.java index 437f99e45..7e1dbc6a9 100644 --- a/src/com/engine/salary/service/SalaryEmployeeService.java +++ b/src/com/engine/salary/service/SalaryEmployeeService.java @@ -133,4 +133,11 @@ public interface SalaryEmployeeService { */ Map mapByEmployeeIds(Collection employeeIds); + /** + * 根据姓名工号模糊查看 + * @param keyword + * @return + */ + List listByKeyword(String keyword); + } diff --git a/src/com/engine/salary/service/TaxDeclarationValueService.java b/src/com/engine/salary/service/TaxDeclarationValueService.java index 69b4acdb2..89de2d361 100644 --- a/src/com/engine/salary/service/TaxDeclarationValueService.java +++ b/src/com/engine/salary/service/TaxDeclarationValueService.java @@ -29,7 +29,7 @@ public interface TaxDeclarationValueService { * @param taxDeclarationIds * @return */ - PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection taxDeclarationIds); + PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection taxDeclarationIds, String keyWord); /** * 查询个税申报表明细 diff --git a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java index 7a0566a43..331af286a 100644 --- a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java +++ b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java @@ -572,4 +572,12 @@ public class ExtEmpServiceImpl extends Service implements ExtEmpService { resultPo.setModifier((long) user.getUID()); return resultPo; } + + @Override + public List listByKeyword(String keyword) { + if (StringUtils.isBlank(keyword)) { + return Collections.emptyList(); + } + return getExternalEmployeeMapper().listByKeyword(keyword); + } } diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index 670d44700..0dc26a080 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -19,6 +19,7 @@ import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.entity.salarysob.po.SalarySobRangePO; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; +import com.engine.salary.mapper.datacollection.EmployMapper; import com.engine.salary.mapper.hrm.ExpandFieldSettingsMapper; import com.engine.salary.mapper.sys.SalarySysConfMapper; import com.engine.salary.service.ExtEmpService; @@ -27,8 +28,8 @@ import com.engine.salary.service.SalarySobExtRangeService; import com.engine.salary.service.SalarySobRangeService; import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.engine.salary.util.SalaryEntityUtil; -import com.google.common.collect.Lists; import com.engine.salary.util.db.IdGenerator; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -66,6 +67,11 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee } + private EmployMapper getEmployMapper() { + return SqlProxyHandle.getProxy(EmployMapper.class); + } + + private ExtEmpService getExtEmpService(User user) { return ServiceUtil.getService(ExtEmpServiceImpl.class, user); } @@ -427,4 +433,16 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee }); return result; } + + @Override + public List listByKeyword(String keyword) { + if (StringUtils.isBlank(keyword)) { + return Collections.emptyList(); + } + List result = getEmployMapper().listByKeyword(keyword); + if (openExtEmp) { + result.addAll(getExtEmpService(user).listByKeyword(keyword)); + } + return result; + } } diff --git a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java index b907cf199..913dfdf7b 100644 --- a/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxDeclarationValueServiceImpl.java @@ -41,6 +41,7 @@ import com.google.common.collect.Maps; import com.engine.salary.util.db.IdGenerator; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.general.Util; import weaver.hrm.User; @@ -90,8 +91,14 @@ public class TaxDeclarationValueServiceImpl extends Service implements TaxDeclar } @Override - public PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection taxDeclarationIds) { + public PageInfo listPageByTaxDeclarationIds(TaxDeclarationValueListQueryParam queryParam, Collection taxDeclarationIds, String keyword) { List taxDeclarationValuePOS = getTaxDeclarationValueMapper().listSome(TaxDeclarationValuePO.builder().taxDeclarationIds(taxDeclarationIds).build()); + // 根据关键词查人员信息 + if (StringUtils.isNotBlank(keyword)) { + List employeeList = getSalaryEmployeeService(user).listByKeyword(keyword); + List empIds = employeeList.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); + taxDeclarationValuePOS = taxDeclarationValuePOS.stream().filter(po -> empIds.contains(po.getEmployeeId())).collect(Collectors.toList()); + } taxDeclarationValuePOS = decryptBatch(taxDeclarationValuePOS); return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), taxDeclarationValuePOS, TaxDeclarationValuePO.class); } diff --git a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java index d9a7a45fa..8e6e13663 100644 --- a/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java +++ b/src/com/engine/salary/wrapper/TaxDeclareRecordWrapper.java @@ -164,7 +164,7 @@ 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()), queryParam.getKeyword()); TaxDeclarationValueListDTO taxDeclarationValueListDTO = getTaxDeclarationValueService(user).convert2List(taxDeclaration, page.getList()); PageInfo> dtoPage = new PageInfo<>( page.getPageNum(),