import request from '@/utils/request'

// 查询项目令号列表
export function listOrderPro(query) {
  return request({
    url: '/system/orderPro/list',
    method: 'get',
    params: query
  })
}

// 查询项目令号详细
export function getOrderPro(id) {
  return request({
    url: '/system/orderPro/' + id,
    method: 'get'
  })
}

// 获取工艺上传日志
export function getRouteLog(id) {
  return request({
    url: '/system/orderPro/getRouteLog/' + id,
    method: 'post'
  })
}

// 获取BOM上传日志
export function getBomUploadStatus(projectCode) {
  return request({
    url: '/system/details/viewGetBomUploadStatus',
    method: 'post',
    params: { rooteProdet: projectCode }
  })
}
export function processList(params) {
  return request({
    url: '/system/orderPro/processlist',
    method: 'get',
    params: params
  });
}
// 调用 MRP 运算结果
export function getMRPResults(id) {
  return request({
    url: `/system/orderPro/getMRPResults/${id}`,
    method: 'post',
    timeout: 15 * 60 * 1000 // 设置 15 分钟超时
  })
}
// 新增项目令号
export function addOrderPro(data) {
  return request({
    url: '/system/orderPro',
    method: 'post',
    data: data
  })
}

// 修改项目令号
export function updateOrderPro(data) {
  return request({
    url: '/system/orderPro',
    method: 'put',
    data: data
  })
}

// 删除项目令号
export function delOrderPro(id) {
  return request({
    url: '/system/orderPro/' + id,
    method: 'delete'
  })
}

// 获取图纸类型数据
export function getDrawingTypeDict() {
  return request({
    url: '/system/configIni/list',
    method: 'get',
    params: {
      pageNum: 1,
      pageSize: 1000 // 获取足够多的数据
    }
  })
}

export function addProduct(data) {
  return request({
    url: '/system/orderPro/addProduct',
    method: 'post',
    data
  });
}
// 新增：修改产品（PUT）
export function updateProduct(data) {
  return request({
    url: '/system/save',
    method: 'put',
    data
  });
}
// 查询此项目用到的产品列表
export function listSave(query) {
  return request({
    url: '/system/save/list',
    method: 'get',
    params: query
  })
}
// 执行出图
export function executDrawing(data) {
  return request({
    url: '/system/orderPro/executDrawing',
    method: 'post',
    data
  })
}

// 删除销齿链型号
export function delSave(ids) {
  return request({
    url: '/system/save/' + ids,
    method: 'delete'
  })
}

// 下载PDF
export function uploadPDF(id) {
  return request({
    url: '/system/orderPro/uploadPDF',
    method: 'get',
    params: { id },
    responseType: 'blob', // 设置响应类型为blob，用于文件下载
    headers: { 'Content-Type': 'application/json; application/octet-stream' }
  })
}

// 下载 PLM DWG 图纸 ZIP
export function downloadPlmDwg(id) {
  return request({
    url: '/system/orderPro/downloadPlmDwg/' + id,
    method: 'get',
    responseType: 'blob'
  })
}

// 下载生产工艺计划表
export function exportRoute(id) {
  return request({
    url: '/system/orderPro/exportRoute2',
    method: 'get',
    params: { id },
    responseType: 'blob'
  })
}

// 下载工艺计划表（新路径 exportRoute3）
export function exportRoute3(id) {
  return request({
    url: '/system/orderPro/exportRoute3',
    method: 'get',
    params: { id },
    responseType: 'blob'
  })
}

// 查询工艺计划表钉钉发送成功次数（项目令号主键 id，与列表/详情一致；后端可不配菜单权限）
export function getRoutePlanSendCount(id) {
  return request({
    url: '/system/orderPro/routePlanSendCount/' + id,
    method: 'get'
  })
}

// 发送工艺计划表（钉钉推送分类 BOM Excel）
export function sendProcessRoutePlanExcel(id) {
  return request({
    url: '/system/orderPro/sendProcessRoutePlanExcel/' + id,
    method: 'post',
    data: {}
  })
}

// 从 FTP 读取图纸数量统计表并入库
export function syncDrawingWorkload(id) {
  return request({
    url: '/system/orderPro/drawingWorkload/sync/' + id,
    method: 'post',
    timeout: 5 * 60 * 1000
  })
}

// 查询已入库图纸工作量
export function getDrawingWorkload(id) {
  return request({
    url: '/system/orderPro/drawingWorkload/' + id,
    method: 'get'
  })
}

// 获取出图状态
export function getPlotState() {
  return request({
    url: '/system/orderPro/getstate',
    method: 'get'
  })
}

// 金蝶生产订单（按项目 id）
export function getKingdeePrdMo(id) {
  return request({
    url: '/system/orderPro/kingdee/prdMo/' + id,
    method: 'get'
  })
}

// 金蝶采购订单（按项目 id）
export function getKingdeePurchaseOrder(id) {
  return request({
    url: '/system/orderPro/kingdee/purchaseOrder/' + id,
    method: 'get'
  })
}
