diff --git a/com/openhis/web/outpatient/mapper/OrderMapper.java b/com/openhis/web/outpatient/mapper/OrderMapper.java index 7ca9769ac..401778209 100644 --- a/com/openhis/web/outpatient/mapper/OrderMapper.java +++ b/com/openhis/web/outpatient/mapper/OrderMapper.java @@ -50,32 +50,29 @@ public interface OrderMapper { */ @Select("SELECT o.*, d.total_unit_name AS total_unit " + "FROM his_order o " + - "LEFT JOIN diagnosis_detail d ON o.diagnosis_detail_id = d.id " + + "LEFT JOIN diagnosis_detail d ON o.diagnosis_id = d.id " + "WHERE o.id = #{orderId}") Map selectOrderDetailById(@Param("orderId") Long orderId); /** - * 更新订单状态为已支付。 + * 将订单状态更新为已取消(CANCELLED)。 * * @param orderId 订单ID - * @param status 状态码,建议使用 {@link #ORDER_STATUS_PAID} + * @param status 目标状态码,建议使用 {@link #ORDER_STATUS_CANCELLED} + * @return 受影响的行数 + */ + @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}") + int updateOrderStatusToCancelled(@Param("orderId") Long orderId, + @Param("status") String status); + + /** + * **新增**:将订单状态更新为已支付(PAID)。 + * + * @param orderId 订单ID + * @param status 目标状态码,建议使用 {@link #ORDER_STATUS_PAID} * @return 受影响的行数 */ @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}") int updateOrderStatusToPaid(@Param("orderId") Long orderId, @Param("status") String status); - - /** - * 更新订单状态为已取消(退号)。 - * - *

该方法专门用于门诊诊前退号场景,使用 PRD 中统一的 {@code CANCELLED} 状态码,避免 - * 之前硬编码为 {@code RETURNED} 导致的状态不一致问题。

- * - * @param orderId 订单ID - * @param status 状态码,建议使用 {@link #ORDER_STATUS_CANCELLED} - * @return 受影响的行数 - */ - @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}") - int updateOrderStatusToCancelled(@Param("orderId") Long orderId, - @Param("status") String status); } diff --git a/com/openhis/web/outpatient/service/impl/RegistrationServiceImpl.java b/com/openhis/web/outpatient/service/impl/RegistrationServiceImpl.java index 9ba491d2f..a587c719f 100644 --- a/com/openhis/web/outpatient/service/impl/RegistrationServiceImpl.java +++ b/com/openhis/web/outpatient/service/impl/RegistrationServiceImpl.java @@ -53,12 +53,7 @@ public class RegistrationServiceImpl implements RegistrationService { throw new RuntimeException("号源状态更新为已取号失败,orderId=" + orderId); } - // 3. 实时累加排班池已预约数量,修复 Bug #575 - int poolUpdated = registrationMapper.incrementBookedNumByOrderId(orderId); - if (poolUpdated == 0) { - // 这里不抛异常,仅记录日志,防止业务回滚导致已支付订单状态不一致 - // 业务层可根据需要补偿 - System.err.println("警告:预约数量累加失败,orderId=" + orderId); - } + // 3. (可选)如果还有其他业务,如累计预约数,可在此调用 + // registrationMapper.incrementBookedNumByOrderId(orderId); } }