diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClient.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClient.java index ddf8f44..8c81d11 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClient.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClient.java @@ -94,7 +94,7 @@ public interface AnYanClient { * @param healthRoomDTO * @return */ - IPage healthPlaceHomDetailList(HealthRoomDTO healthRoomDTO); + IPage healthPlaceHomDetailList(HealthRoomDTO healthRoomDTO); /** * 当年体检异常人数统计 @@ -152,11 +152,10 @@ public interface AnYanClient { /** * 一人一案信息详情接口 (用大屏首页重点关爱趋势预警滚动列表点击数据详情) * - * @param anYanUserId 安眼系统的用户ID (从上级列表接口获取) 与 idNo 参数二选一即可 - * @param idNo 安眼系统的用户身份证号 (从上级列表接口获取) 与 anYanUserId 参数二选一即可 + * @param employeeNum 工号 * @return */ - CareUserListVo careUserDetails(String anYanUserId, String idNo); + CareUserListVo careUserDetails(String anYanUserId,String employeeNum); /** * 一人一案分页列表查询接口(用大屏首页重点关爱趋势预警弹窗列表) diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java index ba2a81e..72a6fad 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/client/AnYanClientExecutor.java @@ -216,9 +216,9 @@ public class AnYanClientExecutor implements AnYanClient { @Override @Retryable(maxAttempts = 2) - public IPage healthPlaceHomDetailList(HealthRoomDTO healthRoomDTO) { + public IPage healthPlaceHomDetailList(HealthRoomDTO healthRoomDTO) { AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_PLACE_ROOM_INFO_LIST, buildTokenHeader(), healthRoomDTO); - return new PageResultToBeanUtil().transform(result, HealthPlaceHomDetailsVO.class); + return new PageResultToBeanUtil().transform(result, HealthPlaceHomeDetailsVO.class); } @Override @@ -313,13 +313,13 @@ public class AnYanClientExecutor implements AnYanClient { } @Override - public CareUserListVo careUserDetails(String anYanUserId, String idNo){ + public CareUserListVo careUserDetails(String anYanUserId,String employeeNum){ JSONObject param = new JSONObject(); if(StrUtil.isNotEmpty(anYanUserId)){ param.put("id", anYanUserId); } - if(StrUtil.isNotEmpty(idNo)){ - param.put("idNo", idNo); + if(StrUtil.isNotEmpty(employeeNum)){ + param.put("employeeNum", employeeNum); } AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.CARE_PERSON_Details, buildTokenHeader(), param); return BeanUtil.toBean(result.getData(), CareUserListVo.class); diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserListVo.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserListVo.java index 780b1ce..12d61d7 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserListVo.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserListVo.java @@ -153,4 +153,12 @@ public class CareUserListVo { @Schema(title = "日常生活管理反馈") private String lifeManageResponse; + public Double getBmi() { + if (bmi == null) { + return null; + } + return Math.round(bmi * 10) / 10.0; + } + + } diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomDetailsVO.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomeDetailsVO.java similarity index 92% rename from functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomDetailsVO.java rename to functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomeDetailsVO.java index 61ee745..438b74b 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomDetailsVO.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/HealthPlaceHomeDetailsVO.java @@ -2,11 +2,10 @@ package com.renkang.anyan.model.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import org.jeecg.common.aspect.annotation.Dict; @Data @Schema(title="健康小屋数据详情列表", description="健康小屋数据详情列表") -public class HealthPlaceHomDetailsVO { +public class HealthPlaceHomeDetailsVO { /** * id */ @@ -27,6 +26,10 @@ public class HealthPlaceHomDetailsVO { */ @Schema(title = "健康小屋id") private String roomId; + @Schema(title = "健康小屋名称") + private String roomName; + @Schema(title = "地址") + private String address; /** * 姓名 */ diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/TblBaseHospitalVo.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/TblBaseHospitalVo.java index 6082052..168aaa9 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/TblBaseHospitalVo.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/TblBaseHospitalVo.java @@ -47,12 +47,12 @@ public class TblBaseHospitalVo { this.address = resource.getAddress(); } - public TblBaseHospitalVo(XjAed xjAed){ - this.id = xjAed.getId(); - this.name = xjAed.getName(); - this.lat = xjAed.getLatitude(); - this.lon = xjAed.getLongitude(); + public TblBaseHospitalVo(AedEquipmentManger aed){ + this.id = String.valueOf(aed.getId()); + this.name = aed.getName(); + this.lat = aed.getLatitude(); + this.lon = aed.getLongitude(); this.type = "4"; - this.address = xjAed.getAddress(); + this.address = aed.getInstallAddress(); } } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java index 8eac0a1..b0ef816 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java @@ -1,11 +1,7 @@ package com.renkang.emergency.largeScreen.controller; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.renkang.anyan.model.dto.CareUserDetailsParam; -import com.renkang.anyan.model.dto.HealthRoomDTO; -import com.renkang.anyan.model.dto.HealthSignListParam; -import com.renkang.anyan.model.dto.MedicalAbnormalDTO; +import com.renkang.anyan.model.dto.*; import com.renkang.anyan.model.vo.*; import com.renkang.emergency.entity.TblBaseHospitalVo; import com.renkang.emergency.entity.dto.*; @@ -105,7 +101,7 @@ public class LargeScreenNewController { @PostMapping("/healthRoomDetail") @Operation(summary = "健康小屋详情", description = "健康小屋详情") - public Result> healthRoomDetail(@RequestBody HealthRoomDTO dto) { + public Result> healthRoomDetail(@RequestBody HealthRoomDTO dto) { return Result.ok(largeScreenService.healthRoomDetail(dto)); } @@ -256,8 +252,8 @@ public class LargeScreenNewController { */ @GetMapping("loveTrendByOne") public Result loveTrendByOne(@RequestParam(name = "anYanUserId", required = false)String anYanUserId, - @RequestParam(name = "idNo", required = false)String idNo){ - return Result.ok(largeScreenDataService.loveTrendByOne(anYanUserId,idNo)); + @RequestParam(name = "employeeNum", required = false)String employeeNum){ + return Result.ok(largeScreenDataService.loveTrendByOne(anYanUserId,employeeNum)); } /** @@ -284,12 +280,12 @@ public class LargeScreenNewController { /** * 健康档案 - * @param idCard 用户身份证号 + * @param employeeNum 工号 * @return vo */ @GetMapping("healthArchives") - public Result healthArchives(@RequestParam(name = "idCard") String idCard){ - return Result.ok(largeScreenDataService.healthArchives(idCard)); + public Result healthArchives(@RequestParam(name = "employeeNum") String employeeNum){ + return Result.ok(largeScreenDataService.healthArchives(employeeNum)); } /** @@ -310,4 +306,24 @@ public class LargeScreenNewController { public Result queryAnYanToken(){ return Result.ok(largeScreenService.queryAnYanToken()); } + + /** + * 获取体检数据列表接口 注:此接口为后台接口 不是大屏 + * @param param + * @return + */ + @PostMapping("queryAnYanHealthCheckNew") + public Result> queryAnYanHealthCheckNew(@RequestBody AnYanHealthCheckNewParam param){ + return Result.ok(largeScreenDataService.queryAnYanHealthCheckNew(param)); + } + + /** + * 获取小屋数据列表接口 注:此接口为后台接口 不是大屏 + * @param healthRoomDTO + * @return + */ + @PostMapping("healthPlaceHomeDetailList") + public Result> healthPlaceHomeDetailList(@RequestBody HealthRoomDTO healthRoomDTO){ + return Result.ok(largeScreenDataService.healthPlaceHomeDetailList(healthRoomDTO)); + } } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java index 333f636..bf296c6 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java @@ -1,6 +1,6 @@ package com.renkang.emergency.largeScreen.entity.vo; -import com.renkang.anyan.model.vo.HealthPlaceHomDetailsVO; +import com.renkang.anyan.model.vo.HealthPlaceHomeDetailsVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.jeecg.common.aspect.annotation.Dict; @@ -57,7 +57,7 @@ public class HealthRoomVO { public HealthRoomVO() {} - public HealthRoomVO(HealthPlaceHomDetailsVO detailsVO){ + public HealthRoomVO(HealthPlaceHomeDetailsVO detailsVO){ departName = detailsVO.getDepartName(); name = detailsVO.getName(); checkInDate = detailsVO.getCheckInDate(); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java index bcc4550..77f32bc 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java @@ -19,6 +19,8 @@ public class TodayEmergencyVO { private String realName; @Schema(title = "身份证号") private String idCard; + @Schema(title = "工号") + private String employeeNum; @Schema(title = "0:120 1:紧急求助 2:云坐席 3:终端报警") private String emergencyType; @Schema(title = "事件类型(emergencyType=3 才有值)") diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java index ee91902..431ee95 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java @@ -2,17 +2,16 @@ package com.renkang.emergency.largeScreen.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.anyan.model.dto.AnYanHealthCheckNewParam; import com.renkang.anyan.model.dto.CareUserDetailsParam; -import com.renkang.anyan.model.vo.CarePersonList; -import com.renkang.anyan.model.vo.CareUserListVo; -import com.renkang.anyan.model.vo.CareUserVO; +import com.renkang.anyan.model.dto.HealthRoomDTO; +import com.renkang.anyan.model.vo.*; import com.renkang.emergency.entity.LargeScreenData; import com.renkang.emergency.entity.TblBaseHospitalVo; import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO; -import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO; import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO; import java.util.List; @@ -41,13 +40,17 @@ public interface ILargeScreenDataService extends IService { IPage loveTrendDetail(CareUserDetailsParam param); - CareUserListVo loveTrendByOne(String anYanUserId,String idNo); + CareUserListVo loveTrendByOne(String anYanUserId,String employeeNum); List nearResources(String longitude, String latitude); IPage todayEmergencyList(TodayEmergencyDTO dto); - CareUserListVo healthArchives(String userId); + CareUserListVo healthArchives(String employeeNum); CareUserVO careUser(String userId); + + IPage queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param); + + IPage healthPlaceHomeDetailList(HealthRoomDTO healthRoomDTO); } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java index 3e07f3a..9ffc77a 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java @@ -11,7 +11,6 @@ import com.renkang.emergency.largeScreen.entity.dto.HealthRoomBaseDTO; import com.renkang.emergency.largeScreen.entity.dto.HealthSignDTO; import com.renkang.emergency.largeScreen.entity.dto.MedicalAbnormalStatisticsDTO; import com.renkang.emergency.largeScreen.entity.dto.MedicalPeopleNumStatisticsDTO; -import com.renkang.emergency.largeScreen.entity.vo.HealthRoomVO; import com.renkang.emergency.largeScreen.entity.vo.HealthSignVO; import com.renkang.emergency.largeScreen.entity.vo.HospitalVO; import com.renkang.emergency.largeScreen.entity.vo.LargeScreenMap; @@ -30,7 +29,7 @@ public interface ILargeScreenService extends IService { List healthRoomBase(HealthRoomBaseDTO dto); - IPage healthRoomDetail(HealthRoomDTO dto); + IPage healthRoomDetail(HealthRoomDTO dto); IPage medicalAbnormal(MedicalAbnormalDTO dto); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java index eeb6d14..514f04f 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java @@ -6,25 +6,23 @@ import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.PageUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.renkang.anyan.client.AnYanClient; +import com.renkang.anyan.model.dto.AnYanHealthCheckNewParam; import com.renkang.anyan.model.dto.CareUserDetailsParam; -import com.renkang.anyan.model.vo.CarePersonList; -import com.renkang.anyan.model.vo.CareUserListVo; -import com.renkang.anyan.model.vo.CareUserVO; +import com.renkang.anyan.model.dto.HealthRoomDTO; +import com.renkang.anyan.model.vo.*; +import com.renkang.emergency.aed.service.IAedEquipmentMangerService; import com.renkang.emergency.entity.*; import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO; -import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO; import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO; import com.renkang.emergency.largeScreen.mapper.LargeScreenDataMapper; import com.renkang.emergency.largeScreen.service.ILargeScreenDataService; @@ -32,9 +30,7 @@ import com.renkang.emergency.mapper.OrderMapper; import com.renkang.emergency.mapper.TblUserHelpMapper; import com.renkang.emergency.service.IResourceService; import com.renkang.emergency.service.ITbQimoNoticeService; -import com.renkang.emergency.service.ITbUserHelpMacService; import com.renkang.emergency.service.IXjAedService; -import com.renkang.emergency.util.HealthArchivesGenerator; import com.renkang.watch.api.WatchApi; import com.renkang.watch.vo.WatchMonitorDataVo; import lombok.RequiredArgsConstructor; @@ -47,12 +43,9 @@ import org.jeecg.modules.system.entity.HealthUserEmployeeEx; import org.jeecg.modules.system.entity.SysDepart; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.util.TypeConversionUtil; -import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StreamUtils; -import java.nio.charset.StandardCharsets; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +61,7 @@ public class LargeScreenDataServiceImpl extends ServiceImpl aedList = xjAedService.list(new LambdaQueryWrapper() - .isNotNull(XjAed::getLatitude) - .isNotNull(XjAed::getLongitude)); + List aedList = aedService.list(new LambdaQueryWrapper() + .isNotNull(AedEquipmentManger::getLatitude) + .isNotNull(AedEquipmentManger::getLongitude)); if (CollUtil.isNotEmpty(aedList)) { xjAedList = aedList.stream().map(TblBaseHospitalVo::new).collect(Collectors.toList()); } @@ -783,6 +777,7 @@ public class LargeScreenDataServiceImpl extends ServiceImpl queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param) { + return anYanClient.queryAnYanHealthCheckNew(param); + } + + @Override + public IPage healthPlaceHomeDetailList(HealthRoomDTO healthRoomDTO) { + IPage detailsVOIPage = anYanClient.healthPlaceHomDetailList(healthRoomDTO); + List records = detailsVOIPage.getRecords(); + if (records != null && !records.isEmpty()) { + List roomIdList = records.stream().map(HealthPlaceHomeDetailsVO::getRoomId).distinct() + .collect(Collectors.toList()); + List ayRoom = resourceService.list(new LambdaQueryWrapper() + .in(Resource::getAyId, roomIdList)); + for (HealthPlaceHomeDetailsVO record : records) { + Resource resource = ayRoom.stream().filter(item -> item.getAyId().equals(record.getRoomId())).findFirst().orElse(null); + if (resource != null) { + record.setRoomName(resource.getName()); + record.setAddress(resource.getAddress()); + } + } + } + return detailsVOIPage; + } + + } 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 c20fab1..79d73c2 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 @@ -1,6 +1,5 @@ package com.renkang.emergency.largeScreen.service.impl; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; @@ -24,7 +23,6 @@ import com.renkang.emergency.largeScreen.entity.dto.HealthRoomBaseDTO; import com.renkang.emergency.largeScreen.entity.dto.HealthSignDTO; import com.renkang.emergency.largeScreen.entity.dto.MedicalAbnormalStatisticsDTO; import com.renkang.emergency.largeScreen.entity.dto.MedicalPeopleNumStatisticsDTO; -import com.renkang.emergency.largeScreen.entity.vo.HealthRoomVO; import com.renkang.emergency.largeScreen.entity.vo.HealthSignVO; import com.renkang.emergency.largeScreen.entity.vo.HospitalVO; import com.renkang.emergency.largeScreen.entity.vo.LargeScreenMap; @@ -34,7 +32,6 @@ import com.renkang.emergency.largeScreen.service.ILargeScreenService; import com.renkang.emergency.service.IEmergencyCenterService; import com.renkang.emergency.service.IEmergencyHealthRoomService; import com.renkang.emergency.service.IResourceService; -import com.renkang.emergency.service.IXjAedService; import lombok.RequiredArgsConstructor; import org.jeecg.util.RedisClientUtil; import org.jeecg.util.RedisKeyPrefix; @@ -118,7 +115,7 @@ public class LargeScreenServiceImpl extends ServiceImpl healthRoomDetail(HealthRoomDTO dto) { + public IPage healthRoomDetail(HealthRoomDTO dto) { try { return anYanClient.healthPlaceHomDetailList(dto); } catch (Exception e) {