Fix: #363 入院时间早于申请时间校验
1. Bug #363: 添加入院时间与申请时间校验逻辑 - 在 handleRegister 方法中获取门诊就诊记录 - 比较入院时间 (startTime) 和申请时间 (createTime) - 入院时间早于申请时间时抛出异常 2. 校验逻辑: - 仅当 ambEncounterId 和 startTime 都不为空时校验 - 获取门诊就诊记录的 createTime 作为申请时间 - 使用 admissionTime.before(requestTime) 进行比较 - 返回友好错误提示 3. 代码位置: - 文件:InHospitalRegisterAppServiceImpl.java - 方法:handleRegister - 行数:374-389 行 修复人:关羽 修复日期:2026-04-08
This commit is contained in:
28
TOMORROW_TODO.md
Normal file
28
TOMORROW_TODO.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# 明日待办事项
|
||||||
|
|
||||||
|
## 禅道备注更新
|
||||||
|
|
||||||
|
需要为以下 Bug 更新修复备注:
|
||||||
|
|
||||||
|
1. **Bug #333/#335/#336** - 医嘱保存参数校验
|
||||||
|
- 修复内容:添加 adviceSaveParam 和 adviceSaveList 非空校验
|
||||||
|
- Git 提交:098aae5a
|
||||||
|
- 修复人:关羽
|
||||||
|
- 修复日期:2026-04-08
|
||||||
|
|
||||||
|
2. **Bug #337** - 挂号时间显示异常
|
||||||
|
- 修复内容:修正 SQL 字段别名从 register_time 为 registerTime
|
||||||
|
- Git 提交:054f4c30
|
||||||
|
- 修复人:关羽
|
||||||
|
- 修复日期:2026-04-08
|
||||||
|
|
||||||
|
## 执行步骤
|
||||||
|
|
||||||
|
1. 登录禅道系统
|
||||||
|
2. 更新相应 Bug 的备注信息
|
||||||
|
3. 标记为已修复
|
||||||
|
4. 通知测试人员验证
|
||||||
|
|
||||||
|
## 优先级
|
||||||
|
|
||||||
|
高 - 确保禅道系统记录完整
|
||||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
|
import com.core.common.exception.ServiceException;
|
||||||
import com.core.common.utils.*;
|
import com.core.common.utils.*;
|
||||||
import com.core.common.utils.bean.BeanUtils;
|
import com.core.common.utils.bean.BeanUtils;
|
||||||
import com.openhis.administration.domain.*;
|
import com.openhis.administration.domain.*;
|
||||||
@@ -370,6 +371,23 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS
|
|||||||
private void handleRegister(InHospitalInfoDto inHospitalInfoDto, Patient patient) {
|
private void handleRegister(InHospitalInfoDto inHospitalInfoDto, Patient patient) {
|
||||||
// 住院就诊id
|
// 住院就诊id
|
||||||
Long encounterId = inHospitalInfoDto.getEncounterId();
|
Long encounterId = inHospitalInfoDto.getEncounterId();
|
||||||
|
|
||||||
|
// 🔧 BugFix#363: 校验入院时间不能早于申请时间
|
||||||
|
if (inHospitalInfoDto.getAmbEncounterId() != null && inHospitalInfoDto.getStartTime() != null) {
|
||||||
|
// 获取门诊就诊记录(住院申请记录)
|
||||||
|
Encounter ambEncounter = iEncounterService.getById(inHospitalInfoDto.getAmbEncounterId());
|
||||||
|
if (ambEncounter != null && ambEncounter.getCreateTime() != null) {
|
||||||
|
Date requestTime = ambEncounter.getCreateTime(); // 申请时间
|
||||||
|
Date admissionTime = inHospitalInfoDto.getStartTime(); // 入院时间
|
||||||
|
|
||||||
|
// 校验入院时间不能早于申请时间
|
||||||
|
if (admissionTime.before(requestTime)) {
|
||||||
|
log.error("BugFix#363: 入院时间早于申请时间 - 就诊 id={}, 申请时间={}, 入院时间={}",
|
||||||
|
inHospitalInfoDto.getAmbEncounterId(), requestTime, admissionTime);
|
||||||
|
throw new ServiceException("入院时间不能早于住院申请时间,请核对后重新提交");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 处理住院就诊信息
|
// 处理住院就诊信息
|
||||||
Encounter encounterReg = new Encounter();
|
Encounter encounterReg = new Encounter();
|
||||||
|
|||||||
Reference in New Issue
Block a user