Merge remote-tracking branch 'origin/dev_2.1.0' into dev_2.1.0

dev_2.1.0
xueqingkun 1 year ago
commit da07b46032

@ -165,7 +165,6 @@ public class GraphNebulaServiceImpl implements GraphNebulaService {
// 创建体格检查节点(physicalId不为空,即为只查配置了检查结果的结果)
List<DiagnosisPhysicalRecord> physicalRecordList = diagnosisPhysicalRecordService.lambdaQuery()
.isNotNull(DiagnosisPhysicalRecord::getPhysicalId)
.eq(DiagnosisPhysicalRecord::getProcessId, processId).list();
Map<String, PhysicalVertex> physicalConfirmMap = new HashMap<>();
for (DiagnosisPhysicalRecord physicalRecord : physicalRecordList) {
@ -187,7 +186,6 @@ public class GraphNebulaServiceImpl implements GraphNebulaService {
}
// 创建辅助检查节点
List<DiagnosisAncillaryRecord> ancillaryRecordList = diagnosisAncillaryRecordService.lambdaQuery()
.isNotNull(DiagnosisAncillaryRecord::getAncillaryId)
.eq(DiagnosisAncillaryRecord::getProcessId, processId).list();
Map<String, AncillaryVertex> ancillaryConfirmMap = new HashMap<>();
for (DiagnosisAncillaryRecord diagnosisAncillaryRecord : ancillaryRecordList) {

@ -1,5 +1,6 @@
package com.supervision.pojo.vo;
import cn.hutool.core.util.NumberUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -16,6 +17,9 @@ public class ChartNodeVO {
@ApiModelProperty("属性占比")
private BigDecimal nodePer;
@ApiModelProperty("评分级别( (0-60) 不合格 [60,75)合格 [75,85)良好 [85,100]优秀,")
private String scoreLevel;
/**
* =
*/
@ -39,4 +43,18 @@ public class ChartNodeVO {
*/
@ApiModelProperty("标准,病例库中配置的数量")
private Integer standard;
public String computeScoreLevel() {
if (NumberUtil.isIn(this.getNodePer(), BigDecimal.valueOf(85), BigDecimal.valueOf(100))) {
return "优秀";
}
if (NumberUtil.isIn(this.getNodePer(), BigDecimal.valueOf(75), BigDecimal.valueOf(85))) {
return "良好";
}
if (NumberUtil.isIn(this.getNodePer(), BigDecimal.valueOf(60), BigDecimal.valueOf(75))) {
return "合格";
} else {
return "不及格";
}
}
}

@ -1,5 +1,6 @@
package com.supervision.pojo.vo;
import com.supervision.model.ProcessEvaluation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -23,4 +24,7 @@ public class RadarChartResVO {
// 临床思维=前面几项和或平均值
@ApiModelProperty("临床思维")
private ChartNodeVO clinicalThinking;
@ApiModelProperty("考核评估")
private ProcessEvaluation processEvaluation;
}

@ -45,6 +45,8 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
private final ProcessService processService;
private final ProcessEvaluationService processEvaluationService;
private final DiseaseService diseaseService;
private final TreatmentPlanRecordService treatmentPlanRecordService;
@ -324,11 +326,17 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
BigDecimal clinicalThinking = NumberUtil.add(askChart.getNodePer(), physicalChart.getNodePer(), ancillaryChart.getNodePer(), treatmentPlanChart.getNodePer()).divide(BigDecimal.valueOf(4), 1, RoundingMode.HALF_UP);
ChartNodeVO chartNodeVO = new ChartNodeVO();
chartNodeVO.setNodePer(clinicalThinking);
chartNodeVO.setScoreLevel(chartNodeVO.computeScoreLevel());
chartNodeVO.setTotal(NumberUtil.add(askChart.getTotal(), physicalChart.getTotal(), ancillaryChart.getTotal(), treatmentPlanChart.getTotal()).intValue());
chartNodeVO.setCorrect(NumberUtil.add(askChart.getCorrect(), physicalChart.getCorrect(), ancillaryChart.getCorrect(), treatmentPlanChart.getCorrect()).intValue());
chartNodeVO.setUnCorrect(NumberUtil.add(askChart.getUnCorrect(), physicalChart.getUnCorrect(), ancillaryChart.getUnCorrect(), treatmentPlanChart.getUnCorrect()).intValue());
chartNodeVO.setStandard(NumberUtil.add(askChart.getStandard(), physicalChart.getStandard(), ancillaryChart.getStandard(), treatmentPlanChart.getStandard()).intValue());
radarChartResVO.setClinicalThinking(chartNodeVO);
// 查询考核评估内容
ProcessEvaluation processEvaluation = processEvaluationService.lambdaQuery().eq(ProcessEvaluation::getProcessId, processId).one();
radarChartResVO.setProcessEvaluation(processEvaluation);
return radarChartResVO;
@ -371,8 +379,8 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
num2 = BigDecimal.valueOf(hitPlanCount).divide(BigDecimal.valueOf(medicalCount), 2, RoundingMode.HALF_UP);
}
ChartNodeVO chartNodeVO = new ChartNodeVO();
chartNodeVO.setNodePer(num2.multiply(num3));
chartNodeVO.setNodePer(num2.multiply(num3).multiply(BigDecimal.valueOf(100)));
chartNodeVO.setScoreLevel(chartNodeVO.computeScoreLevel());
chartNodeVO.setCorrect(hitPlanCount);
chartNodeVO.setUnCorrect(medicalCount - hitPlanCount);
chartNodeVO.setStandard(medicalCount);
@ -403,8 +411,8 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
}
ChartNodeVO chartNodeVO = new ChartNodeVO();
chartNodeVO.setNodePer(num2.multiply(num3));
chartNodeVO.setNodePer(num2.multiply(num3).multiply(BigDecimal.valueOf(100)));
chartNodeVO.setScoreLevel(chartNodeVO.computeScoreLevel());
chartNodeVO.setCorrect(userHitCount);
chartNodeVO.setUnCorrect(medicalCount - userHitCount);
chartNodeVO.setStandard(medicalCount);
@ -436,8 +444,8 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
num2 = BigDecimal.valueOf(userHitCount).divide(BigDecimal.valueOf(medicalCount), 2, RoundingMode.HALF_UP);
}
ChartNodeVO chartNodeVO = new ChartNodeVO();
chartNodeVO.setNodePer(num2.multiply(num3));
chartNodeVO.setNodePer(num2.multiply(num3).multiply(BigDecimal.valueOf(100)));
chartNodeVO.setScoreLevel(chartNodeVO.computeScoreLevel());
chartNodeVO.setCorrect(userHitCount);
chartNodeVO.setUnCorrect(medicalCount - userHitCount);
chartNodeVO.setStandard(medicalCount);
@ -483,7 +491,8 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
num2 = BigDecimal.valueOf(userHitQuestionCount).divide(BigDecimal.valueOf(medicalQuestionCount), 2, RoundingMode.HALF_UP);
}
ChartNodeVO chartNodeVO = new ChartNodeVO();
chartNodeVO.setNodePer(num2.multiply(num3));
chartNodeVO.setNodePer(num2.multiply(num3).multiply(BigDecimal.valueOf(100)));
chartNodeVO.setScoreLevel(chartNodeVO.computeScoreLevel());
chartNodeVO.setCorrect(userHitQuestionCount);
chartNodeVO.setStandard(Integer.parseInt(String.valueOf(medicalQuestionCount)));
chartNodeVO.setUnCorrect(NumberUtil.sub(chartNodeVO.getStandard(), chartNodeVO.getCorrect()).intValue());

Loading…
Cancel
Save