Fix Bug #503: fallback修复
This commit is contained in:
@@ -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("<script>" +
|
||||
"SELECT d.* " +
|
||||
"FROM inpatient_dispense_detail d " +
|
||||
"JOIN inpatient_dispense_summary s ON d.summary_id = s.id " +
|
||||
"WHERE s.status = 1 " +
|
||||
"<if test='pharmacyId != null'>AND d.pharmacy_id = #{pharmacyId}</if>" +
|
||||
"</script>")
|
||||
List<Map<String, Object>> listSubmittedDetails(@Param("pharmacyId") Long pharmacyId);
|
||||
|
||||
/**
|
||||
* 查询已提交的发药汇总单
|
||||
*
|
||||
* @param pharmacyId 药房ID(可选过滤条件)
|
||||
* @return 汇总单列表
|
||||
*/
|
||||
@Select("<script>" +
|
||||
"SELECT * FROM inpatient_dispense_summary " +
|
||||
"WHERE status = 1 " +
|
||||
"<if test='pharmacyId != null'>AND pharmacy_id = #{pharmacyId}</if>" +
|
||||
"</script>")
|
||||
List<Map<String, Object>> listSubmittedSummaries(@Param("pharmacyId") Long pharmacyId);
|
||||
}
|
||||
Reference in New Issue
Block a user