Fix Bug #503: fallback修复

This commit is contained in:
2026-05-27 01:21:34 +08:00
parent ec023fab64
commit bf1ed9deeb

View File

@@ -32,7 +32,7 @@ public interface DispenseMapper {
* *
* 业务说明: * 业务说明:
* - 汇总单表 his_inpatient_dispense_summary 中维护累计发药数量 total_quantity * - 汇总单表 his_inpatient_dispense_summary 中维护累计发药数量 total_quantity
* 以及发药状态 statusPARTIAL、COMPLETED * 以及发药状态 statusNONE、PARTIAL、COMPLETED
* - 本方法在同事务内执行,使用传入的 quantity正数/负数)直接累加到 total_quantity * - 本方法在同事务内执行,使用传入的 quantity正数/负数)直接累加到 total_quantity
* 并根据累计值与订单需求量进行状态判定,避免原来通过异步任务或触发器延迟更新导致的时机不一致。 * 并根据累计值与订单需求量进行状态判定,避免原来通过异步任务或触发器延迟更新导致的时机不一致。
* *
@@ -43,15 +43,14 @@ public interface DispenseMapper {
"<script>", "<script>",
"UPDATE his_inpatient_dispense_summary", "UPDATE his_inpatient_dispense_summary",
"SET total_quantity = total_quantity + #{quantity},", "SET total_quantity = total_quantity + #{quantity},",
// 根据累计数量判断状态
" status = CASE", " status = CASE",
" WHEN total_quantity + #{quantity} = 0 THEN 'NONE'", " WHEN total_quantity + #{quantity} = 0 THEN 'NONE'",
" WHEN total_quantity + #{quantity} < required_quantity THEN 'PARTIAL'", " WHEN total_quantity + #{quantity} < required_quantity THEN 'PARTIAL'",
" ELSE 'COMPLETED'", " ELSE 'COMPLETED'",
" END", " END",
"WHERE id = #{dispenseId}", "WHERE dispense_id = #{dispenseId}",
"</script>" "</script>"
}) })
void updateSummaryAfterDetail(@Param("dispenseId") Long dispenseId, void updateSummaryAfterDetail(@Param("dispenseId") Long dispenseId,
@Param("quantity") Integer quantity); @Param("quantity") Integer quantity);
} }