From 560fe0dc19f64ed56cb2d063c658177375ef98bf Mon Sep 17 00:00:00 2001 From: wanghao Date: Fri, 28 Nov 2025 17:19:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E7=9C=BC=E6=8E=A5=E5=8F=A3api?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/renkang/anyan/client/AnYanClient.java | 30 ++++ .../anyan/client/AnYanClientExecutor.java | 25 ++++ .../com/renkang/anyan/enums/AnYanApiEnum.java | 21 ++- .../model/dto/AnYanHealthCheckNewParam.java | 42 ++++++ .../anyan/model/dto/AnYanHealthRoomParam.java | 42 ++++++ .../anyan/model/vo/AnYanHealthCheckNew.java | 66 ++++++++ .../anyan/model/vo/AnYanHealthRoom.java | 70 +++++++++ .../model/vo/AnYanUpdateUserBatchInfo.java | 23 +++ .../anyan/model/vo/AnYanUserEmployee.java | 141 ++++++++++++++++++ .../impl/AedEquipmentMangerServiceImpl.java | 6 - 10 files changed, 459 insertions(+), 7 deletions(-) create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthCheckNewParam.java create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthRoomParam.java create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthCheckNew.java create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthRoom.java create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUpdateUserBatchInfo.java create mode 100644 functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUserEmployee.java 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 200811f..f6b988c 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 @@ -173,4 +173,34 @@ public interface AnYanClient { * @return */ IPage queryEmergencyContact(EmergencyContactParam param); + + /** + * 批量更新员工关键信息接口 + * @param employeeNumList + * @return + */ + List updateUserBatch(List employeeNumList); + + /** + * 更新单个员工扩展信息 + * 是否是借调人员 这个判断是依据 数据中是否存在currentOfficeId来决定的,存在说明是借调人员,不存在说明不是借调人员 + * @param employeeNum + * @return + */ + AnYanUserEmployee updateEmployeeNum(String employeeNum); + + /** + * 健康小屋 + * @param param + * @return + */ + IPage queryAnYanHealthRoom(AnYanHealthRoomParam param); + + + /** + * 体检数据 + * @param param + * @return + */ + IPage queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param); } 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 20526f5..b224681 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 @@ -340,5 +340,30 @@ public class AnYanClientExecutor implements AnYanClient { return new PageResultToBeanUtil().transform(result, EmergencyContactVO.class); } + @Override + public List updateUserBatch(List employeeNumList) { + AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.QUERY_EMPLOYEE_CARE_PERSON, buildTokenHeader(), employeeNumList); + List listMaps = (List) result.getData(); + return listMaps.stream().map(lMap -> BeanUtil.toBean(lMap, AnYanUpdateUserBatchInfo.class)).collect(Collectors.toList()); + } + + @Override + public AnYanUserEmployee updateEmployeeNum(String employeeNum) { + AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.FIND_BY_EMPLOYEENUM, buildTokenHeader(), employeeNum); + return BeanUtil.toBean(result.getData(), AnYanUserEmployee.class); + } + + @Override + public IPage queryAnYanHealthRoom(AnYanHealthRoomParam param) { + AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_ROOM, buildTokenHeader(), param); + return new PageResultToBeanUtil().transform(result, AnYanHealthRoom.class); + } + + @Override + public IPage queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param) { + AnYanResult result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_CHECK_NEW, buildTokenHeader(), param); + return new PageResultToBeanUtil().transform(result, AnYanHealthCheckNew.class); + } + } diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/enums/AnYanApiEnum.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/enums/AnYanApiEnum.java index bad70f3..a500d97 100644 --- a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/enums/AnYanApiEnum.java +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/enums/AnYanApiEnum.java @@ -99,7 +99,26 @@ public enum AnYanApiEnum { /** * 18.查询关爱联络员信息及急救人员查询接口 */ - QUERY_EMPLOYEE_CARE_PERSON("aygc-znhpt-sys/0/api/empCareEmp/findPageByIdNo", "", HttpMethod.POST); + QUERY_EMPLOYEE_CARE_PERSON("aygc-znhpt-sys/0/api/empCareEmp/findPageByIdNo", "", HttpMethod.POST), + + /** + * 19.批量更新员工关键信息接口 + */ + FIND_VITAL_INFO("aygc-znhpt-sys/0/api/empBasicInfo/find-vital-info","", HttpMethod.POST), + + /** + * 20.更新单个员工扩展信息 + */ + FIND_BY_EMPLOYEENUM("aygc-znhpt-sys/0/api/empBasicInfo/find-by-employeeNum","", HttpMethod.POST), + + /** + * 21.健康小屋 + */ + HEALTH_ROOM("","",HttpMethod.POST), + /** + * 22.体检数据 + */ + HEALTH_CHECK_NEW("aygc-znhpt-sys/0/api/empHealthCheckNew/findPage","",HttpMethod.POST); /** * 接口路径 diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthCheckNewParam.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthCheckNewParam.java new file mode 100644 index 0000000..f4c306a --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthCheckNewParam.java @@ -0,0 +1,42 @@ +package com.renkang.anyan.model.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统体检数据接口参数", description = "安眼系统体检数据接口参数") +public class AnYanHealthCheckNewParam { + + @JsonProperty("workUnit") + @Schema(name = "单位名称") + private String workUnit; + + @JsonProperty("name") + @Schema(name = "员工姓名") + private String name; + + @JsonProperty("hospitalName") + @Schema(name = "医院名称") + private String hospitalName; + + @JsonProperty("checkDateEnd") + @Schema(name = "结束检查日期") + private String checkDateEnd; + + @JsonProperty("checkDateStart") + @Schema(name = "开始检查日期") + private String checkDateStart; + + @JsonProperty("employeeNum") + @Schema(name = "统一认证编号") + private String employeeNum; + + @JsonProperty("pageNo") + @Schema(name = "页码") + private Integer pageNo = 1; + + @JsonProperty("pageSize") + @Schema(name = "页码") + private Integer pageSize = 10; +} diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthRoomParam.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthRoomParam.java new file mode 100644 index 0000000..1f8cbad --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/dto/AnYanHealthRoomParam.java @@ -0,0 +1,42 @@ +package com.renkang.anyan.model.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统健康小屋接口参数", description = "安眼系统健康小屋接口参数") +public class AnYanHealthRoomParam { + + @JsonProperty("checkInDateBegin") + @Schema(name = "检测开始时间") + private String checkInDateBegin; + + @JsonProperty("checkInDateEnd") + @Schema(name = "检测结束时间") + private String checkInDateEnd; + + @JsonProperty("checkType") + @Schema(name = "检测类型") + private String checkType; + + @JsonProperty("healthRoomId") + @Schema(name = "小屋id") + private String healthRoomId; + + @JsonProperty("name") + @Schema(name = "名称") + private String name; + + @JsonProperty("pageNo") + @Schema(name = "页码") + private Integer pageNo = 1; + + @JsonProperty("pageSize") + @Schema(name = "页码") + private Integer pageSize = 10; + + @JsonProperty("successFlag") + @Schema(name = "是否成功空降 目前各个小屋没有这个值") + private String successFlag; +} diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthCheckNew.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthCheckNew.java new file mode 100644 index 0000000..fe18fbc --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthCheckNew.java @@ -0,0 +1,66 @@ +package com.renkang.anyan.model.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统体检数据接口返回", description = "安眼系统体检数据接口返回") +public class AnYanHealthCheckNew { + + @JsonProperty("id") + @Schema(name = "id") + private String id; + + @JsonProperty("idCard") + @Schema(name = "身份证号") + private String idCard; + + @JsonProperty("name") + @Schema(name = "员工姓名") + private String name; + + @JsonProperty("hospitalName") + @Schema(name = "员工体检医院") + private String hospitalName; + + @JsonProperty("checkDate") + @Schema(name = "员工体检日期") + private String checkDate; + + @JsonProperty("checkDoctor") + @Schema(name = "员工体检医生") + private String checkDoctor; + + @JsonProperty("checkId") + @Schema(name = "员工体检编号") + private String checkId; + + @JsonProperty("workUnit") + @Schema(name = "员工单位名称") + private String workUnit; + + @JsonProperty("sexCode") + @Schema(name = "员工性别编号") + private String sexCode; + + @JsonProperty("sexCodeText") + @Schema(name = "员工性别") + private String sexCodeText; + + @JsonProperty("nationalityValue") + @Schema(name = "员工民族编号") + private String nationalityValue; + + @JsonProperty("nationalityValueText") + @Schema(name = "员工民族") + private String nationalityValueText; + + @JsonProperty("phone") + @Schema(name = "员工电话号") + private String phone; + + @JsonProperty("employeeNum") + @Schema(name = "员工统一认证编号") + private String employeeNum; +} diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthRoom.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthRoom.java new file mode 100644 index 0000000..73169f8 --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanHealthRoom.java @@ -0,0 +1,70 @@ +package com.renkang.anyan.model.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统健康小屋接口返回", description = "安眼系统健康小屋接口返回") +public class AnYanHealthRoom { + + @JsonProperty("id") + @Schema(name = "id") + private String id; + + @JsonProperty("departId") + @Schema(name = "单位id") + private String departId; + + @JsonProperty("departName") + @Schema(name = "单位名称") + private String departName; + + @JsonProperty("roomId") + @Schema(name = "健康小屋id") + private String roomId; + + @JsonProperty("name") + @Schema(name = "名称") + private String name; + + @JsonProperty("idCard") + @Schema(name = "身份证号") + private String idCard; + + @JsonProperty("checkInDate") + @Schema(name = "检查日期") + private String checkInDate; + + @JsonProperty("checkType") + @Schema(name = "检查类型") + private String checkType; + + @JsonProperty("checkTypeName") + @Schema(name = "检查类型名称") + private String checkTypeName; + + @JsonProperty("lastVal") + @Schema(name = "去年体检值 目前各个小屋没有这个值") + private String lastVal; + + @JsonProperty("goalVal") + @Schema(name = "标值 各个小屋的指标并不一致") + private String goalVal; + + @JsonProperty("currentVal") + @Schema(name = "当前测量值") + private String currentVal; + + @JsonProperty("compareVal") + @Schema(name = "控降差值 目前各个小屋没有这个值") + private String compareVal; + + @JsonProperty("successFlag") + @Schema(name = "是否成功空降 目前各个小屋没有这个值") + private String successFlag; + + @JsonProperty("employeeNum") + @Schema(name = "员工统一编号") + private String employeeNum; +} diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUpdateUserBatchInfo.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUpdateUserBatchInfo.java new file mode 100644 index 0000000..7ce4838 --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUpdateUserBatchInfo.java @@ -0,0 +1,23 @@ +package com.renkang.anyan.model.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统批量更新员工关键信息接口返回对象", description = "安眼系统批量更新员工关键信息接口返回对象") +public class AnYanUpdateUserBatchInfo { + + @JsonProperty("id") + private String id; + + @JsonProperty("employeeNum") + private String employeeNum; + + @JsonProperty("phone") + private String phone; + + @JsonProperty("idNo") + private String idNo; + +} diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUserEmployee.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUserEmployee.java new file mode 100644 index 0000000..7c22004 --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/AnYanUserEmployee.java @@ -0,0 +1,141 @@ +package com.renkang.anyan.model.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(title = "安眼系统更新单个员工扩展信息接口返回对象", description = "安眼系统更新单个员工扩展信息接口返回对象") +public class AnYanUserEmployee { + + @JsonProperty("id") + private String id; + + @JsonProperty("employeeNum") + @Schema(name = "员工统一认证编号") + private String employeeNum; + + @JsonProperty("name") + @Schema(name = "员工名称") + private String name; + + @JsonProperty("sexCode") + @Schema(name = "员工性别编号") + private String sexCode; + + @JsonProperty("sexCodeText") + @Schema(name = "员工性别") + private String sexCodeText; + + @JsonProperty("nationalityValue") + @Schema(name = "员工民族编号") + private String nationalityValue; + + @JsonProperty("nationalityValueText") + @Schema(name = "员工民族") + private String nationalityValueText; + + @JsonProperty("phone") + @Schema(name = "员工手机号") + private String phone; + + @JsonProperty("idNo") + @Schema(name = "员工身份证号") + private String idNo; + + @JsonProperty("birthPlace") + @Schema(name = "出生地") + private String birthPlace; + + @JsonProperty("educationCode") + @Schema(name = "文化程度编号") + private String educationCode; + + @JsonProperty("educationCodeText") + @Schema(name = "文化程度") + private String educationCodeText; + + @JsonProperty("marriageCode") + @Schema(name = "婚姻概况编号") + private String marriageCode; + + @JsonProperty("marriageCodeText") + @Schema(name = "婚姻概况") + private String marriageCodeText; + + @JsonProperty("householdTypeCode") + @Schema(name = "户籍性质") + private String householdTypeCode; + + @JsonProperty("workUnitId") + @Schema(name = "单位id 原工作单位") + private String workUnitId; + + @JsonProperty("parentWorkIds") + @Schema(name = "父单位id") + private String parentWorkIds; + + @JsonProperty("currentOfficeId") + @Schema(name = "现工作单位id") + private String currentOfficeId; + + @JsonProperty("currentOfficeIdText") + @Schema(name = "现工作单位") + private String currentOfficeIdText; + + @JsonProperty("workUnit") + @Schema(name = "单位名称") + private String workUnit; + + @JsonProperty("birthday") + @Schema(name = "出生日期") + private String birthday; + + @JsonProperty("homeId") + @Schema(name = "健康小屋id") + private String homeId; + + @JsonProperty("homePlace") + @Schema(name = "健康小屋地点") + private String homePlace; + + @JsonProperty("posts") + @Schema(name = "职位编号") + private String posts; + + @JsonProperty("postsText") + @Schema(name = "职位") + private String postsText; + + @JsonProperty("heartBloodVesselCheck") + @Schema(name = "心血管检查 有/无") + private String heartBloodVesselCheck; + + @JsonProperty("brainBloodVesselCheck") + @Schema(name = "脑血管检查 有/无") + private String brainBloodVesselCheck; + + @JsonProperty("cancerCheck") + @Schema(name = "癌症筛查 有/无") + private String cancerCheck; + + @JsonProperty("ctaResult") + @Schema(name = "冠状CTA检查结果 1: '无', 2: '轻度狭窄',3: '中度狭窄',4: '重度狭窄'") + private Integer ctaResult; + + @JsonProperty("age") + @Schema(name = "年龄") + private Integer age; + + @JsonProperty("isHealthAdmin") + @Schema(name = "是否为健康管理员 1-是 2-否") + private Integer isHealthAdmin; + + @JsonProperty("inFormedBookAttached") + @Schema(name = "是否上传知情同意书 有值-是 null-否") + private String inFormedBookAttached; + + @JsonProperty("existHealthAdmCommit") + @Schema(name = "是否上传保密承诺书 true-是 false-否") + private Boolean existHealthAdmCommit; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java index 59b2263..321d5e7 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java @@ -122,13 +122,7 @@ public class AedEquipmentMangerServiceImpl extends ServiceImpl idList = pageInfo.getRecords().stream().map(AEDPublishPageRes::getId).collect(Collectors.toList()); - List location = aedEquipmentMangerMapper.getLocation(idList); pageInfo.getRecords().forEach(f -> { - AedLocationEquipment aedLocationEquipment = location.stream().filter(item -> item.getEquipmentId().equals(f.getId())).findFirst().orElse(null); - if (aedLocationEquipment != null) { - f.setInstallAddress(aedLocationEquipment.getAddress()); - } // 处理部门 if (StrUtil.isNotBlank(f.getDepartCode())) { // 二级