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