优化诊毕接口

dev_2.0.0
liu 2 years ago
parent 8757f60599
commit fa432a1d48

@ -59,9 +59,6 @@ public class AskPrimaryController {
return askPrimaryService.queryRecordForPrimaryChoose(processId);
}
@ApiOperation("删除初步诊断")
@GetMapping("deletePrimary")
public void deletePrimary(String id) {

@ -39,11 +39,11 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
List<DiagnosisPrimaryVO> resVoList = diagnosisPrimaryService.queryAskPrimaryList(processId);
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));
for (DiagnosisPrimaryVO diagnosisPrimaryVO : resVoList) {
List<DiagnosisPrimaryRelation> relationList = relationMap.get(diagnosisPrimaryVO.getId());
if (CollUtil.isNotEmpty(relationList)){
if (CollUtil.isNotEmpty(relationList)) {
Map<Integer, List<String>> relationIdMap = relationList.stream()
.collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getType, Collectors.mapping(DiagnosisPrimaryRelation::getRelationId, Collectors.toList())));
diagnosisPrimaryVO.setAskIdList(relationIdMap.get(1));
@ -74,7 +74,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
diagnosisPrimary.setCreateUserId(UserUtil.getUser().getId());
diagnosisPrimaryService.save(diagnosisPrimary);
// 然后开始保存初步诊断关键的诊断
if (CollUtil.isNotEmpty(reqVO.getAskIdList())){
if (CollUtil.isNotEmpty(reqVO.getAskIdList())) {
List<DiagnosisPrimaryRelation> askRelationList = reqVO.getAskIdList().stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId());
@ -88,7 +88,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
}
if (CollUtil.isNotEmpty(reqVO.getPhysicalIdList())){
if (CollUtil.isNotEmpty(reqVO.getPhysicalIdList())) {
List<DiagnosisPrimaryRelation> physicalRelationList = reqVO.getPhysicalIdList().stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId());
@ -102,7 +102,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
}
if (CollUtil.isNotEmpty(reqVO.getAncillaryIdList())){
if (CollUtil.isNotEmpty(reqVO.getAncillaryIdList())) {
List<DiagnosisPrimaryRelation> ancillaryRelationList = reqVO.getAncillaryIdList().stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId());
@ -151,7 +151,6 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void confirmPrimaryByAskEnd(List<PrimaryConfirmReqVO> reqVOList) {
@ -211,7 +210,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
* @return
*/
@Override
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId,String primaryId) {
public List<DiagnosticBasisForPrimaryResVO> queryDiagnosticBasisListForPrimary(String processId, String primaryId) {
List<DiagnosticBasisForPrimaryResVO> resList = diagnosisPrimaryService.queryDiagnosticBasisListForPrimary(processId);
if (CollUtil.isEmpty(resList)) {
return resList;
@ -219,27 +218,26 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
// 找到process对应的所有的初步诊断
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId);
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().eq(DiagnosisPrimaryRelation::getProcessId, processId).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());
if (CollUtil.isEmpty(relationPrimaryList)){
continue;
}
Set<String> primarySet = relationPrimaryList.stream().map(DiagnosisPrimaryRelation::getPrimaryId).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(primarySet)) {
// 如果初步诊断ID的参数不为空,那么说明只查某一个初步诊断的数据
if (StrUtil.isNotBlank(primaryId)){
if (primarySet.contains(primaryId)){
if (StrUtil.isNotBlank(primaryId)) {
if (primarySet.contains(primaryId)) {
// 如果有,就只保留这一个初步诊断依据的
primarySet.removeIf(e -> !e.equals(primaryId));
}else {
} else {
// 如果没有,就直接跳过
continue;
}

Loading…
Cancel
Save