Files
klp-oa/klp-ui/src/api/aps/aps.js
2026-03-08 16:02:44 +08:00

345 lines
6.3 KiB
JavaScript

import request from '@/utils/request'
// CRM 订单转换为库存订单
export function convertFromCrm(data) {
return request({
url: '/aps/order/convert-from-crm',
method: 'post',
data
})
}
// 查询 CRM 订单明细
export function listCrmOrderItems(query) {
return request({
url: '/crm/orderItem/list',
method: 'get',
params: query
})
}
// 产品直排转换为库存订单(单产品)
export function convertFromProduct(data) {
return request({
url: '/aps/order/convert-from-product',
method: 'post',
data
})
}
// 产品直排转换为库存订单(多产品)
export function convertFromProducts(data) {
return request({
url: '/aps/order/convert-from-products',
method: 'post',
data
})
}
// 创建排产计划
export function createPlan(data) {
return request({
url: '/aps/plan/create',
method: 'post',
data
})
}
// 自动排程
export function autoSchedule(data) {
return request({
url: '/aps/plan/auto-schedule',
method: 'post',
data
})
}
// 发布计划
export function publishPlan(planId) {
return request({
url: `/aps/plan/publish/${planId}`,
method: 'post'
})
}
// 甘特查询
export function fetchGantt(params) {
return request({
url: '/aps/gantt',
method: 'get',
params
})
}
// 工厂日历聚合(后端计算)
export function fetchFactoryCalendar(params) {
return request({
url: '/aps/factory-calendar',
method: 'get',
params
})
}
// 单工序重排
export function rescheduleOperation(data) {
return request({
url: '/aps/operation/reschedule',
method: 'post',
data
})
}
// 创建锁定
export function createLock(data) {
return request({
url: '/aps/lock',
method: 'post',
data
})
}
// 解除锁定
export function releaseLock(lockId) {
return request({
url: `/aps/lock/release/${lockId}`,
method: 'post'
})
}
/**
* 统一排产表(按模板/机组导出与展示)
* 说明:
* - templateKey: cold_rolling / acid_pickling / slitting / galvanizing
* - 后端建议返回:{ header: {...}, rows: [...], summary: {...} }
*/
export function fetchScheduleSheet(params) {
return request({
url: '/aps/schedule-sheet',
method: 'get',
params,
timeout: 120000
})
}
export function exportScheduleSheet(params) {
return request({
url: '/aps/schedule-sheet/export',
method: 'get',
params,
responseType: 'blob',
timeout: 120000
})
}
export function saveScheduleSheetSupplement(data) {
return request({
url: '/aps/schedule-sheet/supplement/save',
method: 'post',
data,
timeout: 120000
})
}
// ========== 基础数据管理 ==========
// 工厂日历
export function listCalendar(query) {
return request({
url: '/aps/calendar/list',
method: 'get',
params: query
})
}
export function getCalendar(calendarId) {
return request({
url: '/aps/calendar/' + calendarId,
method: 'get'
})
}
export function addCalendar(data) {
return request({
url: '/aps/calendar',
method: 'post',
data
})
}
export function updateCalendar(data) {
return request({
url: '/aps/calendar',
method: 'put',
data
})
}
export function delCalendar(calendarIds) {
return request({
url: '/aps/calendar/' + calendarIds,
method: 'delete'
})
}
export function exportCalendar(query) {
return request({
url: '/aps/calendar/export',
method: 'post',
params: query,
responseType: 'blob'
})
}
// 班次模板
export function listShiftTemplate(query) {
return request({
url: '/aps/shift-template/list',
method: 'get',
params: query
})
}
export function getShiftTemplate(shiftId) {
return request({
url: '/aps/shift-template/' + shiftId,
method: 'get'
})
}
export function addShiftTemplate(data) {
return request({
url: '/aps/shift-template',
method: 'post',
data
})
}
export function updateShiftTemplate(data) {
return request({
url: '/aps/shift-template',
method: 'put',
data
})
}
export function delShiftTemplate(shiftIds) {
return request({
url: '/aps/shift-template/' + shiftIds,
method: 'delete'
})
}
export function exportShiftTemplate(query) {
return request({
url: '/aps/shift-template/export',
method: 'post',
params: query,
responseType: 'blob'
})
}
// 日历班次配置
export function listCalendarShift(query) {
return request({
url: '/aps/calendar-shift/list',
method: 'get',
params: query
})
}
export function getCalendarShift(configId) {
return request({
url: '/aps/calendar-shift/' + configId,
method: 'get'
})
}
export function addCalendarShift(data) {
return request({
url: '/aps/calendar-shift',
method: 'post',
data
})
}
export function updateCalendarShift(data) {
return request({
url: '/aps/calendar-shift',
method: 'put',
data
})
}
export function delCalendarShift(configIds) {
return request({
url: '/aps/calendar-shift/' + configIds,
method: 'delete'
})
}
export function exportCalendarShift(query) {
return request({
url: '/aps/calendar-shift/export',
method: 'post',
params: query,
responseType: 'blob'
})
}
export function generateCalendarShiftWorkdayYear(year, overwriteExisting = false) {
return request({
url: `/aps/calendar-shift/generate-workday-year/${year}`,
method: 'post',
params: { overwriteExisting },
timeout: 600000
})
}
// 产线能力
export function listLineCapability(query) {
return request({
url: '/aps/line-capability/list',
method: 'get',
params: query
})
}
export function getLineCapability(capabilityId) {
return request({
url: '/aps/line-capability/' + capabilityId,
method: 'get'
})
}
export function addLineCapability(data) {
return request({
url: '/aps/line-capability',
method: 'post',
data
})
}
export function updateLineCapability(data) {
return request({
url: '/aps/line-capability',
method: 'put',
data
})
}
export function delLineCapability(capabilityIds) {
return request({
url: '/aps/line-capability/' + capabilityIds,
method: 'delete'
})
}
export function exportLineCapability(query) {
return request({
url: '/aps/line-capability/export',
method: 'post',
params: query,
responseType: 'blob'
})
}