diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java index 5b0f498b..dc995eec 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java @@ -17,6 +17,8 @@ import com.supervision.manage.service.ProcessRecordService; import com.supervision.service.ProcessService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.supervision.model.Process; import java.util.*; import java.util.function.Function; @@ -57,32 +59,33 @@ public class ProcessRecordServiceImpl implements ProcessRecordService { if (CollUtil.isNotEmpty(page.getRecords())) { HashSet diseaseIdSet = new HashSet<>(); page.getRecords().forEach(e -> { - if (StrUtil.isNotEmpty(e.getContainDiseaseIdJsonStr())){ - diseaseIdSet.addAll(JSONUtil.toList(e.getContainDiseaseIdJsonStr(),String.class)); - }else if (StrUtil.isNotBlank(e.getDiseaseId())){ + if (StrUtil.isNotEmpty(e.getContainDiseaseIdJsonStr())) { + diseaseIdSet.addAll(JSONUtil.toList(e.getContainDiseaseIdJsonStr(), String.class)); + } else if (StrUtil.isNotBlank(e.getDiseaseId())) { diseaseIdSet.add(e.getDiseaseId()); } - }); - if (CollUtil.isNotEmpty(diseaseIdSet)) { - Map diseaseMap = diseaseService.listByIds(diseaseIdSet).stream().collect(Collectors.toMap(Disease::getId, Function.identity())); - for (ProcessRecordVO record : page.getRecords()) { - List diseaseName = new ArrayList<>(); - if (StrUtil.isNotEmpty(record.getContainDiseaseIdJsonStr())){ - for (String containsDiseaseId : JSONUtil.toList(record.getContainDiseaseIdJsonStr(), String.class)) { - Optional.ofNullable(diseaseMap.get(containsDiseaseId)).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias())); + }); + if (CollUtil.isNotEmpty(diseaseIdSet)) { + Map diseaseMap = diseaseService.listByIds(diseaseIdSet).stream().collect(Collectors.toMap(Disease::getId, Function.identity())); + for (ProcessRecordVO record : page.getRecords()) { + List diseaseName = new ArrayList<>(); + if (StrUtil.isNotEmpty(record.getContainDiseaseIdJsonStr())) { + for (String containsDiseaseId : JSONUtil.toList(record.getContainDiseaseIdJsonStr(), String.class)) { + Optional.ofNullable(diseaseMap.get(containsDiseaseId)).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias())); + } + } else if (StrUtil.isNotBlank(record.getDiseaseId())) { + Optional.ofNullable(diseaseMap.get(record.getDiseaseId())).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias())); } - }else if (StrUtil.isNotBlank(record.getDiseaseId())){ - Optional.ofNullable(diseaseMap.get(record.getDiseaseId())).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias())); - } - record.setDiseaseType(CollUtil.join(diseaseName, ",")); + record.setDiseaseType(CollUtil.join(diseaseName, ",")); + } } } - } return page; -} + } @Override + @Transactional(rollbackFor = Exception.class) public ProcessEvaluation saveOrUpdateProcessEvaluation(ProcessEvaluation processEvaluation) { // 如果processId不为空,校验是否已经存在 if (StrUtil.isNotBlank(processEvaluation.getProcessId())) { @@ -94,13 +97,15 @@ public class ProcessRecordServiceImpl implements ProcessRecordService { }); } processEvaluationService.saveOrUpdate(processEvaluation); + // 状态更新为已评估 + processService.lambdaUpdate().set(Process::getStatus, 3).eq(Process::getId, processEvaluation.getProcessId()).update(); return processEvaluation; } @Override public ProcessEvaluation queryProcessEvaluation(String processId) { - Assert.notEmpty(processId,() -> new BusinessException("流程ID不能为空")); - return processEvaluationService.lambdaQuery().eq(ProcessEvaluation::getProcessId,processId).last(" limit 1").one(); + Assert.notEmpty(processId, () -> new BusinessException("流程ID不能为空")); + return processEvaluationService.lambdaQuery().eq(ProcessEvaluation::getProcessId, processId).last(" limit 1").one(); } } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Process.java b/virtual-patient-model/src/main/java/com/supervision/model/Process.java index 9f8caf64..f320d0ec 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/Process.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/Process.java @@ -49,9 +49,10 @@ public class Process implements Serializable { /** * 待问诊状态:新建成功后默认就是待问诊状态 * 待处置:诊毕后,进入待处置 - * 已评估状态:处置结束,系统自动评估,就是已评估状态 + * 问诊结束:处置结束,系统自动评估,就是系统已评估 + * 教师已评估:后台系统教师评估 */ - @ApiModelProperty("任务状态 0:待问诊 1:待处置 2:已评估") + @ApiModelProperty("任务状态 0:待问诊 1:待处置 2:问诊结束(系统已评估) 3 已评估(教师已评估)") private Integer status; @ApiModelProperty("实例类型 0:学习实例 1:考核实例")