/**
 * 门诊号码管理 API 接口
 * 严格按照要求实现
 */
import request from '@/utils/request'

/**
 * 分页查询门诊号码段列表
 * 要求：普通用户只能查看自己的，管理员可以查看所有
 */
export function listOutpatientNo(query) {
  return request({
    url: '/business-rule/outpatient-no/page',
    method: 'get',
    params: query,
  })
}

/**
 * 新增门诊号码段
 * 要求：必须校验前缀一致性、长度一致性、重复检查
 */
export function addOutpatientNo(data) {
  return request({
    url: '/business-rule/outpatient-no',
    method: 'post',
    data,
  })
}

/**
 * 更新门诊号码段
 */
export function updateOutpatientNo(data) {
  return request({
    url: '/business-rule/outpatient-no',
    method: 'put',
    data,
  })
}

/**
 * 删除门诊号码段
 *要求：双重校验（归属权+使用状态）
 */
export function deleteOutpatientNo(params) {
  return request({
    url: '/business-rule/outpatient-no',
    method: 'delete',
    params,
  })
}

/**
 * 记录操作日志
 * PRD要求：所有操作必须有操作日志
 */
export function addOperationLog(data) {
  return request({
    url: '/business-rule/outpatient-no/log',
    method: 'post',
    data,
  })
}
