bugfix:修复初步诊断未选中的问题

dev_2.0.0
liu 1 year ago
parent 50c9805ce4
commit dd6f149730

@ -37,21 +37,21 @@ public class JwtInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
// //请求消息头获取用户ID //请求消息头获取用户ID
// String token = request.getHeader("token"); String token = request.getHeader("token");
// if (StrUtil.isBlank(token)) { if (StrUtil.isBlank(token)) {
// // 如果是swagger来的接口,说明这里是测试的,会伪造一个用户 // 如果是swagger来的接口,说明这里是测试的,会伪造一个用户
// if (StrUtil.isNotBlank(request.getHeader("Knife4j-Gateway-Code"))) { if (StrUtil.isNotBlank(request.getHeader("Knife4j-Gateway-Code"))) {
// cacheAuth(JWTUtil.parseToken(devActiveUser())); cacheAuth(JWTUtil.parseToken(devActiveUser()));
// return true; return true;
// } else { } else {
// throw new BusinessException("当前用户未登录", HttpStatus.UNAUTHORIZED.value()); throw new BusinessException("当前用户未登录", HttpStatus.UNAUTHORIZED.value());
// } }
// } }
// JWT jwt = JWTUtil.parseToken(token); JWT jwt = JWTUtil.parseToken(token);
// // 校验token是否过期,如果过期了,需要提示过期重新登录 // 校验token是否过期,如果过期了,需要提示过期重新登录
// checkTokenExpire(jwt); checkTokenExpire(jwt);
// cacheAuth(jwt); cacheAuth(jwt);
return true; return true;
} }

@ -16,7 +16,9 @@ import java.util.List;
*/ */
public interface DiagnosisPrimaryMapper extends BaseMapper<DiagnosisPrimary> { public interface DiagnosisPrimaryMapper extends BaseMapper<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(@Param("processId") String processId); List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessId(@Param("processId") String processId);
DiagnosisPrimaryVO queryAskPrimaryListByPrimaryId(@Param("primaryId") String primaryId);
List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessIds(@Param("processIds") List<String> processIds); List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessIds(@Param("processIds") List<String> processIds);

@ -14,7 +14,9 @@ import java.util.List;
*/ */
public interface DiagnosisPrimaryService extends IService<DiagnosisPrimary> { public interface DiagnosisPrimaryService extends IService<DiagnosisPrimary> {
List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId); List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessId(String processId);
DiagnosisPrimaryVO queryAskPrimaryListByPrimaryId(String primaryId);
List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessIds(List<String> processIds); List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessIds(List<String> processIds);

@ -6,22 +6,28 @@ import com.supervision.service.DiagnosisPrimaryService;
import com.supervision.mapper.DiagnosisPrimaryMapper; import com.supervision.mapper.DiagnosisPrimaryMapper;
import com.supervision.vo.ask.DiagnosisPrimaryVO; import com.supervision.vo.ask.DiagnosisPrimaryVO;
import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO; import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* @author flevance * @author flevance
* @description vp_diagnosis_primary()Service * @description vp_diagnosis_primary()Service
* @createDate 2023-10-26 11:33:21 * @createDate 2023-10-26 11:33:21
*/ */
@Service @Service
public class DiagnosisPrimaryServiceImpl extends ServiceImpl<DiagnosisPrimaryMapper, DiagnosisPrimary> public class DiagnosisPrimaryServiceImpl extends ServiceImpl<DiagnosisPrimaryMapper, DiagnosisPrimary>
implements DiagnosisPrimaryService{ implements DiagnosisPrimaryService {
@Override @Override
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) { public List<DiagnosisPrimaryVO> queryAskPrimaryListByProcessId(String processId) {
return this.baseMapper.queryAskPrimaryList(processId); return this.baseMapper.queryAskPrimaryListByProcessId(processId);
}
@Override
public DiagnosisPrimaryVO queryAskPrimaryListByPrimaryId(String primaryId) {
return this.baseMapper.queryAskPrimaryListByPrimaryId(primaryId);
} }
@Override @Override

@ -23,7 +23,7 @@
update_time update_time
</sql> </sql>
<select id="queryAskPrimaryList" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO"> <select id="queryAskPrimaryListByProcessId" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1 from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
@ -33,6 +33,15 @@
</if> </if>
</where> </where>
</select> </select>
<select id="queryAskPrimaryListByPrimaryId" resultType="com.supervision.vo.ask.DiagnosisPrimaryVO">
select t1.*, if(t2.disease_name_alias is null, t2.disease_name, t2.disease_name_alias) as primaryDiseaseName
from vp_diagnosis_primary t1
left join vp_disease t2 on t1.primary_diagnosis_id = t2.id
where t1.id = #{primaryId}
</select>
<select id="queryDiagnosticBasisListForPrimary" <select id="queryDiagnosticBasisListForPrimary"
resultType="com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO"> resultType="com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO">
select t1.id as id, select t1.id as id,
@ -90,4 +99,5 @@
</if> </if>
</where> </where>
</select> </select>
</mapper> </mapper>

@ -44,6 +44,12 @@ public class AskPrimaryController {
return askPrimaryService.queryPrimaryCanChooseList(); return askPrimaryService.queryPrimaryCanChooseList();
} }
@ApiOperation("获取单个初步诊断详细信息")
@GetMapping("queryPrimaryDetailInfo")
public DiagnosisPrimaryVO queryPrimaryDetailInfo(String primaryId) {
return askPrimaryService.queryPrimaryDetailInfo(primaryId);
}
@ApiOperation("修改初步诊断病情依据") @ApiOperation("修改初步诊断病情依据")
@PostMapping("modifyPrimaryDiseaseInfo") @PostMapping("modifyPrimaryDiseaseInfo")
public void modifyPrimaryDiseaseInfo(@RequestBody @Validated ModifyPrimaryDiseaseInfoReqVO reqVO) { public void modifyPrimaryDiseaseInfo(@RequestBody @Validated ModifyPrimaryDiseaseInfoReqVO reqVO) {

@ -19,6 +19,8 @@ public interface AskPrimaryService {
List<Disease> queryPrimaryCanChooseList(); List<Disease> queryPrimaryCanChooseList();
DiagnosisPrimaryVO queryPrimaryDetailInfo(String primaryId);
void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO); void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO);
void savePrimary(SaveDiagnosisPrimaryReqVO reqVO); void savePrimary(SaveDiagnosisPrimaryReqVO reqVO);

@ -115,7 +115,7 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
public List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId) { public List<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId) {
List<AskAncillaryHistoryResVO> historyList = diagnosisAncillaryRecordService.queryAncillaryRecord(processId); List<AskAncillaryHistoryResVO> historyList = diagnosisAncillaryRecordService.queryAncillaryRecord(processId);
// 找到问诊流程对应的初步诊断项目 // 找到问诊流程对应的初步诊断项目
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId); List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryListByProcessId(processId);
Map<String, DiagnosisPrimaryVO> primaryMap = diagnosisPrimaryVOS.stream().collect(Collectors.toMap(DiagnosisPrimaryVO::getId, Function.identity())); Map<String, DiagnosisPrimaryVO> primaryMap = diagnosisPrimaryVOS.stream().collect(Collectors.toMap(DiagnosisPrimaryVO::getId, Function.identity()));
// 这里需要根据item和primaryId进行去重,对于完全相同的,只保留一个, // 这里需要根据item和primaryId进行去重,对于完全相同的,只保留一个,
Map<String, List<AskAncillaryHistoryResVO>> collect = historyList.stream().collect(Collectors.groupingBy(e -> e.getItemId() + e.getPrimaryId())); Map<String, List<AskAncillaryHistoryResVO>> collect = historyList.stream().collect(Collectors.groupingBy(e -> e.getItemId() + e.getPrimaryId()));

@ -113,7 +113,7 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
Map<String, List<DiagnosisPrimaryRelation>> relationMap = relationList.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getRelationId)); Map<String, List<DiagnosisPrimaryRelation>> relationMap = relationList.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getRelationId));
// 找到process对应的所有的初步诊断 // 找到process对应的所有的初步诊断
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId); List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryListByProcessId(processId);
Map<String, String> diseaseNameMap = diagnosisPrimaryVOS.stream().collect(Collectors.toMap(DiagnosisPrimaryVO::getId, DiagnosisPrimaryVO::getPrimaryDiseaseName)); Map<String, String> diseaseNameMap = diagnosisPrimaryVOS.stream().collect(Collectors.toMap(DiagnosisPrimaryVO::getId, DiagnosisPrimaryVO::getPrimaryDiseaseName));
for (AskPhysicalHistoryResVO node : res) { for (AskPhysicalHistoryResVO node : res) {
List<DiagnosisPrimaryRelation> temp = relationMap.get(node.getId()); List<DiagnosisPrimaryRelation> temp = relationMap.get(node.getId());

@ -8,13 +8,12 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.druid.sql.visitor.functions.If; import com.alibaba.druid.sql.visitor.functions.If;
import com.sun.media.sound.AiffFileReader; import com.sun.media.sound.AiffFileReader;
import com.supervision.exception.BusinessException; import com.supervision.exception.BusinessException;
import com.supervision.model.*;
import com.supervision.model.Process; import com.supervision.model.Process;
import com.supervision.model.*;
import com.supervision.pojo.vo.*; import com.supervision.pojo.vo.*;
import com.supervision.vo.ask.*;
import com.supervision.service.*; import com.supervision.service.*;
import com.supervision.util.UserUtil; import com.supervision.util.UserUtil;
import io.swagger.models.auth.In; import com.supervision.vo.ask.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -44,7 +43,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
@Override @Override
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) { public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
List<DiagnosisPrimaryVO> resVoList = diagnosisPrimaryService.queryAskPrimaryList(processId); List<DiagnosisPrimaryVO> resVoList = diagnosisPrimaryService.queryAskPrimaryListByProcessId(processId);
List<DiagnosisPrimaryRelation> list = diagnosisPrimaryRelationService.lambdaQuery().eq(DiagnosisPrimaryRelation::getProcessId, processId).list(); List<DiagnosisPrimaryRelation> list = diagnosisPrimaryRelationService.lambdaQuery().eq(DiagnosisPrimaryRelation::getProcessId, processId).list();
if (CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
Map<String, List<DiagnosisPrimaryRelation>> relationMap = list.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getPrimaryId)); Map<String, List<DiagnosisPrimaryRelation>> relationMap = list.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getPrimaryId));
@ -67,6 +66,22 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
return diseaseService.list(); return diseaseService.list();
} }
@Override
public DiagnosisPrimaryVO queryPrimaryDetailInfo(String primaryId) {
DiagnosisPrimaryVO diagnosisPrimaryVO = diagnosisPrimaryService.queryAskPrimaryListByPrimaryId(primaryId);
List<DiagnosisPrimaryRelation> relationList = diagnosisPrimaryRelationService.lambdaQuery()
.eq(DiagnosisPrimaryRelation::getPrimaryId, primaryId)
.list();
if (CollUtil.isNotEmpty(relationList)) {
Map<Integer, List<String>> relationIdMap = relationList.stream()
.collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getType, Collectors.mapping(DiagnosisPrimaryRelation::getRelationId, Collectors.toList())));
diagnosisPrimaryVO.setAskIdList(Optional.ofNullable(relationIdMap.get(1)).orElseGet(ArrayList::new));
diagnosisPrimaryVO.setPhysicalIdList(Optional.ofNullable(relationIdMap.get(2)).orElseGet(ArrayList::new));
diagnosisPrimaryVO.setAncillaryIdList(Optional.ofNullable(relationIdMap.get(3)).orElseGet(ArrayList::new));
}
return diagnosisPrimaryVO;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) { public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) {
@ -115,10 +130,10 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
diagnosisPrimary.setCreateUserId(UserUtil.getUser().getId()); diagnosisPrimary.setCreateUserId(UserUtil.getUser().getId());
String primaryDiagnosisId = diagnosisPrimary.getPrimaryDiagnosisId(); String primaryDiagnosisId = diagnosisPrimary.getPrimaryDiagnosisId();
Assert.notEmpty(primaryDiagnosisId,"疾病不能为空"); Assert.notEmpty(primaryDiagnosisId, "疾病不能为空");
List<DiagnosisPrimary> dbList = diagnosisPrimaryService.lambdaQuery().eq(DiagnosisPrimary::getPrimaryDiagnosisId, primaryDiagnosisId) List<DiagnosisPrimary> dbList = diagnosisPrimaryService.lambdaQuery().eq(DiagnosisPrimary::getPrimaryDiagnosisId, primaryDiagnosisId)
.eq(DiagnosisPrimary::getProcessId, diagnosisPrimary.getProcessId()).list(); .eq(DiagnosisPrimary::getProcessId, diagnosisPrimary.getProcessId()).list();
Assert.isTrue(CollectionUtil.isEmpty(dbList),"初步诊断已存在"); Assert.isTrue(CollectionUtil.isEmpty(dbList), "初步诊断已存在");
diagnosisPrimaryService.save(diagnosisPrimary); diagnosisPrimaryService.save(diagnosisPrimary);
// 然后开始保存初步诊断关键的诊断 // 然后开始保存初步诊断关键的诊断
@ -256,7 +271,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
return resList; return resList;
} }
// 找到process对应的所有的初步诊断 // 找到process对应的所有的初步诊断
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId); List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryListByProcessId(processId);
Map<String, String> diseaseNameMap = diagnosisPrimaryVOS.stream().peek(vo -> { Map<String, String> diseaseNameMap = diagnosisPrimaryVOS.stream().peek(vo -> {
if (StrUtil.isEmpty(vo.getPrimaryDiseaseName())) { if (StrUtil.isEmpty(vo.getPrimaryDiseaseName())) {
vo.setPrimaryDiseaseName(""); vo.setPrimaryDiseaseName("");

@ -81,7 +81,7 @@ public class MedicalRecordServiceImpl implements MedicalRecordService {
ProcessMedicalViewDetailResVo resultVo = BeanUtil.toBean(processMedicalResVo, ProcessMedicalViewDetailResVo.class); ProcessMedicalViewDetailResVo resultVo = BeanUtil.toBean(processMedicalResVo, ProcessMedicalViewDetailResVo.class);
// 2. 获取初步诊断疾病信息 // 2. 获取初步诊断疾病信息
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId); List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryListByProcessId(processId);
resultVo.setPrimaryDiseaseNameList( resultVo.setPrimaryDiseaseNameList(
diagnosisPrimaryVOS.stream().map(DiagnosisPrimaryVO::getPrimaryDiseaseName).distinct().collect(Collectors.toList())); diagnosisPrimaryVOS.stream().map(DiagnosisPrimaryVO::getPrimaryDiseaseName).distinct().collect(Collectors.toList()));

Loading…
Cancel
Save