From 0a705c28edd942d99905bd1037e339200ca70f34 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Fri, 7 Aug 2026 08:41:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(bi):=20=E6=8A=A5=E8=AD=A6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=92=8C=E4=BA=BA=E5=91=98=E5=AE=9A=E4=BD=8D=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=94=AF=E6=8C=81=E5=88=86=E9=A1=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PositionPersonLocalLookupService.java | 4 ++- .../dataobject/TerminalBindingSnapshotDO.java | 3 ++- .../impl/PersonnelMatchRepositoryImpl.java | 4 +++ .../resources/mapper/PersonnelMatchMapper.xml | 27 ++++++++++++++++--- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/personnel/positioning/command/query/PositionPersonLocalLookupService.java b/web-app/src/main/java/com/zcloud/personnel/positioning/command/query/PositionPersonLocalLookupService.java index b5ae5d5..2f10e33 100644 --- a/web-app/src/main/java/com/zcloud/personnel/positioning/command/query/PositionPersonLocalLookupService.java +++ b/web-app/src/main/java/com/zcloud/personnel/positioning/command/query/PositionPersonLocalLookupService.java @@ -109,7 +109,9 @@ class PositionPersonLocalLookupService { Map result = new LinkedHashMap<>(); for (List batch : batches(idCardNos)) { for (TerminalBindingSnapshotDO binding : personnelMatchRepository.listTerminalBindingsByIdCardNos(batch)) { - String idCardNo = normalize(binding.getIdCardNo()); + String bindingIdCardNo = normalize(binding.getBindingIdCardNo()); + String idCardNo = StringUtils.hasText(bindingIdCardNo) + ? bindingIdCardNo : normalize(binding.getTerminalIdCardNo()); String terminalNo = normalize(binding.getTerminalNo()); if (StringUtils.hasText(idCardNo) && StringUtils.hasText(terminalNo)) { result.putIfAbsent(idCardNo, terminalNo); diff --git a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/dataobject/TerminalBindingSnapshotDO.java b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/dataobject/TerminalBindingSnapshotDO.java index 3f1ce2a..4186dc3 100644 --- a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/dataobject/TerminalBindingSnapshotDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/dataobject/TerminalBindingSnapshotDO.java @@ -4,6 +4,7 @@ import lombok.Data; @Data public class TerminalBindingSnapshotDO { - private String idCardNo; + private String bindingIdCardNo; + private String terminalIdCardNo; private String terminalNo; } diff --git a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/PersonnelMatchRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/PersonnelMatchRepositoryImpl.java index fb90797..aece3ec 100644 --- a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/PersonnelMatchRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/PersonnelMatchRepositoryImpl.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import java.time.LocalDateTime; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -63,6 +64,9 @@ public class PersonnelMatchRepositoryImpl implements PersonnelMatchRepository { return personnelMatchMapper.listPeopleByTerminalNos(values); } @Override public List listTerminalBindingsByIdCardNos(List values) { + if (values == null || values.isEmpty()) { + return Collections.emptyList(); + } return personnelMatchMapper.listTerminalBindingsByIdCardNos(values); } @Override public List listTerminals(List values) { diff --git a/web-infrastructure/src/main/resources/mapper/PersonnelMatchMapper.xml b/web-infrastructure/src/main/resources/mapper/PersonnelMatchMapper.xml index bf6369c..840fd9b 100644 --- a/web-infrastructure/src/main/resources/mapper/PersonnelMatchMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/PersonnelMatchMapper.xml @@ -123,7 +123,8 @@ ORDER BY t.terminal_no, u.id DESC