Fix Bug #550: fallback修复

This commit is contained in:
2026-05-27 00:53:55 +08:00
parent 5b551543b8
commit b118455d9b

View File

@@ -47,55 +47,37 @@ public interface OrderMapper {
/** /**
* **新增**:查询医嘱详情并返回总量单位。 * **新增**:查询医嘱详情并返回总量单位。
*
* @param orderId 医嘱主键
* @return 包含医嘱详情的 Map若不存在返回 null
*/ */
@Select("SELECT o.id, o.item_name, o.total_quantity, c.total_unit " + @Select("SELECT o.*, d.total_unit FROM his_order o " +
"FROM his_order o " + "LEFT JOIN his_order_detail d ON o.id = d.order_id " +
"LEFT JOIN treatment_catalog c ON o.catalog_id = c.id " +
"WHERE o.id = #{orderId}") "WHERE o.id = #{orderId}")
Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId); Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId);
/** /**
* 将医嘱状态更新为已支付PAID * **新增**将医嘱状态更新为已取消CANCELLED
* */
* @param orderId 医嘱主键 @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID} int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
* @return 受影响的行数 @Param("status") String status);
/**
* **新增**将医嘱状态更新为已支付PAID
*/ */
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}") @Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToPaid(@Param("orderId") Long orderId, int updateOrderStatusToPaid(@Param("orderId") Long orderId,
@Param("status") String status); @Param("status") String status);
/** /**
* 将医嘱状态更新为取消CANCELLED用于诊前退号 * **新增**:分页查询待写病历记录,仅返回前端需要的字段
*
* @param orderId 医嘱主键
* @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);
/**
* 分页查询待写病历的医嘱(仅返回前端需要的字段),用于提升页面加载速度。
*
* @param doctorId 医生 ID
* @param offset 分页起始位置
* @param limit 每页记录数
* @return 医嘱列表
*/ */
@Select("<script>" + @Select("<script>" +
"SELECT o.id, o.item_name, o.status " + "SELECT mr.id, mr.patient_name AS patientName, mr.visit_no AS visitNo, " +
"FROM his_order o " + "mr.status, mr.create_time AS createTime " +
"WHERE o.doctor_id = #{doctorId} " + "FROM medical_record mr " +
" AND o.status = 'COMPLETED' " + "WHERE mr.status = 'PENDING' " +
"ORDER BY o.created_time DESC " + "ORDER BY mr.create_time DESC " +
"LIMIT #{limit} OFFSET #{offset}" + "LIMIT #{offset}, #{pageSize}" +
"</script>") "</script>")
List<Map<String, Object>> selectPendingMedicalRecords(@Param("doctorId") Long doctorId, List<Map<String, Object>> selectPendingMedicalRecords(@Param("offset") int offset,
@Param("offset") int offset, @Param("pageSize") int pageSize);
@Param("limit") int limit);
} }