longz
2026-08-11 2a3c3cdbf2398695d61633e072f98ee2757e9e27
backend/src/main/java/com/sinata/appointment/service/MiniLookupApplicationService.java
@@ -21,6 +21,7 @@
import com.sinata.appointment.mapper.MpUserMapper;
import com.sinata.appointment.mapper.SysDeptMapper;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -72,6 +73,7 @@
                        new LambdaQueryWrapper<MpPassAccessArea>()
                                .eq(MpPassAccessArea::getDelFlag, 0)
                                .orderByAsc(MpPassAccessArea::getPid)
                                .orderByAsc(MpPassAccessArea::getAreaName)
                                .orderByAsc(MpPassAccessArea::getId));
        if (rows.isEmpty()) {
            return List.of();
@@ -97,7 +99,19 @@
            }
            parent.getChildren().add(current);
        }
        sortAreaTree(roots);
        return roots;
    }
    private void sortAreaTree(List<MiniPassAccessAreaTreeVo> nodes) {
        nodes.sort(
                Comparator.comparing(
                                MiniPassAccessAreaTreeVo::getAreaName,
                                Comparator.nullsLast(String::compareTo))
                        .thenComparing(MiniPassAccessAreaTreeVo::getId));
        for (MiniPassAccessAreaTreeVo node : nodes) {
            sortAreaTree(node.getChildren());
        }
    }
    public List<MiniVisitedUserVo> searchVisitedUsersByExactName(String realName) {
@@ -161,6 +175,7 @@
        vo.setId(row.getId());
        vo.setReasonCode(row.getReasonCode());
        vo.setReasonName(row.getReasonName());
        vo.setSortOrder(row.getSortOrder());
        return vo;
    }