提交结果

dev_v1.0.1
liu 2 years ago
parent 3e553cffa7
commit 14779c8d35

@ -2,6 +2,7 @@ package com.supervision.mapper;
import com.supervision.model.DiagnosisAncillaryRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.vo.result.AncillaryRecordByResultDAO;
import org.apache.ibatis.annotations.Param;
@ -17,6 +18,8 @@ public interface DiagnosisAncillaryRecordMapper extends BaseMapper<DiagnosisAnci
List<AncillaryRecordByResultDAO> queryAncillaryResultByProcessId(@Param("processId") String processId);
List<AskAncillaryHistoryResVO> queryAncillaryRecord(@Param("processId") String processId);
}

@ -2,6 +2,7 @@ package com.supervision.mapper;
import com.supervision.model.DiagnosisPhysicalRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import com.supervision.vo.result.PhysicalRecordByResultDAO;
import org.apache.ibatis.annotations.Param;
@ -17,6 +18,8 @@ public interface DiagnosisPhysicalRecordMapper extends BaseMapper<DiagnosisPhysi
List<PhysicalRecordByResultDAO> queryPhysicalResultByProcessId(@Param("processId") String processId);
List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(@Param("processId") String processId);
}

@ -45,6 +45,9 @@ public class ConfigPhysicalTool implements Serializable {
@ApiModelProperty("体格检查工具名称")
private String toolName;
@ApiModelProperty("体格检查工具图表的base64")
private String iconBase64;
/**
* (01)
*/

@ -2,6 +2,7 @@ package com.supervision.service;
import com.supervision.model.DiagnosisAncillaryRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.vo.result.AncillaryRecordByResultDAO;
import java.util.List;
@ -15,8 +16,10 @@ public interface DiagnosisAncillaryRecordService extends IService<DiagnosisAncil
/**
* -
* -
*/
List<AncillaryRecordByResultDAO> queryAncillaryResultByProcessId(String processId);
List<AskAncillaryHistoryResVO> queryAncillaryRecord(String processId);
}

@ -2,6 +2,7 @@ package com.supervision.service;
import com.supervision.model.DiagnosisPhysicalRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import com.supervision.vo.result.PhysicalRecordByResultDAO;
import java.util.List;
@ -14,11 +15,18 @@ import java.util.List;
public interface DiagnosisPhysicalRecordService extends IService<DiagnosisPhysicalRecord> {
/**
*
* -
* @param processId ID
* @return list
*/
List<PhysicalRecordByResultDAO> queryPhysicalResultByProcessId(String processId);
/**
*
* @param processId ID
* @return list
*/
List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId);
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.DiagnosisAncillaryRecord;
import com.supervision.service.DiagnosisAncillaryRecordService;
import com.supervision.mapper.DiagnosisAncillaryRecordMapper;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.vo.result.AncillaryRecordByResultDAO;
import org.springframework.stereotype.Service;
@ -19,12 +20,16 @@ public class DiagnosisAncillaryRecordServiceImpl extends ServiceImpl<DiagnosisAn
implements DiagnosisAncillaryRecordService{
/**
* -
* -
*/
public List<AncillaryRecordByResultDAO> queryAncillaryResultByProcessId(String processId){
return this.baseMapper.queryAncillaryResultByProcessId(processId);
}
@Override
public List<AskAncillaryHistoryResVO> queryAncillaryRecord(String processId) {
return this.baseMapper.queryAncillaryRecord(processId);
}
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.DiagnosisPhysicalRecord;
import com.supervision.service.DiagnosisPhysicalRecordService;
import com.supervision.mapper.DiagnosisPhysicalRecordMapper;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import com.supervision.vo.result.PhysicalRecordByResultDAO;
import org.springframework.stereotype.Service;
@ -19,12 +20,17 @@ public class DiagnosisPhysicalRecordServiceImpl extends ServiceImpl<DiagnosisPhy
implements DiagnosisPhysicalRecordService{
/**
* -
* -
*/
@Override
public List<PhysicalRecordByResultDAO> queryPhysicalResultByProcessId(String processId) {
return this.baseMapper.queryPhysicalResultByProcessId(processId);
}
@Override
public List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId) {
return this.baseMapper.queryAskPhysicalHistory(processId);
}
}

@ -0,0 +1,30 @@
package com.supervision.vo.ask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel
public class AskAncillaryHistoryResVO {
@ApiModelProperty("辅助检查记录ID")
private String id;
@ApiModelProperty("辅助检查项名称")
private String itemName;
@ApiModelProperty("辅助检查项ID")
private String itemId;
@ApiModelProperty("辅助检查项结果")
private String result;
@ApiModelProperty("关联的初步诊断ID")
private String primaryId;
@ApiModelProperty("检查时间")
private LocalDateTime createTime;
}

@ -0,0 +1,36 @@
package com.supervision.vo.ask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel
public class AskPhysicalHistoryResVO {
@ApiModelProperty("体格检查记录ID")
private String id;
@ApiModelProperty("体格检查工具名称")
private String toolName;
@ApiModelProperty("体格检查工具ID")
private String toolId;
@ApiModelProperty("体格检查位置ID")
private String locationId;
@ApiModelProperty("体格检查位置名称")
private String locationName;
@ApiModelProperty("体格检查结果")
private String result;
@ApiModelProperty("关联的初步诊断ID")
private String primaryId;
@ApiModelProperty("检查时间")
private LocalDateTime createTime;
}

@ -9,6 +9,7 @@
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="toolName" column="tool_name" jdbcType="VARCHAR"/>
<result property="iconBase64" column="icon_base64" jdbcType="VARCHAR"/>
<result property="requireLocation" column="require_location" jdbcType="INTEGER"/>
<result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion"
typeHandler="com.supervision.handler.StringListTypeHandler"/>
@ -20,7 +21,7 @@
<sql id="Base_Column_List">
id
,type,code,
,type,code,icon_base64
tool_name,require_location,create_user_id,
create_time,update_user_id,update_time
</sql>

@ -36,4 +36,16 @@
left join vp_config_ancillary_item t3 on t2.item_id = t3.id
where t1.process_id = #{processId}
</select>
<select id="queryAncillaryRecord" resultType="com.supervision.vo.ask.AskAncillaryHistoryResVO">
select t2.item_name as itemName,
t2.id as itemId,
t1.result as result,
t1.primary_id as primaryId,
t1.id as id,
t1.create_time as createTime
from vp_diagnosis_ancillary_record t1
left join vp_config_ancillary_item t2 on t1.item_id = t2.id
where t1.process_id = #{processId} order by t1.create_time desc
</select>
</mapper>

@ -38,4 +38,20 @@
left join vp_config_physical_location t4 on t2.location_id = t3.id
where t1.process_id = #{processId}
</select>
<select id="queryAskPhysicalHistory" resultType="com.supervision.vo.ask.AskPhysicalHistoryResVO">
select t3.id as toolId,
t3.tool_name as toolName,
t4.location_name as locationName,
t4.id as locationId,
t1.id as id,
t1.result as result,
t1.primary_id as primaryId,
t1.create_time as createTime
from vp_diagnosis_physical_record t1
left join vp_config_physical_tool t3 on t1.tool_id = t3.id
left join vp_config_physical_location t4 on t1.location_id = t3.id
where t1.process_id = #{processId}
order by t1.create_time desc
</select>
</mapper>

@ -1,9 +1,9 @@
package com.supervision.controller;
import com.supervision.model.ConfigAncillaryItem;
import com.supervision.model.ConfigPhysicalLocation;
import com.supervision.model.DiagnosisAncillaryRecord;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.pojo.vo.AskAncillaryResultReqVO;
import com.supervision.pojo.vo.ConfigAncillaryItemResVO;
import com.supervision.service.AskAncillaryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@Api(tags = "辅助检查")
@RestController
@ -25,16 +24,21 @@ public class AskAncillaryController {
@ApiOperation("查询辅助检查项目列表")
@GetMapping("queryAncillaryItemList")
public Map<String, List<ConfigAncillaryItem>> queryAncillaryItemList(){
public List<ConfigAncillaryItemResVO> queryAncillaryItemList() {
return askAncillaryService.queryAncillaryItemList();
}
@ApiOperation("进行辅助检查,并获取结果")
@GetMapping("queryAskAncillaryResult")
public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO){
public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
return askAncillaryService.execAskAncillaryResult(reqVO);
}
@ApiOperation("查询辅助检查的历史记录")
@GetMapping("queryAskAncillaryHistory")
public List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId) {
return askAncillaryService.queryAskAncillaryHistory(processId);
}
}

@ -29,7 +29,7 @@ public class AskController {
session.sendMessage(new TextMessage(message));
}
@ApiOperation("接收页面的语音消息(暂时不用这个接口,主要使用websocket进行通信)")
@ApiOperation("接收页面的语音消息(这个接口使用京东数字人接口来做)")
@PostMapping("/receiveVoiceFile")
public String receiveVoiceFile(@RequestParam("file") MultipartFile file) throws IOException {
return askService.receiveVoiceFile(file);

@ -3,7 +3,9 @@ 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.ConfigPhysicalToolResVO;
import com.supervision.service.AskPhysicalService;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -26,7 +28,7 @@ public class AskPhysicalController {
@ApiOperation(value = "查询体格检查的工具列表")
@GetMapping("queryPhysicalToolList")
public Map<String, List<ConfigPhysicalTool>> queryPhysicalToolList() {
public List<ConfigPhysicalToolResVO> queryPhysicalToolList() {
return askPhysicalService.queryPhysicalToolList();
}
@ -35,4 +37,10 @@ public class AskPhysicalController {
public DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) {
return askPhysicalService.queryAskPhysicalResult(reqVO);
}
@ApiOperation(value = "查询体格检查历史记录")
@GetMapping("queryAskPhysicalHistory")
public List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId){
return askPhysicalService.queryAskPhysicalHistory(processId);
}
}

@ -0,0 +1,14 @@
package com.supervision.pojo.vo;
import com.supervision.model.ConfigAncillaryItem;
import lombok.Data;
import java.util.List;
@Data
public class ConfigAncillaryItemResVO {
private String itemName;
private List<ConfigAncillaryItem> itemList;
}

@ -0,0 +1,14 @@
package com.supervision.pojo.vo;
import com.supervision.model.ConfigPhysicalTool;
import lombok.Data;
import java.util.List;
@Data
public class ConfigPhysicalToolResVO {
private String toolType;
private List<ConfigPhysicalTool> toolList;
}

@ -1,17 +1,18 @@
package com.supervision.service;
import com.supervision.model.ConfigAncillaryItem;
import com.supervision.model.ConfigPhysicalLocation;
import com.supervision.model.DiagnosisAncillaryRecord;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.pojo.vo.AskAncillaryResultReqVO;
import com.supervision.pojo.vo.ConfigAncillaryItemResVO;
import java.util.List;
import java.util.Map;
public interface AskAncillaryService {
Map<String, List<ConfigAncillaryItem>> queryAncillaryItemList();
List<ConfigAncillaryItemResVO> queryAncillaryItemList();
DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO);
List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId);
}

@ -4,14 +4,18 @@ 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.ConfigPhysicalToolResVO;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import java.util.List;
import java.util.Map;
public interface AskPhysicalService {
Map<String, List<ConfigPhysicalTool>> queryPhysicalToolList();
List<ConfigPhysicalToolResVO> queryPhysicalToolList();
DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO);
List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId);
}

@ -1,14 +1,14 @@
package com.supervision.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.supervision.exception.BusinessException;
import com.supervision.model.*;
import com.supervision.model.Process;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
import com.supervision.pojo.vo.AskAncillaryResultReqVO;
import com.supervision.pojo.vo.ConfigAncillaryItemResVO;
import com.supervision.service.*;
import com.supervision.util.UserUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.SetUtils;
import org.springframework.stereotype.Service;
import java.util.*;
@ -24,10 +24,17 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
private final ConfigAncillaryItemService ancillaryItemService;
private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
@Override
public Map<String, List<ConfigAncillaryItem>> queryAncillaryItemList() {
public List<ConfigAncillaryItemResVO> queryAncillaryItemList() {
List<ConfigAncillaryItem> list = ancillaryItemService.lambdaQuery().list();
return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType));
return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType)).entrySet().stream().map(e -> {
ConfigAncillaryItemResVO item = new ConfigAncillaryItemResVO();
item.setItemName(e.getKey());
item.setItemList(e.getValue());
return item;
}).collect(Collectors.toList());
}
@Override
@ -35,7 +42,6 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
// 首先根据process_id查新到流程ID
Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
// 找到对应的项目的检查结果
DiseaseAncillary diseaseAncillary = diseaseAncillaryService.lambdaQuery().eq(DiseaseAncillary::getPatientId, process.getPatientId()).eq(DiseaseAncillary::getItemId, reqVO.getItemId())
.oneOpt().orElseGet(() -> {
DiseaseAncillary get = new DiseaseAncillary();
@ -44,6 +50,7 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
});
DiagnosisAncillaryRecord record = new DiagnosisAncillaryRecord();
record.setProcessId(process.getId());
record.setAncillaryId(diseaseAncillary.getId());
record.setItemId(reqVO.getItemId());
record.setPrimaryId(reqVO.getPrimaryId());
record.setResult(diseaseAncillary.getResult());
@ -51,4 +58,10 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
record.setUpdateUserId(UserUtil.getUser().getId());
return record;
}
@Override
public List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId) {
return diagnosisAncillaryRecordService.queryAncillaryRecord(processId);
}
}

@ -5,8 +5,10 @@ import com.supervision.exception.BusinessException;
import com.supervision.model.*;
import com.supervision.model.Process;
import com.supervision.pojo.vo.AskPhysicalResultReqVO;
import com.supervision.pojo.vo.ConfigPhysicalToolResVO;
import com.supervision.service.*;
import com.supervision.util.UserUtil;
import com.supervision.vo.ask.AskPhysicalHistoryResVO;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.SetUtils;
import org.springframework.stereotype.Service;
@ -26,12 +28,20 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
private final DiseasePhysicalService diseasePhysicalService;
private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService;
private final ProcessService processService;
@Override
public Map<String, List<ConfigPhysicalTool>> queryPhysicalToolList() {
public List<ConfigPhysicalToolResVO> queryPhysicalToolList() {
List<ConfigPhysicalTool> list = toolService.lambdaQuery().list();
return list.stream().collect(Collectors.groupingBy(ConfigPhysicalTool::getType));
return list.stream().collect(Collectors.groupingBy(ConfigPhysicalTool::getType)).entrySet().stream().map(e ->{
ConfigPhysicalToolResVO tool = new ConfigPhysicalToolResVO();
tool.setToolType(e.getKey());
tool.setToolList(e.getValue());
return tool;
}).collect(Collectors.toList());
}
@Override
@ -41,7 +51,7 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
ConfigPhysicalTool tool = Optional.ofNullable(toolService.getById(reqVO.getToolId())).orElseThrow(() -> new BusinessException("工具不支持"));
// 是否需要具体的部位,0否1是
String locationId = null;
if (1 == tool.getRequireLocation()){
if (1 == tool.getRequireLocation()) {
ConfigPhysicalLocation location = locationService.lambdaQuery().eq(ConfigPhysicalLocation::getCode, reqVO.getLocationCode()).last("limit 1")
.oneOpt().orElseThrow(() -> new BusinessException("为找到对应部位"));
locationId = location.getId();
@ -57,6 +67,7 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
// 检查记录保存到数据库中
DiagnosisPhysicalRecord diagnosisPhysicalRecord = new DiagnosisPhysicalRecord();
diagnosisPhysicalRecord.setProcessId(process.getId());
diagnosisPhysicalRecord.setPhysicalId(result.getId());
diagnosisPhysicalRecord.setToolId(tool.getId());
diagnosisPhysicalRecord.setLocationId(locationId);
diagnosisPhysicalRecord.setPrimaryId(reqVO.getPrimaryId());
@ -66,4 +77,9 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
diagnosisPhysicalRecord.insert();
return diagnosisPhysicalRecord;
}
@Override
public List<AskPhysicalHistoryResVO> queryAskPhysicalHistory(String processId) {
return diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId);
}
}

@ -97,6 +97,7 @@ public class AskServiceImpl implements AskService {
// 获取音频对应的文字
String askQuestion = AsrUtil.asrTransformByBytes(file.getBytes());
// 调用rasa获取文字内容
throw new BusinessException("暂未实现");
}

Loading…
Cancel
Save