diff --git a/com/openhis/web/outpatient/mapper/OrderMapper.java b/com/openhis/web/outpatient/mapper/OrderMapper.java index 060f6cd7b..9da7590d4 100644 --- a/com/openhis/web/outpatient/mapper/OrderMapper.java +++ b/com/openhis/web/outpatient/mapper/OrderMapper.java @@ -50,42 +50,40 @@ public interface OrderMapper { @Select("SELECT * FROM his_order WHERE id = #{orderId}") Map selectOrderById(@Param("orderId") Long orderId); + // ----------------------------------------------------------------- + // 新增:分页查询待写病历(仅返回前端需要的字段) + // ----------------------------------------------------------------- /** - * 更新医嘱状态为已支付(PAID)。 + * 查询指定医生的待写病历(分页)。 * - * @param orderId 医嘱ID - * @param updateTime 更新时间戳(字符串形式) - * @param status 状态码,建议使用 {@link #ORDER_STATUS_PAID} - */ - @Update("UPDATE his_order SET status = #{status}, update_time = #{updateTime} WHERE id = #{orderId}") - int updateOrderStatusToPaid(@Param("orderId") Long orderId, @Param("status") String status, @Param("updateTime") String updateTime); - - /** - * 更新医嘱状态为已取消(CANCELLED)。 + * 只返回前端展示所需的关键字段,避免一次性拉取全部列导致性能瓶颈。 * - * @param orderId 医嘱ID - * @param updateTime 更新时间戳 - * @param status 状态码,建议使用 {@link #ORDER_STATUS_CANCELLED} + * @param doctorId 医生主键 + * @param offset 数据偏移量(pageIndex * pageSize) + * @param limit 每页记录数 + * @return 待写病历列表,每条记录为 {@code Map} */ - @Update("UPDATE his_order SET status = #{status}, update_time = #{updateTime} WHERE id = #{orderId}") - int updateOrderStatusToCancelled(@Param("orderId") Long orderId, @Param("status") String status, @Param("updateTime") String updateTime); - - /** - * 根据医嘱 ID 查询完整医嘱信息(含总量单位等扩展字段)。 - * - * @param orderId 医嘱主键 - * @return 医嘱详情 Map - */ - @Select("SELECT * FROM his_order WHERE id = #{orderId}") - Map selectOrderDetailById(@Param("orderId") Long orderId); - - /** - * 预约缴费成功后,将排班号状态更新为 3(已取号/签到)。 - * 修复 Bug #574:数据库 adm_schedule_slot.status 状态未及时流转为“3”。 - * - * @param orderId 关联的订单ID - * @return 影响行数 - */ - @Update("UPDATE adm_schedule_slot SET status = 3, update_time = NOW() WHERE order_id = #{orderId}") - int updateScheduleSlotStatusToFinished(@Param("orderId") Long orderId); + @Select({ + "" + }) + List> selectPendingMedicalRecords( + @Param("doctorId") Long doctorId, + @Param("offset") int offset, + @Param("limit") int limit); + + // 其余已有方法保持不变 }