feat: 护理评估增强 - Braden/Morse/NRS2002/疼痛/管道量表完整实现

- NursingAssessment域修复delFlag/deleteFlag冲突
- 修复nursing_assessment表缺少create_by列
- 修复nursing_assessment_intervention表约束
- 前端评估页面增强(量表选择/评分/风险等级/统计)
- 前端API文件补全评估相关接口
- Braden/Morse/NRS2002/疼痛/管道评估测试通过
This commit is contained in:
2026-06-07 19:36:46 +08:00
parent 50a73cc626
commit c682fbb7c8
5 changed files with 245 additions and 181 deletions

View File

@@ -15,14 +15,14 @@ public class NursingAppServiceImpl implements INursingAppService {
@Override
public NursingAssessment createAssessment(NursingAssessment a) {
a.setRiskLevel(calculateRiskLevel(a));
a.setDelFlag("0");
a.setDeleteFlag("0");
assessmentService.save(a);
return a;
}
@Override
public List<NursingAssessment> getAssessmentsByEncounter(Long encounterId) {
return assessmentService.list(new LambdaQueryWrapper<NursingAssessment>()
.eq(NursingAssessment::getEncounterId, encounterId).eq(NursingAssessment::getDelFlag, "0")
.eq(NursingAssessment::getEncounterId, encounterId).eq(NursingAssessment::getDeleteFlag, "0")
.orderByDesc(NursingAssessment::getAssessmentTime));
}
@Override
@@ -36,20 +36,20 @@ public class NursingAppServiceImpl implements INursingAppService {
}
@Override
public NursingCarePlan createCarePlan(NursingCarePlan p) {
p.setDelFlag("0"); carePlanService.save(p); return p;
p.setDeleteFlag("0"); carePlanService.save(p); return p;
}
@Override
public List<NursingCarePlan> getCarePlansByEncounter(Long encounterId) {
return carePlanService.list(new LambdaQueryWrapper<NursingCarePlan>()
.eq(NursingCarePlan::getEncounterId, encounterId).eq(NursingCarePlan::getDelFlag, "0"));
.eq(NursingCarePlan::getEncounterId, encounterId).eq(NursingCarePlan::getDeleteFlag, "0"));
}
@Override
public NursingHandoff createHandoff(NursingHandoff h) { h.setDelFlag("0"); handoffService.save(h); return h; }
public NursingHandoff createHandoff(NursingHandoff h) { h.setDeleteFlag("0"); handoffService.save(h); return h; }
@Override
public List<NursingHandoff> getHandoffList(String ward, String shift) {
return handoffService.list(new LambdaQueryWrapper<NursingHandoff>()
.eq(ward != null, NursingHandoff::getWard, ward)
.eq(shift != null, NursingHandoff::getShift, shift)
.eq(NursingHandoff::getDelFlag, "0").orderByDesc(NursingHandoff::getHandoffTime));
.eq(NursingHandoff::getDeleteFlag, "0").orderByDesc(NursingHandoff::getHandoffTime));
}
}

View File

@@ -43,7 +43,7 @@ public class NursingAssessmentEnhancedController {
.eq(StringUtils.hasText(riskLevel), NursingAssessment::getRiskLevel, riskLevel)
.eq(encounterId != null, NursingAssessment::getEncounterId, encounterId)
.like(StringUtils.hasText(patientName), NursingAssessment::getPatientName, patientName)
.eq(NursingAssessment::getDelFlag, "0")
.eq(NursingAssessment::getDeleteFlag, "0")
.orderByDesc(NursingAssessment::getAssessmentTime);
return R.ok(assessmentService.page(new Page<>(pageNo, pageSize), w));
}
@@ -55,7 +55,7 @@ public class NursingAssessmentEnhancedController {
LambdaQueryWrapper<NursingAssessment> w = new LambdaQueryWrapper<>();
w.eq(NursingAssessment::getEncounterId, encounterId)
.eq(StringUtils.hasText(assessmentTool), NursingAssessment::getAssessmentTool, assessmentTool)
.eq(NursingAssessment::getDelFlag, "0")
.eq(NursingAssessment::getDeleteFlag, "0")
.orderByDesc(NursingAssessment::getAssessmentTime);
return R.ok(assessmentService.list(w));
}
@@ -73,7 +73,7 @@ public class NursingAssessmentEnhancedController {
assessment.setAssessmentTool("BRADEN");
assessment.setTotalScore(total);
assessment.setRiskLevel(riskLevel);
assessment.setDelFlag("0");
assessment.setDeleteFlag("0");
assessment.setAssessmentTime(new Date());
assessmentService.save(assessment);
@@ -113,7 +113,7 @@ public class NursingAssessmentEnhancedController {
assessment.setAssessmentTool("MORSE");
assessment.setTotalScore(total);
assessment.setRiskLevel(riskLevel);
assessment.setDelFlag("0");
assessment.setDeleteFlag("0");
assessment.setAssessmentTime(new Date());
assessmentService.save(assessment);
@@ -152,7 +152,7 @@ public class NursingAssessmentEnhancedController {
assessment.setAssessmentTool("NRS2002");
assessment.setTotalScore(total);
assessment.setRiskLevel(riskLevel);
assessment.setDelFlag("0");
assessment.setDeleteFlag("0");
assessment.setAssessmentTime(new Date());
assessmentService.save(assessment);
@@ -191,7 +191,7 @@ public class NursingAssessmentEnhancedController {
assessment.setAssessmentTool("NRS_PAIN");
assessment.setTotalScore(total);
assessment.setRiskLevel(riskLevel);
assessment.setDelFlag("0");
assessment.setDeleteFlag("0");
assessment.setAssessmentTime(new Date());
assessmentService.save(assessment);
@@ -230,7 +230,7 @@ public class NursingAssessmentEnhancedController {
assessment.setAssessmentTool("TUBE");
assessment.setTotalScore(total);
assessment.setRiskLevel(riskLevel);
assessment.setDelFlag("0");
assessment.setDeleteFlag("0");
assessment.setAssessmentTime(new Date());
assessmentService.save(assessment);
@@ -295,13 +295,13 @@ public class NursingAssessmentEnhancedController {
for (String tool : tools) {
LambdaQueryWrapper<NursingAssessment> w = new LambdaQueryWrapper<>();
w.eq(NursingAssessment::getAssessmentTool, tool)
.eq(NursingAssessment::getDelFlag, "0");
.eq(NursingAssessment::getDeleteFlag, "0");
long total = assessmentService.count(w);
LambdaQueryWrapper<NursingAssessment> hw = new LambdaQueryWrapper<>();
hw.eq(NursingAssessment::getAssessmentTool, tool)
.eq(NursingAssessment::getRiskLevel, "HIGH")
.eq(NursingAssessment::getDelFlag, "0");
.eq(NursingAssessment::getDeleteFlag, "0");
long highRisk = assessmentService.count(hw);
stats.put(tool + "_total", total);

View File

@@ -3,15 +3,28 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity;
import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
@Data @TableName("nursing_assessment") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false)
@Data
@TableName("nursing_assessment")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class NursingAssessment extends HisBaseEntity {
@TableId(type = IdType.ASSIGN_ID) private Long id;
private Long encounterId; private Long patientId; private String patientName;
private Long assessorId; private String assessorName;
private String assessmentType; private String assessmentTool;
private Integer totalScore; private String riskLevel;
private String itemScores; private String detail;
private Date assessmentTime; private String delFlag;
@TableId(type = IdType.ASSIGN_ID)
private Long id;
private Long encounterId;
private Long patientId;
private String patientName;
private Long assessorId;
private String assessorName;
private String assessmentType;
private String assessmentTool;
private Integer totalScore;
private String riskLevel;
private String itemScores;
private String detail;
private Date assessmentTime;
}