|
|
|
@ -158,7 +158,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
for (PrimaryConfirmReqVO reqVO : reqVOList) {
|
|
|
|
|
// 修改初步诊断是否被排除
|
|
|
|
|
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getExcludeFlag, reqVO.getExcludeFlag())
|
|
|
|
|
.eq(DiagnosisPrimary::getId, reqVO.getId()).update();
|
|
|
|
|
.eq(DiagnosisPrimary::getId, reqVO.getPrimaryId()).update();
|
|
|
|
|
// 保存证实诊断依据
|
|
|
|
|
saveDiagnosticBasis(reqVO.getDiagnosticBasisList());
|
|
|
|
|
}
|
|
|
|
@ -211,7 +211,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
* @return 结果
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId) {
|
|
|
|
|
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId,String primaryId) {
|
|
|
|
|
List<DiagnosticBasisForPrimaryResVO> resList = diagnosisPrimaryService.queryDiagnosticBasisListForPrimary(processId);
|
|
|
|
|
if (CollUtil.isEmpty(resList)) {
|
|
|
|
|
return resList;
|
|
|
|
@ -221,22 +221,39 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
Map<String, String> diseaseNameMap = diagnosisPrimaryVOS.stream().collect(Collectors.toMap(DiagnosisPrimaryVO::getId, DiagnosisPrimaryVO::getPrimaryDiseaseName));
|
|
|
|
|
// 首先根据诊断记录,找到对应的关联关系
|
|
|
|
|
Set<String> relationIdSet = resList.stream().map(DiagnosticBasisForPrimaryResVO::getId).collect(Collectors.toSet());
|
|
|
|
|
List<DiagnosisPrimaryRelation> relationList = diagnosisPrimaryRelationService.lambdaQuery().in(DiagnosisPrimaryRelation::getRelationId, relationIdSet).list();
|
|
|
|
|
// 查询诊疗记录对应的初步诊断关系
|
|
|
|
|
List<DiagnosisPrimaryRelation> relationList = diagnosisPrimaryRelationService.lambdaQuery()
|
|
|
|
|
.in(DiagnosisPrimaryRelation::getRelationId, relationIdSet)
|
|
|
|
|
.list();
|
|
|
|
|
// 根据relationId进行分组
|
|
|
|
|
Map<String, List<DiagnosisPrimaryRelation>> relationMap = relationList.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getRelationId));
|
|
|
|
|
|
|
|
|
|
List<DiagnosticBasisForPrimaryResVO> result = new ArrayList<>();
|
|
|
|
|
for (DiagnosticBasisForPrimaryResVO node : resList) {
|
|
|
|
|
List<DiagnosisPrimaryRelation> relationPrimaryList = relationMap.get(node.getId());
|
|
|
|
|
Set<String> primarySet = relationPrimaryList.stream().map(DiagnosisPrimaryRelation::getPrimaryId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(primarySet)) {
|
|
|
|
|
// 如果初步诊断ID的参数不为空,那么说明只查某一个初步诊断的数据
|
|
|
|
|
if (StrUtil.isNotBlank(primaryId)){
|
|
|
|
|
if (primarySet.contains(primaryId)){
|
|
|
|
|
// 如果有,就只保留这一个初步诊断依据的
|
|
|
|
|
primarySet.removeIf(e -> !e.equals(primaryId));
|
|
|
|
|
}else {
|
|
|
|
|
// 如果没有,就直接跳过
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<String> diseaseNameList = new ArrayList<>();
|
|
|
|
|
primarySet.forEach(e -> diseaseNameList.add(diseaseNameMap.get(e)));
|
|
|
|
|
node.setPrimaryIdList(new ArrayList<>(primarySet));
|
|
|
|
|
node.setPrimaryName(StrUtil.join(";", diseaseNameList));
|
|
|
|
|
result.add(node);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resList;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|