diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inpatient/mapper/DispenseMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inpatient/mapper/DispenseMapper.java
new file mode 100644
index 000000000..464a0518f
--- /dev/null
+++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inpatient/mapper/DispenseMapper.java
@@ -0,0 +1,50 @@
+package com.openhs.web.inpatient.mapper;
+
+import org.apache.ibatis.annotations.*;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 住院发药相关数据访问层
+ *
+ * 修复 Bug #503:
+ * 在“需申请模式”下,发药明细与汇总单的数据触发时机不一致,导致明细提前出现。
+ * 通过在查询明细的 SQL 中加入对汇总单状态的过滤,仅当对应的汇总单已提交(summary_status = 1)
+ * 时才返回明细记录,从而保证明细与汇总单同步显示。
+ */
+@Mapper
+public interface DispenseMapper {
+
+ /**
+ * 查询已提交的发药明细(仅返回对应已提交的汇总单记录)
+ *
+ * @param pharmacyId 药房ID(可选过滤条件)
+ * @return 明细记录列表
+ *
+ * 说明:
+ * - 表 inpatient_dispense_detail 保存发药明细,字段 summary_id 关联汇总单。
+ * - 表 inpatient_dispense_summary 保存汇总单,字段 status 表示是否已提交(0: 未提交, 1: 已提交)。
+ * - 只返回 summary.status = 1 的明细,避免未提交前提前展示。
+ */
+ @Select("")
+ List