diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java
index 768fa79d5..869b2151b 100755
--- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java
+++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java
@@ -13,6 +13,7 @@ import com.core.common.enums.TenantOptionDict;
import com.core.common.exception.ServiceException;
import com.core.common.utils.*;
import com.core.common.utils.bean.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
import com.core.common.utils.TenantOptionUtil;
import com.healthlink.his.administration.domain.ChargeItem;
import com.healthlink.his.administration.service.IChargeItemService;
@@ -54,7 +55,6 @@ import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.time.ZoneId;
@@ -70,6 +70,7 @@ import java.util.stream.Collectors;
* @author zwh
* @date 2025-08-07
*/
+@Slf4j
@Service
public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService {
@@ -185,7 +186,9 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService {
// 提取requestStatus手动处理,支持COMPLETED(3)和CHECK_VERIFIED(10)同时查询
Integer requestStatus = inpatientAdviceParam.getRequestStatus();
inpatientAdviceParam.setRequestStatus(null);
- // 提取deadline手动处理,需要做NULL-safe的end_time比较(Bug #763修复)
+ // 提取deadline手动处理
+ // Bug #714修复:截止时间过滤,使用request_time限制检索范围
+ // Bug #763修复:NULL-safe的end_time比较
String deadline = inpatientAdviceParam.getDeadline();
inpatientAdviceParam.setDeadline(null);
// 构建查询条件
@@ -215,16 +218,17 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService {
= Arrays.stream(encounterIds.split(CommonConstants.Common.COMMA)).map(Long::parseLong).toList();
queryWrapper.in(CommonConstants.FieldName.EncounterId, encounterIdList);
}
- // 手动拼接deadline条件:end_time IS NULL OR end_time <= deadline(Bug #763修复)
- // 住院医嘱的effective_dose_end可能为NULL(签发临时医嘱时未设置结束时间),
- // PostgreSQL中 NULL <= anything 结果为FALSE,需要先判断IS NULL
+ // 手动拼接截止时间条件:
+ // 1. request_time >= deadline:只显示截止时间之后创建的医嘱(Bug #714修复)
+ // 默认值为当天00:00:00,默认只加载当天数据,避免加载过长周期的历史未核对数据
+ // 2. end_time IS NULL OR end_time <= deadline:NULL-safe终止时间比较(Bug #763修复)
if (deadline != null && !deadline.isEmpty()) {
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date deadlineTime = sdf.parse(deadline);
+ Date deadlineTime = DateUtils.parseDate(deadline);
+ if (deadlineTime != null) {
+ queryWrapper.ge("request_time", deadlineTime);
queryWrapper.and(w -> w.isNull("end_time").or().le("end_time", deadlineTime));
- } catch (java.text.ParseException e) {
- // deadline解析失败,忽略此条件
+ } else {
+ log.warn("截止时间解析失败: {}", deadline);
}
}
// 患者医嘱分页列表
diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue
index 5c84b4195..456265eb2 100755
--- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue
+++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue
@@ -13,14 +13,14 @@
:disabled="false"
@click="handleAddPrescription()"
>
- {{ $t('common.add') }}
+ 新增
- {{ $t('common.save') }}
+ 保存
- {{ $t('inpatientDoctor.order.signIssue') }}
+ 签发
- {{ $t('inpatientDoctor.order.revoke') }}
+ 撤回
- {{ $t('inpatientDoctor.order.groupSet') }}
+ 组套
- {{ $t('inpatientDoctor.order.history') }}
+ 历史
- {{ $t('inpatientDoctor.order.combine') }}
+ 组合
- {{ $t('inpatientDoctor.order.split') }}
+ 拆组
- {{ $t('inpatientDoctor.order.stopAdvice') }}
+ 停嘱
- {{ $t('inpatientDoctor.order.resume') }}
+ 恢复
- {{ $t('common.delete') }}
+ 删除
- {{ $t('inpatientDoctor.order.diagnosis') }}:
+ 诊断:
- {{ $t('inpatientDoctor.order.feeType') }}:
+ 费用性质:
- {{ $t('inpatientDoctor.order.totalAmount') }}:{{ totalAmount ? totalAmount.toFixed(2) : 0 }}{{ $t('inpatientDoctor.order.yuan') }}
+ 合计金额:{{ totalAmount ? totalAmount.toFixed(2) : 0 }}元