Fix Bug #495: 【医嘱闭环】已校对医嘱无法流转至"医嘱执行"界面,导致费用无法提交执行
Root cause: In getInpatientAdvicePage(), encounterIds and exeStatus were nullified before buildQueryWrapper to prevent auto-generated SQL conditions, but requestStatus was NOT nullified. HisQueryUtils.buildQueryWrapper uses reflection to add eq conditions for ALL non-null fields, so requestStatus: 3 became an extra SQL filter "AND request_status = 3" that was not intended for the 医嘱执行 page. The 医嘱执行 page uses exeStatus (not requestStatus) for execution state filtering. The SQL already handles verified/unverified order filtering via a CASE condition on status_enum and performer_check_id. The requestStatus parameter is only meant for frontend tab selection and should not be used as a SQL filter here. Fix: Nullify requestStatus before buildQueryWrapper, same as encounterIds/exeStatus. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -178,6 +178,8 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService {
|
||||
inpatientAdviceParam.setEncounterIds(null);
|
||||
Integer exeStatus = inpatientAdviceParam.getExeStatus();
|
||||
inpatientAdviceParam.setExeStatus(null);
|
||||
// requestStatus由前端tab控制,后端SQL已通过CASE条件处理校对状态过滤,无需再作为SQL条件
|
||||
inpatientAdviceParam.setRequestStatus(null);
|
||||
// 构建查询条件
|
||||
QueryWrapper<InpatientAdviceParam> queryWrapper
|
||||
= HisQueryUtils.buildQueryWrapper(inpatientAdviceParam, null, null, null);
|
||||
|
||||
Reference in New Issue
Block a user