web : 1. queryAskAncillaryResult 扩展返回结果值

release_1.0.0
xueqingkun 1 year ago
parent 4076cc41ca
commit 53039d19bf

@ -0,0 +1,15 @@
package com.supervision.dto;
import com.supervision.model.DiseaseAncillary;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class DiseaseAncillaryDto extends DiseaseAncillary {
@ApiModelProperty("项目中文名")
private String itemName;
}

@ -1,7 +1,11 @@
package com.supervision.mapper;
import com.supervision.dto.DiseaseAncillaryDto;
import com.supervision.model.DiseaseAncillary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author flevance
@ -11,6 +15,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface DiseaseAncillaryMapper extends BaseMapper<DiseaseAncillary> {
List<DiseaseAncillaryDto> queryDiseaseAncillaryDtoList(@Param("diseaseAncillary")DiseaseAncillary diseaseAncillary);
}

@ -1,6 +1,5 @@
package com.supervision.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

@ -1,8 +1,12 @@
package com.supervision.service;
import com.supervision.dto.DiseaseAncillaryDto;
import com.supervision.model.DiseaseAncillary;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.function.Supplier;
/**
* @author flevance
* @description vp_disease_ancillary()Service
@ -10,4 +14,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface DiseaseAncillaryService extends IService<DiseaseAncillary> {
List<DiseaseAncillaryDto> queryDiseaseAncillaryDtoList(DiseaseAncillary diseaseAncillary);
DiseaseAncillaryDto queryDiseaseAncillaryDtoOne(DiseaseAncillary diseaseAncillary, Supplier<DiseaseAncillaryDto> other);
}

@ -1,20 +1,49 @@
package com.supervision.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.dto.DiseaseAncillaryDto;
import com.supervision.exception.BusinessException;
import com.supervision.model.DiseaseAncillary;
import com.supervision.service.DiseaseAncillaryService;
import com.supervision.mapper.DiseaseAncillaryMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.function.Supplier;
/**
* @author flevance
* @description vp_disease_ancillary()Service
* @createDate 2023-10-20 17:19:21
*/
@Service
@RequiredArgsConstructor
public class DiseaseAncillaryServiceImpl extends ServiceImpl<DiseaseAncillaryMapper, DiseaseAncillary>
implements DiseaseAncillaryService{
private final DiseaseAncillaryMapper diseaseAncillaryMapper;
@Override
public List<DiseaseAncillaryDto> queryDiseaseAncillaryDtoList(DiseaseAncillary diseaseAncillary) {
if (null == diseaseAncillary){
throw new BusinessException("diseaseAncillary is empty");
}
return diseaseAncillaryMapper.queryDiseaseAncillaryDtoList(diseaseAncillary);
}
@Override
public DiseaseAncillaryDto queryDiseaseAncillaryDtoOne(DiseaseAncillary diseaseAncillary, Supplier<DiseaseAncillaryDto> other) {
List<DiseaseAncillaryDto> diseaseAncillaryDtos = this.queryDiseaseAncillaryDtoList(diseaseAncillary);
if (CollectionUtil.isEmpty(diseaseAncillaryDtos)){
return other.get();
}
return diseaseAncillaryDtos.get(0);
}
}

@ -0,0 +1,15 @@
package com.supervision.vo.ask;
import com.supervision.model.DiagnosisAncillaryRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class DiagnosisAncillaryRecordVo extends DiagnosisAncillaryRecord {
@ApiModelProperty("辅助检查项中文名")
private String ancillaryName;
}

@ -25,4 +25,31 @@
result,description,create_user_id,
create_time,update_user_id,update_time
</sql>
<select id="queryDiseaseAncillaryDtoList" parameterType="com.supervision.model.DiseaseAncillary" resultType="com.supervision.dto.DiseaseAncillaryDto">
select da.id as id,
da.medical_rec_id as medicalRecId,
da.item_id as itemId,
da.require_check as requireCheck,
da.basis_confirm as basisConfirm,
da.basis_identification as basisIdentification,
da.result as result,
da.description as description,
da.create_time as createTime,
da.create_user_id as createUserId,
da.update_user_id as updateUserId,
da.update_time as updateTime,
ca.item_name as itemName
from vp_disease_ancillary da
join vp_config_ancillary_item ca on da.item_id = ca.id
<where>
<if test="diseaseAncillary.medicalRecId != null and diseaseAncillary.medicalRecId != ''">
AND da.medical_rec_id = #{diseaseAncillary.medicalRecId}
</if>
<if test="diseaseAncillary.itemId != null and diseaseAncillary.itemId != ''">
AND da.item_id = #{diseaseAncillary.itemId}
</if>
</where>
</select>
</mapper>

@ -1,10 +1,10 @@
package com.supervision.controller;
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 com.supervision.vo.ask.DiagnosisAncillaryRecordVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -30,7 +30,7 @@ public class AskAncillaryController {
@ApiOperation("进行辅助检查,并获取结果")
@GetMapping("queryAskAncillaryResult")
public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
public DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
return askAncillaryService.execAskAncillaryResult(reqVO);
}

@ -1,9 +1,9 @@
package com.supervision.service;
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.vo.ask.DiagnosisAncillaryRecordVo;
import java.util.List;
@ -12,7 +12,7 @@ public interface AskAncillaryService {
List<ConfigAncillaryItemResVO> queryAncillaryItemList();
DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO);
DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO);
List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId);
}

@ -1,6 +1,8 @@
package com.supervision.service.impl;
import com.supervision.dto.DiseaseAncillaryDto;
import com.supervision.exception.BusinessException;
import com.supervision.mapper.DiseaseAncillaryMapper;
import com.supervision.model.*;
import com.supervision.model.Process;
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
@ -8,6 +10,7 @@ import com.supervision.pojo.vo.AskAncillaryResultReqVO;
import com.supervision.pojo.vo.ConfigAncillaryItemResVO;
import com.supervision.service.*;
import com.supervision.util.UserUtil;
import com.supervision.vo.ask.DiagnosisAncillaryRecordVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -28,8 +31,14 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
private final MedicalRecService medicalRecService;
private final DiseaseAncillaryMapper diseaseAncillaryMapper;
@Override
public List<ConfigAncillaryItemResVO> queryAncillaryItemList() {
DiseaseAncillary diseaseAncillary = new DiseaseAncillary();
diseaseAncillary.setMedicalRecId("1");
diseaseAncillary.setItemId("100");
List<DiseaseAncillaryDto> diseaseAncillaryDtos = diseaseAncillaryMapper.queryDiseaseAncillaryDtoList(diseaseAncillary);
List<ConfigAncillaryItem> list = ancillaryItemService.lambdaQuery().list();
return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType)).entrySet().stream().map(e -> {
ConfigAncillaryItemResVO item = new ConfigAncillaryItemResVO();
@ -40,26 +49,39 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
}
@Override
public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
public DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
// 首先根据process_id查新到流程ID
Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
// 找到对应的项目的检查结果
DiseaseAncillary diseaseAncillary = diseaseAncillaryService.lambdaQuery().eq(DiseaseAncillary::getMedicalRecId, process.getMedicalRecId()).eq(DiseaseAncillary::getItemId, reqVO.getItemId())
.oneOpt().orElseGet(() -> {
DiseaseAncillary get = new DiseaseAncillary();
get.setResult("无相关资讯");
return get;
});
DiseaseAncillary diseaseAncillaryQueryBean = new DiseaseAncillary();
diseaseAncillaryQueryBean.setItemId(reqVO.getItemId());
diseaseAncillaryQueryBean.setMedicalRecId(process.getMedicalRecId());
DiseaseAncillaryDto diseaseAncillary = diseaseAncillaryService.queryDiseaseAncillaryDtoOne(diseaseAncillaryQueryBean, () -> {
DiseaseAncillaryDto get = new DiseaseAncillaryDto();
get.setResult("无相关资讯");
return get;
});
DiagnosisAncillaryRecord record = new DiagnosisAncillaryRecord();
record.setProcessId(process.getId());
record.setAncillaryId(diseaseAncillary.getId());
record.setItemId(reqVO.getItemId());
record.setPrimaryId(reqVO.getPrimaryId());
record.setAncillaryId(diseaseAncillary.getId());
record.setResult(diseaseAncillary.getResult());
record.setCreateUserId(UserUtil.getUser().getId());
record.setUpdateUserId(UserUtil.getUser().getId());
record.insert();
return record;
//重组返回结果
DiagnosisAncillaryRecordVo diagnosisAncillaryRecordVo = new DiagnosisAncillaryRecordVo();
diagnosisAncillaryRecordVo.setProcessId(record.getProcessId());
diagnosisAncillaryRecordVo.setItemId(record.getItemId());
diagnosisAncillaryRecordVo.setAncillaryId(record.getAncillaryId());
diagnosisAncillaryRecordVo.setResult(record.getResult());
diagnosisAncillaryRecordVo.setAncillaryName(diseaseAncillary.getItemName());
return diagnosisAncillaryRecordVo;
}
@Override

Loading…
Cancel
Save