新疆体检相关

This commit is contained in:
wanghao
2025-12-05 13:50:45 +08:00
parent 06236177a3
commit b8108c4908
12 changed files with 221 additions and 1 deletions
@@ -194,4 +194,16 @@ public interface AnYanClient {
* @return
*/
IPage<AnYanHealthCheckNew> queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param);
/**
* 根据id查询体检数据
* @param id
* @return
*/
AnYanEmpHealthCheckNew queryEmpHealthCheckNew(String id);
/**
* 根据检查id、科室编号、科室名称查询体检记录
*/
List<HealthCheckProject> queryHealthCheckProject(AnYanHealthCheckProjectParam param);
}
@@ -369,5 +369,18 @@ public class AnYanClientExecutor implements AnYanClient {
return new PageResultToBeanUtil<AnYanHealthCheckNew>().transform(result, AnYanHealthCheckNew.class);
}
@Override
public AnYanEmpHealthCheckNew queryEmpHealthCheckNew(String id) {
AnYanResult<Object> result = RestTemplateUtil.getExchange(AnYanApiEnum.CHECK_NEW_BY_ID, buildTokenHeader(), id);
return BeanUtil.toBean(result.getData(), AnYanEmpHealthCheckNew.class);
}
@Override
public List<HealthCheckProject> queryHealthCheckProject(AnYanHealthCheckProjectParam param) {
AnYanResult<Object> result = RestTemplateUtil.postExchange(AnYanApiEnum.HEALTH_CHECK_PROJECT, buildTokenHeader(), param);
List<Object> listMaps = (List<Object>) result.getData();
return listMaps.stream().map(lMap -> BeanUtil.toBean(lMap, HealthCheckProject.class)).collect(Collectors.toList());
}
}
@@ -12,6 +12,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
import java.util.Objects;
/**
@@ -108,6 +109,12 @@ public class RestTemplateUtil {
return getRestTemplate().exchange(url, api.getHttpMethod(), requestEntity, responseType);
}
public static AnYanResult<Object> getExchange(AnYanApiEnum api, HttpHeaders headers, String id) {
String url = getProperties().getHost() +api.getMethodPath()+ "/"+id;
HttpEntity<Object> requestEntity = new HttpEntity<>(headers);
return responseHandler(getRestTemplate().exchange(url, api.getHttpMethod(), requestEntity, AnYanResult.class));
}
/**
* ResponseEntity 转 Result
*
@@ -114,7 +114,17 @@ public enum AnYanApiEnum {
/**
* 22.体检数据
*/
HEALTH_CHECK_NEW("/aygc-znhpt-sys/0/api/empHealthCheckNew/findPage","",HttpMethod.POST);
HEALTH_CHECK_NEW("/aygc-znhpt-sys/0/api/empHealthCheckNew/findPage","",HttpMethod.POST),
/**
* 23.根据体检id查询体检数据
*/
CHECK_NEW_BY_ID("/aygc-znhpt-sys/0/api/empHealthCheckNew","",HttpMethod.GET),
/**
* 24.根据检查id、科室编号、科室名称查询体检记录
*/
HEALTH_CHECK_PROJECT("/aygc-znhpt-sys/0/api/empHealthCheckNew/getCheckProjects","",HttpMethod.POST);
/**
* 接口路径
@@ -0,0 +1,14 @@
package com.renkang.anyan.model.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AnYanHealthCheckProjectParam {
@Schema(title = "检查id")
private String checkId;
@Schema(title = "科室编号")
private String departNo;
@Schema(title = "科室名称")
private String departName;
}
@@ -0,0 +1,31 @@
package com.renkang.anyan.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(title = "安眼系统体检数据接口返回", description = "安眼系统体检数据接口返回")
public class AnYanEmpHealthCheckNew {
@Schema(title = "姓名")
private String name;
@Schema(title = "性别编号")
private String sexCode;
@Schema(title = "性别")
private String sexCodeText;
@Schema(title = "出生日期")
private String birthday;
@Schema(title = "身份证号")
private String idNo;
@Schema(title = "单位全称")
private String workUnit;
@Schema(title = "民族编号")
private String nationalityValue;
@Schema(title = "民族")
private String nationalityValueText;
@Schema(title = "电话号码")
private String phone;
@Schema(title = "员工编号 非统一认证编号")
private String empId;
@Schema(title = "体检数据")
private AnYanMedicalNew empHealthCheckNew;
}
@@ -0,0 +1,22 @@
package com.renkang.anyan.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AnYanHealthCheckDepart {
@Schema(title = "科室记录编号")
private String id;
@Schema(title = "科室体检编号")
private String checkId;
@Schema(title = "科室编号")
private String departNo;
@Schema(title = "科室名称")
private String departName;
@Schema(title = "小结")
private String summary;
@Schema(title = "小结日期")
private String summaryDate;
@Schema(title = "小结医生(科室医生)")
private String summaryDoctor;
}
@@ -0,0 +1,41 @@
package com.renkang.anyan.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
public class AnYanMedicalNew {
@Schema(title = "查询id")
private String id;
@Schema(title = "身份证号")
private String idCard;
@Schema(title = "名称")
private String name;
@Schema(title = "医院名称")
private String hospitalName;
@Schema(title = "检查日期")
private String checkDate;
@Schema(title = "检查医生名称")
private String checkDoctor;
@Schema(title = "医院检查编号")
private String checkNo;
@Schema(title = "检查编号")
private String checkId;
@Schema(title = "体检综述")
private String checkResult;
@Schema(title = "体检建议")
private String checkSuggestion;
@Schema(title = "科室体检数据")
private List<AnYanHealthCheckDepart> healthCheckDepartList;
@Schema(title = "二级单位id")
private String secondOfficeId;
@Schema(title = "二级单位名称")
private String secondOfficeName;
@Schema(title = "三级单位id")
private String thirdOfficeId;
@Schema(title = "三级单位名称")
private String thirdOfficeName;
}
@@ -0,0 +1,32 @@
package com.renkang.anyan.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class HealthCheckProject {
@Schema(title = "项目记录编号")
private String id;
@Schema(title = "项目体检编号")
private String checkId;
@Schema(title = "科室编号")
private String departNo;
@Schema(title = "科室名称")
private String departName;
@Schema(title = "项目编号")
private String projectNo;
@Schema(title = "项目名称")
private String projectName;
@Schema(title = "项目体检值")
private String resultValue;
@Schema(title = "是否异常")
private String abnormal;
@Schema(title = "异常结果")
private String abnormalResult;
@Schema(title = "单位")
private String unit;
@Schema(title = "参考值")
private String referenceValue;
@Schema(title = "是否心脑血管项目0否 1是")
private String bloodBrain;
}
@@ -317,6 +317,26 @@ public class LargeScreenNewController {
return Result.ok(largeScreenDataService.queryAnYanHealthCheckNew(param));
}
/**
* 根据id查询体检数据 注:此接口为后台接口 不是大屏
* @param id
* @return
*/
@GetMapping("queryCheckNewById")
public Result<AnYanEmpHealthCheckNew> queryCheckNewByCheckId(String id){
return Result.ok(largeScreenDataService.queryCheckNewByCheckId(id));
}
/**
* 根据检查id、科室编号、科室名称查询体检记录
* @param param
* @return
*/
@PostMapping("queryHealthCheckProject")
public Result<List<HealthCheckProject>> queryHealthCheckProject(AnYanHealthCheckProjectParam param){
return Result.ok(largeScreenDataService.queryHealthCheckProject(param));
}
/**
* 获取小屋数据列表接口 注:此接口为后台接口 不是大屏
* @param healthRoomDTO
@@ -326,4 +346,6 @@ public class LargeScreenNewController {
public Result<IPage<HealthPlaceHomeDetailsVO>> healthPlaceHomeDetailList(@RequestBody HealthRoomDTO healthRoomDTO){
return Result.ok(largeScreenDataService.healthPlaceHomeDetailList(healthRoomDTO));
}
}
@@ -3,6 +3,7 @@ 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.AnYanHealthCheckProjectParam;
import com.renkang.anyan.model.dto.CareUserDetailsParam;
import com.renkang.anyan.model.dto.HealthRoomDTO;
import com.renkang.anyan.model.vo.*;
@@ -52,5 +53,9 @@ public interface ILargeScreenDataService extends IService<LargeScreenData> {
IPage<AnYanHealthCheckNew> queryAnYanHealthCheckNew(AnYanHealthCheckNewParam param);
AnYanEmpHealthCheckNew queryCheckNewByCheckId(String id);
List<HealthCheckProject> queryHealthCheckProject(AnYanHealthCheckProjectParam param);
IPage<HealthPlaceHomeDetailsVO> healthPlaceHomeDetailList(HealthRoomDTO healthRoomDTO);
}
@@ -14,6 +14,7 @@ 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.AnYanHealthCheckProjectParam;
import com.renkang.anyan.model.dto.CareUserDetailsParam;
import com.renkang.anyan.model.dto.HealthRoomDTO;
import com.renkang.anyan.model.vo.*;
@@ -880,6 +881,16 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
return anYanClient.queryAnYanHealthCheckNew(param);
}
@Override
public AnYanEmpHealthCheckNew queryCheckNewByCheckId(String id) {
return anYanClient.queryEmpHealthCheckNew(id);
}
@Override
public List<HealthCheckProject> queryHealthCheckProject(AnYanHealthCheckProjectParam param) {
return anYanClient.queryHealthCheckProject(param);
}
@Override
public IPage<HealthPlaceHomeDetailsVO> healthPlaceHomeDetailList(HealthRoomDTO healthRoomDTO) {
IPage<HealthPlaceHomeDetailsVO> detailsVOIPage = anYanClient.healthPlaceHomDetailList(healthRoomDTO);