diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/EmergencyContactParam.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/EmergencyContactParam.java index c286b95..0cbc8f5 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/EmergencyContactParam.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/EmergencyContactParam.java @@ -21,11 +21,6 @@ public class EmergencyContactParam { */ @Schema(title = "身份证号") private String idNo; - /** - * 工号 - */ - @Schema(title = "工号") - private String employeeNum; /** * 数据级别 */ 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/HealthPlaceHomDetailsVO.java index 3c4b428..61ee745 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/HealthPlaceHomDetailsVO.java @@ -7,16 +7,36 @@ import org.jeecg.common.aspect.annotation.Dict; @Data @Schema(title="健康小屋数据详情列表", description="健康小屋数据详情列表") public class HealthPlaceHomDetailsVO { + /** + * id + */ + @Schema(title = "id") + private String id; + /** + * 单位id + */ + @Schema(title = "单位id") + private String departId; /** * 单位 */ @Schema(title = "单位") private String departName; + /** + * 健康小屋id + */ + @Schema(title = "健康小屋id") + private String roomId; /** * 姓名 */ @Schema(title = "姓名") private String name; + /** + * 身份证号 + */ + @Schema(title = "身份证号") + private String idCard; /** * 检查日期 */ @@ -24,10 +44,12 @@ public class HealthPlaceHomDetailsVO { private String checkInDate; /** * 检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加 + * 字典废弃 新接口返回了name */ - @Schema(title = "检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加") - @Dict(dicCode = "xj_check_type") + @Schema(title = "检查类型") private String checkType; + @Schema(title = "检查类型名称") + private String checkTypeName; /** * 去年体检值 前一年的体检值(初始值) */ @@ -53,4 +75,6 @@ public class HealthPlaceHomDetailsVO { */ @Schema(title = "是否成功空降,1:是/0.否") private String successFlag; + @Schema(title = "员工统一编号") + private String employeeNum; } 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 c13e1a9..8eac0a1 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 @@ -2,6 +2,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; @@ -104,7 +105,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)); } @@ -231,10 +232,10 @@ public class LargeScreenNewController { } /** - * 假数据查询(关爱趋势) + * 关爱趋势 */ @GetMapping("loveTrend") - public Result> loveTrend(@RequestParam(name = "centerId") String centerId, + public Result> loveTrend(@RequestParam(name = "centerId") String centerId, @RequestParam(name = "name", required = false) String name, @RequestParam(name = "orgName", required = false) String orgName, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @@ -242,6 +243,23 @@ public class LargeScreenNewController { return Result.ok(largeScreenDataService.loveTrend(centerId, name,orgName,pageNo,pageSize)); } + /** + * 关爱趋势详情 + */ + @GetMapping("loveTrendDetail") + public Result> loveTrendDetail(CareUserDetailsParam param){ + return Result.ok(largeScreenDataService.loveTrendDetail(param)); + } + + /** + * 关爱趋势某一条详情 + */ + @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)); + } + /** * 获取最近的6个资源 * @param longitude @@ -266,12 +284,12 @@ public class LargeScreenNewController { /** * 健康档案 - * @param userId 用户id + * @param idCard 用户身份证号 * @return vo */ @GetMapping("healthArchives") - public Result healthArchives(@RequestParam(name = "userId") String userId){ - return Result.ok(largeScreenDataService.healthArchives(userId)); + public Result healthArchives(@RequestParam(name = "idCard") String idCard){ + return Result.ok(largeScreenDataService.healthArchives(idCard)); } /** 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 7d052a3..4e04f2b 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 @@ -34,6 +34,8 @@ public class LargeScreenMap { private String managePhone; + private String ayId; + private double distance; public LargeScreenMap() {} @@ -49,6 +51,7 @@ public class LargeScreenMap { this.jobNum = resource.getJobNum(); this.runTime = resource.getRunTime(); this.address = resource.getAddress(); + this.ayId = resource.getAyId(); } public LargeScreenMap(EmergencyHealthRoom room) { 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 f927069..bcc4550 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 @@ -17,6 +17,8 @@ public class TodayEmergencyVO { private String userId; @Schema(title = "姓名") private String realName; + @Schema(title = "身份证号") + private String idCard; @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 f8c1eb1..ee91902 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,6 +2,8 @@ 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.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.emergency.entity.LargeScreenData; @@ -35,13 +37,17 @@ public interface ILargeScreenDataService extends IService { List medicalDataDetail(String centerId); - IPage loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize); + List loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize); + + IPage loveTrendDetail(CareUserDetailsParam param); + + CareUserListVo loveTrendByOne(String anYanUserId,String idNo); List nearResources(String longitude, String latitude); IPage todayEmergencyList(TodayEmergencyDTO dto); - HealthArchivesVO healthArchives(String userId); + CareUserListVo healthArchives(String userId); CareUserVO careUser(String userId); } 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 bbdd6e7..3e07f3a 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 @@ -30,7 +30,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 5fdaa77..eeb6d14 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 @@ -14,6 +14,9 @@ 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.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.emergency.entity.*; @@ -71,6 +74,7 @@ public class LargeScreenDataServiceImpl extends ServiceImpl loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize) { - try { - ClassPathResource resource = new ClassPathResource("tempData/guanaiList.json"); - String jsonContent = StreamUtils.copyToString(resource.getInputStream(), StandardCharsets.UTF_8); - List careUserListVoList = JSONUtil.toList(jsonContent, CareUserListVo.class); + public List loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize) { + return anYanClient.homeCarePersonList(); +// 以下内容为旧版假数据接口 +// try { +// ClassPathResource resource = new ClassPathResource("tempData/guanaiList.json"); +// String jsonContent = StreamUtils.copyToString(resource.getInputStream(), StandardCharsets.UTF_8); +// List careUserListVoList = JSONUtil.toList(jsonContent, CareUserListVo.class); +// +// if (CollUtil.isEmpty(careUserListVoList)) { +// return new Page<>(); +// } +// +// // 根据 name 过滤 +// if (StrUtil.isNotBlank(name)) { +// careUserListVoList = careUserListVoList.stream() +// .filter(vo -> vo.getName() != null && vo.getName().contains(name)) +// .collect(Collectors.toList()); +// } +// +// // 根据 name 过滤 +// if (StrUtil.isNotBlank(orgName)) { +// careUserListVoList = careUserListVoList.stream() +// .filter(vo -> vo.getWorkUnit() != null && vo.getWorkUnit().contains(orgName)) +// .collect(Collectors.toList()); +// } +// +// int total = careUserListVoList.size(); +// int[] startEnd = PageUtil.transToStartEnd(pageNo - 1, pageSize); +// +// // 确保不越界 +// int start = Math.min(startEnd[0], total); +// int end = Math.min(startEnd[1], total); +// +// List pageList = careUserListVoList.subList(start, end); +// +// Page page = new Page<>(pageNo, pageSize, total); +// page.setRecords(pageList); +// return page; +// +// } catch (Exception e) { +// e.printStackTrace(); +// return new Page<>(); +// } + } - if (CollUtil.isEmpty(careUserListVoList)) { - return new Page<>(); - } + @Override + public IPage loveTrendDetail(CareUserDetailsParam param){ + return anYanClient.careUserDetailsPage(param); + } - // 根据 name 过滤 - if (StrUtil.isNotBlank(name)) { - careUserListVoList = careUserListVoList.stream() - .filter(vo -> vo.getName() != null && vo.getName().contains(name)) - .collect(Collectors.toList()); - } - - // 根据 name 过滤 - if (StrUtil.isNotBlank(orgName)) { - careUserListVoList = careUserListVoList.stream() - .filter(vo -> vo.getWorkUnit() != null && vo.getWorkUnit().contains(orgName)) - .collect(Collectors.toList()); - } - - int total = careUserListVoList.size(); - int[] startEnd = PageUtil.transToStartEnd(pageNo - 1, pageSize); - - // 确保不越界 - int start = Math.min(startEnd[0], total); - int end = Math.min(startEnd[1], total); - - List pageList = careUserListVoList.subList(start, end); - - Page page = new Page<>(pageNo, pageSize, total); - page.setRecords(pageList); - return page; - - } catch (Exception e) { - e.printStackTrace(); - return new Page<>(); - } + @Override + public CareUserListVo loveTrendByOne(String anYanUserId, String idNo){ + return anYanClient.careUserDetails(anYanUserId, idNo); } @Override @@ -766,6 +782,7 @@ public class LargeScreenDataServiceImpl extends ServiceImpl healthRoomDetail(HealthRoomDTO dto) { - IPage detailsIPage; + public IPage healthRoomDetail(HealthRoomDTO dto) { try { - detailsIPage = anYanClient.healthPlaceHomDetailList(dto); - if (ObjUtil.isEmpty(detailsIPage.getRecords())) { - return new Page<>(); - } + return anYanClient.healthPlaceHomDetailList(dto); } catch (Exception e) { log.error("调用安眼API失败", e); throw new RuntimeException("调用安眼API失败"); } - IPage page = new Page<>(); - BeanUtil.copyProperties(detailsIPage, page); - List records = detailsIPage.getRecords(); - page.setRecords(records.stream().map(HealthRoomVO::new).collect(Collectors.toList())); - return page; } @Override