web : 1. ConfigPhysicalLocation 类添加字段

2. 拓展 查询体格检查的结果 接口返回值
release_1.0.0
xueqingkun 1 year ago
parent e6acfa87bf
commit 4076cc41ca

@ -43,6 +43,13 @@ public class ConfigPhysicalLocation implements Serializable {
@ApiModelProperty("位置名称") @ApiModelProperty("位置名称")
private String locationName; private String locationName;
@ApiModelProperty("部位层级")
private String level;
@ApiModelProperty("父级Id")
private String parentId;
/** /**
* ID * ID
*/ */

@ -0,0 +1,20 @@
package com.supervision.vo.ask;
import com.supervision.model.DiagnosisPhysicalRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class DiagnosisPhysicalRecordVo extends DiagnosisPhysicalRecord {
@ApiModelProperty("体格检查工具名")
private String toolName;
@ApiModelProperty("体格检查部位名")
private String locationName;
}

@ -9,6 +9,8 @@
<result property="code" column="code" jdbcType="VARCHAR"/> <result property="code" column="code" jdbcType="VARCHAR"/>
<result property="locationClass" column="location_class" jdbcType="VARCHAR"/> <result property="locationClass" column="location_class" jdbcType="VARCHAR"/>
<result property="locationName" column="location_name" jdbcType="VARCHAR"/> <result property="locationName" column="location_name" jdbcType="VARCHAR"/>
<result property="level" column="level" jdbcType="VARCHAR"/>
<result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/> <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@ -18,7 +20,8 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
,code,location_class ,code,location_class
location_name,create_user_id,create_time, location_name,level,parent_id,
create_user_id,create_time,
update_user_id,update_time update_user_id,update_time
</sql> </sql>
</mapper> </mapper>

@ -1,10 +1,9 @@
package com.supervision.controller; package com.supervision.controller;
import com.supervision.model.ConfigPhysicalTool;
import com.supervision.model.DiagnosisPhysicalRecord;
import com.supervision.pojo.vo.AskPhysicalResultReqVO; import com.supervision.pojo.vo.AskPhysicalResultReqVO;
import com.supervision.pojo.vo.ConfigPhysicalToolResVO; import com.supervision.pojo.vo.ConfigPhysicalToolResVO;
import com.supervision.service.AskPhysicalService; import com.supervision.service.AskPhysicalService;
import com.supervision.vo.ask.DiagnosisPhysicalRecordVo;
import com.supervision.vo.ask.AskPhysicalHistoryResVO; import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -15,7 +14,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
@Api(tags = "体格检查") @Api(tags = "体格检查")
@RestController @RestController
@ -34,7 +32,7 @@ public class AskPhysicalController {
@ApiOperation(value = "查询体格检查的结果(执行体格检查)") @ApiOperation(value = "查询体格检查的结果(执行体格检查)")
@GetMapping("queryAskPhysicalResult") @GetMapping("queryAskPhysicalResult")
public DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) { public DiagnosisPhysicalRecordVo queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) {
return askPhysicalService.queryAskPhysicalResult(reqVO); return askPhysicalService.queryAskPhysicalResult(reqVO);
} }

@ -1,21 +1,18 @@
package com.supervision.service; package com.supervision.service;
import com.supervision.model.ConfigPhysicalLocation;
import com.supervision.model.ConfigPhysicalTool;
import com.supervision.model.DiagnosisPhysicalRecord;
import com.supervision.pojo.vo.AskPhysicalResultReqVO; import com.supervision.pojo.vo.AskPhysicalResultReqVO;
import com.supervision.pojo.vo.ConfigPhysicalToolResVO; import com.supervision.pojo.vo.ConfigPhysicalToolResVO;
import com.supervision.vo.ask.DiagnosisPhysicalRecordVo;
import com.supervision.vo.ask.AskPhysicalHistoryResVO; import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface AskPhysicalService { public interface AskPhysicalService {
List<ConfigPhysicalToolResVO> queryPhysicalToolList(); List<ConfigPhysicalToolResVO> queryPhysicalToolList();
DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO); DiagnosisPhysicalRecordVo queryAskPhysicalResult(AskPhysicalResultReqVO reqVO);
List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId); List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId);
} }

@ -8,13 +8,12 @@ import com.supervision.pojo.vo.AskPhysicalResultReqVO;
import com.supervision.pojo.vo.ConfigPhysicalToolResVO; import com.supervision.pojo.vo.ConfigPhysicalToolResVO;
import com.supervision.service.*; import com.supervision.service.*;
import com.supervision.util.UserUtil; import com.supervision.util.UserUtil;
import com.supervision.vo.ask.DiagnosisPhysicalRecordVo;
import com.supervision.vo.ask.AskPhysicalHistoryResVO; import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.SetUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -45,22 +44,21 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
} }
@Override @Override
public DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) { public DiagnosisPhysicalRecordVo queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) {
// 首先根据process_id查新到流程ID // 首先根据process_id查新到流程ID
Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID")); Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
ConfigPhysicalTool tool = Optional.ofNullable(toolService.getById(reqVO.getToolId())).orElseThrow(() -> new BusinessException("工具不支持")); ConfigPhysicalTool tool = Optional.ofNullable(toolService.getById(reqVO.getToolId())).orElseThrow(() -> new BusinessException("工具不支持"));
// 是否需要具体的部位,0否1是 // 是否需要具体的部位,0否1是
String locationId = null; ConfigPhysicalLocation location = new ConfigPhysicalLocation();
if (1 == tool.getRequireLocation()) { if (1 == tool.getRequireLocation()) {
if (StrUtil.isBlank(reqVO.getLocationCode())){ if (StrUtil.isBlank(reqVO.getLocationCode())){
throw new BusinessException("请选择对应的位置"); throw new BusinessException("请选择对应的位置");
} }
ConfigPhysicalLocation location = locationService.lambdaQuery().eq(ConfigPhysicalLocation::getCode, reqVO.getLocationCode()).last("limit 1") location = locationService.lambdaQuery().eq(ConfigPhysicalLocation::getCode, reqVO.getLocationCode()).last("limit 1")
.oneOpt().orElseThrow(() -> new BusinessException("未找到对应部位")); .oneOpt().orElseThrow(() -> new BusinessException("未找到对应部位"));
locationId = location.getId();
} }
DiseasePhysical result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getMedicalRecId, process.getMedicalRecId()) DiseasePhysical result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getMedicalRecId, process.getMedicalRecId())
.eq(DiseasePhysical::getToolId, tool.getId()).eq(StrUtil.isNotBlank(locationId), DiseasePhysical::getLocationId, locationId).last("limit 1") .eq(DiseasePhysical::getToolId, tool.getId()).eq(StrUtil.isNotBlank(location.getId()), DiseasePhysical::getLocationId, location.getId()).last("limit 1")
.oneOpt() .oneOpt()
.orElseGet(() -> { .orElseGet(() -> {
DiseasePhysical diseasePhysical = new DiseasePhysical(); DiseasePhysical diseasePhysical = new DiseasePhysical();
@ -72,17 +70,36 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
diagnosisPhysicalRecord.setProcessId(process.getId()); diagnosisPhysicalRecord.setProcessId(process.getId());
diagnosisPhysicalRecord.setPhysicalId(result.getId()); diagnosisPhysicalRecord.setPhysicalId(result.getId());
diagnosisPhysicalRecord.setToolId(tool.getId()); diagnosisPhysicalRecord.setToolId(tool.getId());
diagnosisPhysicalRecord.setLocationId(locationId); diagnosisPhysicalRecord.setLocationId(location.getId());
diagnosisPhysicalRecord.setPrimaryId(reqVO.getPrimaryId()); diagnosisPhysicalRecord.setPrimaryId(reqVO.getPrimaryId());
diagnosisPhysicalRecord.setResult(result.getResult()); diagnosisPhysicalRecord.setResult(result.getResult());
diagnosisPhysicalRecord.setCreateUserId(UserUtil.getUser().getCreateUserId()); diagnosisPhysicalRecord.setCreateUserId(UserUtil.getUser().getCreateUserId());
diagnosisPhysicalRecord.setUpdateUserId(UserUtil.getUser().getCreateUserId()); diagnosisPhysicalRecord.setUpdateUserId(UserUtil.getUser().getCreateUserId());
diagnosisPhysicalRecord.insert(); diagnosisPhysicalRecord.insert();
return diagnosisPhysicalRecord;
return initDiagnosisPhysicalRecordVo(reqVO.getPrimaryId(), process.getId(), result, tool, location);
} }
@Override @Override
public List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId) { public List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId) {
return diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId); return diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId);
} }
private static DiagnosisPhysicalRecordVo initDiagnosisPhysicalRecordVo(String primaryId, String processId,
DiseasePhysical result, ConfigPhysicalTool tool,
ConfigPhysicalLocation location) {
DiagnosisPhysicalRecordVo diagnosisPhysicalRecordVo = new DiagnosisPhysicalRecordVo();
diagnosisPhysicalRecordVo.setProcessId(processId);
diagnosisPhysicalRecordVo.setToolId(tool.getToolName());
diagnosisPhysicalRecordVo.setToolName(tool.getToolName());
diagnosisPhysicalRecordVo.setLocationId(location.getId());
diagnosisPhysicalRecordVo.setLocationName(location.getLocationName());
diagnosisPhysicalRecordVo.setPrimaryId(primaryId);
diagnosisPhysicalRecordVo.setPhysicalId(result.getId());
diagnosisPhysicalRecordVo.setResult(result.getResult());
return diagnosisPhysicalRecordVo;
}
} }

Loading…
Cancel
Save