安眼接口api开发

This commit is contained in:
wanghao
2025-11-28 17:19:23 +08:00
parent 9086453544
commit 560fe0dc19
10 changed files with 459 additions and 7 deletions
@@ -173,4 +173,34 @@ public interface AnYanClient {
* @return
*/
IPage<EmergencyContactVO> queryEmergencyContact(EmergencyContactParam param);
/**
* 批量更新员工关键信息接口
* @param employeeNumList
* @return
*/
List<AnYanUpdateUserBatchInfo> updateUserBatch(List<String> employeeNumList);
/**
* 更新单个员工扩展信息
* 是否是借调人员 这个判断是依据 数据中是否存在currentOfficeId来决定的,存在说明是借调人员,不存在说明不是借调人员
* @param employeeNum
* @return
*/
AnYanUserEmployee updateEmployeeNum(String employeeNum);
/**
* 健康小屋
* @param param
* @return
*/
IPage<AnYanHealthRoom> queryAnYanHealthRoom(AnYanHealthRoomParam param);
/**
* 体检数据
* @param param
* @return
*/
IPage<AnYanHealthCheckNew> queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param);
}
@@ -340,5 +340,30 @@ public class AnYanClientExecutor implements AnYanClient {
return new PageResultToBeanUtil<EmergencyContactVO>().transform(result, EmergencyContactVO.class);
}
@Override
public List<AnYanUpdateUserBatchInfo> updateUserBatch(List<String> employeeNumList) {
AnYanResult<Object> result = RestTemplateUtil.postExchange(AnYanApiEnum.QUERY_EMPLOYEE_CARE_PERSON, buildTokenHeader(), employeeNumList);
List<Object> listMaps = (List<Object>) result.getData();
return listMaps.stream().map(lMap -> BeanUtil.toBean(lMap, AnYanUpdateUserBatchInfo.class)).collect(Collectors.toList());
}
@Override
public AnYanUserEmployee updateEmployeeNum(String employeeNum) {
AnYanResult<Object> result = RestTemplateUtil.postExchange(AnYanApiEnum.FIND_BY_EMPLOYEENUM, buildTokenHeader(), employeeNum);
return BeanUtil.toBean(result.getData(), AnYanUserEmployee.class);
}
@Override
public IPage<AnYanHealthRoom> queryAnYanHealthRoom(AnYanHealthRoomParam param) {
AnYanResult<Object> result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_ROOM, buildTokenHeader(), param);
return new PageResultToBeanUtil<AnYanHealthRoom>().transform(result, AnYanHealthRoom.class);
}
@Override
public IPage<AnYanHealthCheckNew> queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param) {
AnYanResult<Object> result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_CHECK_NEW, buildTokenHeader(), param);
return new PageResultToBeanUtil<AnYanHealthCheckNew>().transform(result, AnYanHealthCheckNew.class);
}
}
@@ -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);
/**
* 接口路径
@@ -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;
}
@@ -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;
}
@@ -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;
}
@@ -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;
}
@@ -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;
}
@@ -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;
}