From 6381d7ab9c656c888e036dc63c1e2be0592d8fa6 Mon Sep 17 00:00:00 2001 From: feng <18691763612@163.com> Date: Thu, 25 Dec 2025 13:57:16 +0800 Subject: [PATCH] =?UTF-8?q?AED=E8=B5=84=E6=BA=90=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=92=8C=E9=83=A8=E9=97=A8=E5=88=86=E5=BC=80=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmergencyResourceApiServiceImpl.java | 34 +++++++++++++++---- .../largeScreen/entity/vo/LargeScreenMap.java | 3 ++ .../service/impl/LargeScreenServiceImpl.java | 25 +++++++++++--- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java index 5c410f4..710a33f 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java @@ -2,6 +2,7 @@ package com.renkang.emergency.api.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.renkang.emergency.aed.service.IAedEquipmentMangerService; @@ -32,6 +33,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @author Junqiang Zhu @@ -68,13 +70,31 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ if (StrUtil.isEmpty(type) || type.equals("4")){ List list = aedMangerService.list(new LambdaQueryWrapper() .isNotNull(AedEquipmentManger::getLatitude)); - Map deptMap = sysBaseAPI.queryDepartNameByOrgCodes(list.stream() - .map(AedEquipmentManger::getDepartCode).collect(Collectors.toSet())); - list.forEach(aed ->{ - LargeScreenMap largeScreenMap = new LargeScreenMap(aed); - largeScreenMap.setOrgName(deptMap.get(aed.getDepartCode())); - maps.add(largeScreenMap); - }); + if(ObjectUtil.isNotEmpty(list)){ + //AED部门code翻译, + Set orgCodes = list.stream() + .map(AedEquipmentManger::getDepartCode) + .filter(Objects::nonNull) + .flatMap(departCode -> + departCode.length() > 6 + ? Stream.of(departCode, GlobalUtils.getSecondDepartOrgCode(departCode)) + : Stream.of(departCode) + ) + .collect(Collectors.toSet()); + Map deptMap = sysBaseAPI.queryDepartNameByOrgCodes(orgCodes); + list.forEach(aed ->{ + LargeScreenMap largeScreenMap = new LargeScreenMap(aed); + if(null != aed.getDepartCode()){ + if(aed.getDepartCode().length() > 6){ + largeScreenMap.setOrgName(deptMap.get(GlobalUtils.getSecondDepartOrgCode(aed.getDepartCode()))); + largeScreenMap.setDeptName(deptMap.get(aed.getDepartCode())); + }else { + largeScreenMap.setOrgName(deptMap.get(aed.getDepartCode())); + } + } + maps.add(largeScreenMap); + }); + } } if (StrUtil.isEmpty(type) || type.equals("5")) { List list = resourceMapper.selectList(new LambdaQueryWrapper() diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java index 2dd0e99..e9fd8ca 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java @@ -16,6 +16,9 @@ public class LargeScreenMap { private String orgName; + //部分名称 ,目前仅aed数据是将单位名称和部门名称分开显示的 + private String deptName; + private String address; private String type; diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java index 1545909..63043b8 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -34,6 +34,7 @@ import com.renkang.emergency.service.IEmergencyHealthRoomService; import com.renkang.emergency.service.IResourceService; import lombok.RequiredArgsConstructor; import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.global.GlobalUtils; import org.jeecg.util.RedisClientUtil; import org.jeecg.util.RedisKeyPrefix; import org.jeecg.util.TypeConversionUtil; @@ -45,6 +46,7 @@ import java.util.*; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @Description: large_screen @@ -88,12 +90,27 @@ public class LargeScreenServiceImpl extends ServiceImpl list = aedMangerService.list(new LambdaQueryWrapper() .isNotNull(AedEquipmentManger::getLatitude)); if(ObjectUtil.isNotEmpty(list)){ - //AED部门code翻译 - Map deptMap = sysBaseAPI.queryDepartNameByOrgCodes(list.stream() - .map(AedEquipmentManger::getDepartCode).collect(Collectors.toSet())); + //AED部门code翻译,要求单位和部门拆开显示 + Set orgCodes = list.stream() + .map(AedEquipmentManger::getDepartCode) + .filter(Objects::nonNull) + .flatMap(departCode -> + departCode.length() > 6 + ? Stream.of(departCode, GlobalUtils.getSecondDepartOrgCode(departCode)) + : Stream.of(departCode) + ) + .collect(Collectors.toSet()); + Map deptMap = sysBaseAPI.queryDepartNameByOrgCodes(orgCodes); list.forEach(aed ->{ LargeScreenMap largeScreenMap = new LargeScreenMap(aed); - largeScreenMap.setOrgName(deptMap.get(aed.getDepartCode())); + if(null != aed.getDepartCode()){ + if(aed.getDepartCode().length() > 6){ + largeScreenMap.setOrgName(deptMap.get(GlobalUtils.getSecondDepartOrgCode(aed.getDepartCode()))); + largeScreenMap.setDeptName(deptMap.get(aed.getDepartCode())); + }else { + largeScreenMap.setOrgName(deptMap.get(aed.getDepartCode())); + } + } maps.add(largeScreenMap); }); }